diff --git a/Makefile b/Makefile index 229d07f..a804e9b 100644 --- a/Makefile +++ b/Makefile @@ -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 \ @@ -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 \ diff --git a/pyproject.toml b/pyproject.toml index 7229dac..35fab44 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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] @@ -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 @@ -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] diff --git a/requirements/main.in b/requirements/main.in deleted file mode 100644 index c8c1336..0000000 --- a/requirements/main.in +++ /dev/null @@ -1,27 +0,0 @@ -# -*- conf-mode -*- -# -# Editable runtime dependencies (equivalent to install_requires) -# Add direct runtime dependencies here, as well as implicit dependencies -# with constrained versions. -# -# After editing, update requirements/main.txt by running: -# make update-deps - -# These dependencies are for fastapi including some optional features. -fastapi -python-multipart -starlette -uvicorn[standard] - -# Other dependencies. -astropy -click -pydantic -pydantic-settings -safir[uws]>=6.2.0 -structlog - -# Uncomment this, change the branch, comment out safir above, and run make -# update-deps-no-hashes to test against an unreleased version of Safir. -#safir-arq @ git+https://github.com/lsst-sqre/safir@main#subdirectory=safir-arq -#safir[uws] @ git+https://github.com/lsst-sqre/safir@main#subdirectory=safir diff --git a/requirements/main.txt b/requirements/main.txt index 4afeddb..cb92a68 100644 --- a/requirements/main.txt +++ b/requirements/main.txt @@ -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 @@ -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 @@ -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 @@ -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 \ @@ -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 @@ -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 \ @@ -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 \ @@ -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 @@ -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 @@ -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 \