https://github.com/actinia-org/actinia-cloudevent-plugin
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 (10.5%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: actinia-org
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Size: 161 KB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 3
- Releases: 1
Metadata Files
README.md
actinia-cloudevent-plugin
This is a plugin for actinia-core which adds cloudevent endpoints and runs as standalone app.
Installation and Setup
Use docker-compose for installation: ```bash docker compose -f docker/docker-compose.yml build docker compose -f docker/docker-compose.yml run --rm --service-ports --entrypoint sh actinia-cloudevent
within docker
gunicorn -b 0.0.0.0:5000 -w 8 --access-logfile=- -k gthread actiniacloudeventplugin.main:flask_app ```
DEV setup
```bash
Uncomment the volume mount of the cloud-event-plugin within docker/docker-compose.yml,
then:
docker compose -f docker/docker-compose.yml build docker compose -f docker/docker-compose.yml run --rm --service-ports --entrypoint sh actinia-cloudevent
within docker:
install the plugin
pip3 install .
start flask app with actinia-cloudevent-plugin
python3 -m actiniacloudeventplugin.main ```
Installation hints
- If you get an error like:
ERROR: for docker_kvdb_1 Cannot start service valkey: network xxx not foundyou can try the following:bash docker compose -f docker/docker-compose-dev.yml down # remove all custom networks not used by a container docker network prune docker compose -f docker/docker-compose-dev.yml up -d
Configuration
- the URL of the cloudevent receiver is defined within config/mount/sample.ini:
[EVENTRECEIVER](Default value defined within src/actiniacloudeventplugin/resources/config.py)
Requesting endpoint
Note: Assuming cloudevent-plugin is running as described in previous setup.
You can test the plugin and request the / endpoint, e.g. with:
```bash
Start server for receiving of cloudevents (which are returned as response)
NOTE: as defined within config/mount/sample.ini: [EVENTRECEIVER]
python3 tests/cloudeventreceiverserver.py
In another terminal
JSON=tests/examples/cloudevent_example.json curl -X POST -H 'Content-Type: application/json' --data @$JSON localhost:5000/api/v1/ | jq ```
Exemplary returned cloudevent: tests/examples/cloudeventexamplereturn.json
Hints
If you have no
.gitfolder in the plugin folder, you need to set theSETUPTOOLS_SCM_PRETEND_VERSIONbefore installing the plugin:bash export SETUPTOOLS_SCM_PRETEND_VERSION=0.0Otherwise you will get an error like thisLookupError: setuptools-scm was unable to detect version for '/src/actinia-cloudevent-plugin'..If you make changes in code and nothing changes you can try to uninstall the plugin:
bash pip3 uninstall actinia-cloudevent-plugin.wsgi -y rm -rf /usr/lib/python3.8/site-packages/actinia_cloudevent_plugin.wsgi-*.egg
Running tests
You can run the tests in the actinia test docker:
```bash
Uncomment the volume mount of the cloud-event-plugin within docker/docker-compose.yml,
then:
docker compose -f docker/docker-compose.yml build docker compose -f docker/docker-compose.yml run --rm --service-ports --entrypoint sh actinia-cloudevent
run all tests
make test
# run only unittests
make unittest
run only integrationtests
make integrationtest
run only tests which are marked for development with the decorator '@pytest.mark.dev'
make devtest ```
Hint for the development of actinia plugins
skip permission check
The parameter skip_permission_check (see example in actinia-statistic plugin)
should only be set to True if you are sure that you really don't want to check the permissions.
The skip of the permission check leads to a skipping of: * the module check * the limit of the number of processes * the limit of the processing time
Not skipped are: * the limit of the cells * the mapset/project limitations of the user
Owner
- Name: actinia
- Login: actinia-org
- Kind: organization
- Website: https://actinia.mundialis.de
- Repositories: 22
- Profile: https://github.com/actinia-org
The geoprocessing platform actinia analyses large volumes of Earth-observation and geodata in the cloud. Repo overview at https://actinia-org.github.io/
GitHub Events
Total
- Release event: 1
- Delete event: 1
- Issue comment event: 1
- Push event: 24
- Pull request review event: 11
- Pull request event: 8
- Pull request review comment event: 123
- Create event: 5
Last Year
- Release event: 1
- Delete event: 1
- Issue comment event: 1
- Push event: 24
- Pull request review event: 11
- Pull request event: 8
- Pull request review comment event: 123
- Create event: 5
Dependencies
- actions/checkout v4 composite
- docker/build-push-action v6 composite
- docker/setup-buildx-action v3 composite
- mundialis/actinia latest build
- valkey/valkey 8.1-alpine
- colorlog >=4.2.1
- xmltodict *