https://github.com/actinia-org/actinia-cloudevent-plugin

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
Last synced: 10 months ago · JSON representation

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
Created about 1 year ago · Last pushed 11 months ago
Metadata Files
Readme License

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 found you 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

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 .git folder in the plugin folder, you need to set the SETUPTOOLS_SCM_PRETEND_VERSION before installing the plugin: bash export SETUPTOOLS_SCM_PRETEND_VERSION=0.0 Otherwise you will get an error like this LookupError: 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

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

.github/workflows/linting.yml actions
.github/workflows/post-pr-reviews.yml actions
.github/workflows/python-publish.yml actions
.github/workflows/test.yml actions
  • actions/checkout v4 composite
  • docker/build-push-action v6 composite
  • docker/setup-buildx-action v3 composite
docker/Dockerfile docker
  • mundialis/actinia latest build
docker/docker-compose.yml docker
  • valkey/valkey 8.1-alpine
pyproject.toml pypi
  • colorlog >=4.2.1
  • xmltodict *
setup.py pypi