[WIP] Extract ads.auth into standalone oracle-ads-auth package #1172
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
This PR pulls our OCI-authentication logic (
ads.auth
) out of the mainoracle-ads
repository and into a brand-new, independently installable PyPI package calledoracle-ads-auth
. It’s the very first step in a broader effort to refactor the ADS monolith into a family of small, purpose-built components—so that users can choose to install only the pieces they need, reducing footprint and dependency bloat.For new users:
What Changed
New Package:
oracle-ads-auth
with its ownpyproject.toml
, README, and namespace package setup.Namespace Packaging:
pkgutil.extend_path
inads/__init__.py
of both repos to share theads
namespace seamlessly.[tool.setuptools.packages.find]
in bothpyproject.toml
files so thatimport ads.auth
works regardless of install order.Backward Compatibility Shim:
ads/common/auth.py
in the main repo with a thin forwarder that re-exports everything fromads.auth
(inoracle-ads-auth
).from ads.common.auth import default_signer
, etc.) continue to work without change.Migration & Usage
For new users:
Existing code using any of these will remain functional:
Next Steps
Reviewer notes:
This change introduces no functional regression and keeps all existing ADS APIs intact. Feedback welcome on the packaging strategy and compatibility shim!