-
Notifications
You must be signed in to change notification settings - Fork 16
Description
Hello,
I’ve noticed that this package (along with python-dsv-sdk) attempts to share a common namespace delinea by directly including and modifying the delinea/__init__.py and delinea/secrets/__init__.py modules in both distributions
While this might work in some scenarios, it breaks compatibility with PEP 420 – Implicit Namespace Packages and introduces several significant issues:
-
Namespace conflict and file clobbering:
Since both packages provide the same files, installing them side-by-side leads to one overriding the other. This results in unpredictable behavior depending on the installation order and package version. Poetry performs by default parallel installation of packages and it ends up in corrupted files. This is also problematic for reproducibility and debugging. -
Broken namespace packaging semantics:
PEP 420 specifically requires namespace packages to omit the init.py in the shared namespace directories. Including it turns the namespace into a standard package, making it impossible to safely merge modules across distributions. -
Version management conflicts:
Embedding the package version insidedelinea/__init__.pyleads to ambiguous version resolution when both packages are installed.