mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
use Poetry to deal with deps and package install
As the new-age Python package manager, Poetry brings a lot of good additions to the table. It allows us to more easily deal with virtualenvs for the project and resolve dependencies. As of this commit, `requirements.txt` is replaced by Poetry, configured at `pyproject.toml`. In Docker and GitLab, we currently use Poetry in a root fashion. We should work toward purely using virtualenvs in Docker, but, for now we'd like to move forward with other things. The project can still be installed to a virtualenv and used on a user's system through Poetry; it is just not yet doing so in Docker. Modifications: * docker/scripts/install-deps.sh * Remove python dependencies. * conf/config.defaults * Script paths have been updated to use '/usr/bin'. * docker/git-entrypoint.sh * Use '/usr/bin/aurweb-git-auth' instead of '/usr/local/bin/aurweb-git-auth'. Additions: * docker/scripts/install-python-deps.sh * A script used purely to install Python dependencies with Poetry. This has to be used within the aurweb project directory and requires system-wide dependencies are installed beforehand. * Also upgrades system-wide pip. Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
parent
5e6f0cb8d7
commit
2f9994807b
11 changed files with 1756 additions and 106 deletions
100
pyproject.toml
Normal file
100
pyproject.toml
Normal file
|
@ -0,0 +1,100 @@
|
|||
# Poetry build configuration for the aurweb project.
|
||||
#
|
||||
# Dependencies:
|
||||
# * python >= 3.9
|
||||
# * pip
|
||||
# * poetry
|
||||
# * poetry-dynamic-versioning
|
||||
#
|
||||
[tool.poetry]
|
||||
name = "aurweb"
|
||||
version = "5.0.0" # Updated via poetry-dynamic-versioning
|
||||
license = "GPL-2.0-only"
|
||||
description = "Source code for the Arch User Repository's website"
|
||||
homepage = "https://aur.archlinux.org"
|
||||
repository = "https://gitlab.archlinux.org/archlinux/aurweb"
|
||||
documentation = "https://gitlab.archlinux.org/archlinux/aurweb/-/blob/master/README.md"
|
||||
keywords = ["aurweb", "aur", "Arch", "Linux"]
|
||||
authors = [
|
||||
"Lucas Fleischer <lfleischer@archlinux.org>",
|
||||
"Eli Schwartz <eschwartz@archlinux.org>",
|
||||
"Kevin Morris <kevr@0cost.org>"
|
||||
]
|
||||
maintainers = [
|
||||
"Eli Schwartz <eschwartz@archlinux.org>"
|
||||
]
|
||||
packages = [
|
||||
{ include = "aurweb" }
|
||||
]
|
||||
|
||||
[tool.poetry-dynamic-versioning]
|
||||
enable = true
|
||||
vcs = "git"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry>=1.1.8", "poetry-dynamic-versioning"]
|
||||
build-backend = "poetry.masonry.api"
|
||||
|
||||
[tool.poetry.urls]
|
||||
"Repository" = "https://gitlab.archlinux.org/archlinux/aurweb"
|
||||
"Bug Tracker" = "https://gitlab.archlinux.org/archlinux/aurweb/-/issues"
|
||||
"Development Mailing List" = "https://lists.archlinux.org/listinfo/aur-dev"
|
||||
"General Mailing List" = "https://lists.archlinux.org/listinfo/aur-general"
|
||||
"Request Mailing List" = "https://lists.archlinux.org/listinfo/aur-requests"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
# poetry-dynamic-versioning is used to produce tool.poetry.version
|
||||
# based on git tags.
|
||||
poetry-dynamic-versioning = { version = "0.13.1", python = "^3.9" }
|
||||
|
||||
# General
|
||||
authlib = { version = "0.15.2", python = "^3.9" }
|
||||
aiofiles = { version = "0.7.0", python = "^3.9" }
|
||||
asgiref = { version = "3.4.1", python = "^3.9" }
|
||||
bcrypt = { version = "3.2.0", python = "^3.9" }
|
||||
bleach = { version = "3.3.1", python = "^3.9" }
|
||||
email-validator = { version = "1.1.3", python = "^3.9" }
|
||||
fakeredis = { version = "1.6.0", python = "^3.9" }
|
||||
fastapi = { version = "0.66.0", python = "^3.9" }
|
||||
feedgen = { version = "0.9.0", python = "^3.9" }
|
||||
httpx = { version = "0.18.2", python = "^3.9" }
|
||||
hypercorn = { version = "0.11.2", python = "^3.9" }
|
||||
itsdangerous = { version = "2.0.1", python = "^3.9" }
|
||||
jinja2 = { version = "3.0.1", python = "^3.9" }
|
||||
lxml = { version = "4.6.3", python = "^3.9" }
|
||||
markdown = { version = "3.3.4", python = "^3.9" }
|
||||
orjson = { version = "3.6.3", python = "^3.9" }
|
||||
protobuf = { version = "3.17.3", python = "^3.9" }
|
||||
pygit2 = { version = "1.6.1", python = "^3.9" }
|
||||
python-multipart = { version = "0.0.5", python = "^3.9" }
|
||||
redis = { version = "3.5.3", python = "^3.9" }
|
||||
requests = { version = "2.26.0", python = "^3.9" }
|
||||
werkzeug = { version = "2.0.1", python = "^3.9" }
|
||||
|
||||
# SQL
|
||||
alembic = { version = "1.6.5", python = "^3.9" }
|
||||
sqlalchemy = { version = "1.3.23", python = "^3.9" }
|
||||
mysqlclient = { version = "2.0.3", python = "^3.9" }
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
flake8 = { version = "3.9.2", python = "^3.9" }
|
||||
isort = { version = "5.9.3", python = "^3.9" }
|
||||
coverage = { version = "5.5", python = "^3.9" }
|
||||
pytest = { version = "6.2.4", python = "^3.9" }
|
||||
pytest-asyncio = { version = "0.15.1", python = "^3.9" }
|
||||
pytest-cov = { version = "2.12.1", python = "^3.9" }
|
||||
pytest-tap = { version = "3.2", python = "^3.9" }
|
||||
uvicorn = { version = "0.15.0", python = "^3.9" }
|
||||
|
||||
[tool.poetry.scripts]
|
||||
aurweb-git-auth = "aurweb.git.auth:main"
|
||||
aurweb-git-serve = "aurweb.git.serve:main"
|
||||
aurweb-git-update = "aurweb.git.update:main"
|
||||
aurweb-aurblup = "aurweb.scripts.aurblup:main"
|
||||
aurweb-mkpkglists = "aurweb.scripts.mkpkglists:main"
|
||||
aurweb-notify = "aurweb.scripts.notify:main"
|
||||
aurweb-pkgmaint = "aurweb.scripts.pkgmaint:main"
|
||||
aurweb-popupdate = "aurweb.scripts.popupdate:main"
|
||||
aurweb-rendercomment = "aurweb.scripts.rendercomment:main"
|
||||
aurweb-tuvotereminder = "aurweb.scripts.tuvotereminder:main"
|
||||
aurweb-usermaint = "aurweb.scripts.usermaint:main"
|
Loading…
Add table
Add a link
Reference in a new issue