=============
container-hub
=============
.. image:: https://img.shields.io/pypi/v/container-hub.svg
:target: https://pypi.python.org/pypi/container-hub
.. image:: https://github.com/nens/container-hub/workflows/Python%20application/badge.svg?branch=master
:target: https://github.com/nens/container-hub/actions?query=branch%3Amaster
.. image:: https://pyup.io/repos/github/nens/container-hub/shield.svg
:target: https://pyup.io/repos/github/nens/container-hub/
:alt: Updates
Container Hub
-------------
Spiritual successor of the machine manager. Main purpose is starting
and stopping threedi simulation containers.
Usage
-----
The container hub solely exposes two functions, ``up()`` and ``down()`` in backend classes.
A backend class can be imported via the `get_backend`` helper function
from container_hub import get_backend
backend = get_backend(settings) # settings is either simple-settings/Django settings or similar object.
Based on provided settings this gives you a carrier backend,
either from the ``container_hub.carriers.marathon.backend`` or the
``container_hub.carriers.docker.backend``.
Credits
-------
This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
=======
History
=======
0.1.21 (2024-12-16)
-------------------
- Remove package version pins for hikaru and kubernetes.
- Remove Marathon backend.
0.1.20 (2024-12-13)
-------------------
- Bump docker version
0.1.19 (2024-03-19)
-------------------
- Try again to release.
0.1.18 (2024-03-19)
-------------------
- Try PyPi release with adjusted GA workflow.
0.1.17 (2024-03-19)
-------------------
- Retry release.
0.1.16 (2024-03-19)
-------------------
- Try to release to PyPi
0.1.15 (2024-03-19)
-------------------
- Filter Kubernetes job: need to start with "simulation-"
0.1.14 (2023-08-29)
-------------------
- Added option for getting job status in Kubernetes backend.
0.1.13 (2023-07-10)
-------------------
- Kubernetes job should only run once.
- Allow size limit on `EmptyDirVolumeSource`.
0.1.12 (2023-03-06)
-------------------
- Secret mount options was incorrect.
0.1.11 (2023-03-03)
-------------------
- Allow more Kubernetes mounts options.
0.1.10 (2023-03-01)
-------------------
- Enable `annotations` and `resources` (limits/requests).
0.1.9 (2023-02-13)
------------------
- Added shared `EmptyDirVolumeSource` with name "shared-data" between simulation and scheduler container.
0.1.8 (2023-02-10)
------------------
- Drop `scheduler-worker` container in Kubernetes.
0.1.7 (2022-12-07)
------------------
- Need to use V1DeleteOptions from openapi
0.1.6 (2022-09-19)
------------------
- Automically remove pod under job.
- Add the option of opening a debug port for the docker backend.
0.1.5 (2022-06-24)
------------------
- Added `imagePullSecrets`, `NodeAffinity` and `Resources` options for Kubernetes simulation `Job`.
0.1.4 (2022-06-17)
------------------
- Kubernetes backend `container_list()` needs to return simulation-id's only.
0.1.3 (2022-06-15)
------------------
- Changes in Kubernetes backend after testing.
0.1.2 (2022-05-09)
------------------
- Added kubernetes support.
0.1.1 (2022-04-15)
------------------
- Major refactor: carriers now are available via backend modules.
0.0.19 (2022-04-13)
-------------------
- Don't pick SENTRY settings up from simple-settings. Should be given via `up` function `envs` parameter.
0.0.18 (2021-12-21)
-------------------
- Updated pypi token.
0.0.17 (2021-12-21)
-------------------
- Dynamically set container "LOG_LEVEL" via env parameter.
0.0.16 (2021-09-03)
-------------------
- Disable model mount when `gridadmin_download_url` and `tables_download_url` parameters
are both given.
0.0.15 (2021-07-27)
-------------------
- Added options for passing `gridadmin_download_url` and `tables_download_url` parameters
to the `up()` function
0.0.14 (2021-06-09)
-------------------
- Removed threedi-api-client as requirement.
- Added a pypi release pipeline to github action workflow.
0.0.13 (2020-10-13)
-------------------
- Added the 'clean_up_files' arg to 'up()' function.
0.0.12 (2020-08-11)
-------------------
- Bumped docker version
0.0.11 (2020-05-15)
-------------------
- Added the 'max_rate' arg to `up()` function.
0.0.10 (2020-04-20)
-------------------
- All MarathonApp args must be strings.
0.0.9 (2020-04-20)
------------------
- Session memory argument `mem` must be string for marathon strange enough.
0.0.8 (2020-04-16)
------------------
- Added the `pause_timeout` arg to the `up()` function.
0.0.7 (2020-02-19)
------------------
- Strip the 'simulation-' prefix when querying for the docker container_list to
ensure uniformity between all carriers.
0.0.6 (2020-01-27)
------------------
- Use a generic `envs` arg that will set the container env variables.
- Added args `sim_uid, sim_ref_datetime, end_time, duration and start_mode` to
container CMD.
0.0.5 (2020-01-17)
------------------
- Use generic marathon constraints settings.
0.0.4 (2019-12-19)
------------------
- Added support for host and ip lookups.
0.0.3 (2019-12-19)
------------------
- Catch also `ImportErrors` for simple settings.
0.0.2 (2019-12-19)
------------------
- Rename env var only_initialize to scheduler_action.
0.0.1 (2019-12-19)
------------------
* First release on PyPI.
Raw data
{
"_id": null,
"home_page": "https://github.com/nens/container-hub",
"name": "container-hub",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "container_hub",
"author": "Lars Claussen",
"author_email": "claussen.lars@nelen-schuurmans.nl",
"download_url": "https://files.pythonhosted.org/packages/0a/6e/806f3f335e4f2e8b483e05367338f4026b7556f98deb38604ffb362e9b3c/container_hub-0.1.21.tar.gz",
"platform": null,
"description": "=============\ncontainer-hub\n=============\n\n\n.. image:: https://img.shields.io/pypi/v/container-hub.svg\n :target: https://pypi.python.org/pypi/container-hub\n\n.. image:: https://github.com/nens/container-hub/workflows/Python%20application/badge.svg?branch=master\n :target: https://github.com/nens/container-hub/actions?query=branch%3Amaster\n.. image:: https://pyup.io/repos/github/nens/container-hub/shield.svg\n :target: https://pyup.io/repos/github/nens/container-hub/\n :alt: Updates\n\n\nContainer Hub\n-------------\n\nSpiritual successor of the machine manager. Main purpose is starting\nand stopping threedi simulation containers.\n\n\nUsage\n-----\n\nThe container hub solely exposes two functions, ``up()`` and ``down()`` in backend classes. \nA backend class can be imported via the `get_backend`` helper function\n\n from container_hub import get_backend\n backend = get_backend(settings) # settings is either simple-settings/Django settings or similar object.\n\nBased on provided settings this gives you a carrier backend,\neither from the ``container_hub.carriers.marathon.backend`` or the\n``container_hub.carriers.docker.backend``.\n\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n=======\nHistory\n=======\n\n\n0.1.21 (2024-12-16)\n-------------------\n\n- Remove package version pins for hikaru and kubernetes.\n- Remove Marathon backend.\n\n\n0.1.20 (2024-12-13)\n-------------------\n\n- Bump docker version\n\n\n0.1.19 (2024-03-19)\n-------------------\n\n- Try again to release.\n\n\n0.1.18 (2024-03-19)\n-------------------\n\n- Try PyPi release with adjusted GA workflow.\n\n\n0.1.17 (2024-03-19)\n-------------------\n\n- Retry release.\n\n\n0.1.16 (2024-03-19)\n-------------------\n\n- Try to release to PyPi\n\n\n0.1.15 (2024-03-19)\n-------------------\n\n- Filter Kubernetes job: need to start with \"simulation-\"\n\n\n0.1.14 (2023-08-29)\n-------------------\n\n- Added option for getting job status in Kubernetes backend.\n\n\n0.1.13 (2023-07-10)\n-------------------\n\n- Kubernetes job should only run once.\n\n- Allow size limit on `EmptyDirVolumeSource`.\n\n\n0.1.12 (2023-03-06)\n-------------------\n\n- Secret mount options was incorrect.\n\n\n0.1.11 (2023-03-03)\n-------------------\n\n- Allow more Kubernetes mounts options.\n\n\n0.1.10 (2023-03-01)\n-------------------\n\n- Enable `annotations` and `resources` (limits/requests).\n\n\n0.1.9 (2023-02-13)\n------------------\n\n- Added shared `EmptyDirVolumeSource` with name \"shared-data\" between simulation and scheduler container.\n\n\n0.1.8 (2023-02-10)\n------------------\n\n- Drop `scheduler-worker` container in Kubernetes.\n\n\n0.1.7 (2022-12-07)\n------------------\n\n- Need to use V1DeleteOptions from openapi\n\n\n0.1.6 (2022-09-19)\n------------------\n\n- Automically remove pod under job.\n\n- Add the option of opening a debug port for the docker backend.\n\n\n0.1.5 (2022-06-24)\n------------------\n\n- Added `imagePullSecrets`, `NodeAffinity` and `Resources` options for Kubernetes simulation `Job`.\n\n\n0.1.4 (2022-06-17)\n------------------\n\n- Kubernetes backend `container_list()` needs to return simulation-id's only.\n\n\n0.1.3 (2022-06-15)\n------------------\n\n- Changes in Kubernetes backend after testing.\n\n\n0.1.2 (2022-05-09)\n------------------\n\n- Added kubernetes support.\n\n\n0.1.1 (2022-04-15)\n------------------\n\n- Major refactor: carriers now are available via backend modules.\n\n\n0.0.19 (2022-04-13)\n-------------------\n\n- Don't pick SENTRY settings up from simple-settings. Should be given via `up` function `envs` parameter.\n\n\n0.0.18 (2021-12-21)\n-------------------\n\n- Updated pypi token.\n\n\n0.0.17 (2021-12-21)\n-------------------\n\n- Dynamically set container \"LOG_LEVEL\" via env parameter.\n\n\n0.0.16 (2021-09-03)\n-------------------\n\n- Disable model mount when `gridadmin_download_url` and `tables_download_url` parameters\n are both given.\n\n\n0.0.15 (2021-07-27)\n-------------------\n\n- Added options for passing `gridadmin_download_url` and `tables_download_url` parameters\n to the `up()` function\n\n\n0.0.14 (2021-06-09)\n-------------------\n\n- Removed threedi-api-client as requirement.\n\n- Added a pypi release pipeline to github action workflow.\n\n\n0.0.13 (2020-10-13)\n-------------------\n\n- Added the 'clean_up_files' arg to 'up()' function.\n\n\n0.0.12 (2020-08-11)\n-------------------\n\n- Bumped docker version\n\n0.0.11 (2020-05-15)\n-------------------\n\n- Added the 'max_rate' arg to `up()` function.\n\n\n0.0.10 (2020-04-20)\n-------------------\n\n- All MarathonApp args must be strings.\n\n\n0.0.9 (2020-04-20)\n------------------\n\n- Session memory argument `mem` must be string for marathon strange enough.\n\n\n0.0.8 (2020-04-16)\n------------------\n\n- Added the `pause_timeout` arg to the `up()` function.\n\n\n0.0.7 (2020-02-19)\n------------------\n\n- Strip the 'simulation-' prefix when querying for the docker container_list to\n ensure uniformity between all carriers.\n\n\n0.0.6 (2020-01-27)\n------------------\n\n- Use a generic `envs` arg that will set the container env variables.\n\n- Added args `sim_uid, sim_ref_datetime, end_time, duration and start_mode` to\n container CMD.\n\n\n0.0.5 (2020-01-17)\n------------------\n\n- Use generic marathon constraints settings.\n\n\n0.0.4 (2019-12-19)\n------------------\n\n- Added support for host and ip lookups.\n\n\n0.0.3 (2019-12-19)\n------------------\n\n- Catch also `ImportErrors` for simple settings.\n\n\n0.0.2 (2019-12-19)\n------------------\n\n- Rename env var only_initialize to scheduler_action.\n\n\n0.0.1 (2019-12-19)\n------------------\n\n* First release on PyPI.\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "The 3Di simulation container hub",
"version": "0.1.21",
"project_urls": {
"Homepage": "https://github.com/nens/container-hub"
},
"split_keywords": [
"container_hub"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f4269e9aceba308a742ef764b211a56aa6aa795bfdf0392f4ff8ad7cc88bad44",
"md5": "dc9cde40e17cd3a0d3ecff9d337f472e",
"sha256": "a5ac04f7351934b383c6d14e7771621d9c3d444dc256c070e6b3a4551bb5d468"
},
"downloads": -1,
"filename": "container_hub-0.1.21-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "dc9cde40e17cd3a0d3ecff9d337f472e",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 15672,
"upload_time": "2024-12-16T10:22:59",
"upload_time_iso_8601": "2024-12-16T10:22:59.736379Z",
"url": "https://files.pythonhosted.org/packages/f4/26/9e9aceba308a742ef764b211a56aa6aa795bfdf0392f4ff8ad7cc88bad44/container_hub-0.1.21-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0a6e806f3f335e4f2e8b483e05367338f4026b7556f98deb38604ffb362e9b3c",
"md5": "37250e428f714f871b126da388d17274",
"sha256": "175cf992d5d4a25eced10851148bbeee1209833ecd21586adb3f6c66b1868836"
},
"downloads": -1,
"filename": "container_hub-0.1.21.tar.gz",
"has_sig": false,
"md5_digest": "37250e428f714f871b126da388d17274",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 22278,
"upload_time": "2024-12-16T10:23:02",
"upload_time_iso_8601": "2024-12-16T10:23:02.042622Z",
"url": "https://files.pythonhosted.org/packages/0a/6e/806f3f335e4f2e8b483e05367338f4026b7556f98deb38604ffb362e9b3c/container_hub-0.1.21.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-16 10:23:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nens",
"github_project": "container-hub",
"github_not_found": true,
"lcname": "container-hub"
}