Skip to main content

Programmatic Building of Cortex Resources

The Cortex Python Builders module provides tools to programmatically build Cortex resources (e.g. Skill, Actions, Datasets, etc.) using Python. Refer to the Cortex documentation for details on how to use the library:

Installation

To install:

  > pip install cortex-python-builders

or from source code:

  > git clone git@github.com:CognitiveScale/cortex-python-builders.git
  > cd cortex-python-builders
  > pip install -e .

Development

Setup

When developing, it's a best practice to work in a virtual environment. Create and activate a virtual environment:

  > virtualenv --python=python3.6 _venv
  > source _venv/bin/activate

Install developer dependencies:

  > git clone git@github.com:CognitiveScale/cortex-python-builders.git
  > cd cortex-python-builders
  > make dev.install

There's a convenience Makefile that has commands to common tasks, such as build, test, etc. Use it!

Testing

Unit Tests

Follow above setup instructions (making sure to be in the virtual environment and having the necessary dependencies)

  • make test to run test suite

To run an individual file or class method, use pytest. Example tests shown below:

  • file: pytest test/unit/ames_test.py
  • class method: pytest test/unit/ames_test.py::TestLocal::test_analysis

Publishing an alpha build

Suppose you want to release new functionality so it can be installed without releasing a new official version. We need to use an alpha version in PyPi.

  • we need to create and publish an alpha release:
  • get credentials to the cortex-python-builders pypi CognitiveScale account (via lastpass)
  • run make dev.push. The alpha pre-release number (the N in X.Y.ZaN) with be determined automatically.

Contribution

After contributing to the library, and before you submit changes as a PR, please do the following

  1. Run unit tests via make test
  2. Manual verification (i.e. try the new changes out in Cortex) to make sure everything is going well. Not required, but highly encouraged.
  3. Bump up setup.py version and update the CHANGELOG.md

Documentation

Activate your virtual environment:

> source _venv/bin/activate

Setup your environment, if you have not done so:

> make dev.install 

The package documentation is built with Sphinx and generates versioned documentation for all tag matching the release/X.Y.Z pattern and for the master branch. To build the documentation:

> make docs.multi

The documentation will be rendered in HTML format under the docs/_build/${VERSION} directory.

Pre-release to staging

  1. Create and push an alpha release:
    > make dev.push TAG=1
    
    This will build an alpha-tagged package.
  2. Merge develop to staging branch:
    > make stage
    
  3. In GitHub, create a pull request from staging to master.

Metadata

Release files for cortex-python-builders 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cortex-python-builders 1.2.1
File Size Uploaded Provenance Actions
cortex-python-builders-1.2.1.tar.gz 29.9 kB Without provenance Details for cortex-python-builders-1.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cortex-python-builders 1.2.1
File Interpreter ABI Platform Actions
cortex_python_builders-1.2.1-py3-none-any.whl Python 3 none any Details for cortex_python_builders-1.2.1-py3-none-any.whl

Total release size: 76.5 kB

Release files / cortex-python-builders-1.2.1.tar.gz

Download URL cortex-python-builders-1.2.1.tar.gz
Size 29.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9fa7b665112c06b4b6a9cd7f3e6822f3b21f0460dd448279c89c18765076b7b0
BLAKE2b-256 checksum
How to use checksums
02cb09c99ad47d6b318b79f5bcc4f060e25366bb1e90c5e968e42fe828f56b64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/20.8.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/2.7.14

Release files / cortex_python_builders-1.2.1-py3-none-any.whl

Download URL cortex_python_builders-1.2.1-py3-none-any.whl
Size 46.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6ecfa09fdea2f0996b87dc88d34a411f1b2e169cd6ae2bf30909d363124f4693
BLAKE2b-256 checksum
How to use checksums
53452cdb4f339636a869007a0659a9bcee8f83cf36ded85104e855a3cb221fc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/20.8.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/2.7.14

Security for cortex-python-builders 1.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page