Skip to content

Conversation

@binarycat0
Copy link
Contributor

@binarycat0 binarycat0 commented Oct 14, 2025

  • change package name from polaris to apache-polaris
  • reorganize python package catalogs
  • union all submodules (cli, polaris) under apache_polaris module
  • put polaris generated context into apache_polaris/sdk
  • make apache_polaris as a main module

Fixes: #2699

What changes were proposed in this pull request?

Package name

As discussed in the mailing list thread, the majority agreed that a more suitable and compliant name would be apache-polaris according to the Apache Distribution guide

pip install apache-polaris
polaris --help

Catalogs structure

It would be beneficial to modify the directory structure. The current setup can lead to conflicts after package installation because it doesn't create a parent directory to group all apache-polaris related modules together. Instead, it directly places the cli and polaris directories into the root .../site-packages of the active environment.

/site_packages/
├── cli
├── polaris
│   ├── catalog
└── └── management

In the structure I am proposing, all modules related to the project will be placed in the apache_polaris module and will be available for use in code through import apache_polaris.sdk.catalog, apache_polaris.sdk.management and import apache_polaris.cli respectively.

/site-packages/
├── apache_polaris
│   ├── cli
│   └── sdk
│       ├── catalog
│       └── management
>>> from apache_polaris.sdk import catalog
>>> from apache_polaris.sdk import management

Why are the changes needed?

Initial Issue: #2419
Follow up Issue: #2699

Does this PR introduce any user-facing change?

How was this patch tested?

make client-cleanup
make client-regenerate
make client-lint
make client-integration-test
make client-unit-test

CHANGELOG.md

@github-project-automation github-project-automation bot moved this to PRs In Progress in Basic Kanban Board Oct 14, 2025
@binarycat0 binarycat0 force-pushed the chore/enhancement/2699-change-python-package-name branch 2 times, most recently from 0d34b23 to 395cb27 Compare October 16, 2025 09:23
@binarycat0 binarycat0 force-pushed the chore/enhancement/2699-change-python-package-name branch from 4e6bbc6 to e797543 Compare October 23, 2025 21:41
@binarycat0 binarycat0 marked this pull request as ready for review October 26, 2025 10:08
@adutra adutra requested a review from MonkeyCanCode October 26, 2025 11:25
@binarycat0
Copy link
Contributor Author

@MonkeyCanCode @HonahX Hello colleagues. Please review. Thx 🙏

@MonkeyCanCode
Copy link
Contributor

Hello, sorry for the delay. I will check this weekend.

@MonkeyCanCode @HonahX Hello colleagues. Please review. Thx 🙏

`apache_polaris.sdk.catalog.models.LoadPolicyResponse`.
However, the generator fails to add the necessary `import` statements
to the `polaris/catalog/models/__init__.py` file. This means that even
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

polaris/catalog/models/__init__.py is now outdated with this PR. Change to apache_polaris/sdk/catalog/models/__init__.py

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@binarycat0 mind update here as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, good catch! I need to double-check all places properly 👍

`apache_polaris.sdk.catalog.models.LoadPolicyResponse`.
However, the generator fails to add the necessary `import` statements
to the `polaris/catalog/models/__init__.py` file. This means that even
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Path polaris/catalog/models/__init__.py is outdated. Change to apache_polaris/sdk/catalog/models/__init__.py

@MonkeyCanCode
Copy link
Contributor

Hello, sorry for the delay. I will check this weekend.

@MonkeyCanCode @HonahX Hello colleagues. Please review. Thx 🙏

@binarycat0 nice work and thanks for the coordination on the dev ML.

@binarycat0 binarycat0 force-pushed the chore/enhancement/2699-change-python-package-name branch from 15c0342 to d97136e Compare November 3, 2025 13:45
@binarycat0
Copy link
Contributor Author

binarycat0 commented Nov 3, 2025

Hello @MonkeyCanCode 👋, thank you for the review. I fixed the mentioned NIT comments, thanks.

Also, the mentioned string splitters by () is caused by automatically formatting or by make client-lint command. If the make client-lint command does not contain the black formatting, I would propose implement it there.

In my experience an applying "isort + mypy + black" linting was by default, I would like suggest following the same standard as many python projects.

Hello, sorry for the delay. I will check this weekend.

@MonkeyCanCode @HonahX Hello colleagues. Please review. Thx 🙏

@binarycat0 nice work and thanks for the coordination on the dev ML.

@MonkeyCanCode
Copy link
Contributor

