A SpatioTemporal Asset Catalog (STAC) harvester extension for ckan. See https://stacindex.org/ for more details.
It currently supports STAC catalogs from the following:
California Forest Observatory (https://stacindex.org/catalogs/forest-observatory, https://storage.googleapis.com/cfo-public/vegetation/collection.json) OpenTOPOGRAPHY (https://stacindex.org/catalogs/opentopography, https://portal.opentopography.org/stac/catalog.json)
CKAN version 2.8 or above
To install ckanext-stac:
Activate your CKAN virtual environment, for example:
. /usr/lib/ckan/default/bin/activate
Install the ckanext-stac Python package into your virtual environment:
pip install ckanext-stac
Add
stacto theckan.pluginssetting in your CKAN config file (by default the config file is located at/etc/ckan/default/production.ini).Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu:
sudo service apache2 reload
Document any optional config settings here. For example:
# The minimum number of hours to wait before re-checking a resource # (optional, default: 24). ckanext.stac.some_setting = some_default_value
To install ckanext-stac for development, activate your CKAN virtualenv and do:
git clone https://github.com/b-weintraub/ckanext-stac.git cd ckanext-stac python setup.py develop pip install -r dev-requirements.txt
To run the tests, do:
nosetests --nologcapture --with-pylons=test.ini
To run the tests and produce a coverage report, first make sure you have
coverage installed in your virtualenv (pip install coverage) then run:
nosetests --nologcapture --with-pylons=test.ini --with-coverage --cover-package=ckanext.stac --cover-inclusive --cover-erase --cover-tests
ckanext-stac should be availabe on PyPI as https://pypi.python.org/pypi/ckanext-stac. If that link doesn't work, then you can register the project on PyPI for the first time by following these steps:
Create a source distribution of the project:
python setup.py sdist
Register the project:
python setup.py register
Upload the source distribution to PyPI:
python setup.py sdist upload
Tag the first release of the project on GitHub with the version number from the
setup.pyfile. For example if the version number insetup.pyis 0.0.1 then do:git tag 0.0.1 git push --tags
ckanext-stac is availabe on PyPI as https://pypi.python.org/pypi/ckanext-stac. To publish a new version to PyPI follow these steps:
Update the version number in the
setup.pyfile. See PEP 440 for how to choose version numbers.Create a source distribution of the new version:
python setup.py sdist
Upload the source distribution to PyPI:
python setup.py sdist upload
Tag the new release of the project on GitHub with the version number from the
setup.pyfile. For example if the version number insetup.pyis 0.0.2 then do:git tag 0.0.2 git push --tags