Skip to content

Commit

Permalink
Move runtime dependencies to pyproject.toml
Browse files Browse the repository at this point in the history
uv pip compile supports building frozen dependencies from
pyproject.toml, so move the runtime dependencies there to more
closely match how typical Python packages work. Leave the development
and tox dependencies in requirements for now.
  • Loading branch information
rra committed Aug 30, 2024
1 parent 1fa496d commit 51f6747
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 45 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ update-deps:
uv pip install --upgrade pre-commit
pre-commit autoupdate
uv pip compile --upgrade --universal --generate-hashes \
--output-file requirements/main.txt requirements/main.in
--output-file requirements/main.txt pyproject.toml
uv pip compile --upgrade --universal --generate-hashes \
--output-file requirements/dev.txt requirements/dev.in
uv pip compile --upgrade --universal --generate-hashes \
Expand All @@ -36,7 +36,7 @@ update-deps:
update-deps-no-hashes:
pip install --upgrade uv
uv pip compile --upgrade --universal \
--output-file requirements/main.txt requirements/main.in
--output-file requirements/main.txt pyproject.toml
uv pip compile --upgrade --universal \
--output-file requirements/dev.txt requirements/dev.in
uv pip compile --upgrade --universal \
Expand Down
20 changes: 15 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,19 @@ classifiers = [
# Python 3.11 currently (2024-06-05) due to the stack container and we need to
# be able to install vo-cutouts there so that we can use supporting code.
requires-python = ">=3.11"
# Use requirements/main.in for runtime dependencies instead.
dependencies = []
dependencies = [
# FastAPI including some optional features
"fastapi",
"python-multipart",
"uvicorn[standard]",
# Other dependencies.
"astropy",
"click",
"pydantic>2",
"pydantic-settings",
"safir[uws]>=6.2.0",
"structlog",
]
dynamic = ["version"]

[project.scripts]
Expand All @@ -34,13 +45,10 @@ Source = "https://github.com/lsst-sqre/vo-cutouts"
[build-system]
requires = [
"setuptools>=42",
"wheel",
"setuptools_scm[toml]>=3.4"
]
build-backend = "setuptools.build_meta"

[tool.setuptools_scm]

[tool.coverage.run]
parallel = true
branch = true
Expand Down Expand Up @@ -137,3 +145,5 @@ format = "md"
md_header_level = "2"
new_fragment_template = "file:changelog.d/_template.md.jinja"
skip_fragments = "_template.md.jinja"

[tool.setuptools_scm]
27 changes: 0 additions & 27 deletions requirements/main.in

This file was deleted.

21 changes: 10 additions & 11 deletions requirements/main.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --universal --generate-hashes --output-file requirements/main.txt requirements/main.in
# uv pip compile --universal --generate-hashes --output-file requirements/main.txt pyproject.toml
annotated-types==0.7.0 \
--hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 \
--hash=sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89
Expand Down Expand Up @@ -45,7 +45,7 @@ astropy==6.1.3 \
--hash=sha256:dde5b7e14d48e280643676a4821767a79e90bc3433ab81f40921eb36b49cf6da \
--hash=sha256:e6bfb987d512bbd70ec0c33ac023598594d35711bdb730cfaf3d8985d338155b \
--hash=sha256:e81c1fcb54b11190ce84c4106d49af762aff76ec18d50fbb205c556f423c4791
# via -r requirements/main.in
# via vo-cutouts (pyproject.toml)
astropy-iers-data==0.2024.8.27.10.28.29 \
--hash=sha256:13fd9e56103803d85467a0d20009268a7d0e812c6828ca5e04e11a5b779ecd65 \
--hash=sha256:8102e74d67d03b569f3da47aad3f410ce15d195110c479c38b61bf76e1aed516
Expand Down Expand Up @@ -269,7 +269,7 @@ click==8.1.7 \
--hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \
--hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de
# via
# -r requirements/main.in
# vo-cutouts (pyproject.toml)
# arq
# safir
# uvicorn
Expand Down Expand Up @@ -314,7 +314,7 @@ fastapi==0.112.2 \
--hash=sha256:3d4729c038414d5193840706907a41839d839523da6ed0c2811f1168cac1798c \
--hash=sha256:db84b470bd0e2b1075942231e90e3577e12a903c4dc8696f0d206a7904a7af1c
# via
# -r requirements/main.in
# vo-cutouts (pyproject.toml)
# safir
gidgethub==5.3.0 \
--hash=sha256:4dd92f2252d12756b13f9dd15cde322bfb0d625b6fb5d680da1567ec74b462c0 \
Expand Down Expand Up @@ -941,7 +941,7 @@ pydantic==2.8.2 \
--hash=sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a \
--hash=sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8
# via
# -r requirements/main.in
# vo-cutouts (pyproject.toml)
# fastapi
# pydantic-settings
# pydantic-xml
Expand Down Expand Up @@ -1046,7 +1046,7 @@ pydantic-settings==2.4.0 \
--hash=sha256:bb6849dc067f1687574c12a639e231f3a6feeed0a12d710c1382045c5db1c315 \
--hash=sha256:ed81c3a0f46392b4d7c0a565c05884e6e54b3456e6f0fe4d8814981172dc9a88
# via
# -r requirements/main.in
# vo-cutouts (pyproject.toml)
# safir
pydantic-xml==2.12.1 \
--hash=sha256:31623e9b287ef9eb1dda4caa92e893e3ac977f0327e1d76fd8a36879e455cea1 \
Expand Down Expand Up @@ -1079,7 +1079,7 @@ python-multipart==0.0.9 \
--hash=sha256:03f54688c663f1b7977105f021043b0793151e4cb1c1a9d4a11fc13d622c4026 \
--hash=sha256:97ca7b8ea7b05f977dc3849c3ba99d51689822fab725c3703af7c866a0c2b215
# via
# -r requirements/main.in
# vo-cutouts (pyproject.toml)
# safir
pyyaml==6.0.2 \
--hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \
Expand Down Expand Up @@ -1155,7 +1155,7 @@ rsa==4.9 \
safir==6.3.0 \
--hash=sha256:2fcd64bf37dd42eacedd6378341b2487cd06dbaf1f28403301b8d80f60a4fb56 \
--hash=sha256:6ad7dad520d87d853628849ef95a348c55dbd0180ad3f15c1cf2f7f8fe32f915
# via -r requirements/main.in
# via vo-cutouts (pyproject.toml)
safir-arq==6.3.0 \
--hash=sha256:c034e34fa79a7ebb4cfe3c1cb527e4c64c2195b63f919e2b623ae9dd72ac7e1b \
--hash=sha256:db110ce3fb0419d1d4a8d83b524ae9a09aa680d0e3f9323115cce836945b10e9
Expand Down Expand Up @@ -1225,14 +1225,13 @@ starlette==0.38.2 \
--hash=sha256:4ec6a59df6bbafdab5f567754481657f7ed90dc9d69b0c9ff017907dd54faeff \
--hash=sha256:c7c0441065252160993a1a37cf2a73bb64d271b17303e0b0c1eb7191cfb12d75
# via
# -r requirements/main.in
# fastapi
# safir
structlog==24.4.0 \
--hash=sha256:597f61e80a91cc0749a9fd2a098ed76715a1c8a01f73e336b746504d1aad7610 \
--hash=sha256:b27bfecede327a6d2da5fbc96bd859f114ecc398a6389d664f62085ee7ae6fc4
# via
# -r requirements/main.in
# vo-cutouts (pyproject.toml)
# safir
# safir-arq
# safir-logging
Expand All @@ -1255,7 +1254,7 @@ urllib3==2.2.2 \
uvicorn==0.30.6 \
--hash=sha256:4b15decdda1e72be08209e860a1e10e92439ad5b97cf44cc945fcbee66fc5788 \
--hash=sha256:65fd46fe3fda5bdc1b03b94eb634923ff18cd35b2f084813ea79d1f103f711b5
# via -r requirements/main.in
# via vo-cutouts (pyproject.toml)
uvloop==0.20.0 ; platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32' \
--hash=sha256:265a99a2ff41a0fd56c19c3838b29bf54d1d177964c300dad388b27e84fd7847 \
--hash=sha256:2beee18efd33fa6fdb0976e18475a4042cd31c7433c866e8a09ab604c7c22ff2 \
Expand Down

0 comments on commit 51f6747

Please sign in to comment.