Przeglądaj źródła

migrate setup.py to setup.cfg

Mathieu Dupuy 1 rok temu
rodzic
commit
9faf89880b
2 zmienionych plików z 71 dodań i 63 usunięć
  1. 69 1
      setup.cfg
  2. 2 62
      setup.py

+ 69 - 1
setup.cfg

@@ -1,4 +1,35 @@
-[tool:pytest]
+[metadata]
+name = Radicale
+# When the version is updated, a new section in the CHANGELOG.md file must be
+# added too.
+version = 3.dev
+author = Guillaume Ayoub
+author_email = guillaume.ayoub@kozea.fr
+license = GNU GPL v3
+description = CalDAV and CardDAV Server
+keywords = calendar, addressbook, CalDAV, CardDAV
+url = https://radicale.org/
+long_description = file: README.md
+long_description_content_type = text/markdown
+classifiers =
+    Development Status :: 5 - Production/Stable
+    Environment :: Console
+    Environment :: Web Environment
+    Intended Audience :: End Users/Desktop
+    Intended Audience :: Information Technology
+    License :: OSI Approved :: GNU General Public License (GPL)
+    Operating System :: OS Independent
+    Programming Language :: Python :: 3
+    Programming Language :: Python :: 3.8
+    Programming Language :: Python :: 3.9
+    Programming Language :: Python :: 3.10
+    Programming Language :: Python :: 3.11
+    Programming Language :: Python :: 3.12
+    Programming Language :: Python :: 3.13
+    Programming Language :: Python :: Implementation :: CPython
+    Programming Language :: Python :: Implementation :: PyPy
+    Topic :: Office/Business :: Groupware
+platforms = Any
 
 [tox:tox]
 min_version = 4.0
@@ -12,16 +43,36 @@ deps =
     pytest-cov
 commands = pytest -r s --cov --cov-report=term --cov-report=xml .
 
+[options]
+packages = find:
+install_requires =
+    defusedxml
+    passlib
+    vobject>=0.9.6
+    python-dateutil>=2.7.3
+    pika>=1.1.0
+python_requires = >=3.8.0
+
 [testenv:flake8]
 deps = flake8==7.1.0
 commands = flake8 .
 skip_install = True
 
+[options.packages.find]
+exclude = *.tests; *.tests.*; tests.*; tests
+
+[options.entry_points]
+console_scripts = radicale = radicale.__main__:run
+
 [testenv:isort]
 deps = isort==5.13.2
 commands = isort --check --diff .
 skip_install = True
 
+[options.extras_require]
+test = pytest>=7; waitress; bcrypt
+bcrypt = bcrypt
+
 [testenv:mypy]
 deps = mypy==1.11.0
 commands = mypy .
@@ -31,6 +82,23 @@ skip_install = True
 known_standard_library = _dummy_thread,_thread,abc,aifc,argparse,array,ast,asynchat,asyncio,asyncore,atexit,audioop,base64,bdb,binascii,binhex,bisect,builtins,bz2,cProfile,calendar,cgi,cgitb,chunk,cmath,cmd,code,codecs,codeop,collections,colorsys,compileall,concurrent,configparser,contextlib,contextvars,copy,copyreg,crypt,csv,ctypes,curses,dataclasses,datetime,dbm,decimal,difflib,dis,distutils,doctest,dummy_threading,email,encodings,ensurepip,enum,errno,faulthandler,fcntl,filecmp,fileinput,fnmatch,formatter,fpectl,fractions,ftplib,functools,gc,getopt,getpass,gettext,glob,grp,gzip,hashlib,heapq,hmac,html,http,imaplib,imghdr,imp,importlib,inspect,io,ipaddress,itertools,json,keyword,lib2to3,linecache,locale,logging,lzma,macpath,mailbox,mailcap,marshal,math,mimetypes,mmap,modulefinder,msilib,msvcrt,multiprocessing,netrc,nis,nntplib,ntpath,numbers,operator,optparse,os,ossaudiodev,parser,pathlib,pdb,pickle,pickletools,pipes,pkgutil,platform,plistlib,poplib,posix,posixpath,pprint,profile,pstats,pty,pwd,py_compile,pyclbr,pydoc,queue,quopri,random,re,readline,reprlib,resource,rlcompleter,runpy,sched,secrets,select,selectors,shelve,shlex,shutil,signal,site,smtpd,smtplib,sndhdr,socket,socketserver,spwd,sqlite3,sre,sre_compile,sre_constants,sre_parse,ssl,stat,statistics,string,stringprep,struct,subprocess,sunau,symbol,symtable,sys,sysconfig,syslog,tabnanny,tarfile,telnetlib,tempfile,termios,test,textwrap,threading,time,timeit,tkinter,token,tokenize,trace,traceback,tracemalloc,tty,turtle,turtledemo,types,typing,unicodedata,unittest,urllib,uu,uuid,venv,warnings,wave,weakref,webbrowser,winreg,winsound,wsgiref,xdrlib,xml,xmlrpc,zipapp,zipfile,zipimport,zlib
 known_third_party = defusedxml,passlib,pkg_resources,pytest,vobject
 
