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.

Summarise output

Timeline / Gantt

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

Timeline chart output

Bar Chart

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

Bar chart output

Line Chart

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

Line chart output

Bubble Matrix

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

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: cplt-0.3.0.tar.gz
  • Upload date:
  • Size: 851.2 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.0.tar.gz
Algorithm Hash digest
SHA256 e053c8aa7e3b63fc507fceb4ac135e0874841b396b2446229ec88371406b7522
MD5 e4dfa29055eee98c6363a8ae7aebb200
BLAKE2b-256 a0dc5c6e2f9f110597e563792d3eed73e3db9ceb25cdc1602898375b5276315e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cplt-0.3.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 941ccbd67ec2586d18fbfed76441c0e10dd879b31db57b3dba249fa20e87ad89
MD5 764465c642957d9f954690b132f4f0aa
BLAKE2b-256 42f3d20d25a6bb2f5d7b066a56b1a172914b1957b996316df0f35517a4f1d937

See more details on using hashes here.

Provenance

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