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:
- Moving
cli.py into src/gemini_webapi/ (e.g., as cli.py or cli/__init__.py)
- Adding a
main() / cli() entry point function
- Adding
[project.scripts] to pyproject.toml
- 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.
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 viapip install gemini_webapi.Current Behavior
cli.pyis a standalone script in the repo root[project.scripts]entry inpyproject.tomlsetuptools.packages.findonly includessrc/gemini_webapigit clone ... && python cli.pyProposed Behavior
Add a console script entry point in
pyproject.tomlso that installing the package also provides agemini(or similar) command:This would require:
cli.pyintosrc/gemini_webapi/(e.g., ascli.pyorcli/__init__.py)main()/cli()entry point function[project.scripts]topyproject.tomlcliextra for any CLI-specific dependenciesBenefits
pip install gemini_webapiand immediately usegeminifrom the command lineAlternatives
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.