chdb
chdb copied to clipboard
Include an entrypoint for compatibility with pipx
I'd like to be able to do this:
pipx install chdb
chdb "SELECT 1,'abc'" Pretty
As an alternative to this:
pip install chdb
python3 -m chdb "SELECT 1,'abc'" Pretty
The reason I want this is that pipx
automates the process of creating a separate virtual environment for each tool, so it lets me try out tools like chdb
without manually creating a virtual environment for it.
This currently doesn't work, because the chdb
package does not declare a CLI tool entrypoint. I get this error:
pipx install chdb
No apps associated with package chdb or its dependencies. If you are
attempting to install a library, pipx should not be used. Consider using pip
or a similar tool instead.
I think one way to implement this would be to add this to setup.py
:
entry_points="""
[console_scripts]
chdb=chdb.__main__:main
""",
Hey @simonw thanks for the suggestion! If the method you mentioned works, feel free to raise a PR and we'll try it out!
I'm not an expert but my understanding (confirmed by the output example) was pipx should not be used for libraries such as chdb. Could chdb-cli perhaps be a better target for this request?
I didn't know about chdb-cli
! Does that offer the same functionality as python -m chdb
or is it meant to solve a different purpose?
Personally I really like the pattern of Python libraries which offer a CLI tool as part of the same package - my https://sqlite-utils.datasette.io and https://llm.datasette.io packages both do this - but I understand that tastes on this may differ.