Skip to main content

A library for interfacing with the Curia API.

Project description

PyPI version

Python 3.8 Python 3.9 Python 3.10 Python 3.11

Quality Gate Status Bugs Coverage Maintainability Rating Reliability Rating Security Rating Vulnerabilities

Release

Curia Python SDK

Curia Python SDK is a Python library for interacting with the Curia Platform.

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 utilizing poetry:

git clone https://github.com/Curia-ai/curia-python-sdk.git
cd curia-python-sdk
poetry install
Supported Operating Systems

Curia Python SDK supports Unix/Linux and Mac.

Supported Python Versions

Curia Python SDK is tested on:

  • Python 3.8
  • Python 3.9
  • Python 3.10
  • Python 3.11
Curia Permissions

The Curia Python SDK requires a Curia API Token to access the Curia API. To access your API Token visit the instance of the curia platform you are utilizing and access the developer settings, e.g. in prod:

https://aledade.dev.curia.ai/settings/developer

Development

Installing dependencies

While the Curia Python SDK supports Python 3.8+, we develop using Python 3.9. One of the easiest ways to install Python 3.9 is with pyenv

pyenv install 3.9.7
pyenv local 3.9.7

Curia Python SDK uses Poetry for dependency management. We suggest installing poetry through pipx. You can install pipx with Homebrew: brew install pipx

Once pipx is installed, you can install poetry: pipx install poetry

Once poetry is installed, you can install the dependencies for the Curia Python SDK.

To install dependencies, run:

poetry install

To install dependencies for development, run:

poetry install --with=dev

Poe Commands

We utilize Poe, a poetry plugin, to handle common tasks. To see a list of commands, run:

poetry run poe --help
Running tests

To run tests, run:

poetry run poe test
Running linting

To run linting, run:

poetry run poe lint
Building the SDK

To build the SDK, run:

poetry run poe build
To clean build artifacts and test artifacts

To clean build artifacts and test artifacts, run:

poetry run poe clean
Building docs

Curia Python SDK has Sphinx docs. To build the docs, run:

poetry run poe build-docs

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

Manually using the Swagger Codegen

Portions of the Curia Python SDK are generated using the Swagger Codegen. To manually regenerate the SDK, you will need to install 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"

Once you have gnu-sed installed, you can run the following command to regenerate the SDK:

poetry run poe swagger-codegen-prod

to regenerate the SDK from the production environment, or

poetry run poe swagger-codegen-dev

to regenerate the SDK from the development environment.

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

To cut a new release based on the Dev API, run poetry run poe swagger-codegen-dev. In order to get some sed commands to work on Mac, you will need to install and use Gnu-Sed

First, update the version in src/curia/__init__.py Then build the source distribution: poetry run poe build Make sure you have twine installed: pip install twine. 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

curia-4.6.0b2.tar.gz (526.7 kB view details)

Uploaded Source

Built Distribution

curia-4.6.0b2-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

File details

Details for the file curia-4.6.0b2.tar.gz.

File metadata

  • Download URL: curia-4.6.0b2.tar.gz
  • Upload date:
  • Size: 526.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/42.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.5 tqdm/4.66.1 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.13

File hashes

Hashes for curia-4.6.0b2.tar.gz
Algorithm Hash digest
SHA256 9f11bdf0c20213a925f286055e3890e4d831d7b1b8b36529a9a090553821aac3
MD5 fd33920a96c0a0864403fbf66c538289
BLAKE2b-256 cc1d90d1e934dc43867c910a6160c8b80348ceff7e045090139e40563047e646

See more details on using hashes here.

File details

Details for the file curia-4.6.0b2-py3-none-any.whl.

File metadata

  • Download URL: curia-4.6.0b2-py3-none-any.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/42.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.5 tqdm/4.66.1 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.13

File hashes

Hashes for curia-4.6.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 0ed337bab03c2d3f3b478ee4d64469ab6113c05d450bd86b9c57282d83bc1932
MD5 aa42855c0b5c9f6a82bc6933b67c9101
BLAKE2b-256 ea082dd1b2035b1a7d1fd49c89c5a4bb77fa4fb500feb233c6a432170e155700

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