i-dot-ai-utilities


Namei-dot-ai-utilities JSON
Version 0.2.5 PyPI version JSON
download
home_pageNone
SummaryUtilities for i.ai to use
upload_time2025-08-07 14:30:49
maintainerNone
docs_urlNone
authorNone
requires_python<4.0,>=3.10
licenseMIT
keywords package python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # i.AI Utility Code

`i-dot-ai-utilities` is a python package used and developed by the i.AI team within DSIT.
It provides common features used in many of our applications.

## Features

### Current features:

#### Structured Logging

The structured logging library is used to generate logs in a known format so they can be further processed into logging systems downstream. It also provides the ability to easily enrich log messages with useful data, and in some cases does this automatically.

You can find information on usage of the logging library in the [logging library readme](./src/i_dot_ai_utilities/logging/README.md).

#### Metrics Collection

The metrics collection library provides the ability to write time-series metrics out to useful destinations. In the case of i.AI, this is CloudWatch Metrics.

There's also a handy interface provided which can be used in your code to allow for modularity if the swapping out of implementations is desired.

You can find information on usage of the metrics collection library in the [metrics library readme](./src/i_dot_ai_utilities/metrics/README.md).

### Future features:

- keycloak authentication
- s3
- langfuse and litellm
- logging/observability
- opensearch

## Settings

This is where some of the above can be found:


## How to use

### Unit Testing

All modules contained within this repo include robust test suites. You can run tests for all modules in this package using `make test`.

Tests and linting runs on every push and merge to main.

When making changes or adding tests, please ensure tests run in isolation, as failures of external dependencies will impact the CI tests for all packages. Please also make sure that tests pass before merging, as failing tests will impact every package in the application.

### CI/CD & Releases

Releases must be manually created, after which the specified package version will be released to PyPI. As such, release names must adhere to semantic versioning. They must *not* be prefixed with a `v`.

You may release a pre-release tag to the test version of PyPI by specifying the release as a pre-release on creation. This allows for the testing of a tag in a safe environment before merging to main.

To test a pre-release tag, you can follow these steps in a repo of your choice:
1. Update pyproject.toml:
```
[[tool.poetry.source]]
name = "test-pypi"
url = "https://test.pypi.org/simple/"
priority = "supplemental"
```
2. Load the specific version into the environment (replacing version number as required)
```
poetry add --source test-pypi i-dot-ai-utilities==0.1.1rc202506301522
```



## Licence

MIT

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "i-dot-ai-utilities",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "package, python",
    "author": null,
    "author_email": "i-dot-ai-packages <packages@cabinetoffice.gov.uk>",
    "download_url": "https://files.pythonhosted.org/packages/a5/24/b7db8f4df39593ac81cc1c15a30a037251337b3e241905acccde70785640/i_dot_ai_utilities-0.2.5.tar.gz",
    "platform": null,
    "description": "# i.AI Utility Code\n\n`i-dot-ai-utilities` is a python package used and developed by the i.AI team within DSIT.\nIt provides common features used in many of our applications.\n\n## Features\n\n### Current features:\n\n#### Structured Logging\n\nThe structured logging library is used to generate logs in a known format so they can be further processed into logging systems downstream. It also provides the ability to easily enrich log messages with useful data, and in some cases does this automatically.\n\nYou can find information on usage of the logging library in the [logging library readme](./src/i_dot_ai_utilities/logging/README.md).\n\n#### Metrics Collection\n\nThe metrics collection library provides the ability to write time-series metrics out to useful destinations. In the case of i.AI, this is CloudWatch Metrics.\n\nThere's also a handy interface provided which can be used in your code to allow for modularity if the swapping out of implementations is desired.\n\nYou can find information on usage of the metrics collection library in the [metrics library readme](./src/i_dot_ai_utilities/metrics/README.md).\n\n### Future features:\n\n- keycloak authentication\n- s3\n- langfuse and litellm\n- logging/observability\n- opensearch\n\n## Settings\n\nThis is where some of the above can be found:\n\n\n## How to use\n\n### Unit Testing\n\nAll modules contained within this repo include robust test suites. You can run tests for all modules in this package using `make test`.\n\nTests and linting runs on every push and merge to main.\n\nWhen making changes or adding tests, please ensure tests run in isolation, as failures of external dependencies will impact the CI tests for all packages. Please also make sure that tests pass before merging, as failing tests will impact every package in the application.\n\n### CI/CD & Releases\n\nReleases must be manually created, after which the specified package version will be released to PyPI. As such, release names must adhere to semantic versioning. They must *not* be prefixed with a `v`.\n\nYou may release a pre-release tag to the test version of PyPI by specifying the release as a pre-release on creation. This allows for the testing of a tag in a safe environment before merging to main.\n\nTo test a pre-release tag, you can follow these steps in a repo of your choice:\n1. Update pyproject.toml:\n```\n[[tool.poetry.source]]\nname = \"test-pypi\"\nurl = \"https://test.pypi.org/simple/\"\npriority = \"supplemental\"\n```\n2. Load the specific version into the environment (replacing version number as required)\n```\npoetry add --source test-pypi i-dot-ai-utilities==0.1.1rc202506301522\n```\n\n\n\n## Licence\n\nMIT\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Utilities for i.ai to use",
    "version": "0.2.5",
    "project_urls": {
        "Homepage": "https://github.com/i-dot-ai/i-dot-ai-utilities"
    },
    "split_keywords": [
        "package",
        " python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3dac9e9f3e7162dcf56b1f95b8dc822ca191ae03aeee7f52ebe466ac98b4d999",
                "md5": "ebeeb241118f4e0b487ebe5ea7667396",
                "sha256": "5fc4e288199219965ba09765eb490d7d99a6b986cb149d5e3a9aa08eda9d611c"
            },
            "downloads": -1,
            "filename": "i_dot_ai_utilities-0.2.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ebeeb241118f4e0b487ebe5ea7667396",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 29974,
            "upload_time": "2025-08-07T14:30:48",
            "upload_time_iso_8601": "2025-08-07T14:30:48.111393Z",
            "url": "https://files.pythonhosted.org/packages/3d/ac/9e9f3e7162dcf56b1f95b8dc822ca191ae03aeee7f52ebe466ac98b4d999/i_dot_ai_utilities-0.2.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a524b7db8f4df39593ac81cc1c15a30a037251337b3e241905acccde70785640",
                "md5": "0cc62b68e14566df26f3b328ce5cc487",
                "sha256": "a3236964d28984586d7612345e6d9deacc3f40247619ed0082ee3143a6a2826d"
            },
            "downloads": -1,
            "filename": "i_dot_ai_utilities-0.2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "0cc62b68e14566df26f3b328ce5cc487",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 75790,
            "upload_time": "2025-08-07T14:30:49",
            "upload_time_iso_8601": "2025-08-07T14:30:49.708398Z",
            "url": "https://files.pythonhosted.org/packages/a5/24/b7db8f4df39593ac81cc1c15a30a037251337b3e241905acccde70785640/i_dot_ai_utilities-0.2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-07 14:30:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "i-dot-ai",
    "github_project": "i-dot-ai-utilities",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "i-dot-ai-utilities"
}
        
Elapsed time: 2.01818s