| GitHub Repo | minio_manager_service_client |
| Python | 3.13 (auto-generated client) |
| Package Manager | uv |
The minio_manager_service_client (also known functionally as the Governance Client) is an auto-generated Python client library for interacting with the minio_manager_service APIs.
Unlike manually crafted SDKs, this library is generated directly from the OpenAPI specification of the minio_manager_service. This ensures that the client remains strictly in sync with the upstream API definitions and data models with zero manual maintenance overhead.
This client is heavily utilized by BERDL_JupyterHub to automatically configure, rotate, and manage secure tenant MinIO credentials upon user login, as well as by general Spark notebook workflows.
The client is generated using the openapi-python-client utility. A convenience script (run.sh) is provided to automate generation:
- The script clones the remote
minio_manager_servicecodebase and extracts its OpenAPI JSON spec using an intermediate Python generator (generate_spec_from_local.py). - The
openapi-python-clientconsumes this specification and outputs static Python type hints and API client methods. - The resulting code is placed cleanly into
src/governance_client.
# In the minio-manager-service-client repo
./run.sh(Note: Requires uv and Python 3.13 for the build environment).
Other packages can depend on this client by installing it directly from its git repository or path:
pip install "git+https://github.com/KBaseDataLakehouse/minio_manager_service_client.git"