Skip to main content

Beautiful TUI dashboard to monitor packages across PyPI, crates.io, and npm

Project description

Secchi logo

secchi

Open Source Package Intelligence

Secchi lets you explore, compare, monitor, and report on package health, adoption, dependencies, releases, and ecosystem signals from your terminal.

secchi TUI dashboard

Supported Ecosystems

Python
PyPI
Python
JavaScript
npm
JavaScript
Rust
crates.io
Rust
Homebrew
Homebrew
Formulae
Go
Go Modules
Go
R
CRAN
R

Capabilities

Type Capability What it helps with Status
Explore Direct package lookup Quickly inspect any package from the terminal
Explore Interactive dashboard Explore health, adoption, releases, and dependencies
Explore Workspace monitoring Monitor configured projects and registry sources
Explore Cross-registry search Find packages across supported ecosystems
Explore Health and adoption signals Understand project momentum and maintenance quality
Explore Package comparison Compare multiple packages side by side
Report JSON reports Use package intelligence in scripts and automation
Report Markdown reports Share readable reports in GitHub, Notion, or documentation
Report HTML reports Generate standalone reports for teams and stakeholders
Report Project-wide reports Combine registry sources for one monitored project
Automate Package health checks Fail workflows when package standards are not met 🚧
Automate Workspace policy checks Evaluate every configured project against policies
Automate GitHub Actions integration Run Secchi automatically in CI
Integrate Python SDK Use Secchi from Python applications and scripts
Integrate MCP Server Let AI assistants query package intelligence
Explore Ecosystem adapters Support PyPI, npm, crates.io, Homebrew, Go Modules, and CRAN

Install

Recommended installation methods:

uv tool install secchi
pipx install secchi
pip install secchi

Quick Start

Scaffold a config file interactively:

secchi init

Launch the dashboard for a project:

secchi -p tuffcli
secchi --project opencode

Explore a package directly, without a configuration file:

secchi show duckdb
secchi dashboard duckdb
secchi search duckdb
secchi report duckdb --format html --output duckdb-report.html
secchi report --config secchi.toml --project duckdb --format html
secchi check duckdb --min-health 80 --require-ci

Run the MCP server for local AI-agent integrations:

secchi mcp
# or
secchi-mcp

The server communicates over standard input/output and exposes tools for package inspection, cross-registry search, configured project reports, and health policy checks. It reuses the same cached intelligence pipeline as the CLI, dashboard, and report commands.

Reports are written to the current directory by default. Use --output to choose a file path, or --output - to print the report to stdout.

search, show, dashboard, and report use the same data collection and scoring pipeline. Add --registry with pypi, crates.io, npm, homebrew, go, or cran when a package name needs an explicit ecosystem.

List available projects:

secchi --list

Config

Secchi looks for config in this order:

  1. --config / -c path
  2. ./secchi.toml
  3. ./.secchi.toml
  4. ~/.config/secchi/config.toml

Example secchi.toml:

[projects.duckdb]
title = "DuckDB"
description = "DuckDB — embeddable analytical database"
favorite = true
repository = "https://github.com/duckdb/duckdb"
packages = [
    { name = "duckdb", registry = "pypi" },
    { name = "duckdb", registry = "npm" },
]

favorite belongs to the project, which makes workspace navigation clear when one project contains several registry variants of the same package. Existing package-level favorite entries remain supported for compatibility.

Optional Spotlight Feed

The dashboard can show a small, curated Spotlight card from Secchi's public feed. Spotlight is cached locally and can be disabled completely when you do not want Secchi to request the feed.

SECCHI_DISABLE_SPOTLIGHT=1 secchi dashboard duckdb

When this variable is set to 1, true, yes, or on, Secchi does not read or fetch Spotlight data and removes the card from the dashboard.

CLI Options

secchi dashboard [package]              Launch the TUI (workspace when omitted)
secchi show <package>                   Print a concise intelligence summary
secchi search <package>                 Search packages across supported registries
secchi report <package> --format <type> Generate json, html, or md output
secchi check <package>                 Evaluate health and CI policies for automation
secchi --project <name>                 Backwards-compatible project dashboard
secchi --list                           List projects in config
secchi init                             Interactively create secchi.toml

Development

Live reload during development:

uv run textual run --dev src/secchi/dev.py -- -p tuffcli

Press ctrl+r to manually reload the dashboard without exiting.

License

Apache 2.0

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

secchi-0.1.1.tar.gz (16.4 MB view details)

Uploaded Source

Built Distribution

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

secchi-0.1.1-py3-none-any.whl (83.7 kB view details)

Uploaded Python 3

File details

Details for the file secchi-0.1.1.tar.gz.

File metadata

  • Download URL: secchi-0.1.1.tar.gz
  • Upload date:
  • Size: 16.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for secchi-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6d6a838cf15f69b4439e779f3c7f1bc9acbbb30dd42a5fc6944d58102c30ba7c
MD5 fdbe9183c7467ae781094c1c9823e3d5
BLAKE2b-256 ed93fb76b5db27d86c2dfb4d532efa65addaa6f53e4ab34b68295e70fba86daf

See more details on using hashes here.

Provenance

The following attestation bundles were made for secchi-0.1.1.tar.gz:

Publisher: release.yml on kannandreams/secchi

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

File details

Details for the file secchi-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: secchi-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 83.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for secchi-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 76334558aa2dd6f39c33331b8cfd4b51d8a6d490885839de30825faa9aa4b654
MD5 b0853c806e7fe581946e37bdb10b4684
BLAKE2b-256 896fd123a388873d281dcc2e2e03d6260911b109c7a18848033cd5da38aecec4

See more details on using hashes here.

Provenance

The following attestation bundles were made for secchi-0.1.1-py3-none-any.whl:

Publisher: release.yml on kannandreams/secchi

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