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:
- ML model serialization/deserialization
- ML model evaluation utilities
- Data structures/models related to chatbots
- ML model artifact persistence and version management
- 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.
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.
- Install the Poetry package manager for Python if you do not already have it. Installation instructions can be found here.
- Clone the project.
- From the root directory of the repo, install the dependencies, including all dev
dependencies and extras:
poetry install --extras "aws ml"
- Install the pre-commit hooks, so they will run before each local commit. This
includes linting, auto-formatting, and import sorting:
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 runningpre-commit install
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:
- Use Poetry's
version
command to bump the package's version. - Commit and tag the repo with the exact same version the package was bumped to,
e.g.
v1.0.0
(include a precedingv
). - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file lifeomic-chatbot-tools-5.0.0.tar.gz
.
File metadata
- Download URL: lifeomic-chatbot-tools-5.0.0.tar.gz
- Upload date:
- Size: 30.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.8.13 Linux/5.13.0-1023-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 070f7f6177e24ebcecdb7dd6382217c48789c93bd61910e6ceafcbf1749c15e9 |
|
MD5 | 7fc66ae4ce4cc1bc3afa0a04ae1ba37e |
|
BLAKE2b-256 | 8b46a49915d4cd83219794eac9e53138aa0eafa8d2b988ac58aaf8e76abc122b |
File details
Details for the file lifeomic_chatbot_tools-5.0.0-py3-none-any.whl
.
File metadata
- Download URL: lifeomic_chatbot_tools-5.0.0-py3-none-any.whl
- Upload date:
- Size: 38.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.8.13 Linux/5.13.0-1023-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4294f398360e08ac86fc51875b5562304060a60ecd3046d0163d1a97319ecbb |
|
MD5 | 78ce749028279cdcd3b3bcc06307f824 |
|
BLAKE2b-256 | d558bb2ce72c2081448c66db8e448b64280642a7bfe603585ff899db15dafa4a |