Skip to main content

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

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):

  1. Sign in to PyPI with the team-owned account (2FA enabled).
  2. Go to Account settings → API tokens → Add API token. Scope it to the charisma-cli project once the project exists; for the very first publish use an account-scoped token, then re-scope it to the project afterward.
  3. Copy the token (starts with pypi-).
  4. In the GitHub Enterprise repo, add it as an Actions secret named PYPI_API_TOKEN (org-level secret recommended so both packages share it).
  5. Bump version in pyproject.toml and 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

Launch URL in CI

charismactl prints the Charisma launch URL (Charisma launch: <url>) and, when running in GitHub Actions, writes it as a step output named launch_url. Attach it to the job summary or a Teams message:

- name: Run tests and stream to Charisma
  id: charisma
  run: charismactl watch --project my-project -- pytest tests/

- name: Add Charisma link to summary
  if: always()
  run: echo "[View Charisma launch](${{ steps.charisma.outputs.launch_url }})" >> "$GITHUB_STEP_SUMMARY"

# The same value can feed a Teams-notification step:
#   text: "Results: ${{ steps.charisma.outputs.launch_url }}"

Release files for charisma-cli 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for charisma-cli 0.1.5
File Size Uploaded
charisma_cli-0.1.5.tar.gz 34.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for charisma-cli 0.1.5
File Interpreter ABI Platform
charisma_cli-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 56.0 kB

Release files / charisma_cli-0.1.5.tar.gz

Download URL charisma_cli-0.1.5.tar.gz
Size 34.9 kB
Tags Source
SHA-256 checksum
How to use checksums
816d2c7a2201340696a43ffb05ee2207b36441a7f14d70c14388a6fa57ebfe09
BLAKE2b-256 checksum
How to use checksums
198c97b34f5dc9111b7bbeea9d263aa5bffaee0da888f095d8412f3deee57058
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / charisma_cli-0.1.5-py3-none-any.whl

Download URL charisma_cli-0.1.5-py3-none-any.whl
Size 21.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
75e7b70b4b8a6c9a15a2b497a2659f09d172a3c2b7a7bd8cf59587e57eec74b4
BLAKE2b-256 checksum
How to use checksums
f9e6c8435e72bb8a84bb858d7bd83c4eba487529f309a1052c6ba61c132d99fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.6

2 release files

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page