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:
- Developer guide: https://docs.cortex.insights.ai/docs/developer-guide/overview/
- Cortex Python references: https://docs.cortex.insights.ai/docs/developer-guide/reference-guides
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 testto 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-builderspypi 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
- Run unit tests via
make test - Manual verification (i.e. try the new changes out in Cortex) to make sure everything is going well. Not required, but highly encouraged.
- Bump up
setup.pyversion and update theCHANGELOG.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
- Create and push an alpha release:
This will build an alpha-tagged package.> make dev.push TAG=1 - Merge
developtostagingbranch:> make stage - In GitHub, create a pull request from
stagingtomaster.
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.