primitive
Table of Contents
Installation
pip install primitive
Configuration
Authenticate
primitive config
Register your Hardware
primitive hardware register
License
primitive is distributed under the terms of the MIT license.
Development Setup
For Primitive engineers, you may have these steps completed.
Python Setup
# install required libs for macos
xcode-select --install
# install brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# install fish
brew install fish
echo /usr/local/bin/fish | sudo tee -a /etc/shells
chsh -s /usr/local/bin/fish
# install fisher
brew install fisher
fisher install jorgebucaran/nvm.fish
# install git
brew install git
# set global info
git config --global user.email "<user@email.com>"
git config --global user.name “<firstName lastName>”
# install make
brew install make
fish_add_path /opt/homebrew/opt/make/libexec/gnubin
# install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python install
fish_add_path "$(uv python dir)/bin"
Repository Setup
Clone and run setup.
cd ~/Development/primitivecorp/
git clone git@github.com:primitivecorp/platform.git
cd platform/cli
make install
With the kind cluster running (make up from the repo root), configure the CLI for local use.
# bash or zsh
source .venv/bin/activate
# fish
source .venv/bin/activate.fish
primitive --host localhost:8000 config --transport http
You can find or create a Primitive API token at http://localhost:3000/account/tokens
Please enter your Primitive API token: # create a token and copy the value here
Config created at '/Users/<user>/.config/primitive/credentials.json' on host 'localhost:8000'
# verify the configuration worked via
primitive --host localhost:8000 whoami
Logged in as <username>
Release Process
Version is defined in src/primitive/__about__.py. Bump it, merge to main, and CI handles the rest.
# From the cli/ directory:
make release # patch bump (0.2.x → 0.2.x+1)
make release BUMP=minor # minor bump (0.x.y → 0.x+1.0)
make release BUMP=major # major bump (x.y.z → x+1.0.0)
# Or from the monorepo root:
make cli-release # patch bump
make cli-release BUMP=minor # minor bump
make cli-release BUMP=major # major bump
After merging to main, the CLI: Publish workflow automatically:
- Detects the version change in
src/primitive/__about__.py - Creates a git tag (
v0.2.x) - Creates a GitHub Release with auto-generated notes
- Builds and publishes to PyPI via trusted publishing (OIDC)
Release files for primitive 0.4.41
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| primitive-0.4.41.tar.gz | 454.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| primitive-0.4.41-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 727.3 kB
Release files / primitive-0.4.41.tar.gz
| Download URL | primitive-0.4.41.tar.gz |
|---|---|
| Size | 454.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b9fb529ae88453004a2c945f328ef97b75433a0111ea9b955e9d3f0abe4b5cf5
|
|
BLAKE2b-256 checksum How to use checksums |
49bff68f68c4c18ea07b250761d2f98070258dbdabc86ab89c5f44da61cb59c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.
Transparency logRelease files / primitive-0.4.41-py3-none-any.whl
| Download URL | primitive-0.4.41-py3-none-any.whl |
|---|---|
| Size | 272.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8f42ecdbcb140958021070adc25aa1f29bb23524fed74eba7cb607170b70d34c
|
|
BLAKE2b-256 checksum How to use checksums |
3c6c682e7f2b4b6f3578690f041aa7c430c232de28d4502f2952414afc102d2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.
Transparency log