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
  • 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

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.3.1.tar.gz (884.5 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.3.1-py3-none-any.whl (40.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cplt-0.3.1.tar.gz
Algorithm Hash digest
SHA256 40f892b3dd14836951315bac396438d884f6e366c42b6300469d627be4b807f5
MD5 085b27c852a1705b2f2aadf1f1c9749c
BLAKE2b-256 8ea3f939baa902ec6f1f556201d05e57d7545087f80c4df1dc567d626f24ebe0

See more details on using hashes here.

Provenance

The following attestation bundles were made for cplt-0.3.1.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.3.1-py3-none-any.whl.

File metadata

  • Download URL: cplt-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 40.7 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.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 514e824007aa8ef3d2a336dc94f3c386ca7e968e5a09e877fb6ad2da18d09d9c
MD5 312c856367441242ffac43334b36dfe9
BLAKE2b-256 50be62682f5c34401c0b7ae4d9bae45d91829c0de94eccaf8872cdb918046cca

See more details on using hashes here.

Provenance

The following attestation bundles were made for cplt-0.3.1-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