Skip to content

Commit

Permalink
Added Docs build to ci workflow
Browse files Browse the repository at this point in the history
Undo changes to ci.yaml
  • Loading branch information
stvoutsin committed Oct 8, 2024
1 parent 0621da6 commit abc1abc
Show file tree
Hide file tree
Showing 71 changed files with 4,240 additions and 200 deletions.
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v5.0.0
hooks:
- id: check-toml
- id: check-yaml
- id: trailing-whitespace

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.5.5
rev: v0.6.9
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,4 @@ USER appuser
EXPOSE 8080

# Run the application.
CMD ["uvicorn", "vosiav2.main:app", "--host", "0.0.0.0", "--port", "8080"]
CMD ["uvicorn", "sia.main:app", "--host", "0.0.0.0", "--port", "8080"]
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.PHONY: help
help:
@echo "Make targets for vo-siav2"
@echo "Make targets for sia"
@echo "make init - Set up dev environment"
@echo "make run - Start a local development instance"
@echo "make update - Update pinned dependencies and run make init"
Expand Down
18 changes: 14 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# vo-siav2
# SIA

Rubin Observatory SIAV2 implementation over Butler
Learn more at https://vo-siav2.lsst.io
SIA is an implementation of the IVOA [Simple Image Access v2](https://www.ivoa.net/documents/SIA/20150610/PR-SIA-2.0-20150610.pdf) protocol as a [FastAPI](https://fastapi.tiangolo.com/) web service, designed to be deployed as part of the Rubin Science Platform.

The default configuration is designed to use the [dax_obscore](https://github.com/lsst-dm/dax_obscore) package and interact with a [Butler](https://github.com/lsst/daf_butler) repository to find images that match a certain criteria.

While the application has been designed with consideration to potential future use with other middleware packages & query engines, the current release is targeted to the specific Butler-backed use case for the RSP.

Queries results are streamed as VOTable responses to the user, and in the current release this is the only format supported.

The application expects as configuration the definition of what query_engine to use, and the associated data collections configuration. In the default case of using Remote Butler as the query engine, the application expects at least one data collection (with default=True).

The system architecture & design considerations have been documented in https://github.com/lsst-sqre/sqr-095.

See [CHANGELOG.md](https://github.com/lsst-sqre/sia/blob/main/CHANGELOG.md) for the change history of sia.

vo-siav2 is developed with [FastAPI](https://fastapi.tiangolo.com) and [Safir](https://safir.lsst.io).
20 changes: 12 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[project]
# https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
name = "vo-siav2"
description = "Rubin Observatory SIAV2 implementation over Butler"
name = "sia"
description = "Rubin Observatory SIA implementation over Butler"
license = { file = "LICENSE" }
readme = "README.md"
keywords = ["rubin", "lsst"]
Expand All @@ -23,22 +23,25 @@ dependencies = []
dynamic = ["version"]

[project.scripts]
vo-siav2 = "vosiav2.cli:main"
sia = "sia.cli:main"

[project.urls]
Homepage = "https://vo-siav2.lsst.io"
Source = "https://github.com/lsst-sqre/vo-siav2"
Homepage = "https://sia.lsst.io"
Source = "https://github.com/lsst-sqre/sia"

[build-system]
requires = ["setuptools>=61", "wheel", "setuptools_scm[toml]>=6.2"]
build-backend = "setuptools.build_meta"

[tool.setuptools_scm]

[tool.setuptools.package-data]
"sia" = ["templates/*.xml"]

[tool.coverage.run]
parallel = true
branch = true
source = ["vosiav2"]
source = ["sia"]

[tool.coverage.paths]
source = ["src", ".tox/*/site-packages"]
Expand All @@ -62,7 +65,7 @@ disallow_untyped_defs = true
disallow_incomplete_defs = true
ignore_missing_imports = true
local_partial_types = true
plugins = ["pydantic.mypy"]
plugins = ["pydantic.mypy","pydantic_xml.mypy"]
no_implicit_reexport = true
show_error_codes = true
strict_equality = true
Expand All @@ -87,6 +90,7 @@ asyncio_mode = "strict"
# with complex data structures rather than only the assert message) in files
# listed in python_files.
python_files = ["tests/*.py", "tests/*/*.py"]
asyncio_default_fixture_loop_scope = "function"

# Use the generic Ruff configuration in ruff.toml and extend it with only
# project-specific settings. Add a [tool.ruff.lint.extend-per-file-ignores]
Expand All @@ -95,7 +99,7 @@ python_files = ["tests/*.py", "tests/*/*.py"]
extend = "ruff-shared.toml"

[tool.ruff.lint.isort]
known-first-party = ["vosiav2", "tests"]
known-first-party = ["sia", "tests"]
split-on-trailing-comma = false

[tool.scriv]
Expand Down
116 changes: 116 additions & 0 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --output-file requirements/dev.txt requirements/dev.in
annotated-types==0.7.0
# via
# -c requirements/main.txt
# pydantic
anyio==4.6.0
# via
# -c requirements/main.txt
# httpx
asgi-lifespan==2.1.0
# via -r requirements/dev.in
attrs==24.2.0
# via scriv
certifi==2024.8.30
# via
# -c requirements/main.txt
# httpcore
# httpx
# requests
charset-normalizer==3.3.2
# via
# -c requirements/main.txt
# requests
click==8.1.7
# via
# -c requirements/main.txt
# click-log
# scriv
click-log==0.4.0
# via scriv
coverage==7.6.1
# via
# -r requirements/dev.in
# pytest-cov
h11==0.14.0
# via
# -c requirements/main.txt
# httpcore
httpcore==1.0.6
# via
# -c requirements/main.txt
# httpx
httpx==0.27.2
# via
# -c requirements/main.txt
# -r requirements/dev.in
idna==3.10
# via
# -c requirements/main.txt
# anyio
# httpx
# requests
iniconfig==2.0.0
# via pytest
jinja2==3.1.4
# via
# -c requirements/main.txt
# scriv
markdown-it-py==3.0.0
# via scriv
markupsafe==3.0.0
# via
# -c requirements/main.txt
# jinja2
mdurl==0.1.2
# via markdown-it-py
mypy==1.11.2
# via -r requirements/dev.in
mypy-extensions==1.0.0
# via mypy
packaging==24.1
# via
# -c requirements/main.txt
# pytest
pluggy==1.5.0
# via pytest
pydantic==2.9.2
# via
# -c requirements/main.txt
# -r requirements/dev.in
pydantic-core==2.23.4
# via
# -c requirements/main.txt
# pydantic
pytest==8.3.3
# via
# -r requirements/dev.in
# pytest-asyncio
# pytest-cov
pytest-asyncio==0.24.0
# via -r requirements/dev.in
pytest-cov==5.0.0
# via -r requirements/dev.in
requests==2.32.3
# via
# -c requirements/main.txt
# scriv
scriv==1.5.1
# via -r requirements/dev.in
sniffio==1.3.1
# via
# -c requirements/main.txt
# anyio
# asgi-lifespan
# httpx
typing-extensions==4.12.2
# via
# -c requirements/main.txt
# mypy
# pydantic
# pydantic-core
urllib3==2.2.3
# via
# -c requirements/main.txt
# requests
9 changes: 9 additions & 0 deletions requirements/main.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,17 @@
fastapi
starlette
uvicorn[standard]
python-multipart

# Other dependencies.
requests
jinja2
pydantic
pydantic-settings
safir>=5
numpy
astropy
vo-models==0.3.1
defusedxml
lsst-daf-butler[remote]
lsst-dax-obscore @ git+https://github.com/lsst-dm/dax_obscore@main
Loading

0 comments on commit abc1abc

Please sign in to comment.