QTZPOC-20: Implement model import workflow for .sientia bundles Introduces the import_model workflow and its associated activities to enable importing .sientia bundles into MLflow and MongoDB. This includes: * New core workflow and activity logic for handling bundle download, decryption, validation, MLflow provisioning (experiments, runs, registered versions), and MongoDB model document creation. * Comprehensive E2E and unit test suites, including a dedicated test harness and a manual run script for development. * Updated .env.example and README.md with new configurations and usage instructions. * Ensures correct MLflow model source resolution for legacy loader compatibility and robust MongoDB document management. * Refactors existing utility scripts into a scripts/ directory.
34 lines
996 B
Plaintext
34 lines
996 B
Plaintext
temporalio
|
|
psycopg2-binary
|
|
sqlalchemy
|
|
asyncua==1.0.6
|
|
redis
|
|
sientia_do>=1.12.1
|
|
sientia>=0.41.1
|
|
prometheus-client
|
|
# fsspec/s3fs/gcsfs pinned as a set: nannyml (via sientia) pulls both s3fs and gcsfs, and
|
|
# each pins fsspec exactly, so a free `s3fs` makes the resolver fail against evidently's
|
|
# fsspec>=2024.2.0. Versions match the library-distribution-controller freeze.
|
|
fsspec==2026.7.0
|
|
s3fs==2026.7.0
|
|
gcsfs==2026.8.0
|
|
# aiobotocore 3.9.0 (pulled by s3fs) requires botocore<1.43.57,>=1.43.3.
|
|
botocore==1.43.56
|
|
boto3==1.43.56
|
|
pyarrow
|
|
kaleido
|
|
hyperopt
|
|
shap
|
|
pycurl
|
|
scipy<1.14.0
|
|
scikit-learn==1.4.2
|
|
pycaret==3.3.2
|
|
joblib
|
|
# .sientia bundle import (Argon2id + XChaCha20-Poly1305 secretstream): same pin as the
|
|
# producer in sientia-projects-templates, so both sides open the same bytes.
|
|
pynacl==1.5.0
|
|
# AES-256-GCM password envelope; already present transitively, declared explicitly.
|
|
cryptography
|
|
# MongoDB models collection (the model listing); transitive via sientia_do, declared explicitly.
|
|
pymongo
|