From 4ce95d8365fe7aabb17714b1dc73e09dcb8c093d Mon Sep 17 00:00:00 2001 From: Walter Oggioni Date: Thu, 16 Jul 2026 14:20:03 +0800 Subject: [PATCH] Added dependency locking --- .gitea/workflows/build.yaml | 20 ++-- requirements-dev.in | 8 ++ requirements-dev.txt | 182 +++++++++++++++++++++++++++++++++--- 3 files changed, 192 insertions(+), 18 deletions(-) create mode 100644 requirements-dev.in diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 95aa07b..9f5afb8 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -24,19 +24,27 @@ jobs: run: | python -m venv .venv .venv/bin/pip install -r requirements-dev.txt - - name: Unit tests + - name: Check kaya-core run: | - .venv/bin/pip install packages/kaya-core packages/kaya-rsgi - .venv/bin/python -m mypy -p kaya.core .venv/bin/python -m mypy -p kaya.rsgi - .venv/bin/python -m unittest discover -s packages/kaya-core/tests .venv/bin/python -m unittest discover -s packages/kaya-rsgi/tests - - name: Publish artifacts + - name: Check kaya-rsgi + run: | + .venv/bin/python -m mypy -p kaya.core + .venv/bin/python -m unittest discover -s packages/kaya-core/tests + - name: Publish kaya-core artifacts env: TWINE_REPOSITORY_URL: ${{ vars.PYPI_REGISTRY_URL }} TWINE_USERNAME: ${{ vars.PUBLISHER_USERNAME }} TWINE_PASSWORD: ${{ secrets.PUBLISHER_TOKEN }} run: | .venv/bin/pyproject-build packages/kaya-core + .venv/bin/twine upload --repository gitea packages/kaya-core/dist/*.whl packages/kaya-core/dist/*.tar.gz + - name: Publish kaya-rsgi artifacts + env: + TWINE_REPOSITORY_URL: ${{ vars.PYPI_REGISTRY_URL }} + TWINE_USERNAME: ${{ vars.PUBLISHER_USERNAME }} + TWINE_PASSWORD: ${{ secrets.PUBLISHER_TOKEN }} + run: | .venv/bin/pyproject-build packages/kaya-rsgi - .venv/bin/twine upload --repository gitea packages/kaya-core/dist/*.whl packages/kaya-core/dist/*.tar.gz packages/kaya-rsgi/dist/*.whl packages/kaya-rsgi/dist/*.tar.gz + .venv/bin/twine upload --repository gitea packages/kaya-rsgi/dist/*.whl packages/kaya-rsgi/dist/*.tar.gz diff --git a/requirements-dev.in b/requirements-dev.in new file mode 100644 index 0000000..84b01f1 --- /dev/null +++ b/requirements-dev.in @@ -0,0 +1,8 @@ +kaya-core @ file:./packages/kaya-core +kaya-rsgi @ file:./packages/kaya-rsgi +build +mypy +ipdb +twine +httpx +httpx-ws diff --git a/requirements-dev.txt b/requirements-dev.txt index ee60d48..31596a2 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,17 +1,175 @@ # -# Development dependencies for the Kaya monorepo. -# Install with: -# pip install -r requirements-dev.txt +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# pip-compile --allow-unsafe --extra-index-url=https://pypi.org/simple --index-url=https://gitea.woggioni.net/api/packages/woggioni/pypi/simple --output-file=requirements-dev.txt requirements-dev.in # --index-url https://gitea.woggioni.net/api/packages/woggioni/pypi/simple --extra-index-url https://pypi.org/simple -build -mypy -ipdb -twine -httpx -httpx-ws -granian -pwo -typing-extensions +anyio==4.14.2 + # via + # httpx + # httpx-ws +ast-serialize==0.6.0 + # via mypy +asttokens==3.0.2 + # via stack-data +build==1.5.0 + # via -r requirements-dev.in +certifi==2026.6.17 + # via + # httpcore + # httpx + # requests +cffi==2.1.0 + # via cryptography +charset-normalizer==3.4.9 + # via requests +click==8.4.2 + # via granian +cryptography==49.0.0 + # via secretstorage +decorator==5.3.1 + # via + # ipdb + # ipython +docutils==0.23 + # via readme-renderer +executing==2.2.1 + # via stack-data +granian==2.7.9 + # via kaya-rsgi +h11==0.16.0 + # via + # httpcore + # wsproto +httpcore==1.0.9 + # via + # httpx + # httpx-ws +httpx==0.28.1 + # via + # -r requirements-dev.in + # httpx-ws +httpx-ws==0.9.0 + # via -r requirements-dev.in +id==1.6.1 + # via twine +idna==3.18 + # via + # anyio + # httpx + # requests +ipdb==0.13.13 + # via -r requirements-dev.in +ipython==9.15.0 + # via ipdb +ipython-pygments-lexers==1.1.1 + # via ipython +jaraco-classes==3.4.0 + # via keyring +jaraco-context==6.1.2 + # via keyring +jaraco-functools==4.6.0 + # via keyring +jedi==0.20.0 + # via ipython +jeepney==0.9.0 + # via + # keyring + # secretstorage +file:./packages/kaya-core + # via + # -r requirements-dev.in + # kaya-rsgi +file:./packages/kaya-rsgi + # via -r requirements-dev.in +keyring==25.7.0 + # via twine +librt==0.13.0 + # via mypy +markdown-it-py==4.2.0 + # via rich +matplotlib-inline==0.2.2 + # via ipython +mdurl==0.1.2 + # via markdown-it-py +more-itertools==11.1.0 + # via + # jaraco-classes + # jaraco-functools +mypy==2.3.0 + # via -r requirements-dev.in +mypy-extensions==1.1.0 + # via mypy +nh3==0.3.6 + # via readme-renderer +packaging==26.2 + # via + # build + # twine +parso==0.8.7 + # via jedi +pathspec==1.1.1 + # via mypy +pexpect==4.9.0 + # via ipython +prompt-toolkit==3.0.52 + # via ipython +psutil==7.2.2 + # via ipython +ptyprocess==0.7.0 + # via pexpect +pure-eval==0.2.3 + # via stack-data +pwo==0.1.2 + # via + # kaya-core + # kaya-rsgi +pycparser==3.0 + # via cffi +pygments==2.20.0 + # via + # ipython + # ipython-pygments-lexers + # readme-renderer + # rich +pyproject-hooks==1.2.0 + # via build +readme-renderer==45.0 + # via twine +requests==2.34.2 + # via + # requests-toolbelt + # twine +requests-toolbelt==1.0.0 + # via twine +rfc3986==2.0.0 + # via twine +rich==15.0.0 + # via twine +secretstorage==3.5.0 + # via keyring +stack-data==0.6.3 + # via ipython +traitlets==5.15.1 + # via + # ipython + # matplotlib-inline +twine==6.2.0 + # via -r requirements-dev.in +typing-extensions==4.16.0 + # via + # kaya-core + # mypy + # pwo +urllib3==2.7.0 + # via + # id + # requests + # twine +wcwidth==0.8.2 + # via prompt-toolkit +wsproto==1.3.2 + # via httpx-ws