Skip to main content

No project description provided

Project description

primitive

PyPI - Version PyPI - Python Version


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 setup

With the backend and frontend development environments running, 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:

  1. Detects the version change in src/primitive/__about__.py
  2. Creates a git tag (v0.2.x)
  3. Creates a GitHub Release with auto-generated notes
  4. Builds and publishes to PyPI via trusted publishing (OIDC)

Project details


Release history Release notifications | RSS feed

This version

0.4.3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

primitive-0.4.3.tar.gz (200.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

primitive-0.4.3-py3-none-any.whl (132.1 kB view details)

Uploaded Python 3

File details

Details for the file primitive-0.4.3.tar.gz.

File metadata

  • Download URL: primitive-0.4.3.tar.gz
  • Upload date:
  • Size: 200.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for primitive-0.4.3.tar.gz
Algorithm Hash digest
SHA256 5792ccd66bbc78e765db09af86a1d5b7f07d1dbf2c80a4f4d064e77a2215496f
MD5 33c2187a6fe7e4baa9d0119567f603cb
BLAKE2b-256 863b58ad27e973704309c588d76ecccc2d90ba4602d4c73028e2979dcecf58de

See more details on using hashes here.

Provenance

The following attestation bundles were made for primitive-0.4.3.tar.gz:

Publisher: cli-publish.yml on primitivecorp/platform

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file primitive-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: primitive-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 132.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for primitive-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e92a01dffef664ba2f42a478ade06fed59a4ea30bcd060920ffc97db85dcfc7f
MD5 f52ca3bff23dec5ab57f4c28292e8816
BLAKE2b-256 7bf3429b2dbfafbf2b2d04469ebf9cbf04dadd45b167a50006fec1fa089bbe39

See more details on using hashes here.

Provenance

The following attestation bundles were made for primitive-0.4.3-py3-none-any.whl:

Publisher: cli-publish.yml on primitivecorp/platform

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page