+[options.package_data]
+radicale =
+    web/internal_data/css/icon.png
+    web/internal_data/css/loading.svg
+    web/internal_data/css/logo.svg
+    web/internal_data/css/main.css
+    web/internal_data/css/icons/delete.svg
+    web/internal_data/css/icons/download.svg
+    web/internal_data/css/icons/edit.svg
+    web/internal_data/css/icons/new.svg
+    web/internal_data/css/icons/upload.svg
+    web/internal_data/fn.js
+    web/internal_data/index.html
+    py.typed
+
+
+
 [flake8]
 # Only enable default tests (https://github.com/PyCQA/flake8/issues/790#issuecomment-812823398)
 # DNE: DOES-NOT-EXIST

+ 2 - 62
setup.py

@@ -15,67 +15,7 @@
 # You should have received a copy of the GNU General Public License
 # along with Radicale.  If not, see <http://www.gnu.org/licenses/>.
 
-from setuptools import find_packages, setup
+from setuptools import setup
 
-# When the version is updated, a new section in the CHANGELOG.md file must be
-# added too.
-VERSION = "3.dev"
 
-with open("README.md", encoding="utf-8") as f:
-    long_description = f.read()
-web_files = ["web/internal_data/css/icon.png",
-             "web/internal_data/css/loading.svg",
-             "web/internal_data/css/logo.svg",
-             "web/internal_data/css/main.css",
-             "web/internal_data/css/icons/delete.svg",
-             "web/internal_data/css/icons/download.svg",
-             "web/internal_data/css/icons/edit.svg",
-             "web/internal_data/css/icons/new.svg",
-             "web/internal_data/css/icons/upload.svg",
-             "web/internal_data/fn.js",
-             "web/internal_data/index.html"]
-
-install_requires = ["defusedxml", "passlib", "vobject>=0.9.6",
-                    "python-dateutil>=2.7.3",
-                    "pika>=1.1.0",
-                    ]
-bcrypt_requires = ["bcrypt"]
-test_requires = ["pytest>=7", "waitress", *bcrypt_requires]
-
-setup(
-    name="Radicale",
-    version=VERSION,
-    description="CalDAV and CardDAV Server",
-    long_description=long_description,
-    long_description_content_type="text/markdown",
-    author="Guillaume Ayoub",
-    author_email="guillaume.ayoub@kozea.fr",
-    url="https://radicale.org/",
-    license="GNU GPL v3",
-    platforms="Any",
-    packages=find_packages(
-        exclude=["*.tests", "*.tests.*", "tests.*", "tests"]),
-    package_data={"radicale": [*web_files, "py.typed"]},
-    entry_points={"console_scripts": ["radicale = radicale.__main__:run"]},
-    install_requires=install_requires,
-    extras_require={"test": test_requires, "bcrypt": bcrypt_requires},
-    keywords=["calendar", "addressbook", "CalDAV", "CardDAV"],
-    python_requires=">=3.8.0",
-    classifiers=[
-        "Development Status :: 5 - Production/Stable",
-        "Environment :: Console",
-        "Environment :: Web Environment",
-        "Intended Audience :: End Users/Desktop",
-        "Intended Audience :: Information Technology",
-        "License :: OSI Approved :: GNU General Public License (GPL)",
-        "Operating System :: OS Independent",
-        "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.8",
-        "Programming Language :: Python :: 3.9",
-        "Programming Language :: Python :: 3.10",
-        "Programming Language :: Python :: 3.11",
-        "Programming Language :: Python :: 3.12",
-        "Programming Language :: Python :: 3.13",
-        "Programming Language :: Python :: Implementation :: CPython",
-        "Programming Language :: Python :: Implementation :: PyPy",
-        "Topic :: Office/Business :: Groupware"])
+setup()