charisma-cli
CLI tool that watches an allure-results directory during test execution and streams results + attachments to the Charisma ingestion API in real time.
Installation
pip install charisma-cli
No token, no index URL — works on any laptop and in any CI. The package is published to public PyPI; the Charisma repo itself stays private (only this client wheel is public).
For local development from a checkout of the repo:
pip install -e packages/charisma-cli
Alternative: install from the GitHub Packages registry (PyOCI)
Also published to GitHub Packages via PyOCI (requires a GitHub token with read:packages) — useful for a build not yet on PyPI:
pip install charisma-cli \
--index-url "https://__token__:$GITHUB_TOKEN@pyoci.com/ghcr.io/align-QCOE/"
Publishing (maintainers)
Releases publish to public PyPI automatically from the merge-queue workflow using a PyPI API token.
Trusted publishing (OIDC) is not used because this repo runs on GitHub Enterprise Server, whose OIDC issuer PyPI does not trust. A stored API token is required instead.
One-time setup (done once by a PyPI project owner):
- Sign in to PyPI with the team-owned account (2FA enabled).
- Go to Account settings → API tokens → Add API token. Scope it to the
charisma-cliproject once the project exists; for the very first publish use an account-scoped token, then re-scope it to the project afterward. - Copy the token (starts with
pypi-). - In the GitHub Enterprise repo, add it as an Actions secret named
PYPI_API_TOKEN(org-level secret recommended so both packages share it). - Bump
versioninpyproject.tomland merge — the workflow builds and publishes on the next release.
Rotate the token periodically and store it in the team secret manager.
Usage
export CHARISMA_ENDPOINT=https://charisma.company.com
export CHARISMA_TOKEN=<your-service-token>
export CHARISMA_PROJECT_ID=my-project
charismactl watch --results allure-results -- uv run pytest -n 4 tests/
Environment Variables
| Variable | Required | Description |
|---|---|---|
CHARISMA_ENDPOINT |
Yes | Base URL of the Charisma API |
CHARISMA_TOKEN |
Yes | Service or CI bearer token |
CHARISMA_PROJECT_ID |
Yes | Project alias for result routing |
CHARISMA_RESULTS |
No | Path to allure-results (default: allure-results) |
Flags
| Flag | Description |
|---|---|
--results PATH |
Allure results directory (overrides env var) |
--project ID |
Project alias (overrides env var) |
--silent |
Don't fail pipeline if upload errors occur |
--skip-too-big |
Skip result files larger than 2MB |
Release files for charisma-cli 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| charisma_cli-0.1.2.tar.gz | 29.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| charisma_cli-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.7 kB
Release files / charisma_cli-0.1.2.tar.gz
| Download URL | charisma_cli-0.1.2.tar.gz |
|---|---|
| Size | 29.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa1288f3f03ac2ac0ac4a6bf153ca938e56857307333df830ec7cd6a4c68e209
|
|
BLAKE2b-256 checksum How to use checksums |
5ec5f4cbbf775460a367baafda94111503d7e36995f6cc6060615a91069a970d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.0
|
Release files / charisma_cli-0.1.2-py3-none-any.whl
| Download URL | charisma_cli-0.1.2-py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b12604925e15f5cc4769049d91a40201df7e5759539238e9309d6bd54457a3fb
|
|
BLAKE2b-256 checksum How to use checksums |
1ebbd0b538c9faee22031abcd40df9ef8881e079a4a064e11d66bf13c3fb41b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.0
|