Skip to content

doc/index.qmd advertises 'uv tool install ggsql' for the CLI but the PyPI package has no executable #349

@shntnu

Description

@shntnu

Summary

The homepage (doc/index.qmd) tells users to install the CLI with uv tool install ggsql, but the PyPI ggsql package provides no executable. uv tool install ggsql fails with error: Failed to install entrypoints for \ggsql`. The canonical install page (doc/get_started/installation.qmd) does not list this command and instead points users at the native .pkg/.exe/.deb` installers from GitHub Releases — so the homepage and the install page disagree.

Reproducible example

$ uv tool install ggsql
Resolved 14 packages in 1s
Installed 14 packages in 27ms
 + altair==6.1.0
 + ggsql==0.2.7
 + polars==1.40.0
 + ... (Python deps for the library)
No executables are provided by package `ggsql`; removing tool
error: Failed to install entrypoints for `ggsql`

The PyPI ggsql package appears to be a Python library wrapper (depends on altair, polars, narwhals, etc.) rather than a CLI distribution. There is no console_scripts entry point.

Where the misleading instructions live

doc/index.qmd:

# Jupyter kernel
uv tool install ggsql-jupyter
ggsql-jupyter --install

# CLI
uv tool install ggsql

doc/get_started/installation.qmd (canonical, correct):

ggsql provides native installers for Windows, macOS, and Linux. Choose the best option for your platform below.

  • Windows: .exe / .msi
  • macOS: .pkg
  • Linux: .deb

The Jupyter kernel section on the install page does mention uv tool install ggsql-jupyter, which works (modulo #348 on macOS).

Suggested fix

Remove the uv tool install ggsql line from doc/index.qmd, or replace it with a pointer to the native installer / cargo install ggsql. Alternatively, if the intent is that uv tool install ggsql should work (e.g., bundle the native binary as a Python wheel like ruff does), add a console_scripts entry point and ship the binary in the wheel. Either is fine — the current state confuses new users into thinking the install is broken.

Related: #348 (the ggsql-jupyter macOS wheel that is on PyPI is also broken, separately).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions