diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..6ed9a3e9 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,37 @@ + +[build-system] +requires = ["setuptools >= 63.0"] +build-backend = "setuptools.build_meta" + +[project] +dynamic = ["dependencies", "optional-dependencies"] +name = 'boxes' +version = '1.0' +requires-python = '>=3.8' +description = 'Boxes generator for laser cutters' +maintainers = [ { name = 'Florian Festi', email='florian@festi.info' } ] +readme = "README.rst" +keywords = ["boxes", "box", "generator", "svg", "laser cutter"] +classifiers = [ # https://pypi.python.org/pypi?%3Aaction=list_classifiers + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Environment :: Web Environment", + "Intended Audience :: Manufacturing", + "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", + "Programming Language :: Python :: 3", + "Topic :: Multimedia :: Graphics :: Editors :: Vector-Based", + "Topic :: Scientific/Engineering", +] + +[tool.setuptools.dynamic] +dependencies = {file=["requirements.txt"]} +optional-dependencies = {dev = { file = ["requirements_dev.txt"] }} + +[project.scripts] +boxes = 'scripts.boxes:main' +boxesserver = 'scripts.boxesserver:main' + +[project.urls] +Homepage = "https://hackaday.io/project/10649-boxespy" +Repository = "https://github.com/florianfesti/boxes" +Documentation = "https://florianfesti.github.io/boxes/html/index.html" diff --git a/setup.py b/setup.py index 8f98d419..d0a4702e 100755 --- a/setup.py +++ b/setup.py @@ -77,27 +77,8 @@ def run(self): build_py.run(self) setup( - name='boxes', - version='0.9', - description='Boxes generator for laser cutters', - author='Florian Festi', - author_email='florian@festi.info', - url='https://github.com/florianfesti/boxes', packages=find_packages(), - python_requires='>=3.8', - install_requires=['affine>=2.0', 'markdown', 'shapely>=1.8.2', 'qrcode>=7.3.1'], - scripts=['scripts/boxes', 'scripts/boxesserver'], cmdclass={ 'build_py': CustomBuildExtCommand, }, - classifiers=[ # https://pypi.python.org/pypi?%3Aaction=list_classifiers - "Development Status :: 5 - Production/Stable", - "Environment :: Console", - "Environment :: Web Environment", - "Intended Audience :: Manufacturing", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", - "Programming Language :: Python :: 3", - "Topic :: Multimedia :: Graphics :: Editors :: Vector-Based", - "Topic :: Scientific/Engineering", - ], - keywords=["boxes", "box", "generator", "svg", "laser cutter"], ) + )