diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..c9a9a4b --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,49 @@ +[build-system] +requires = ['setuptools'] +build-backend = 'setuptools.build_meta' + +[project] +name = 'dotdrop' +description = 'Save your dotfiles once, deploy them everywhere' +readme = 'README.md' +authors = [ {name = 'deadc0de6', email = 'deadc0de6@foo.bar'}, ] +license = 'GPL-3.0' +requires-python = ">=3" +classifiers = [ + 'Development Status :: 5 - Production/Stable', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', +] +keywords = ['dotfiles', 'jinja2'] +dependencies = [ + 'Jinja2', + 'distro', + 'docopt-ng', + 'packaging', + 'python-magic', + 'requests', + 'ruamel.yaml', + 'tomli; python_version < "3.11"', + 'tomli_w', +] +dynamic = ['version'] + +[project.urls] +Documentation = 'https://dotdrop.readthedocs.io' +Repository = 'https://github.com/deadc0de6/dotdrop' + +[project.optional-dependencies] +dev = ['check-manifest'] +test = ['coverage', 'pytest', 'pytest-cov'] + +[project.scripts] +dotdrop = 'dotdrop:main' + +[tool.setuptools.dynamic] +version = {attr = 'dotdrop.version.__version__'} + +[tool.setuptools.packages.find] +include = ['dotdrop'] diff --git a/setup.py b/setup.py deleted file mode 100644 index 5fbf5c7..0000000 --- a/setup.py +++ /dev/null @@ -1,66 +0,0 @@ -"""setup.py""" -from os import path -from setuptools import setup, find_packages -from dotdrop.version import __version__ as VERSION - - -README = 'README.md' -here = path.abspath(path.dirname(__file__)) - - -def read_readme(readme_path): - """read readme content""" - with open(readme_path, encoding="utf-8") as file: - return file.read() - - -REQUIRES_PYTHON = '>=3' -URL = f'https://github.com/deadc0de6/dotdrop/archive/v{VERSION}.tar.gz' - -setup( - name='dotdrop', - version=VERSION, - - description='Save your dotfiles once, deploy them everywhere', - long_description=read_readme(README), - long_description_content_type="text/markdown; variant=GFM", - url='https://github.com/deadc0de6/dotdrop', - download_url=URL, - options={"bdist_wheel": {"python_tag": "py3"}}, - # include anything from MANIFEST.in - include_package_data=True, - - author='deadc0de6', - author_email='deadc0de6@foo.bar', - - license='GPLv3', - python_requires=REQUIRES_PYTHON, - classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11', - 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', - ], - - keywords='dotfiles jinja2', - packages=find_packages(exclude=['tests*']), - install_requires=[ - 'docopt-ng', 'Jinja2', 'ruamel.yaml', - 'python-magic', 'packaging', 'requests', - 'tomli; python_version < "3.11"', - 'tomli_w', 'distro'], - - extras_require={ - 'dev': ['check-manifest'], - 'test': ['coverage', 'pytest', 'pytest-cov'], - }, - - entry_points={ - 'console_scripts': [ - 'dotdrop=dotdrop:main', - ], - }, -)