aissemble-foundation-versioning-service


Nameaissemble-foundation-versioning-service JSON
Version 1.9.2 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2024-09-26 20:47:00
maintainerNone
docs_urlNone
authoraiSSEMBLE Baseline Community
requires_python<3.12,>=3.11.4
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## aiSSEMBLE&trade; Foundation Versioning

[![PyPI](https://img.shields.io/pypi/v/aissemble-foundation-versioning-service?logo=python&logoColor=gold)](https://pypi.org/project/aissemble-foundation-versioning-service/)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/aissemble-foundation-versioning-service?logo=python&logoColor=gold)
![PyPI - Wheel](https://img.shields.io/pypi/wheel/aissemble-foundation-versioning-service?logo=python&logoColor=gold)

This module contains the implementation for the aiSSEMBLE versioning service. The service provides the ability to version artifacts produced by a Solution Baseline machine-learning pipeline, and uses Maven to package and deploy the artifacts to Nexus.

### Model Versioning

The following GET endpoint is provided for model versioning: `/version/model/{run_id}`

`run_id` is the unique training run identifier assigned to an MLflow training experiment. The versioning service currently only supports models that have been trained using the MLflow implementation of a Solution Baseline machine-learning pipeline. It will package the training run artifacts produced by MLflow and the model artifacts produced when saving through MLflow.

The following environment variables are required for model versioning:
- `MLFLOW_TRACKING_URI`: the MLflow tracking URI path specified in the training pipeline. This is where MLflow saves the training run artifacts.
- `MODEL_DIRECTORY`: The model directory path specified in the training pipeline. This is where the training pipeline saves the trained models.
- `NEXUS_SERVER`: The Nexus server to use to push the versioned artifact to. The credentials for this server must be provided in the Maven settings.xml file.

### Example

Below is a basic example of how to leverage the versioning service:
- Extending the baseline docker image to include Nexus credentials
    ```dockerfile
    FROM boozallen/aissemble-versioning:${VERSION_AISSEMBLE}

    COPY /custom/maven/settings/containing/nexus/credentials.xml /root/.m2/settings.xml
    ```
- Docker-compose configurations for running the service
    ```
    example-versioning-service:
        image: my-extended-versioning-service-image:latest
        ports:
          - '80:80'
        environment:
            MLFLOW_TRACKING_URI: /path/to/mlflow/tracking/uri
            MODEL_DIRECTORY: /path/to/saved/models
            NEXUS_SERVER: http://nexus-server:port
    ```
- Note: By default Versioning requires authorization and therefore must have security services running (policy-decision-point).
    - Add the following to the above docker-compose file:
        ```
        policy-decision-point:
            image: ${CONTAINER_REGISTRY}boozallen/policy-decision-point-docker:latest
            hostname: policy-decision-point
            container_name: policy-decision-point
            ports:
              - "8780:8080"
              - "9700:9000"
        ```
    - Add an `auth.properties` file to your docker image with the following content.
        ```
        pdp_host_url=http://policy-decision-point:8080/api/pdp
        ```
    - Then add the following environment variable that points to your properties file.  
      `ENV KRAUSENING_BASE /path/to/auth.properties/file`
    - To disable authorization you can add the following to the `auth.properties` file: `is_authorization_enabled = False`.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "aissemble-foundation-versioning-service",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.11.4",
    "maintainer_email": null,
    "keywords": null,
    "author": "aiSSEMBLE Baseline Community",
    "author_email": "aissemble@bah.com",
    "download_url": "https://files.pythonhosted.org/packages/63/04/a84891547db660e1bf4a9354cb898d30ccaf9345b76f20b0f02a2cc8a538/aissemble_foundation_versioning_service-1.9.2.tar.gz",
    "platform": null,
    "description": "## aiSSEMBLE&trade; Foundation Versioning\n\n[![PyPI](https://img.shields.io/pypi/v/aissemble-foundation-versioning-service?logo=python&logoColor=gold)](https://pypi.org/project/aissemble-foundation-versioning-service/)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/aissemble-foundation-versioning-service?logo=python&logoColor=gold)\n![PyPI - Wheel](https://img.shields.io/pypi/wheel/aissemble-foundation-versioning-service?logo=python&logoColor=gold)\n\nThis module contains the implementation for the aiSSEMBLE versioning service. The service provides the ability to version artifacts produced by a Solution Baseline machine-learning pipeline, and uses Maven to package and deploy the artifacts to Nexus.\n\n### Model Versioning\n\nThe following GET endpoint is provided for model versioning: `/version/model/{run_id}`\n\n`run_id` is the unique training run identifier assigned to an MLflow training experiment. The versioning service currently only supports models that have been trained using the MLflow implementation of a Solution Baseline machine-learning pipeline. It will package the training run artifacts produced by MLflow and the model artifacts produced when saving through MLflow.\n\nThe following environment variables are required for model versioning:\n- `MLFLOW_TRACKING_URI`: the MLflow tracking URI path specified in the training pipeline. This is where MLflow saves the training run artifacts.\n- `MODEL_DIRECTORY`: The model directory path specified in the training pipeline. This is where the training pipeline saves the trained models.\n- `NEXUS_SERVER`: The Nexus server to use to push the versioned artifact to. The credentials for this server must be provided in the Maven settings.xml file.\n\n### Example\n\nBelow is a basic example of how to leverage the versioning service:\n- Extending the baseline docker image to include Nexus credentials\n    ```dockerfile\n    FROM boozallen/aissemble-versioning:${VERSION_AISSEMBLE}\n\n    COPY /custom/maven/settings/containing/nexus/credentials.xml /root/.m2/settings.xml\n    ```\n- Docker-compose configurations for running the service\n    ```\n    example-versioning-service:\n        image: my-extended-versioning-service-image:latest\n        ports:\n          - '80:80'\n        environment:\n            MLFLOW_TRACKING_URI: /path/to/mlflow/tracking/uri\n            MODEL_DIRECTORY: /path/to/saved/models\n            NEXUS_SERVER: http://nexus-server:port\n    ```\n- Note: By default Versioning requires authorization and therefore must have security services running (policy-decision-point).\n    - Add the following to the above docker-compose file:\n        ```\n        policy-decision-point:\n            image: ${CONTAINER_REGISTRY}boozallen/policy-decision-point-docker:latest\n            hostname: policy-decision-point\n            container_name: policy-decision-point\n            ports:\n              - \"8780:8080\"\n              - \"9700:9000\"\n        ```\n    - Add an `auth.properties` file to your docker image with the following content.\n        ```\n        pdp_host_url=http://policy-decision-point:8080/api/pdp\n        ```\n    - Then add the following environment variable that points to your properties file.  \n      `ENV KRAUSENING_BASE /path/to/auth.properties/file`\n    - To disable authorization you can add the following to the `auth.properties` file: `is_authorization_enabled = False`.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": null,
    "version": "1.9.2",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b46f68a5d595d9ac28b25bfe7983fd91c182196caf92659b326c5eff7ab646ee",
                "md5": "a75ee874101f4b89c49a252c62d6df34",
                "sha256": "c0029ab3c0b39810f2a920c93d7f78990c22af6d0291d557348f41612c73c9a4"
            },
            "downloads": -1,
            "filename": "aissemble_foundation_versioning_service-1.9.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a75ee874101f4b89c49a252c62d6df34",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.11.4",
            "size": 8814,
            "upload_time": "2024-09-26T20:46:59",
            "upload_time_iso_8601": "2024-09-26T20:46:59.681160Z",
            "url": "https://files.pythonhosted.org/packages/b4/6f/68a5d595d9ac28b25bfe7983fd91c182196caf92659b326c5eff7ab646ee/aissemble_foundation_versioning_service-1.9.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6304a84891547db660e1bf4a9354cb898d30ccaf9345b76f20b0f02a2cc8a538",
                "md5": "672b57f25b458f29a65ed4febc85baf4",
                "sha256": "192d3c29032fa5d02467b7f7e2602d07b3bf437e941042bc0cc8d4f9bf43e05c"
            },
            "downloads": -1,
            "filename": "aissemble_foundation_versioning_service-1.9.2.tar.gz",
            "has_sig": false,
            "md5_digest": "672b57f25b458f29a65ed4febc85baf4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.11.4",
            "size": 7420,
            "upload_time": "2024-09-26T20:47:00",
            "upload_time_iso_8601": "2024-09-26T20:47:00.940235Z",
            "url": "https://files.pythonhosted.org/packages/63/04/a84891547db660e1bf4a9354cb898d30ccaf9345b76f20b0f02a2cc8a538/aissemble_foundation_versioning_service-1.9.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-26 20:47:00",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "aissemble-foundation-versioning-service"
}
        
Elapsed time: 0.45613s