CLI tooling for Rare agent identity flows
Project description
rare-agent-sdk
CLI tooling for the Rare agent identity lifecycle.
What It Is
rare-agent-sdk keeps its historical package name for now, but the supported public surface is CLI-only. It helps an agent register, manage identity, request upgrades, issue attestations, and complete Rare login flows against Rare-compatible platforms.
Who It Is For
- Agent operators and tool builders that want a packaged CLI
- Teams choosing between Rare hosted signing and self-hosted keys
- Operators testing end-to-end login and attestation flows locally
Why It Exists
Rare login is not just a single token exchange. Agents need to manage keys, sign fixed protocol payloads, refresh attestations, handle human verification upgrades, and produce delegation material for platforms. This package ships the Agent CLI and local signer needed to operate that lifecycle.
How It Fits Into Rare
rare-identity-protocoldefines the public protocol rulesrare-agent-sdkprovides the Agent CLI and local signer toolingRare Platform Kitis the platform-side toolkit that verifies what this CLI produces
Quick Start
pip install rare-agent-sdk
Use the hosted Rare API:
rare register --name alice --rare-url https://api.rareid.cc
rare refresh-attestation --rare-url https://api.rareid.cc
rare show-state --rare-url https://api.rareid.cc
Production Notes
agent_idis the Ed25519 public key and remains the primary identity key.- Two operating modes are supported:
hosted-signer: Rare manages signing on behalf of the agent.self-hosted: the agent keeps its own private key.
- Self-hosted keys are stored separately from the JSON state file under
~/.config/rare/keys/with0600permissions. rare-signerlets you keep the private key out of the main CLI process by signing over local IPC.- Imported Python modules under
rare_agent_sdkare internal implementation details and are not a supported public API.
Common CLI Flows
# start a local signer for self-hosted mode
rare-signer
# register and manage identity
rare register --name alice
rare register --name alice --key-mode self-hosted
rare set-name --name alice-v2
rare refresh-attestation
# request human verification upgrades
rare request-upgrade --level L1 --email alice@example.com
rare send-l1-link --request-id <request_id>
rare upgrade-status --request-id <request_id>
rare request-upgrade --level L2
rare start-social --request-id <request_id> --provider linkedin
# produce login material for a third-party platform
rare issue-full-attestation --aud platform
rare login --aud platform --platform-url http://127.0.0.1:8000/platform
rare login --aud platform --public-only
# recovery and inspection
rare recovery-factors
rare recover-hosted-token-email
rare recover-hosted-token-email-verify --token <token>
rare recover-hosted-token-social-start --provider x
rare show-state --paths
Development
pip install -r requirements-test.lock
pip install -e .[test] --no-deps
pytest -q
python -m build
Related Repositories
- Main Rare repository:
https://github.com/Rare-ID/Rare
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rare_agent_sdk-0.2.3.tar.gz.
File metadata
- Download URL: rare_agent_sdk-0.2.3.tar.gz
- Upload date:
- Size: 26.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddc9249eba7d40ba06cead432ec611005395ead3cb990f6f02bbf0aa206da647
|
|
| MD5 |
dc4110aa3121f93298cf57c30a2eb503
|
|
| BLAKE2b-256 |
aed14d63c71aea19c607fd8cc04744030a2080677d39576cb1975bcce73fd214
|
Provenance
The following attestation bundles were made for rare_agent_sdk-0.2.3.tar.gz:
Publisher:
publish-python-packages.yml on Rare-ID/Rare
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rare_agent_sdk-0.2.3.tar.gz -
Subject digest:
ddc9249eba7d40ba06cead432ec611005395ead3cb990f6f02bbf0aa206da647 - Sigstore transparency entry: 1255055762
- Sigstore integration time:
-
Permalink:
Rare-ID/Rare@12f8ebfd9dff60f9e4591667d1442dd6373545e5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Rare-ID
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python-packages.yml@12f8ebfd9dff60f9e4591667d1442dd6373545e5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rare_agent_sdk-0.2.3-py3-none-any.whl.
File metadata
- Download URL: rare_agent_sdk-0.2.3-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9571c5c4807a415a12d778b598e81bc4af2d877ba48a33e9aeff64efcdb1e188
|
|
| MD5 |
f81d06a514dc288e0f485d5b8a5134ce
|
|
| BLAKE2b-256 |
61fcc31f34a5509ce172807122b92822510143c8461f4c41ea52eeaaacb02401
|
Provenance
The following attestation bundles were made for rare_agent_sdk-0.2.3-py3-none-any.whl:
Publisher:
publish-python-packages.yml on Rare-ID/Rare
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rare_agent_sdk-0.2.3-py3-none-any.whl -
Subject digest:
9571c5c4807a415a12d778b598e81bc4af2d877ba48a33e9aeff64efcdb1e188 - Sigstore transparency entry: 1255055966
- Sigstore integration time:
-
Permalink:
Rare-ID/Rare@12f8ebfd9dff60f9e4591667d1442dd6373545e5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Rare-ID
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python-packages.yml@12f8ebfd9dff60f9e4591667d1442dd6373545e5 -
Trigger Event:
push
-
Statement type: