Hello everyone!
As part of the "Package Python CLI tool in the binary distribution #2419"
initiative [1], we need to agree on the package name for Apache Polaris
Catalog that will be used for publishing to PyPI.
The current name "polaris" cannot be used as it's already taken by another
package unrelated to Apache Polaris.
I've created a separate Github Issue [2] to discuss this matter.

Proposed options:
- apache-polaris - available
- polaris-catalog - taken https://pypi.org/project/polaris-catalog/
...

TLDR;
??? Is this a CLI or SDK?
The current implementation is not just a CLI tool, but also a library.
After the package is delivered to PyPI, users will be able to use the CLI
tool as well as import the library into their projects.
The CLI tool name is defined through the [project.scripts] configuration in
the pyproject.toml file [3]

Example:
```
[project.scripts]
polaris-catalog-cli = "cli.polaris_cli:main"
```

When installing the package via "pipx install apache-polaris", the bin file
will be available in ~/.local/bin/
> polaris-catalog-cli --help

This means that to use the CLI, there's no need to clone the entire project.

??? How does it work now?
Currently, to use the CLI you need to clone the entire project and use
./polaris from the project root directory. When calling ./polaris,
automatic initialization of the Python environment occurs.

+-------------------------------------------------------------+
| cd polaris && ./polaris |
+-------------------------------------------------------------+
+-------------------------------------------------------------+
| python environment inside ./polaris project dir |
| +-------------------------------------------------------+ |
| | 1 - check ./polaris-venv | |
| +-------------------------------------------------------+ |
| v |
| +------------------------------------------+ |
| | 1.1 - initialize ./polaris-venv through | |
| | python3 -m venv | |
| +------------------------------------------+ |
| +-------------------------------------------------------+ |
| | 2 - activate python env ./polaris-venv/bin/activate | |
| +-------------------------------------------------------+ |
| v |
| +------------------------------------------+ |
| | 2.1 - install dependencies | |
| | ./regtests/requirements.txt | |
| +------------------------------------------+ |
| v |
| +------------------------------------------+ |
| | 2.2 - ./poetry install ./client/python | |
| +------------------------------------------+ |
| +-------------------------------------------------------+ |
| | 3 - calling ./polaris -> ./polaris-venv/bin/polaris | |
| +-------------------------------------------------------+ |
+-------------------------------------------------------------+


[1]: https://github.com/apache/polaris/issues/2419
[2]: https://github.com/apache/polaris/issues/2699
[3]:
https://github.com/apache/polaris/blob/main/client/python/pyproject.toml#L45


-- 
Best regards, Artur Rakhmatulin
e-mail: [email protected],
telegram: https://t.me/binarycat0

Reply via email to