Skip to main content

Plot timeline/Gantt-style ranges from CSV files in the terminal

Project description

cplt

PyPI License: MIT CI

Plot CSV files directly in your terminal. Zero GUI. Zero notebooks. Just your CLI.

Why cplt

Most terminal plotting tools handle bars and lines, but not timeline ranges from CSV start/end columns. cplt focuses on that workflow while still covering the common chart types:

  • timeline for Gantt-style range plots
  • bar for value-count distribution
  • line for numeric trends over time or sequence
  • hist for numeric column histograms
  • bubble for presence/absence matrices
  • summarise for fast column profiling

Get Started In 30 Seconds

pip install cplt
cplt timeline -f data/projects.csv --x planned_start --x planned_end --y project

Install

pip install cplt
# or
pipx install cplt

Standalone binaries are available from the latest GitHub release.

Enable shell completion after install:

cplt --install-completion

What It Looks Like

Tab Completion

Deep completion for --where filters: discover available columns, then see matching values.

Tab completion options

Summarise

Quick column profiling — types, nulls, uniques, and smart distribution views at a glance. Low-cardinality columns get percentage breakdowns, numerics get sparkline histograms, and ID columns are detected automatically.

cplt summarise -f data/titanic.csv

Summarise output

Timeline / Gantt

Visualise project schedules as Gantt-style ranges with color-coded status and a "today" marker.

cplt timeline -f data/projects.csv --x start_date --x end_date --y project --color status

Timeline chart output

Bar Chart

Count values in a column, filter with --where, and label the bars.

cplt bar -f data/titanic.csv -c Embarked

Bar chart output

Line Chart

Plot numeric trends over time with --head to limit rows and --title for context.

cplt line -f data/temperatures.csv --x Date --y Temp --head 40

Line chart output

Histogram

Plot the distribution of a numeric column with automatic binning and statistics overlay.

cplt hist -f data/titanic.csv -c Age --bins 10

Bubble Matrix

Spot missing data patterns across columns. Rows are labeled, columns are presence/absence dots, colored by group.

cplt bubble -f data/titanic.csv --cols Cabin --cols Age --y Name --head 12

Bubble matrix output

Quick Start

# 1) inspect columns and data quality
cplt summarise -f data/projects.csv

# 2) make your first timeline
cplt timeline -f data/projects.csv --x planned_start --x planned_end --y project

# 3) filter rows
cplt bar -f data/titanic.csv -c Embarked --where "Sex=female"

Output Modes

All plotting and summary commands support --format:

  • visual (default): full Rich/plotext terminal visuals
  • semantic: ANSI-stripped visual output (useful for LLM UX inspection)
  • compact: token-efficient output for LLM analysis pipelines

Example:

cplt bar -f data/titanic.csv -c Sex --format compact

Docs

  • CLI reference: docs/cli.md
  • Project docs: docs/

For Contributors

Developer-only workflows (UX review loop, artifact generation, docs tooling, tests) live in DEVELOPERS.md.

License

MIT

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

cplt-0.4.0.tar.gz (835.4 kB view details)

Uploaded Source

Built Distribution

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

cplt-0.4.0-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

File details

Details for the file cplt-0.4.0.tar.gz.

File metadata

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

File hashes

Hashes for cplt-0.4.0.tar.gz
Algorithm Hash digest
SHA256 2f3400ad3f684cc0e3e88a95e43e9f1840c58411ff93df55257dc2d4a8eaa6dd
MD5 e82643f45f94f7ead8c347a0666ebe4e
BLAKE2b-256 072efd24af2c01490a686bf2ee8910437d69bd886b865c80cdcfa57d8009eecc

See more details on using hashes here.

Provenance

The following attestation bundles were made for cplt-0.4.0.tar.gz:

Publisher: release.yml on Warhorze/cplt

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

File details

Details for the file cplt-0.4.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for cplt-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2133f7834c55a60b7b5a8c66b0701c753bb5e6dd48bfa83bd3287e18cc77ef55
MD5 332f76edbb7bde95594c55b9adca3c0c
BLAKE2b-256 742a4bdac792008ad40c3f5f0d8a4fb54cea7912eb80e4d2e8a3aefbca09b3cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for cplt-0.4.0-py3-none-any.whl:

Publisher: release.yml on Warhorze/cplt

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