{"id":38644695,"url":"https://github.com/actinia-org/actinia-parallel-plugin","last_synced_at":"2026-01-17T09:12:00.891Z","repository":{"id":39824761,"uuid":"485379309","full_name":"actinia-org/actinia-parallel-plugin","owner":"actinia-org","description":"This is the actinia parallel plugin for faster processing (WIP).","archived":false,"fork":false,"pushed_at":"2025-10-07T14:54:57.000Z","size":276,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-11-16T16:27:10.392Z","etag":null,"topics":["actinia","actinia-plugin","geoprocessing","geospatial","opensource","parallel-computing","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/actinia-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-04-25T13:17:53.000Z","updated_at":"2025-06-25T11:12:35.000Z","dependencies_parsed_at":"2023-09-21T19:57:13.850Z","dependency_job_id":"f01ec88a-de19-4aab-a54b-dee9f6b05a12","html_url":"https://github.com/actinia-org/actinia-parallel-plugin","commit_stats":{"total_commits":53,"total_committers":3,"mean_commits":"17.666666666666668","dds":0.1132075471698113,"last_synced_commit":"11e3de2d99a4abe84ba8791e390e58ec16f793fd"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/actinia-org/actinia-parallel-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actinia-org%2Factinia-parallel-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actinia-org%2Factinia-parallel-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actinia-org%2Factinia-parallel-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actinia-org%2Factinia-parallel-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/actinia-org","download_url":"https://codeload.github.com/actinia-org/actinia-parallel-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actinia-org%2Factinia-parallel-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28504933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actinia","actinia-plugin","geoprocessing","geospatial","opensource","parallel-computing","rest-api"],"created_at":"2026-01-17T09:12:00.082Z","updated_at":"2026-01-17T09:12:00.865Z","avatar_url":"https://github.com/actinia-org.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# actinia-parallel-plugin\n\nThis is the actinia-parallel-plugin for [actinia-core](https://github.com/mundialis/actinia_core) which adds parallel processing endpoints to actinia.\n\nYou can run actinia-parallel-plugin as an actinia-core plugin.\n\n## Installation\nUse docker compose for installation:\n```\ndocker compose -f docker/docker-compose.yml build\ndocker compose -f docker/docker-compose.yml up -d\n```\n\n### Installation hints\n* If you get an error like: `ERROR: for docker_kvdb_1  Cannot start service valkey: network xxx not found` you can try the following:\n```\ndocker compose -f docker/docker-compose.yml down\n# remove all custom networks not used by a container\ndocker network prune\ndocker compose -f docker/docker-compose.yml up -d\n```\n\n## DEV setup\nFor a DEV setup you can use the docker/docker-compose.yml:\n```\ndocker compose -f docker/docker-compose.yml build\ndocker compose -f docker/docker-compose.yml run --rm --service-ports --entrypoint sh actinia\n\n# install the plugin\n(cd /src/actinia-parallel-plugin \u0026\u0026 pip3 install .)\n# start actinia-core with your plugin\ngunicorn -b 0.0.0.0:8088 -w 1 --access-logfile=- -k gthread actinia_core.main:flask_app\n\n# or for debugging in one line with reset\nreset \u0026\u0026 (cd /src/actinia-parallel-plugin \u0026\u0026 pip3 install .) \u0026\u0026 gunicorn -b 0.0.0.0:8088 -w 3 --access-logfile=- -k gthread actinia_core.main:flask_app\n```\n\n### PostGIS\nConnect to PostGIS DB from actinia-core docker container:\n```\npsql -U actinia -h postgis -d gis\n```\n\n### Hints\n\n* If you have no `.git` folder in the plugin folder, you need to set the\n`SETUPTOOLS_SCM_PRETEND_VERSION` before installing the plugin:\n```\nexport SETUPTOOLS_SCM_PRETEND_VERSION=0.0\n```\nOtherwise you will get an error like this:\n`LookupError: setuptools-scm was unable to detect version for '/src/actinia-parallel-plugin'.`.\n\n* If you make changes in code and nothing changes you can try to uninstall the plugin:\n```\npip3 uninstall actinia-parallel-plugin.wsgi -y\nrm -rf /usr/lib/python3.8/site-packages/actinia_parallel_plugin.wsgi-*.egg\n```\n\n### Running tests\nYou can run the tests in the actinia test docker:\n\n```\ndocker compose -f docker/docker-compose-test.yml build\ndocker compose -f docker/docker-compose-test.yml up -d\n\n# exec docker and run tests manually\ndocker exec -it docker_actinia-test_1 sh\n\n# run all tests\nmake test\n\n# run only unittests\nmake unittest\n# run only integrationtests\nmake integrationtest\n\n# or run tests outside of docker container\ndocker exec -it docker_actinia-test_1 sh /usr/bin/run_integration_tests.sh\ndocker exec -it docker_actinia-test_1 sh /usr/bin/run_unittests.sh\n\ndocker compose -f docker/docker-compose-test.yml down\n```\n\nYou can also run the tests in the GHA workflows locally via [act](https://github.com/nektos/act).\nTo run docker compose inside a workflow [act_base](https://github.com/lucasctrl/act_base) can be used.\nWith these you can run the following to run the tests:\n```\n# list all workflows\nact -l\n\n# run workflow\nact -j integration-tests -P ubuntu-latest=lucasalt/act_base:latest\nact -j unittests -P ubuntu-latest=lucasalt/act_base:latest\n```\n\n\n## Examples\n\n### Requesting batch job and job endpoints\n```\n# request batch job\ncurl -u actinia-gdi:actinia-gdi -X GET http://localhost:8088/api/v3/resources/actinia-gdi/batches/1 | jq\n# request job\ncurl -u actinia-gdi:actinia-gdi -X GET http://localhost:8088/api/v3/resources/actinia-gdi/batches/1/jobs/1 | jq\n```\n\n### Start parallel batch job\n#### Ephemeral processing\nYou can start a parallel **ephemeral** batch job via:\n```\n# parallel ephemeral processing\ncurl -u actinia-gdi:actinia-gdi -X POST -H 'Content-Type: application/json' -d @test_postbodies/parallel_ephemeral_processing.json http://localhost:8088/api/v3/projects/nc_spm_08_grass7_root/processing_parallel | jq\n```\nAttention:\n* The individual process chains must be \"independent\" of each other, since\n  createBatch is designed as an ephemeral process.\n\nTODOs:\n* exporter in PC\n* using stdout/export in PC of next block\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factinia-org%2Factinia-parallel-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Factinia-org%2Factinia-parallel-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factinia-org%2Factinia-parallel-plugin/lists"}