Skip to content

Add a csvkit command to list installed tools and version - #1358

Open
codeofwxz wants to merge 2 commits into
wireservice:masterfrom
codeofwxz:add-csvkit-overview
Open

codeofwxz wants to merge 2 commits into
wireservice:masterfrom
codeofwxz:add-csvkit-overview

Conversation

@codeofwxz

@codeofwxz codeofwxz commented Sep 15, 2026

Copy link
Copy Markdown

Running csvkit after installation now displays the installed version, available tools, and an example of getting help for an individual tool. -h/--help shows the same overview, and -V/--version prints only the version. The overview reads this distribution's console entry points and version from installed metadata, avoiding a second command list. It does not dispatch subcommands or change existing tools.

Closes #1279.

Validation on Windows / Python 3.12: built and installed the wheel, then tested the real console executable from a temporary directory. The new entry-point tests and existing CLI/csvcut tests pass (34 tests plus 4 subtests). The 15 installed console entry points match pyproject.toml. Repository flake8, isort, check-manifest, and diff checks pass. The full test suite and other platform/Python combinations were not run.

Added the CLI reference page and generated manual, and included the manual in wheel installation. Strict Sphinx HTML/man builds and check-manifest pass; the wheel and installed man page match the generated source. On Windows, the documentation build uses a single forward-slash man target override for the existing configuration’s path separator issue. Unix man rendering was not tested; the console tests above were not rerun for this documentation-only update.

Copilot AI lite review requested due to automatic review settings September 15, 2026 14:25

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The only noted item is a minor documentation nit; no blocking issues remain.

Pull request overview

Adds a top-level csvkit command displaying the installed version, available tools, and help guidance.

Changes:

  • Registers and implements the metadata-driven console command.
  • Adds CLI integration tests.
  • Updates documentation, changelog, and author records.

Minor documentation follow-up remains for CLI reference/man-page coverage.

File summaries
File Summary
tests/test_csvkit.py Tests overview, help, version, and non-dispatch behavior.
pyproject.toml Registers the csvkit console entry point.
docs/index.rst Documents command usage.
csvkit/utilities/csvkit.py Implements the overview CLI.
CHANGELOG.rst Records the feature.
AUTHORS.rst Credits the contributor.
Review details

Suppressed comments (1)

pyproject.toml:56

  • This adds a new installed console command, but unlike every other entry in [project.scripts], it has no corresponding man/*.1 page in the tool.setuptools.data-files list and is absent from the CLI reference toctree (docs/cli.rst:10-48). As a result, the new user-facing command is documented only on the landing page/inline help; please add it to the installed/reference documentation or make the convention explicitly exclude this meta-command.
csvkit = "csvkit.utilities.csvkit:launch_new_instance"
  • Files reviewed: 6/6 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add csvkit command to display help message about other commands

2 participants