https://github.com/crim-ca/stac-app
STAC API implementation for PAVICS.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.4%) to scientific vocabulary
Repository
STAC API implementation for PAVICS.
Basic Info
- Host: GitHub
- Owner: crim-ca
- License: mit
- Language: PLpgSQL
- Default Branch: main
- Size: 124 KB
Statistics
- Stars: 0
- Watchers: 7
- Forks: 0
- Open Issues: 5
- Releases: 5
Metadata Files
README.md
STAC API implementation for Birdhouse
This implementation extends stac-fastapi-pgstac by providing the following additional features:
Custom Queryables
The /queryables endpoints enabled by stac-fastapi-pgstac only provide basic information about the STAC items. This includes the property type (string, array, number, etc.) but not much else.
This implementation adds additional postgres functions to help discover more detailed queryables information including minumums and maximums for range properties and enum values for discrete properties.
[!Note] Dates are formatted as RFC 3339 strings and JSON schemas only support minumum/maximum for numeric types so minimum and maximum dates are provided as epoch seconds (in the "minimum" and "maximum" fields) and as RFC 3339 strings in the "description" field.
This also adds the following helper route PATCH /queryables which will update the
queryables stored in the database with up to date information from all items stored
in the database.
We recommend that you update the queryables after you add/remove/update any items in the database.
Custom queryables are enabled by default. To disable this feature and only use the
queryables provided by stac-fastapi-pgstac, set the STAC_DEFAULT_QUERYABLES environment variable to 1.
sh
export STAC_DEFAULT_QUERYABLES=1
Custom Collection Summaries
Collections in STAC are strongly recommended to provide summaries and extents of the items they contain. This includes the temporal and spatial extents of the whole collection as well as the minumums and maximums for range properties and enum values for discrete properties of items.
These values are not updated automatically so this implementation adds additional postgres functions to help keep these collection summaries and extents up to date.
This also adds the following helper route PATCH /summaries which will update the
collection summaries and extents stored in the database with up to date information from all items stored
in the database.
[!Note] These functions will only update the first extent value which defines the extent of the whole collection, additional extents that describe subsets of the collection will not be modified.
Custom summaries are enabled by default. To disable this feature and set the STAC_DEFAULT_SUMMARIES environment variable
to 1:
sh
export STAC_DEFAULT_SUMMARIES=1
Settable Router Prefix
To set a custom router prefix, set the ROUTER_PREFIX environment variable.
For example, the following access the same route:
With no router prefix set:
GET /collections
With a custom router prefix set to /my-prefix:
GET /my-prefix/collections
Settable OpenAPI paths
To set a custom path for the OpenAPI routes set the following environment variables:
OPENAPI_URL- default:
/api - returns a description of this API in JSON format
- default:
DOCS_URL- default:
/api.html - returns a description of this API in HTML format
- default:
[!NOTE] Note that other environment variables can be used to set other settings according to the FastAPI documentation and the STAC-FastAPI documentation
Contributing
Ensure that the pre-commit checks are installed so that you make sure that your code changes conform to the expected style for this project.
pip install pre-commit
pre-commit install
Releasing
Before making a new release:
pip install bump2version
bump2version <part>
Where <part> is one of major, minor, patch to determine which version number is updated.
This project uses semantic versioning.
Owner
- Name: crim-ca
- Login: crim-ca
- Kind: organization
- Repositories: 79
- Profile: https://github.com/crim-ca
GitHub Events
Total
- Create event: 19
- Issues event: 9
- Release event: 5
- Delete event: 7
- Member event: 1
- Issue comment event: 14
- Push event: 52
- Pull request review comment event: 35
- Pull request review event: 51
- Pull request event: 40
Last Year
- Create event: 19
- Issues event: 9
- Release event: 5
- Delete event: 7
- Member event: 1
- Issue comment event: 14
- Push event: 52
- Pull request review comment event: 35
- Pull request review event: 51
- Pull request event: 40
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 6
- Total pull requests: 30
- Average time to close issues: about 1 year
- Average time to close pull requests: 4 months
- Total issue authors: 3
- Total pull request authors: 3
- Average comments per issue: 1.33
- Average comments per pull request: 0.13
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 6
Past Year
- Issues: 5
- Pull requests: 19
- Average time to close issues: about 1 month
- Average time to close pull requests: about 2 months
- Issue authors: 2
- Pull request authors: 3
- Average comments per issue: 1.4
- Average comments per pull request: 0.21
- Merged pull requests: 5
- Bot issues: 0
- Bot pull requests: 6
Top Authors
Issue Authors
- mishaschwartz (3)
- fmigneault (2)
- matprov (1)
Pull Request Authors
- fmigneault (21)
- pre-commit-ci[bot] (4)
- mishaschwartz (2)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v2 composite
- docker/build-push-action v3 composite
- docker/login-action f054a8b539a109f9f41c372932f1ae047eff08c9 composite
- base latest build
- python 3.8-slim build
- uvicorn *