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

This is the actinia parallel plugin for faster processing (WIP).

https://github.com/actinia-org/actinia-parallel-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
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.6%) to scientific vocabulary

Keywords

actinia actinia-plugin geoprocessing geospatial opensource parallel-computing rest-api

Keywords from Contributors

earth-observation geospatial-analysis grass-gis actinia-client
Last synced: 5 months ago · JSON representation

Repository

This is the actinia parallel plugin for faster processing (WIP).

Basic Info
  • Host: GitHub
  • Owner: actinia-org
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 271 KB
Statistics
  • Stars: 1
  • Watchers: 7
  • Forks: 0
  • Open Issues: 3
  • Releases: 5
Topics
actinia actinia-plugin geoprocessing geospatial opensource parallel-computing rest-api
Created almost 4 years ago · Last pushed 8 months ago
Metadata Files
Readme License

README.md

actinia-parallel-plugin

This is the actinia-parallel-plugin for actinia-core which adds parallel processing endpoints to actinia.

You can run actinia-parallel-plugin as an actinia-core plugin.

Installation

Use docker compose for installation: docker compose -f docker/docker-compose.yml build docker compose -f docker/docker-compose.yml up -d

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: docker compose -f docker/docker-compose.yml down # remove all custom networks not used by a container docker network prune docker compose -f docker/docker-compose.yml up -d

DEV setup

For a DEV setup you can use the docker/docker-compose.yml: ``` docker compose -f docker/docker-compose.yml build docker compose -f docker/docker-compose.yml run --rm --service-ports --entrypoint sh actinia

install the plugin

(cd /src/actinia-parallel-plugin && pip3 install .)

start actinia-core with your plugin

gunicorn -b 0.0.0.0:8088 -w 1 --access-logfile=- -k gthread actiniacore.main:flaskapp

or for debugging in one line with reset

reset && (cd /src/actinia-parallel-plugin && pip3 install .) && gunicorn -b 0.0.0.0:8088 -w 3 --access-logfile=- -k gthread actiniacore.main:flaskapp ```

PostGIS

Connect to PostGIS DB from actinia-core docker container: psql -U actinia -h postgis -d gis

Hints

  • If you have no .git folder in the plugin folder, you need to set the SETUPTOOLS_SCM_PRETEND_VERSION before installing the plugin: 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-parallel-plugin'..

  • If you make changes in code and nothing changes you can try to uninstall the plugin: pip3 uninstall actinia-parallel-plugin.wsgi -y rm -rf /usr/lib/python3.8/site-packages/actinia_parallel_plugin.wsgi-*.egg

Running tests

You can run the tests in the actinia test docker:

``` docker compose -f docker/docker-compose-test.yml build docker compose -f docker/docker-compose-test.yml up -d

exec docker and run tests manually

docker exec -it dockeractinia-test1 sh

run all tests

make test

run only unittests

make unittest

run only integrationtests

make integrationtest

or run tests outside of docker container

docker exec -it dockeractinia-test1 sh /usr/bin/runintegrationtests.sh docker exec -it dockeractinia-test1 sh /usr/bin/run_unittests.sh

docker compose -f docker/docker-compose-test.yml down ```

You can also run the tests in the GHA workflows locally via act. To run docker compose inside a workflow act_base can be used. With these you can run the following to run the tests: ```

list all workflows

act -l

run workflow

act -j integration-tests -P ubuntu-latest=lucasalt/actbase:latest act -j unittests -P ubuntu-latest=lucasalt/actbase:latest ```

Examples

Requesting batch job and job endpoints

```

request batch job

curl -u actinia-gdi:actinia-gdi -X GET http://localhost:8088/api/v3/resources/actinia-gdi/batches/1 | jq

request job

curl -u actinia-gdi:actinia-gdi -X GET http://localhost:8088/api/v3/resources/actinia-gdi/batches/1/jobs/1 | jq ```

Start parallel batch job

Ephemeral processing

You can start a parallel ephemeral batch job via: ```

parallel ephemeral processing

curl -u actinia-gdi:actinia-gdi -X POST -H 'Content-Type: application/json' -d @testpostbodies/parallelephemeralprocessing.json http://localhost:8088/api/v3/projects/ncspm08grass7root/processingparallel | jq ``` Attention: * The individual process chains must be "independent" of each other, since createBatch is designed as an ephemeral process.

TODOs: * exporter in PC * using stdout/export in PC of next block

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: 4
  • Delete event: 8
  • Issue comment event: 1
  • Push event: 26
  • Pull request review comment event: 1
  • Pull request review event: 5
  • Pull request event: 21
  • Create event: 15
Last Year
  • Release event: 4
  • Delete event: 8
  • Issue comment event: 1
  • Push event: 26
  • Pull request review comment event: 1
  • Pull request review event: 5
  • Pull request event: 21
  • Create event: 15

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 53
  • Total Committers: 3
  • Avg Commits per committer: 17.667
  • Development Distribution Score (DDS): 0.113
Past Year
  • Commits: 5
  • Committers: 1
  • Avg Commits per committer: 5.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
anikaweinmann a****n@m****e 47
renovate[bot] 2****] 5
Anika Weinmann 3****n 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: almost 2 years ago

All Time
  • Total issues: 2
  • Total pull requests: 17
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 months
  • Total issue authors: 2
  • Total pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.12
  • Merged pull requests: 8
  • Bot issues: 1
  • Bot pull requests: 16
Past Year
  • Issues: 2
  • Pull requests: 16
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 months
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 7
  • Bot issues: 1
  • Bot pull requests: 16
Top Authors
Issue Authors
  • neteler (1)
  • renovate[bot] (1)
Pull Request Authors
  • renovate[bot] (29)
  • mmacata (3)
  • linakrisztian (3)
  • anikaweinmann (1)
Top Labels
Issue Labels
bug (1)
Pull Request Labels

Dependencies

.github/workflows/flake8.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/python-publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • softprops/action-gh-release v1 composite
.github/workflows/test.yml actions
  • actions/checkout v2 composite
  • docker/build-push-action v2 composite
  • docker/setup-buildx-action v1 composite
docker/Dockerfile docker
  • mundialis/actinia-core latest build
docker/actinia-parallel-plugin-test/Dockerfile docker
  • mundialis/actinia-core latest build
docker/docker-compose-test.yml docker
  • postgis/postgis 14-3.2-alpine
  • redis 5.0.4-alpine
docker/docker-compose.yml docker
  • postgis/postgis 14-3.2-alpine
  • redis 5.0.4-alpine
requirements.txt pypi
  • jsonmodels *
  • peewee *
  • psycopg2 *
  • python-json-logger ==0.1.11
  • yoyo-migrations *
setup.py pypi