container-hub


Namecontainer-hub JSON
Version 0.1.21 PyPI version JSON
download
home_pagehttps://github.com/nens/container-hub
SummaryThe 3Di simulation container hub
upload_time2024-12-16 10:23:02
maintainerNone
docs_urlNone
authorLars Claussen
requires_pythonNone
licenseMIT license
keywords container_hub
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            =============
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"
}
        
Elapsed time: 0.49887s