aboutsummaryrefslogtreecommitdiff
path: root/pyproject.toml
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2022-11-15 20:08:04 +0100
committerDaniel Schadt <kingdread@gmx.de>2022-11-15 20:08:04 +0100
commit3eb21aaf91e9201c54f0cfe5b16b99f5975bf698 (patch)
tree1f7c61f29c8bfb824faf6883f49bf1499fd0b248 /pyproject.toml
parentfda3366cb319fa0c7d59d5d2bd873e39b8482a1d (diff)
downloadfietsboek-3eb21aaf91e9201c54f0cfe5b16b99f5975bf698.tar.gz
fietsboek-3eb21aaf91e9201c54f0cfe5b16b99f5975bf698.tar.bz2
fietsboek-3eb21aaf91e9201c54f0cfe5b16b99f5975bf698.zip
switch out setuptools for poetry
setup.py is the very old style for packaging, so I wanted to replace it with something more "modern". pyproject.toml seems like the way to go in the future. At first, I wanted to simply configure setuptools using pyproject.toml, but that support is in beta and seemed to cause some issues with the tox virtualenvs. Poetry seems to work fine and provides a better dependency resolver (given that dependencies are actually specified well) and some other goodies. For users, nothing much should change, as "pip install" still works.
Diffstat (limited to 'pyproject.toml')
-rw-r--r--pyproject.toml61
1 files changed, 61 insertions, 0 deletions
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..9fab1a6
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,61 @@
+[build-system]
+requires = ["poetry-core"]
+build-backend = "poetry.core.masonry.api"
+
+[tool.poetry]
+name = "fietsboek"
+description = "GPX file sharing website"
+version = "0.3.0"
+license = "AGPL-3.0-or-later"
+readme = "README.md"
+authors = [
+ "Daniel Schadt <fietsboek@kingdread.de>",
+]
+classifiers = [
+ 'Development Status :: 3 - Alpha',
+ 'Framework :: Pyramid',
+ 'Operating System :: POSIX :: Linux',
+ 'Topic :: Internet :: WWW/HTTP',
+ 'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
+ 'Topic :: Internet :: WWW/HTTP :: WSGI :: Application',
+]
+documentation = "https://kingdread.de/fietsboek/"
+repository = "https://gitlab.com/dunj3/fietsboek"
+keywords = ["web", "gpx"]
+
+[tool.poetry.dependencies]
+python = "^3.7"
+
+pyramid = "^2"
+pyramid_jinja2 = "^2.10"
+pyramid_debugtoolbar = "^4.9"
+pyramid_retry = "^2.1"
+pyramid_tm = "^2.5"
+waitress = "^2.1"
+
+SQLAlchemy = "^1.4"
+alembic = "^1.8"
+transaction = "^3"
+"zope.sqlalchemy" = "^1.6"
+
+importlib_resources = "^5.10"
+Babel = "^2.11"
+cryptography = "^38"
+gpxpy = "^1.5"
+markdown = "^3.4"
+bleach = "^5"
+Click = "^8.1"
+
+WebTest = {version = "^3", optional = true}
+pytest = {version = "^7.2", optional = true}
+pytest-cov = {version = "*", optional = true}
+
+[tool.poetry.extras]
+testing = ["WebTest", "pytest", "pytest-cov"]
+
+[tool.poetry.scripts]
+fietsctl = "fietsboek.scripts.fietsctl:main"
+fietsupdate = "fietsboek.updater.cli:cli"
+
+[tool.poetry.plugins."paste.app_factory"]
+main = "fietsboek:main"