Skip to main content

Utilities for machine learning, web services, and cloud infrastructure.

Project description

lifeomic-chatbot-tools

Python utilities for machine learning, web services, and cloud infrastructure. Includes classes and methods for:

  1. ML model serialization/deserialization
  2. ML model evaluation utilities
  3. Data structures/models related to chatbots
  4. ML model artifact persistence and version management
  5. And more

The data structures in this package can all be found in the lifeomic_chatbot_tools.types sub-package, and are all Pydantic data models. For example the lifeomic_chatbot_tools.types.agent.AgentConfig class represents a chatbot's configuration and training data.

API docs for this package can be found TODO.

Getting Started

To begin using the package, use your favorite package manager to install it from PyPi. For example, using pip:

pip install lifeomic-chatbot-tools

Some of the features in this repo require more heavy weight dependencies, like AWS related utilities, or utilities specific to machine learning. If you try to import those features, they will tell you if you do not have the correct package extra installed. For example, many of the features in the lifeomic_chatbot_tools.ml sub-package require the ml extra. To install lifeomic-chatbot-tools with that extra:

pip install lifeomic-chatbot-tools[ml]

You can then begin using any package features that require ML dependencies.

Developing Locally

Before making any new commits or pull requests, please complete these steps.

  1. Install the Poetry package manager for Python if you do not already have it. Installation instructions can be found here.
  2. Clone the project.
  3. From the root directory of the repo, install the dependencies, including all dev dependencies and extras:
    poetry install --extras "aws ml"
    
  4. Install the pre-commit hooks, so they will run before each local commit. This includes linting, auto-formatting, and import sorting:
    pre-commit install
    
    Note: pre-commit is a dev dependency of the project, and is managed by Poetry. In order to use those dependencies from the terminal, you must be in a Poetry shell. This can be accomplished by first running poetry shell in your terminal.

Testing Locally

With Yarn, Docker, and docker-compose installed, run this command from the project root:

yarn ci-test

This will build the project, lint it, and run the unit tests and integration tests. All those steps can be run individually as well. See the scripts in the package.json file for the command names.

Releasing The Package

Releasing the package is automatically handled by CI, but three steps must be taken to trigger a successful release:

  1. Use Poetry's version command to bump the package's version.
  2. Commit and tag the repo with the exact same version the package was bumped to, e.g. v1.0.0 (include a preceding v).
  3. Push the commit and tag to remote. These can be done together using: git push --atomic origin <branch_name> <tag>

CI will then build release the package to pypi with that version once the commit and tag are merged to the master branch.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lifeomic-chatbot-tools-2.2.0.tar.gz (27.6 kB view details)

Uploaded Source

Built Distribution

lifeomic_chatbot_tools-2.2.0-py3-none-any.whl (34.7 kB view details)

Uploaded Python 3

File details

Details for the file lifeomic-chatbot-tools-2.2.0.tar.gz.

File metadata

  • Download URL: lifeomic-chatbot-tools-2.2.0.tar.gz
  • Upload date:
  • Size: 27.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.7.12 Linux/5.11.0-1028-azure

File hashes

Hashes for lifeomic-chatbot-tools-2.2.0.tar.gz
Algorithm Hash digest
SHA256 2c4b6d1ff75f7411967497c6fd92b419dc6eb03f133e50c8568327633cccaec9
MD5 8b96164678afe7a925a9f503ca814ff5
BLAKE2b-256 c6bea767c0510c956c4709c9b6b18b3729b9ef1b663b314e6cc82a17a5fc6f8f

See more details on using hashes here.

File details

Details for the file lifeomic_chatbot_tools-2.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for lifeomic_chatbot_tools-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4d643ec1303c1a96bc35c3fc1f27298e9dba4866614163a7afde2afc8fa577ec
MD5 7cf1d590c68877801ed72b39fe5bb1ea
BLAKE2b-256 234b6e7d95ce7f1f41b46a28797409cb376796a8e0ad1c57539cff8d43934663

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page