Hello @MonkeyCanCode 👋, thank you for the review. I fixed the mentioned NIT comments, thanks.

Also, the mentioned string splitters by () is caused by automatically formatting or by make client-lint command. If the make client-lint command does not contain the black formatting, I would propose implement it there.

In my experience an applying "isort + mypy + black" linting was by default, I would like suggest following the same standard as many python projects.

Hello, sorry for the delay. I will check this weekend.

@MonkeyCanCode @HonahX Hello colleagues. Please review. Thx 🙏

@binarycat0 nice work and thanks for the coordination on the dev ML.

Thanks for the quick fix. One of the minor comment was not fixed. Other than that, this looks good to me. @eric-maynard @HonahX , do u mind also take a look when u have a chance?

@binarycat0
Copy link
Contributor Author

@MonkeyCanCode Thank you again. I double-checked all places, now it should be good.

@github-project-automation github-project-automation bot moved this from PRs In Progress to Ready to merge in Basic Kanban Board Nov 4, 2025
@binarycat0
Copy link
Contributor Author

binarycat0 commented Nov 6, 2025

Hello colleagues 👋 Can we make it merged?

@snazy snazy merged commit 743940a into apache:main Nov 6, 2025
15 checks passed
@github-project-automation github-project-automation bot moved this from Ready to merge to Done in Basic Kanban Board Nov 6, 2025
snazy added a commit to snazy/polaris that referenced this pull request Nov 20, 2025
* chore(enhancement): rename python package to apache-polaris (apache#2812)

- reorganize python package catalogs
- union all submodules (cli, polaris) under apache_polaris module
- put polaris generated context into apache_polaris/sdk
- make apache_polaris as a main module

* Update dependency pip-licenses-cli to v3.0.1 (apache#2996)

* docs: Add quickstart documentation (apache#2976)

* Add quickstart documentation targeting CLI convenience

Co-authored-by: Alexandre Dutra <adutra@apache.org>

* Update dependency io.quarkus to v3.29.1 (apache#2985)

* Add getting started docs for Apache Ozone (apache#2989)

Closes apache#2207

* Add note on appendConfigOption Helm template explaining its logic (apache#2995)

This has come up a few times as the logic is a bit surprising for people familiar with Helm templates.

* fix(deps): update dependency io.micrometer:micrometer-bom to v1.16.0 (apache#3001)

* chore(deps): update quay.io/keycloak/keycloak docker tag to v26.4.4 (apache#3002)

* fix(deps): update dependency io.smallrye.common:smallrye-common-annotation to v2.14.0 (apache#3003)

* NoSQL: Add Mongo database backend (apache#2992)

* NoSQL: Add Mongo database backend

This change adds the MongoDB specific `MongoDbBackend` implementation. Test cases inherited from the database agnostic `AbstractPersistenceTests` for `Backend` implementations, running against a testcontainer running Mongo.

* bump mongo container version

* NoSQL: "standalone" `Persistence` configuration helper (apache#2993)

This change adds a utility module used in follow-up PRs like JMH based micro-benchmarks and correctness-tests, running as "standalone" JVMs providing flexible configurability via explict smallrye-config usage. This allows running JMH and correctness tests against various deployment scenarios, even multi-node database backends without having to spin up a full server instance. In other words: targeted benchmarking and testing eliminating side effects potentially induced by other components.

* NoSQL: Docker-compose example for customized testing (apache#2994)

* NoSQL: Docker-compose example for customized testing

Upcoming PRs bring JMH based benchmarking and correctness testing. This change adds a docker-compose on how to spin up a 3 node MongoDB instance useable for the mentioned benchmarks/tests.

* fix(deps): update dependency com.google.errorprone:error_prone_core to v2.44.0 (apache#3004)

* Make CallContextCatalogFactory request-scoped (apache#2972)

note the only non-test usage spot is `IcebergCatalogHandler#initializeCatalog`
and `IcebergCatalogHandler` is getting created by `IcebergCatalogAdapter`
which is already `@RequestScoped`.

* Last merged commit 6546689

---------

Co-authored-by: Artur Rakhmatulin <artur.rakhmatulin@gmail.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: Adam Christian <105929021+adam-christian-software@users.noreply.github.com>
Co-authored-by: Alexandre Dutra <adutra@apache.org>
Co-authored-by: Dmitri Bourlatchkov <dmitri.bourlatchkov@gmail.com>
Co-authored-by: Christopher Lambert <xn137@gmx.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Change the name property in the client/python/pyproject.toml file

4 participants