Skip to content

Feature Request: Publish CLI tool as an installable package entry point #316

@chouzz

Description

@chouzz

Summary

The CLI tool (cli.py) currently lives in the project root and is only usable by cloning the repo and running the script directly. It would be great if the CLI could be installed alongside the library via pip install gemini_webapi.

Current Behavior

  • cli.py is a standalone script in the repo root
  • No [project.scripts] entry in pyproject.toml
  • The setuptools.packages.find only includes src/gemini_webapi
  • Users who install via pip get the library but not the CLI
  • To use the CLI, users must clone the full repo: git clone ... && python cli.py

Proposed Behavior

Add a console script entry point in pyproject.toml so that installing the package also provides a gemini (or similar) command:

[project.scripts]
gemini = "gemini_webapi.cli:main"

This would require:

  1. Moving cli.py into src/gemini_webapi/ (e.g., as cli.py or cli/__init__.py)
  2. Adding a main() / cli() entry point function
  3. Adding [project.scripts] to pyproject.toml
  4. Optionally adding a cli extra for any CLI-specific dependencies

Benefits

  • Users can simply pip install gemini_webapi and immediately use gemini from the command line
  • Consistent with standard Python packaging practices
  • Makes the CLI feature (listed in README features) actually accessible to all users

Alternatives

A separate package (e.g., gemini-webapi-cli) would also work, but since the CLI is tightly coupled to this library, bundling it as an entry point of the existing package feels more natural.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions