A library for training and using risk & impactability models on Curia
Project description
Curia Python SDK
Curia Python SDK is a library for training and using risk and impactability models on Curia.
For detailed documentation, including the API reference, see our docs at https://Curia-ai.github.io/curia-python-sdk/.
Installing the Curia Python SDK
The Curia Python SDK is built to PyPi and can be installed with pip
as follows:
pip install curia
You can install from source by cloning this repository and running a pip install command in the root directory of the repository:
git clone https://github.com/Curia-ai/curia-python-sdk.git
cd curia-python-sdk
pip install .
Supported Operating Systems
Curia Python SDK supports Unix/Linux and Mac.
Supported Python Versions
Curia Python SDK is tested on:
- Python 3.8
Curia Permissions
Curia Python SDK will utilize the Curia Platform when training models and generating predictions. You will need access to the platform with appropriate permissions to fully utilize the SDK.
Running tests
Curia Python SDK has unit tests. To run the tests:
python setup.py pytest
Building Sphinx docs
Curia Python SDK has Sphinx docs. To build the docs, run:
cd doc
make html
To preview the site with a Python web server:
cd docs/_build/html
python -m http.server 8000
View the docs by visiting http://localhost:8080
Curia API Token
To use the Curia Python SDK you will need a Curia API Token. To access your API Token visit https://app.curia.ai/settings.
Use gnu-sed
Visit https://medium.com/@bramblexu/install-gnu-sed-on-mac-os-and-set-it-as-default-7c17ef1b8f64 to see how to install gnu-sed for consistency in fixing swagger imports
export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
Using the Curia Python SDK
from curia.session import Session
from curia.risk import RiskModel
from curia.synthetic_data import generate_data
# Create synthetic data (demo/testing purposes only)
(X_train, X_test, _, _, y_train, y_test, _, _, _, _) = generate_data(binary_outcome=True)
# Create a session
curia_session = Session(api_token="YOUR_API_TOKEN")
# Instantiate a model
model = RiskModel(
session=curia_session,
name="your-model-name",
project_id="YOUR_PROJECT_ID",
environment_id="YOUR ENVIRONMENT_ID"
)
# Train a model on the Curia Platform
model.train(features=X_train, label=y_train)
# Get predictions from your model on the Curia Platform
predictions = model.predict(features=X_test)
Cut your own release (not recommended)
Sometimes we may have updates that are currently in the development environment, but not accessible in production yet. When this happens, the SDK will not reflect the latest changes in develop. To be able to use new features of the API, you can cut a new release of the SDK and use the latest version.
BE CAREFUL - MAKE SURE YOU KNOW WHY YOU ARE DOING THIS
If you want to use Swagger Codegen locally on a mac you can install with Homebrew This should update the api based on the latest open api spec.
brew install swagger-codegen
And run like
swagger-codegen generate -i https://api.curia.ai/-json -l python -o src/curia/api
You will still need to run the sed commands in the make file to make sure the imports are correct.
To cut a new release based on the Dev API, run make build-api-dev
. In order
to get some sed commands to work on Mac, you may need to install and use
Gnu-Sed
First, update the version in src/curia/__init__.py
Then build the source distribution: python setup.py sdist bdist_wheel
Finally, upload the new distribution to pypi: python -m twine upload dist/*
You will be prompted for a username and password.
- Your username is
__token__
- Your password is stored in 1Password in the Curia vault in the
PyPi Curia Project
secure document
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 curia-3.2.1.tar.gz
.
File metadata
- Download URL: curia-3.2.1.tar.gz
- Upload date:
- Size: 403.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.28.2 requests-toolbelt/0.10.1 urllib3/1.26.15 tqdm/4.65.0 importlib-metadata/6.1.0 keyring/23.13.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa3cbd10ce5bbb995f0cb07233e35d9d113a3d9d30ba63832be880906eb969a2 |
|
MD5 | cff4a921144fca70b505a96100d4bfff |
|
BLAKE2b-256 | 32c91997301b7b08dc53edb6f52659f81a960b84ae5f4ef8711af2efa85ff75e |
File details
Details for the file curia-3.2.1-py2.py3-none-any.whl
.
File metadata
- Download URL: curia-3.2.1-py2.py3-none-any.whl
- Upload date:
- Size: 1.3 MB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/37.3 requests/2.28.2 requests-toolbelt/0.10.1 urllib3/1.26.15 tqdm/4.65.0 importlib-metadata/6.1.0 keyring/23.13.1 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a4c7da86f02f8b5fa459392518cff77298c888bb7130621d409105ed24c7a01 |
|
MD5 | 5648306e54e5103511fc667292874b2a |
|
BLAKE2b-256 | 05ce8b407a845f1a0630406ff561315a888cae2d731727908e121fb7f22bd7c2 |