pycatalyst 0.0.9.dev0__tar.gz → 0.0.12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pycatalyst-0.0.12/.github/workflows/publish.yml +99 -0
- pycatalyst-0.0.12/.gitignore +280 -0
- pycatalyst-0.0.12/PKG-INFO +212 -0
- pycatalyst-0.0.12/README.md +102 -0
- pycatalyst-0.0.12/docs/PUBLISHING.md +90 -0
- pycatalyst-0.0.12/docs/getting-started/api-auth.md +71 -0
- pycatalyst-0.0.12/docs/getting-started/generate-data.md +53 -0
- pycatalyst-0.0.12/docs/getting-started/infer-schema.md +53 -0
- pycatalyst-0.0.12/docs/getting-started/quickstart.md +98 -0
- pycatalyst-0.0.12/docs/getting-started/recipes.md +75 -0
- pycatalyst-0.0.12/docs/getting-started/workbench.md +51 -0
- pycatalyst-0.0.12/docs/index.md +42 -0
- pycatalyst-0.0.12/docs/reference/generation-engine.md +3 -0
- pycatalyst-0.0.12/docs/reference/python-api.md +27 -0
- pycatalyst-0.0.12/docs/reference/recipe-loader.md +3 -0
- pycatalyst-0.0.12/docs/reference/recipe-runner.md +3 -0
- pycatalyst-0.0.12/docs/reference/rest-api.md +71 -0
- pycatalyst-0.0.12/docs/reference/schema-inference.md +5 -0
- pycatalyst-0.0.12/mkdocs.yml +88 -0
- pycatalyst-0.0.12/pycatalyst.cfg +98 -0
- pycatalyst-0.0.12/pycatalyst.cfg.example +105 -0
- pycatalyst-0.0.12/pycatalyst.db +0 -0
- pycatalyst-0.0.12/pyproject.toml +297 -0
- pycatalyst-0.0.12/runs/experiment/history.json +62 -0
- pycatalyst-0.0.12/runs/experiment/metrics.json +4 -0
- pycatalyst-0.0.12/runs/experiment/model.pt +0 -0
- pycatalyst-0.0.12/runs/experiment/model_config.json +9 -0
- pycatalyst-0.0.12/runs/experiment/plots/predicted_vs_actual.png +0 -0
- pycatalyst-0.0.12/runs/experiment/scaler.json +21 -0
- pycatalyst-0.0.12/setup.sh +169 -0
- pycatalyst-0.0.12/src/pycatalyst/__init__.py +111 -0
- pycatalyst-0.0.12/src/pycatalyst/_types.py +418 -0
- pycatalyst-0.0.12/src/pycatalyst/api/dependencies/__init__.py +9 -0
- pycatalyst-0.0.12/src/pycatalyst/api/dependencies/auth.py +203 -0
- pycatalyst-0.0.12/src/pycatalyst/api/dependencies/catalyst_store.py +93 -0
- pycatalyst-0.0.12/src/pycatalyst/api/main.py +206 -0
- pycatalyst-0.0.12/src/pycatalyst/api/models/responses.py +21 -0
- pycatalyst-0.0.12/src/pycatalyst/api/routes/v1/auth.py +85 -0
- pycatalyst-0.0.12/src/pycatalyst/api/routes/v1/generate.py +74 -0
- pycatalyst-0.0.12/src/pycatalyst/api/routes/v1/ml.py +399 -0
- pycatalyst-0.0.12/src/pycatalyst/api/routes/v1/services.py +184 -0
- pycatalyst-0.0.12/src/pycatalyst/api/routes/v1/settings.py +130 -0
- pycatalyst-0.0.12/src/pycatalyst/api/routes/v1/stream.py +131 -0
- pycatalyst-0.0.12/src/pycatalyst/api/routes/v1/workbench.py +663 -0
- pycatalyst-0.0.12/src/pycatalyst/api/schemas/__init__.py +1 -0
- pycatalyst-0.0.12/src/pycatalyst/api/schemas/generate_common.py +46 -0
- pycatalyst-0.0.12/src/pycatalyst/catalyst_store/__init__.py +49 -0
- pycatalyst-0.0.12/src/pycatalyst/catalyst_store/_artifact_protocol.py +69 -0
- pycatalyst-0.0.12/src/pycatalyst/catalyst_store/_sqlalchemy_base.py +457 -0
- pycatalyst-0.0.12/src/pycatalyst/catalyst_store/client.py +448 -0
- pycatalyst-0.0.12/src/pycatalyst/catalyst_store/in_memory.py +198 -0
- pycatalyst-0.0.12/src/pycatalyst/catalyst_store/mongodb.py +385 -0
- pycatalyst-0.0.12/src/pycatalyst/catalyst_store/postgres.py +74 -0
- pycatalyst-0.0.12/src/pycatalyst/catalyst_store/s3.py +171 -0
- pycatalyst-0.0.12/src/pycatalyst/catalyst_store/sqlite.py +73 -0
- pycatalyst-0.0.12/src/pycatalyst/cli.py +590 -0
- pycatalyst-0.0.12/src/pycatalyst/config/__init__.py +59 -0
- pycatalyst-0.0.12/src/pycatalyst/config/artifact.py +72 -0
- pycatalyst-0.0.12/src/pycatalyst/config/auth.py +107 -0
- pycatalyst-0.0.12/src/pycatalyst/config/aws.py +83 -0
- pycatalyst-0.0.12/src/pycatalyst/config/workbench.py +214 -0
- pycatalyst-0.0.12/src/pycatalyst/data/profiles/pycharter_dev.yaml +8 -0
- pycatalyst-0.0.12/src/pycatalyst/data/profiles/pystator_dev.yaml +9 -0
- pycatalyst-0.0.12/src/pycatalyst/data/seed/README.md +78 -0
- pycatalyst-0.0.12/src/pycatalyst/data/seed/market_experiment_panel.yaml +67 -0
- pycatalyst-0.0.12/src/pycatalyst/data/seed/market_experiment_pytorch.yaml +39 -0
- pycatalyst-0.0.12/src/pycatalyst/data/seed/market_experiment_sklearn.yaml +33 -0
- pycatalyst-0.0.12/src/pycatalyst/data/seed/market_train.csv +601 -0
- pycatalyst-0.0.12/src/pycatalyst/db/migrations/env.py +69 -0
- pycatalyst-0.0.12/src/pycatalyst/db/migrations/versions/20260309_add_catalyst_store_tables.py +144 -0
- pycatalyst-0.0.12/src/pycatalyst/db/migrations/versions/20260310_add_artifacts_table.py +63 -0
- pycatalyst-0.0.12/src/pycatalyst/db/models/__init__.py +19 -0
- pycatalyst-0.0.12/src/pycatalyst/db/models/artifact.py +56 -0
- pycatalyst-0.0.12/src/pycatalyst/db/models/experiment.py +51 -0
- pycatalyst-0.0.12/src/pycatalyst/db/models/generation_run.py +45 -0
- pycatalyst-0.0.12/src/pycatalyst/db/models/recipe.py +42 -0
- pycatalyst-0.0.12/src/pycatalyst/db/models/schema_spec.py +39 -0
- pycatalyst-0.0.12/src/pycatalyst/docs/__init__.py +5 -0
- pycatalyst-0.0.12/src/pycatalyst/docs/cli.py +106 -0
- pycatalyst-0.0.12/src/pycatalyst/errors.py +373 -0
- pycatalyst-0.0.12/src/pycatalyst/generators/engine.py +154 -0
- pycatalyst-0.0.12/src/pycatalyst/generators/scalar.py +250 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/__init__.py +92 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/_protocols.py +113 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/_types.py +53 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/data.py +314 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/huggingface/__init__.py +21 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/huggingface/config.py +68 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/huggingface/data.py +112 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/huggingface/engine.py +240 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/io.py +71 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/preview.py +192 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/__init__.py +24 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/config.py +207 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/data/__init__.py +15 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/data/panel.py +250 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/data/panel_dataset.py +74 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/data/scaling.py +224 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/data/tabular.py +105 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/data/temporal.py +152 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/device.py +46 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/evaluation.py +222 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/models/__init__.py +3 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/models/base.py +81 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/models/gru.py +43 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/models/lstm.py +44 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/models/mlp.py +73 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/models/registry.py +52 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/models/tcn.py +96 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/models/transformer.py +79 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/serving.py +144 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/pytorch/trainer.py +568 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/registry.py +109 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/results.py +259 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/run.py +235 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/sklearn/__init__.py +21 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/sklearn/_helpers.py +454 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/sklearn/config.py +83 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/sklearn/engine.py +392 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/trainers/__init__.py +42 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/trainers/base.py +341 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/trainers/huggingface.py +159 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/trainers/pytorch.py +567 -0
- pycatalyst-0.0.12/src/pycatalyst/ml/trainers/sklearn.py +329 -0
- pycatalyst-0.0.12/src/pycatalyst/schema/inferrer.py +253 -0
- pycatalyst-0.0.12/src/pycatalyst/services/backends/base.py +179 -0
- pycatalyst-0.0.12/src/pycatalyst/services/backends/docker_backend.py +399 -0
- pycatalyst-0.0.12/src/pycatalyst/services/backends/venv_backend.py +392 -0
- pycatalyst-0.0.12/src/pycatalyst/services/profiles.py +126 -0
- pycatalyst-0.0.12/src/pycatalyst/services/service_containers.py +760 -0
- pycatalyst-0.0.12/src/pycatalyst/services/workbench_manager.py +636 -0
- pycatalyst-0.0.12/src/pycatalyst/streaming/__init__.py +42 -0
- pycatalyst-0.0.12/src/pycatalyst/streaming/formats.py +17 -0
- pycatalyst-0.0.12/src/pycatalyst/streaming/limits.py +44 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/dev.py +40 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/404/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/404.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/__next.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/0df6765465daf613.js +34 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/273748ce4060ff69.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/33edfc06290ba0dd.css +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/346ae210088a3b1c.js +340 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/3f4c3f4b40a44532.js +21 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/67019a27b3bb9d9f.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/85eb695ade2f6f87.js +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/8cd23ba7216fa8d5.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/98a0eebf60225743.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/9c8720a2ee1466bb.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/9d08a936417aa94f.js +73 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/9f474537016520b1.js +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/a2dfb6fc5208ab9b.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/d59f830a2b8e768c.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/e7df66aecef6f4c4.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/f55dfa8de6208e52.js +25 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/f9798ded6b53bb5a.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/fc8b4c86c7b238eb.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/chunks/turbopack-26fb8c0624bfe5ae.js +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_not-found/__next._full.txt +19 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_not-found/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_not-found/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_not-found/__next._not-found.__PAGE__.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_not-found/__next._not-found.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_not-found/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_not-found/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/_not-found/index.txt +19 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/documentation/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/documentation/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/documentation/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/documentation/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/documentation/__next.documentation.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/documentation/__next.documentation.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/documentation/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/documentation/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/generate/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/generate/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/generate/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/generate/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/generate/__next.generate.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/generate/__next.generate.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/generate/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/generate/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/login/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/login/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/login/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/login/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/login/__next.login.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/login/__next.login.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/login/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/login/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/model-training/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/model-training/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/model-training/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/model-training/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/model-training/__next.model-training.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/model-training/__next.model-training.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/model-training/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/model-training/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/recipes/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/recipes/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/recipes/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/recipes/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/recipes/__next.recipes.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/recipes/__next.recipes.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/recipes/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/recipes/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/schemas/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/schemas/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/schemas/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/schemas/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/schemas/__next.schemas.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/schemas/__next.schemas.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/schemas/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/schemas/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/settings/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/settings/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/settings/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/settings/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/settings/__next.settings.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/settings/__next.settings.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/settings/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/settings/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/sinks/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/sinks/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/sinks/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/sinks/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/sinks/__next.sinks.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/sinks/__next.sinks.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/sinks/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/sinks/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/workbench/__next._full.txt +23 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/workbench/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/workbench/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/workbench/__next._tree.txt +3 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/workbench/__next.workbench.__PAGE__.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/workbench/__next.workbench.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/workbench/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/out/workbench/index.txt +23 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/package-lock.json +8066 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/package.json +47 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/app/documentation/page.tsx +264 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/app/generate/page.tsx +1132 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/app/model-training/page.tsx +211 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/app/page.tsx +80 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/app/recipes/page.tsx +18 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/app/schemas/page.tsx +18 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/app/settings/page.tsx +265 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/app/workbench/page.tsx +797 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/layout/Navigation.tsx +186 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/BackendSelector.tsx +44 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/DataSection.tsx +368 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/EvaluationSection.tsx +142 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/ExperimentSection.tsx +64 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/HelpTip.tsx +21 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/ModelRegistryPanel.tsx +511 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/ModelSection.tsx +394 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/ResultsPanel.tsx +183 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/RunPanel.tsx +157 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/TrainingSection.tsx +320 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/YamlPreview.tsx +99 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/constants.ts +273 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/index.ts +18 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/templates.ts +389 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/types.ts +181 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/model-training/useExperimentForm.ts +261 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/sidebar/CollapsibleSidebar.tsx +188 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/sidebar/index.ts +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/ui/accordion.tsx +58 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/ui/collapsible.tsx +11 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/ui/select.tsx +160 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/ui/separator.tsx +31 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/ui/slider.tsx +28 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/ui/tooltip.tsx +30 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/workbench/CreateEnvDialog.tsx +157 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/workbench/DatabaseDialog.tsx +131 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/workbench/InstallPackageDialog.tsx +154 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/workbench/PackagePanel.tsx +173 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/workbench/SendDataDialog.tsx +190 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/workbench/ServiceStatusBar.tsx +106 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/components/workbench/WorkbenchToolbar.tsx +267 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/lib/api.ts +255 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/lib/constants.ts +43 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/lib/types/index.ts +117 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/lib/workbench.ts +385 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/src/lib/yaml-builder.ts +416 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/404/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/404.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/__next.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/0df6765465daf613.js +34 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/273748ce4060ff69.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/33edfc06290ba0dd.css +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/346ae210088a3b1c.js +340 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/3f4c3f4b40a44532.js +21 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/67019a27b3bb9d9f.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/85eb695ade2f6f87.js +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/8cd23ba7216fa8d5.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/98a0eebf60225743.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/9c8720a2ee1466bb.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/9d08a936417aa94f.js +73 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/9f474537016520b1.js +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/a2dfb6fc5208ab9b.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/d59f830a2b8e768c.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/e7df66aecef6f4c4.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/f55dfa8de6208e52.js +25 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/f9798ded6b53bb5a.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/fc8b4c86c7b238eb.js +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/chunks/turbopack-26fb8c0624bfe5ae.js +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_not-found/__next._full.txt +19 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_not-found/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_not-found/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_not-found/__next._not-found.__PAGE__.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_not-found/__next._not-found.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_not-found/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_not-found/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/_not-found/index.txt +19 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/documentation/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/documentation/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/documentation/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/documentation/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/documentation/__next.documentation.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/documentation/__next.documentation.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/documentation/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/documentation/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/generate/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/generate/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/generate/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/generate/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/generate/__next.generate.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/generate/__next.generate.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/generate/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/generate/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/login/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/login/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/login/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/login/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/login/__next.login.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/login/__next.login.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/login/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/login/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/model-training/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/model-training/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/model-training/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/model-training/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/model-training/__next.model-training.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/model-training/__next.model-training.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/model-training/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/model-training/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/recipes/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/recipes/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/recipes/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/recipes/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/recipes/__next.recipes.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/recipes/__next.recipes.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/recipes/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/recipes/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/schemas/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/schemas/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/schemas/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/schemas/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/schemas/__next.schemas.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/schemas/__next.schemas.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/schemas/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/schemas/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/settings/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/settings/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/settings/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/settings/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/settings/__next.settings.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/settings/__next.settings.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/settings/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/settings/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/sinks/__next._full.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/sinks/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/sinks/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/sinks/__next._tree.txt +2 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/sinks/__next.sinks.__PAGE__.txt +9 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/sinks/__next.sinks.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/sinks/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/sinks/index.txt +22 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/workbench/__next._full.txt +23 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/workbench/__next._head.txt +5 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/workbench/__next._index.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/workbench/__next._tree.txt +3 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/workbench/__next.workbench.__PAGE__.txt +10 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/workbench/__next.workbench.txt +4 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/workbench/index.html +1 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/static/workbench/index.txt +23 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/tailwind.config.js +100 -0
- pycatalyst-0.0.12/src/pycatalyst/ui/tsconfig.tsbuildinfo +1 -0
- pycatalyst-0.0.12/src/pycatalyst.egg-info/PKG-INFO +212 -0
- pycatalyst-0.0.12/src/pycatalyst.egg-info/SOURCES.txt +578 -0
- pycatalyst-0.0.12/src/pycatalyst.egg-info/requires.txt +105 -0
- pycatalyst-0.0.12/tests/integration/test_catalyst_store_sqlite.py +221 -0
- pycatalyst-0.0.12/tests/unit/__init__.py +0 -0
- pycatalyst-0.0.12/tests/unit/test_api.py +309 -0
- pycatalyst-0.0.12/tests/unit/test_artifact_store.py +220 -0
- pycatalyst-0.0.12/tests/unit/test_auth.py +181 -0
- pycatalyst-0.0.12/tests/unit/test_base_trainer.py +245 -0
- pycatalyst-0.0.12/tests/unit/test_catalyst_store.py +394 -0
- pycatalyst-0.0.12/tests/unit/test_generators.py +458 -0
- pycatalyst-0.0.12/tests/unit/test_ml_protocols.py +109 -0
- pycatalyst-0.0.12/tests/unit/test_ml_registry.py +54 -0
- pycatalyst-0.0.12/tests/unit/test_ml_results.py +223 -0
- pycatalyst-0.0.12/tests/unit/test_ml_types.py +71 -0
- pycatalyst-0.0.12/tests/unit/test_panel_data.py +162 -0
- pycatalyst-0.0.12/tests/unit/test_panel_dataset.py +79 -0
- pycatalyst-0.0.12/tests/unit/test_panel_pipeline.py +109 -0
- pycatalyst-0.0.12/tests/unit/test_panel_scaler.py +116 -0
- pycatalyst-0.0.12/tests/unit/test_profiles.py +95 -0
- pycatalyst-0.0.12/tests/unit/test_pytorch_trainer.py +156 -0
- pycatalyst-0.0.12/tests/unit/test_pytorch_trainer_fit_predict.py +143 -0
- pycatalyst-0.0.12/tests/unit/test_service_containers.py +663 -0
- pycatalyst-0.0.12/tests/unit/test_service_routes.py +276 -0
- pycatalyst-0.0.12/tests/unit/test_sklearn_trainer.py +209 -0
- pycatalyst-0.0.12/tests/unit/test_streaming_core.py +76 -0
- pycatalyst-0.0.12/tests/unit/test_types.py +348 -0
- pycatalyst-0.0.12/tests/unit/test_venv_backend.py +262 -0
- pycatalyst-0.0.12/tests/unit/test_workbench_manager.py +373 -0
- pycatalyst-0.0.12/tests/unit/test_workbench_routes.py +492 -0
- pycatalyst-0.0.9.dev0/.github/workflows/publish.yml +0 -94
- pycatalyst-0.0.9.dev0/.gitignore +0 -50
- pycatalyst-0.0.9.dev0/PKG-INFO +0 -129
- pycatalyst-0.0.9.dev0/README.md +0 -42
- pycatalyst-0.0.9.dev0/docs/PUBLISHING.md +0 -90
- pycatalyst-0.0.9.dev0/pycatalyst.cfg +0 -67
- pycatalyst-0.0.9.dev0/pycatalyst.cfg.example +0 -67
- pycatalyst-0.0.9.dev0/pyproject.toml +0 -261
- pycatalyst-0.0.9.dev0/setup.sh +0 -160
- pycatalyst-0.0.9.dev0/src/pycatalyst/__init__.py +0 -100
- pycatalyst-0.0.9.dev0/src/pycatalyst/_types.py +0 -401
- pycatalyst-0.0.9.dev0/src/pycatalyst/api/dependencies/__init__.py +0 -8
- pycatalyst-0.0.9.dev0/src/pycatalyst/api/dependencies/auth.py +0 -143
- pycatalyst-0.0.9.dev0/src/pycatalyst/api/main.py +0 -176
- pycatalyst-0.0.9.dev0/src/pycatalyst/api/models/responses.py +0 -20
- pycatalyst-0.0.9.dev0/src/pycatalyst/api/routes/v1/auth.py +0 -85
- pycatalyst-0.0.9.dev0/src/pycatalyst/api/routes/v1/generate.py +0 -100
- pycatalyst-0.0.9.dev0/src/pycatalyst/api/routes/v1/settings.py +0 -27
- pycatalyst-0.0.9.dev0/src/pycatalyst/api/routes/v1/workbench.py +0 -528
- pycatalyst-0.0.9.dev0/src/pycatalyst/cli.py +0 -309
- pycatalyst-0.0.9.dev0/src/pycatalyst/config/__init__.py +0 -37
- pycatalyst-0.0.9.dev0/src/pycatalyst/config/auth.py +0 -68
- pycatalyst-0.0.9.dev0/src/pycatalyst/config/workbench.py +0 -147
- pycatalyst-0.0.9.dev0/src/pycatalyst/db/migrations/env.py +0 -62
- pycatalyst-0.0.9.dev0/src/pycatalyst/db/models/__init__.py +0 -7
- pycatalyst-0.0.9.dev0/src/pycatalyst/errors.py +0 -243
- pycatalyst-0.0.9.dev0/src/pycatalyst/generators/engine.py +0 -110
- pycatalyst-0.0.9.dev0/src/pycatalyst/generators/scalar.py +0 -206
- pycatalyst-0.0.9.dev0/src/pycatalyst/py.typed +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/schema/inferrer.py +0 -253
- pycatalyst-0.0.9.dev0/src/pycatalyst/services/backends/base.py +0 -152
- pycatalyst-0.0.9.dev0/src/pycatalyst/services/backends/docker_backend.py +0 -283
- pycatalyst-0.0.9.dev0/src/pycatalyst/services/backends/venv_backend.py +0 -305
- pycatalyst-0.0.9.dev0/src/pycatalyst/services/workbench_manager.py +0 -400
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/dev.py +0 -40
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/404/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/404.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/__next.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/0664a23cd6a5f7ba.js +0 -34
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/31674d9a34dac40b.js +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/33dc0ae90f863979.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/3db2622c9e17684f.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/48f408d5c9d2a0ba.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/4a93e9c0c43d24a7.css +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/826946f349a354cd.js +0 -24
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/88a6dfcd964f4302.js +0 -73
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/ab52a6590efbe138.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/ace5f280042c2f7a.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/b82d3555a0c5ad54.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/c0645d6fea057384.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/c6ac0e3a3d0e355f.js +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/cd046009fa99a225.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/d2be314c3ece3fbe.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/de634c2407095732.js +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/chunks/turbopack-dc3a2def751ab70b.js +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_not-found/__next._full.txt +0 -19
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_not-found/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_not-found/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_not-found/__next._not-found.__PAGE__.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_not-found/__next._not-found.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_not-found/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_not-found/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_not-found/index.txt +0 -19
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/documentation/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/documentation/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/documentation/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/documentation/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/documentation/__next.documentation.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/documentation/__next.documentation.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/documentation/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/documentation/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/generate/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/generate/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/generate/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/generate/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/generate/__next.generate.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/generate/__next.generate.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/generate/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/generate/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/login/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/login/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/login/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/login/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/login/__next.login.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/login/__next.login.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/login/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/login/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/recipes/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/recipes/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/recipes/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/recipes/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/recipes/__next.recipes.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/recipes/__next.recipes.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/recipes/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/recipes/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/schemas/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/schemas/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/schemas/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/schemas/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/schemas/__next.schemas.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/schemas/__next.schemas.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/schemas/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/schemas/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/settings/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/settings/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/settings/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/settings/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/settings/__next.settings.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/settings/__next.settings.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/settings/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/settings/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/sinks/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/sinks/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/sinks/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/sinks/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/sinks/__next.sinks.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/sinks/__next.sinks.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/sinks/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/sinks/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/workbench/__next._full.txt +0 -23
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/workbench/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/workbench/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/workbench/__next._tree.txt +0 -3
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/workbench/__next.workbench.__PAGE__.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/workbench/__next.workbench.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/workbench/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/workbench/index.txt +0 -23
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/package-lock.json +0 -6687
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/package.json +0 -39
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/app/documentation/page.tsx +0 -212
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/app/generate/page.tsx +0 -303
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/app/page.tsx +0 -93
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/app/recipes/page.tsx +0 -220
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/app/schemas/page.tsx +0 -210
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/app/settings/page.tsx +0 -102
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/app/workbench/page.tsx +0 -626
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/components/layout/Navigation.tsx +0 -187
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/components/workbench/WorkbenchToolbar.tsx +0 -219
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/lib/api.ts +0 -155
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/lib/constants.ts +0 -42
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/lib/types/index.ts +0 -71
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/src/lib/workbench.ts +0 -191
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/404/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/404.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/__next.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/0664a23cd6a5f7ba.js +0 -34
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/31674d9a34dac40b.js +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/33dc0ae90f863979.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/3db2622c9e17684f.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/48f408d5c9d2a0ba.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/4a93e9c0c43d24a7.css +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/826946f349a354cd.js +0 -24
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/88a6dfcd964f4302.js +0 -73
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/ab52a6590efbe138.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/ace5f280042c2f7a.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/b82d3555a0c5ad54.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/c0645d6fea057384.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/c6ac0e3a3d0e355f.js +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/cd046009fa99a225.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/d2be314c3ece3fbe.js +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/de634c2407095732.js +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/chunks/turbopack-dc3a2def751ab70b.js +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_not-found/__next._full.txt +0 -19
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_not-found/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_not-found/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_not-found/__next._not-found.__PAGE__.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_not-found/__next._not-found.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_not-found/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_not-found/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_not-found/index.txt +0 -19
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/documentation/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/documentation/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/documentation/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/documentation/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/documentation/__next.documentation.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/documentation/__next.documentation.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/documentation/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/documentation/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/generate/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/generate/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/generate/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/generate/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/generate/__next.generate.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/generate/__next.generate.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/generate/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/generate/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/login/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/login/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/login/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/login/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/login/__next.login.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/login/__next.login.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/login/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/login/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/recipes/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/recipes/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/recipes/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/recipes/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/recipes/__next.recipes.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/recipes/__next.recipes.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/recipes/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/recipes/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/schemas/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/schemas/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/schemas/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/schemas/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/schemas/__next.schemas.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/schemas/__next.schemas.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/schemas/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/schemas/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/settings/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/settings/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/settings/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/settings/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/settings/__next.settings.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/settings/__next.settings.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/settings/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/settings/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/sinks/__next._full.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/sinks/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/sinks/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/sinks/__next._tree.txt +0 -2
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/sinks/__next.sinks.__PAGE__.txt +0 -9
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/sinks/__next.sinks.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/sinks/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/sinks/index.txt +0 -22
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/workbench/__next._full.txt +0 -23
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/workbench/__next._head.txt +0 -5
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/workbench/__next._index.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/workbench/__next._tree.txt +0 -3
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/workbench/__next.workbench.__PAGE__.txt +0 -10
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/workbench/__next.workbench.txt +0 -4
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/workbench/index.html +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/workbench/index.txt +0 -23
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/tailwind.config.js +0 -74
- pycatalyst-0.0.9.dev0/src/pycatalyst/ui/tsconfig.tsbuildinfo +0 -1
- pycatalyst-0.0.9.dev0/src/pycatalyst.egg-info/PKG-INFO +0 -129
- pycatalyst-0.0.9.dev0/src/pycatalyst.egg-info/SOURCES.txt +0 -405
- pycatalyst-0.0.9.dev0/src/pycatalyst.egg-info/requires.txt +0 -76
- pycatalyst-0.0.9.dev0/tests/unit/test_api.py +0 -272
- pycatalyst-0.0.9.dev0/tests/unit/test_generators.py +0 -392
- pycatalyst-0.0.9.dev0/tests/unit/test_types.py +0 -326
- pycatalyst-0.0.9.dev0/tests/unit/test_venv_backend.py +0 -223
- pycatalyst-0.0.9.dev0/tests/unit/test_workbench_manager.py +0 -319
- pycatalyst-0.0.9.dev0/tests/unit/test_workbench_routes.py +0 -378
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/.github/workflows/README.md +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/.github/workflows/test.yml +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/.pre-commit-config.yaml +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/CHANGELOG.md +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/CONTRIBUTING.md +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/LICENSE +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/Makefile +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/scripts/publish-once.sh +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/setup.cfg +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/_protocols.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/api/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/api/dependencies/database.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/api/models/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/api/models/requests.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/api/routes/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/api/routes/v1/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/api/routes/v1/infer.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/api/routes/v1/recipes.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/config/database.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/config/paths.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/config/ui.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/data/seed/.gitkeep +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/data/templates/recipes/pycharter_contracts.yaml +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/data/templates/recipes/pyoptima_portfolio.yaml +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/data/templates/recipes/pystator_events.yaml +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/db/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/db/base.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/db/cli.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/db/config.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/db/migrations/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/db/migrations/versions/20260101000000_initial.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/db/migrations/versions/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/db/models/app_metadata.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/db/paths.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/generators/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/generators/compound.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/generators/registry.py +0 -0
- /pycatalyst-0.0.9.dev0/src/pycatalyst/recipes/__init__.py → /pycatalyst-0.0.12/src/pycatalyst/py.typed +0 -0
- {pycatalyst-0.0.9.dev0/src/pycatalyst/schema → pycatalyst-0.0.12/src/pycatalyst/recipes}/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/recipes/loader.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/recipes/models.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/recipes/runner.py +0 -0
- {pycatalyst-0.0.9.dev0/src/pycatalyst/sinks → pycatalyst-0.0.12/src/pycatalyst/schema}/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/schema/json_schema.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/schema/pydantic.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/schema/spec.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/services/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/services/backends/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0/src/pycatalyst/worker → pycatalyst-0.0.12/src/pycatalyst/sinks}/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/sinks/database.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/sinks/file.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/sinks/http.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/sinks/kafka.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/sinks/memory.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/sinks/rabbitmq.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/.eslintrc.json +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/.npmrc +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/build.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/components.json +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/next-env.d.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/next.config.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/node_modules/flatted/python/flatted.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/out/_next/static/chunks/0575f275776d153c.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/out/_next/static/chunks/612195d87a9f708e.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/out/_next/static/chunks/82abf2d65f5428ae.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/out/_next/static/chunks/a6dad97d9634a72d.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/out/_next/static/chunks/a6dad97d9634a72d.js.map +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/out/_next/static/chunks/b7b85a15f387ab7c.css +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/out/_next/static/chunks/cc784667b24a8c60.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/out/_next/static/chunks/f2f58a7e93290fbb.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/out/_next/static/chunks/ff1a16fafef87110.js +0 -0
- {pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/U_FdO2wSzlQs1kePdag6v → pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/wnhmrh4sg9FcLYFjS7Ozy}/_buildManifest.js +0 -0
- {pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/U_FdO2wSzlQs1kePdag6v → pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/wnhmrh4sg9FcLYFjS7Ozy}/_clientMiddlewareManifest.json +0 -0
- {pycatalyst-0.0.9.dev0/src/pycatalyst/ui/out/_next/static/U_FdO2wSzlQs1kePdag6v → pycatalyst-0.0.12/src/pycatalyst/ui/out/_next/static/wnhmrh4sg9FcLYFjS7Ozy}/_ssgManifest.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/postcss.config.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/server.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/app/error.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/app/globals.css +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/app/layout.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/app/loading.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/app/login/page.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/app/sinks/page.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/app/themes.css +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/ThemeFromConfig.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/ThemeSync.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/common/ErrorBoundary.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/common/ErrorDisplay.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/common/LoadingSpinner.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/common/index.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/layout/ApiUnavailableBanner.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/layout/AppShell.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/layout/AuthGuard.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/layout/PageContainer.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/layout/PageHeader.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/layout/index.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/ui/alert.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/ui/badge.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/ui/button.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/ui/card.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/ui/input.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/ui/label.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/ui/skeleton.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/ui/switch.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/ui/tabs.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/ui/textarea.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/workbench/ContainerDialog.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/components/workbench/TerminalPanel.tsx +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/hooks/use-auth-init.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/lib/auth-storage.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/lib/settings.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/lib/terminal-theme.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/lib/utils.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/lib/workbench-storage.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/stores/app-config.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/stores/auth.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/stores/index.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/src/types/global.d.ts +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/static/_next/static/chunks/0575f275776d153c.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/static/_next/static/chunks/612195d87a9f708e.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/static/_next/static/chunks/82abf2d65f5428ae.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/static/_next/static/chunks/a6dad97d9634a72d.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/static/_next/static/chunks/a6dad97d9634a72d.js.map +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/static/_next/static/chunks/b7b85a15f387ab7c.css +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/static/_next/static/chunks/cc784667b24a8c60.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/static/_next/static/chunks/f2f58a7e93290fbb.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/static/_next/static/chunks/ff1a16fafef87110.js +0 -0
- {pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/U_FdO2wSzlQs1kePdag6v → pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/wnhmrh4sg9FcLYFjS7Ozy}/_buildManifest.js +0 -0
- {pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/U_FdO2wSzlQs1kePdag6v → pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/wnhmrh4sg9FcLYFjS7Ozy}/_clientMiddlewareManifest.json +0 -0
- {pycatalyst-0.0.9.dev0/src/pycatalyst/ui/static/_next/static/U_FdO2wSzlQs1kePdag6v → pycatalyst-0.0.12/src/pycatalyst/ui/static/_next/static/wnhmrh4sg9FcLYFjS7Ozy}/_ssgManifest.js +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst/ui/tsconfig.json +0 -0
- {pycatalyst-0.0.9.dev0/tests/integration → pycatalyst-0.0.12/src/pycatalyst/worker}/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst.egg-info/dependency_links.txt +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst.egg-info/entry_points.txt +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/src/pycatalyst.egg-info/top_level.txt +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/conftest.py +0 -0
- {pycatalyst-0.0.9.dev0/tests/unit → pycatalyst-0.0.12/tests/integration}/__init__.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/test_version.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/unit/test_database_sink.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/unit/test_errors.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/unit/test_file_sink.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/unit/test_http_sink.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/unit/test_kafka_sink.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/unit/test_protocols.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/unit/test_rabbitmq_sink.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/unit/test_recipes.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/unit/test_schema.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/unit/test_scrollback_buffer.py +0 -0
- {pycatalyst-0.0.9.dev0 → pycatalyst-0.0.12}/tests/unit/test_sinks.py +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Build and publish to PyPI when a version tag (v*) is pushed.
|
|
2
|
+
# Also supports manual run (workflow_dispatch).
|
|
3
|
+
# Version is derived from the git tag by setuptools-scm.
|
|
4
|
+
|
|
5
|
+
name: Build and Publish
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
push:
|
|
9
|
+
tags: ['v*']
|
|
10
|
+
workflow_dispatch:
|
|
11
|
+
|
|
12
|
+
permissions:
|
|
13
|
+
id-token: write
|
|
14
|
+
contents: write
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
build-and-publish:
|
|
18
|
+
name: Build and Publish to PyPI
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
steps:
|
|
21
|
+
- name: Checkout
|
|
22
|
+
uses: actions/checkout@v4
|
|
23
|
+
with:
|
|
24
|
+
fetch-depth: 0
|
|
25
|
+
# Build from the release tag so setuptools-scm produces a full release version (not .dev)
|
|
26
|
+
ref: ${{ github.event_name == 'release' && github.event.release.tag_name || github.ref }}
|
|
27
|
+
|
|
28
|
+
- name: Set version from tag
|
|
29
|
+
if: startsWith(github.ref, 'refs/tags/')
|
|
30
|
+
run: echo "SETUPTOOLS_SCM_PRETEND_VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV
|
|
31
|
+
|
|
32
|
+
- name: Set up Python
|
|
33
|
+
uses: actions/setup-python@v5
|
|
34
|
+
with:
|
|
35
|
+
python-version: '3.12'
|
|
36
|
+
cache: 'pip'
|
|
37
|
+
cache-dependency-path: pyproject.toml
|
|
38
|
+
|
|
39
|
+
- name: Install dependencies and run tests
|
|
40
|
+
run: |
|
|
41
|
+
python -m pip install --upgrade pip
|
|
42
|
+
pip install -e ".[dev]"
|
|
43
|
+
pytest
|
|
44
|
+
|
|
45
|
+
- name: Set up Node.js
|
|
46
|
+
if: hashFiles('src/pycatalyst/ui/package.json') != ''
|
|
47
|
+
uses: actions/setup-node@v4
|
|
48
|
+
with:
|
|
49
|
+
node-version: '20'
|
|
50
|
+
cache: 'npm'
|
|
51
|
+
cache-dependency-path: src/pycatalyst/ui/package-lock.json
|
|
52
|
+
|
|
53
|
+
- name: Install UI dependencies
|
|
54
|
+
if: hashFiles('src/pycatalyst/ui/package.json') != ''
|
|
55
|
+
run: |
|
|
56
|
+
cd src/pycatalyst/ui
|
|
57
|
+
npm ci
|
|
58
|
+
|
|
59
|
+
- name: Build UI
|
|
60
|
+
if: hashFiles('src/pycatalyst/ui/package.json') != ''
|
|
61
|
+
run: |
|
|
62
|
+
cd src/pycatalyst/ui
|
|
63
|
+
npm run build
|
|
64
|
+
|
|
65
|
+
- name: Copy UI build to static
|
|
66
|
+
if: hashFiles('src/pycatalyst/ui/package.json') != ''
|
|
67
|
+
run: |
|
|
68
|
+
if [ -d src/pycatalyst/ui/out ] && [ -f src/pycatalyst/ui/out/index.html ]; then
|
|
69
|
+
rm -rf src/pycatalyst/ui/static
|
|
70
|
+
cp -r src/pycatalyst/ui/out src/pycatalyst/ui/static
|
|
71
|
+
fi
|
|
72
|
+
|
|
73
|
+
- name: Install build tools
|
|
74
|
+
run: pip install build
|
|
75
|
+
|
|
76
|
+
- name: Build package
|
|
77
|
+
run: python -m build
|
|
78
|
+
|
|
79
|
+
- name: Verify package
|
|
80
|
+
run: |
|
|
81
|
+
python -m zipfile -l dist/pycatalyst-*.whl | head -30
|
|
82
|
+
echo "Package built successfully"
|
|
83
|
+
|
|
84
|
+
# Only publish to PyPI when building from a tag (official release). Skip for workflow_dispatch so we don't publish dev versions as pre-release.
|
|
85
|
+
- name: Publish to PyPI
|
|
86
|
+
if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'release'
|
|
87
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
88
|
+
with:
|
|
89
|
+
packages-dir: dist/
|
|
90
|
+
|
|
91
|
+
- name: Create GitHub Release
|
|
92
|
+
if: startsWith(github.ref, 'refs/tags/') && github.event_name != 'release'
|
|
93
|
+
uses: softprops/action-gh-release@v2.4.2
|
|
94
|
+
with:
|
|
95
|
+
tag_name: ${{ github.ref_name }}
|
|
96
|
+
name: ${{ github.ref_name }}
|
|
97
|
+
generate_release_notes: true
|
|
98
|
+
env:
|
|
99
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------
|
|
2
|
+
# Python (GitHub gitignore template)
|
|
3
|
+
# https://github.com/github/gitignore/blob/main/Python.gitignore
|
|
4
|
+
# -----------------------------------------------------------------------------
|
|
5
|
+
# Byte-compiled / optimized / DLL files
|
|
6
|
+
__pycache__/
|
|
7
|
+
*.py[cod]
|
|
8
|
+
*$py.class
|
|
9
|
+
|
|
10
|
+
# C extensions
|
|
11
|
+
*.so
|
|
12
|
+
|
|
13
|
+
# Distribution / packaging
|
|
14
|
+
.Python
|
|
15
|
+
/build/
|
|
16
|
+
/develop-eggs/
|
|
17
|
+
/dist/
|
|
18
|
+
/downloads/
|
|
19
|
+
/eggs/
|
|
20
|
+
/.eggs/
|
|
21
|
+
/lib/
|
|
22
|
+
/lib64/
|
|
23
|
+
/parts/
|
|
24
|
+
/sdist/
|
|
25
|
+
/var/
|
|
26
|
+
/wheels/
|
|
27
|
+
/share/python-wheels/
|
|
28
|
+
*.egg-info/
|
|
29
|
+
.installed.cfg
|
|
30
|
+
*.egg
|
|
31
|
+
MANIFEST
|
|
32
|
+
|
|
33
|
+
# PyInstaller
|
|
34
|
+
*.manifest
|
|
35
|
+
*.spec
|
|
36
|
+
|
|
37
|
+
# Installer logs
|
|
38
|
+
pip-log.txt
|
|
39
|
+
pip-delete-this-directory.txt
|
|
40
|
+
|
|
41
|
+
# Unit test / coverage reports
|
|
42
|
+
htmlcov/
|
|
43
|
+
.tox/
|
|
44
|
+
.nox/
|
|
45
|
+
.coverage
|
|
46
|
+
.coverage.*
|
|
47
|
+
.cache
|
|
48
|
+
nosetests.xml
|
|
49
|
+
coverage.xml
|
|
50
|
+
*.cover
|
|
51
|
+
*.py.cover
|
|
52
|
+
.hypothesis/
|
|
53
|
+
.pytest_cache/
|
|
54
|
+
cover/
|
|
55
|
+
|
|
56
|
+
# Translations
|
|
57
|
+
*.mo
|
|
58
|
+
*.pot
|
|
59
|
+
|
|
60
|
+
# Django
|
|
61
|
+
*.log
|
|
62
|
+
local_settings.py
|
|
63
|
+
db.sqlite3
|
|
64
|
+
db.sqlite3-journal
|
|
65
|
+
# Local SQLite DB (default when no DB URL configured)
|
|
66
|
+
pycatalyst.db
|
|
67
|
+
*.db
|
|
68
|
+
|
|
69
|
+
# Flask
|
|
70
|
+
instance/
|
|
71
|
+
.webassets-cache
|
|
72
|
+
|
|
73
|
+
# Scrapy
|
|
74
|
+
.scrapy
|
|
75
|
+
|
|
76
|
+
# Sphinx documentation
|
|
77
|
+
docs/_build/
|
|
78
|
+
|
|
79
|
+
# PyBuilder
|
|
80
|
+
.pybuilder/
|
|
81
|
+
target/
|
|
82
|
+
|
|
83
|
+
# Jupyter Notebook
|
|
84
|
+
.ipynb_checkpoints
|
|
85
|
+
|
|
86
|
+
# IPython
|
|
87
|
+
profile_default/
|
|
88
|
+
ipython_config.py
|
|
89
|
+
|
|
90
|
+
# pyenv
|
|
91
|
+
# .python-version
|
|
92
|
+
|
|
93
|
+
# pipenv
|
|
94
|
+
# Pipfile.lock
|
|
95
|
+
|
|
96
|
+
# poetry
|
|
97
|
+
# poetry.lock
|
|
98
|
+
# poetry.toml
|
|
99
|
+
|
|
100
|
+
# pdm
|
|
101
|
+
# pdm.lock
|
|
102
|
+
# pdm.toml
|
|
103
|
+
.pdm-python
|
|
104
|
+
.pdm-build/
|
|
105
|
+
|
|
106
|
+
# PEP 582
|
|
107
|
+
__pypackages__/
|
|
108
|
+
|
|
109
|
+
# Celery
|
|
110
|
+
celerybeat-schedule
|
|
111
|
+
celerybeat.pid
|
|
112
|
+
|
|
113
|
+
# Redis
|
|
114
|
+
*.rdb
|
|
115
|
+
*.aof
|
|
116
|
+
*.pid
|
|
117
|
+
|
|
118
|
+
# RabbitMQ
|
|
119
|
+
mnesia/
|
|
120
|
+
rabbitmq/
|
|
121
|
+
rabbitmq-data/
|
|
122
|
+
|
|
123
|
+
# SageMath
|
|
124
|
+
*.sage.py
|
|
125
|
+
|
|
126
|
+
# Environments
|
|
127
|
+
.env
|
|
128
|
+
.envrc
|
|
129
|
+
.env.local
|
|
130
|
+
.env.development
|
|
131
|
+
.env.test
|
|
132
|
+
.env.production
|
|
133
|
+
.env.staging
|
|
134
|
+
.env.*.local
|
|
135
|
+
.venv
|
|
136
|
+
env/
|
|
137
|
+
venv/
|
|
138
|
+
ENV/
|
|
139
|
+
env.bak/
|
|
140
|
+
venv.bak/
|
|
141
|
+
|
|
142
|
+
# Spyder
|
|
143
|
+
.spyderproject
|
|
144
|
+
.spyproject
|
|
145
|
+
|
|
146
|
+
# Rope
|
|
147
|
+
.ropeproject
|
|
148
|
+
|
|
149
|
+
# MkDocs
|
|
150
|
+
/site
|
|
151
|
+
|
|
152
|
+
# mypy
|
|
153
|
+
.mypy_cache/
|
|
154
|
+
.dmypy.json
|
|
155
|
+
dmypy.json
|
|
156
|
+
|
|
157
|
+
# Pyre
|
|
158
|
+
.pyre/
|
|
159
|
+
|
|
160
|
+
# pytype
|
|
161
|
+
.pytype/
|
|
162
|
+
|
|
163
|
+
# Cython
|
|
164
|
+
cython_debug/
|
|
165
|
+
|
|
166
|
+
# Ruff
|
|
167
|
+
.ruff_cache/
|
|
168
|
+
|
|
169
|
+
# PyPI
|
|
170
|
+
.pypirc
|
|
171
|
+
|
|
172
|
+
# -----------------------------------------------------------------------------
|
|
173
|
+
# JetBrains IDEs (GitHub Global/JetBrains.gitignore)
|
|
174
|
+
# -----------------------------------------------------------------------------
|
|
175
|
+
.idea/**/workspace.xml
|
|
176
|
+
.idea/**/tasks.xml
|
|
177
|
+
.idea/**/usage.statistics.xml
|
|
178
|
+
.idea/**/dictionaries
|
|
179
|
+
.idea/**/shelf
|
|
180
|
+
.idea/**/aws.xml
|
|
181
|
+
.idea/**/contentModel.xml
|
|
182
|
+
.idea/**/dataSources/
|
|
183
|
+
.idea/**/dataSources.ids
|
|
184
|
+
.idea/**/dataSources.local.xml
|
|
185
|
+
.idea/**/sqlDataSources.xml
|
|
186
|
+
.idea/**/dynamic.xml
|
|
187
|
+
.idea/**/uiDesigner.xml
|
|
188
|
+
.idea/**/dbnavigator.xml
|
|
189
|
+
.idea/**/gradle.xml
|
|
190
|
+
.idea/**/libraries
|
|
191
|
+
.idea/**/mongoSettings.xml
|
|
192
|
+
.idea/replstate.xml
|
|
193
|
+
.idea/sonarlint/
|
|
194
|
+
.idea/sonarlint.xml
|
|
195
|
+
.idea/httpRequests
|
|
196
|
+
http-client.private.env.json
|
|
197
|
+
.idea/caches/build_file_checksums.ser
|
|
198
|
+
.idea/.cache/.Apifox_Helper
|
|
199
|
+
.idea/ApifoxUploaderProjectSetting.xml
|
|
200
|
+
.idea/**/copilot.data.migration.*.xml
|
|
201
|
+
cmake-build-*/
|
|
202
|
+
*.iws
|
|
203
|
+
out/
|
|
204
|
+
.idea_modules/
|
|
205
|
+
atlassian-ide-plugin.xml
|
|
206
|
+
com_crashlytics_export_strings.xml
|
|
207
|
+
crashlytics.properties
|
|
208
|
+
crashlytics-build.properties
|
|
209
|
+
fabric.properties
|
|
210
|
+
|
|
211
|
+
# -----------------------------------------------------------------------------
|
|
212
|
+
# Visual Studio Code (GitHub Global/VisualStudioCode.gitignore)
|
|
213
|
+
# -----------------------------------------------------------------------------
|
|
214
|
+
.vscode/*
|
|
215
|
+
!.vscode/settings.json
|
|
216
|
+
!.vscode/tasks.json
|
|
217
|
+
!.vscode/launch.json
|
|
218
|
+
!.vscode/extensions.json
|
|
219
|
+
!.vscode/*.code-snippets
|
|
220
|
+
*.vsix
|
|
221
|
+
|
|
222
|
+
# Ignore entire IDE directories (keeps repo clean; remove if you want to share IDE config)
|
|
223
|
+
.idea/
|
|
224
|
+
.vscode/
|
|
225
|
+
|
|
226
|
+
# -----------------------------------------------------------------------------
|
|
227
|
+
# macOS (GitHub Global/macOS.gitignore)
|
|
228
|
+
# -----------------------------------------------------------------------------
|
|
229
|
+
.DS_Store
|
|
230
|
+
__MACOSX/
|
|
231
|
+
.AppleDouble
|
|
232
|
+
.LSOverride
|
|
233
|
+
Icon[ ]
|
|
234
|
+
._*
|
|
235
|
+
.DocumentRevisions-V100
|
|
236
|
+
.fseventsd
|
|
237
|
+
.Spotlight-V100
|
|
238
|
+
.TemporaryItems
|
|
239
|
+
.Trashes
|
|
240
|
+
.VolumeIcon.icns
|
|
241
|
+
.com.apple.timemachine.donotpresent
|
|
242
|
+
.AppleDB
|
|
243
|
+
.AppleDesktop
|
|
244
|
+
Network Trash Folder
|
|
245
|
+
Temporary Items
|
|
246
|
+
.apdisk
|
|
247
|
+
|
|
248
|
+
# -----------------------------------------------------------------------------
|
|
249
|
+
# Windows (GitHub Global/Windows.gitignore)
|
|
250
|
+
# -----------------------------------------------------------------------------
|
|
251
|
+
Thumbs.db
|
|
252
|
+
Thumbs.db:encryptable
|
|
253
|
+
ehthumbs.db
|
|
254
|
+
ehthumbs_vista.db
|
|
255
|
+
*.stackdump
|
|
256
|
+
[Dd]esktop.ini
|
|
257
|
+
$RECYCLE.BIN/
|
|
258
|
+
*.cab
|
|
259
|
+
*.msi
|
|
260
|
+
*.msix
|
|
261
|
+
*.msm
|
|
262
|
+
*.msp
|
|
263
|
+
*.lnk
|
|
264
|
+
|
|
265
|
+
# -----------------------------------------------------------------------------
|
|
266
|
+
# Editor backups / misc
|
|
267
|
+
# -----------------------------------------------------------------------------
|
|
268
|
+
*.swp
|
|
269
|
+
*.swo
|
|
270
|
+
*~
|
|
271
|
+
|
|
272
|
+
# -----------------------------------------------------------------------------
|
|
273
|
+
# Project-specific (pycatalyst)
|
|
274
|
+
# -----------------------------------------------------------------------------
|
|
275
|
+
site/
|
|
276
|
+
src/pycatalyst/ui/.next/
|
|
277
|
+
src/pycatalyst/ui/out/
|
|
278
|
+
src/pycatalyst/ui/node_modules/
|
|
279
|
+
src/pycatalyst/ui/.env*.local
|
|
280
|
+
src/pycatalyst/ui/static/
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pycatalyst
|
|
3
|
+
Version: 0.0.12
|
|
4
|
+
Summary: A schema-aware data generation and testing platform for Python
|
|
5
|
+
Author-email: StatFYI <contact@statfyi.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/optophi/pycatalyst
|
|
8
|
+
Project-URL: Documentation, https://optophi.github.io/pycatalyst/
|
|
9
|
+
Project-URL: Repository, https://github.com/optophi/pycatalyst
|
|
10
|
+
Project-URL: Issues, https://github.com/optophi/pycatalyst/issues
|
|
11
|
+
Project-URL: Changelog, https://github.com/optophi/pycatalyst/blob/main/CHANGELOG.md
|
|
12
|
+
Keywords: data-generation,testing,synthetic-data,schema,fake-data
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Typing :: Typed
|
|
21
|
+
Classifier: Topic :: Software Development :: Testing
|
|
22
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
23
|
+
Requires-Python: >=3.11
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
License-File: LICENSE
|
|
26
|
+
Requires-Dist: pyyaml>=6.0.0
|
|
27
|
+
Requires-Dist: exrex>=0.11.0
|
|
28
|
+
Provides-Extra: inference
|
|
29
|
+
Requires-Dist: pandas>=2.0.0; extra == "inference"
|
|
30
|
+
Provides-Extra: faker
|
|
31
|
+
Requires-Dist: faker>=20.0.0; extra == "faker"
|
|
32
|
+
Provides-Extra: parquet
|
|
33
|
+
Requires-Dist: pyarrow>=14.0.0; extra == "parquet"
|
|
34
|
+
Provides-Extra: http
|
|
35
|
+
Requires-Dist: httpx>=0.24.0; extra == "http"
|
|
36
|
+
Provides-Extra: kafka
|
|
37
|
+
Requires-Dist: confluent-kafka>=2.3.0; extra == "kafka"
|
|
38
|
+
Provides-Extra: rabbitmq
|
|
39
|
+
Requires-Dist: pika>=1.3.0; extra == "rabbitmq"
|
|
40
|
+
Provides-Extra: api
|
|
41
|
+
Requires-Dist: fastapi>=0.104.0; extra == "api"
|
|
42
|
+
Requires-Dist: uvicorn[standard]>=0.24.0; extra == "api"
|
|
43
|
+
Requires-Dist: pydantic>=2.0.0; extra == "api"
|
|
44
|
+
Requires-Dist: pydantic-settings>=2.0.0; extra == "api"
|
|
45
|
+
Requires-Dist: python-multipart>=0.0.6; extra == "api"
|
|
46
|
+
Requires-Dist: PyJWT>=2.8.0; extra == "api"
|
|
47
|
+
Requires-Dist: httpx>=0.24.0; extra == "api"
|
|
48
|
+
Requires-Dist: alembic>=1.13.0; extra == "api"
|
|
49
|
+
Requires-Dist: sqlalchemy>=2.0.0; extra == "api"
|
|
50
|
+
Provides-Extra: worker
|
|
51
|
+
Requires-Dist: alembic>=1.13.0; extra == "worker"
|
|
52
|
+
Requires-Dist: sqlalchemy>=2.0.0; extra == "worker"
|
|
53
|
+
Provides-Extra: ui
|
|
54
|
+
Requires-Dist: fastapi>=0.104.0; extra == "ui"
|
|
55
|
+
Requires-Dist: uvicorn[standard]>=0.24.0; extra == "ui"
|
|
56
|
+
Requires-Dist: httpx>=0.24.0; extra == "ui"
|
|
57
|
+
Requires-Dist: aiofiles>=23.0.0; extra == "ui"
|
|
58
|
+
Provides-Extra: workbench
|
|
59
|
+
Requires-Dist: pycatalyst[api,sandbox]; extra == "workbench"
|
|
60
|
+
Requires-Dist: ipython>=8.0.0; extra == "workbench"
|
|
61
|
+
Provides-Extra: sandbox
|
|
62
|
+
Requires-Dist: docker>=7.0.0; extra == "sandbox"
|
|
63
|
+
Provides-Extra: ml-core
|
|
64
|
+
Requires-Dist: torch>=2.0.0; extra == "ml-core"
|
|
65
|
+
Requires-Dist: numpy>=1.24.0; extra == "ml-core"
|
|
66
|
+
Requires-Dist: pandas>=2.0.0; extra == "ml-core"
|
|
67
|
+
Requires-Dist: matplotlib>=3.7.0; extra == "ml-core"
|
|
68
|
+
Requires-Dist: pydantic>=2.0.0; extra == "ml-core"
|
|
69
|
+
Requires-Dist: joblib>=1.3.0; extra == "ml-core"
|
|
70
|
+
Provides-Extra: ml-sklearn
|
|
71
|
+
Requires-Dist: pycatalyst[ml-core]; extra == "ml-sklearn"
|
|
72
|
+
Requires-Dist: scikit-learn>=1.3.0; extra == "ml-sklearn"
|
|
73
|
+
Provides-Extra: ml-llm
|
|
74
|
+
Requires-Dist: pycatalyst[ml-core]; extra == "ml-llm"
|
|
75
|
+
Requires-Dist: transformers>=4.36.0; extra == "ml-llm"
|
|
76
|
+
Requires-Dist: peft>=0.7.0; extra == "ml-llm"
|
|
77
|
+
Requires-Dist: datasets>=2.16.0; extra == "ml-llm"
|
|
78
|
+
Requires-Dist: accelerate>=0.25.0; extra == "ml-llm"
|
|
79
|
+
Provides-Extra: ml
|
|
80
|
+
Requires-Dist: pycatalyst[ml-core,ml-llm,ml-sklearn]; extra == "ml"
|
|
81
|
+
Provides-Extra: db
|
|
82
|
+
Requires-Dist: alembic>=1.13.0; extra == "db"
|
|
83
|
+
Requires-Dist: sqlalchemy>=2.0.0; extra == "db"
|
|
84
|
+
Provides-Extra: postgres
|
|
85
|
+
Requires-Dist: psycopg2-binary>=2.9.0; extra == "postgres"
|
|
86
|
+
Provides-Extra: mongodb
|
|
87
|
+
Requires-Dist: pymongo>=4.6.0; extra == "mongodb"
|
|
88
|
+
Provides-Extra: s3
|
|
89
|
+
Requires-Dist: boto3>=1.28.0; extra == "s3"
|
|
90
|
+
Provides-Extra: docs
|
|
91
|
+
Requires-Dist: mkdocs-material>=9.5.0; extra == "docs"
|
|
92
|
+
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == "docs"
|
|
93
|
+
Provides-Extra: all
|
|
94
|
+
Requires-Dist: pycatalyst[api,db,docs,faker,http,inference,ml,mongodb,parquet,postgres,s3,sandbox,ui,workbench,worker]; extra == "all"
|
|
95
|
+
Provides-Extra: dev
|
|
96
|
+
Requires-Dist: pycatalyst[all]; extra == "dev"
|
|
97
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
98
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
99
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
100
|
+
Requires-Dist: hypothesis>=6.0.0; extra == "dev"
|
|
101
|
+
Requires-Dist: ruff>=0.9.0; extra == "dev"
|
|
102
|
+
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
103
|
+
Requires-Dist: pre-commit>=3.0.0; extra == "dev"
|
|
104
|
+
Requires-Dist: build>=0.10.0; extra == "dev"
|
|
105
|
+
Requires-Dist: twine>=4.0.0; extra == "dev"
|
|
106
|
+
Requires-Dist: types-PyYAML>=6.0.0; extra == "dev"
|
|
107
|
+
Requires-Dist: jupyterlab>=4.0.0; extra == "dev"
|
|
108
|
+
Requires-Dist: ipykernel>=6.0.0; extra == "dev"
|
|
109
|
+
Dynamic: license-file
|
|
110
|
+
|
|
111
|
+
# PyCatalyst
|
|
112
|
+
|
|
113
|
+
Schema-aware **data generation** and testing: recipes (YAML), REST API, optional UI, schema inference, and ML hooks.
|
|
114
|
+
|
|
115
|
+
## Documentation
|
|
116
|
+
|
|
117
|
+
- **Published** (GitHub Pages): [optophi.github.io/pycatalyst](https://optophi.github.io/pycatalyst/) — start with **Getting Started → Quick Start**.
|
|
118
|
+
- **Local docs** (from repo root):
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
pip install "pycatalyst[docs]"
|
|
122
|
+
pycatalyst docs serve
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Opens at [http://127.0.0.1:8007](http://127.0.0.1:8007) by default. Static site: `pycatalyst docs build` → `site/`.
|
|
126
|
+
|
|
127
|
+
- **Live API** (when the server is running): [http://127.0.0.1:8006/docs](http://127.0.0.1:8006/docs) (Swagger).
|
|
128
|
+
|
|
129
|
+
Tutorial index in the doc site: Quick Start, API authentication, generate, recipes, infer schema, workbench.
|
|
130
|
+
|
|
131
|
+
## Installation
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
pip install pycatalyst
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
API server, DB, and common extras:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
pip install "pycatalyst[api,db,inference,faker]"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
From source (editable):
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
git clone https://github.com/optophi/pycatalyst
|
|
147
|
+
cd pycatalyst
|
|
148
|
+
pip install -e ".[dev]"
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Quick Start (CLI)
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
pycatalyst api --port 8006
|
|
155
|
+
pycatalyst generate --recipe path/to/recipe.yaml -n 10
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
See the **Quick Start** page in the docs for database setup, UI, and REST examples.
|
|
159
|
+
|
|
160
|
+
## Streaming mock data
|
|
161
|
+
|
|
162
|
+
**Python** — same sequence as batch generation for a fixed seed:
|
|
163
|
+
|
|
164
|
+
```python
|
|
165
|
+
from pycatalyst import GenerationEngine, SchemaBuilder
|
|
166
|
+
|
|
167
|
+
engine = GenerationEngine()
|
|
168
|
+
schema = SchemaBuilder("events").add_uuid("id").add_string("kind").build()
|
|
169
|
+
for row in engine.iter_records(schema, seed=123, limit=1000):
|
|
170
|
+
process(row)
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**HTTP (Server-Sent Events)** — `POST /api/v1/stream/sse` with the same field list as `/generate`, plus `max_records` and optional `interval_ms`. Use `curl -N` and a Bearer token when auth is enabled:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
curl -N -H "Authorization: Bearer YOUR_JWT" -H "Content-Type: application/json" \
|
|
177
|
+
-d '{"name":"x","fields":[{"name":"n","type":"int"}],"max_records":5,"seed":1}' \
|
|
178
|
+
http://127.0.0.1:8006/api/v1/stream/sse
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**CLI — NDJSON to stdout** (one JSON object per line):
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
pycatalyst stream ndjson --schema my.json -n 500 --seed 1
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**CLI — Kafka** (`pip install pycatalyst[kafka]`):
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
export PYCATALYST_STREAM_KAFKA_BOOTSTRAP=localhost:9092
|
|
191
|
+
export PYCATALYST_STREAM_KAFKA_TOPIC=test-topic
|
|
192
|
+
pycatalyst stream kafka --schema my.json -n 2000 --batch 100
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Server caps (optional): `PYCATALYST_STREAM_MAX_RECORDS`, `PYCATALYST_STREAM_MAX_INTERVAL_MS`.
|
|
196
|
+
|
|
197
|
+
## Development
|
|
198
|
+
|
|
199
|
+
- **Lint & format:** `ruff check . && ruff format .`
|
|
200
|
+
- **Type check:** `mypy src/`
|
|
201
|
+
- **Tests:** `pytest`
|
|
202
|
+
- **Coverage:** `pytest --cov=pycatalyst --cov-report=term-missing`
|
|
203
|
+
|
|
204
|
+
## Publishing
|
|
205
|
+
|
|
206
|
+
1. Bump version in `pyproject.toml` and `CHANGELOG.md`.
|
|
207
|
+
2. Create a release tag: `git tag v0.1.0 && git push origin v0.1.0`.
|
|
208
|
+
3. The GitHub Action uses [PyPI Trusted Publishing](https://docs.pypi.org/trusted-publishers/); configure the publisher on PyPI for this repo, then the workflow will publish on tag push.
|
|
209
|
+
|
|
210
|
+
## License
|
|
211
|
+
|
|
212
|
+
MIT
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# PyCatalyst
|
|
2
|
+
|
|
3
|
+
Schema-aware **data generation** and testing: recipes (YAML), REST API, optional UI, schema inference, and ML hooks.
|
|
4
|
+
|
|
5
|
+
## Documentation
|
|
6
|
+
|
|
7
|
+
- **Published** (GitHub Pages): [optophi.github.io/pycatalyst](https://optophi.github.io/pycatalyst/) — start with **Getting Started → Quick Start**.
|
|
8
|
+
- **Local docs** (from repo root):
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
pip install "pycatalyst[docs]"
|
|
12
|
+
pycatalyst docs serve
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Opens at [http://127.0.0.1:8007](http://127.0.0.1:8007) by default. Static site: `pycatalyst docs build` → `site/`.
|
|
16
|
+
|
|
17
|
+
- **Live API** (when the server is running): [http://127.0.0.1:8006/docs](http://127.0.0.1:8006/docs) (Swagger).
|
|
18
|
+
|
|
19
|
+
Tutorial index in the doc site: Quick Start, API authentication, generate, recipes, infer schema, workbench.
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
pip install pycatalyst
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
API server, DB, and common extras:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pip install "pycatalyst[api,db,inference,faker]"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
From source (editable):
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
git clone https://github.com/optophi/pycatalyst
|
|
37
|
+
cd pycatalyst
|
|
38
|
+
pip install -e ".[dev]"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Quick Start (CLI)
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pycatalyst api --port 8006
|
|
45
|
+
pycatalyst generate --recipe path/to/recipe.yaml -n 10
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
See the **Quick Start** page in the docs for database setup, UI, and REST examples.
|
|
49
|
+
|
|
50
|
+
## Streaming mock data
|
|
51
|
+
|
|
52
|
+
**Python** — same sequence as batch generation for a fixed seed:
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
from pycatalyst import GenerationEngine, SchemaBuilder
|
|
56
|
+
|
|
57
|
+
engine = GenerationEngine()
|
|
58
|
+
schema = SchemaBuilder("events").add_uuid("id").add_string("kind").build()
|
|
59
|
+
for row in engine.iter_records(schema, seed=123, limit=1000):
|
|
60
|
+
process(row)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**HTTP (Server-Sent Events)** — `POST /api/v1/stream/sse` with the same field list as `/generate`, plus `max_records` and optional `interval_ms`. Use `curl -N` and a Bearer token when auth is enabled:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
curl -N -H "Authorization: Bearer YOUR_JWT" -H "Content-Type: application/json" \
|
|
67
|
+
-d '{"name":"x","fields":[{"name":"n","type":"int"}],"max_records":5,"seed":1}' \
|
|
68
|
+
http://127.0.0.1:8006/api/v1/stream/sse
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**CLI — NDJSON to stdout** (one JSON object per line):
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
pycatalyst stream ndjson --schema my.json -n 500 --seed 1
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**CLI — Kafka** (`pip install pycatalyst[kafka]`):
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
export PYCATALYST_STREAM_KAFKA_BOOTSTRAP=localhost:9092
|
|
81
|
+
export PYCATALYST_STREAM_KAFKA_TOPIC=test-topic
|
|
82
|
+
pycatalyst stream kafka --schema my.json -n 2000 --batch 100
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Server caps (optional): `PYCATALYST_STREAM_MAX_RECORDS`, `PYCATALYST_STREAM_MAX_INTERVAL_MS`.
|
|
86
|
+
|
|
87
|
+
## Development
|
|
88
|
+
|
|
89
|
+
- **Lint & format:** `ruff check . && ruff format .`
|
|
90
|
+
- **Type check:** `mypy src/`
|
|
91
|
+
- **Tests:** `pytest`
|
|
92
|
+
- **Coverage:** `pytest --cov=pycatalyst --cov-report=term-missing`
|
|
93
|
+
|
|
94
|
+
## Publishing
|
|
95
|
+
|
|
96
|
+
1. Bump version in `pyproject.toml` and `CHANGELOG.md`.
|
|
97
|
+
2. Create a release tag: `git tag v0.1.0 && git push origin v0.1.0`.
|
|
98
|
+
3. The GitHub Action uses [PyPI Trusted Publishing](https://docs.pypi.org/trusted-publishers/); configure the publisher on PyPI for this repo, then the workflow will publish on tag push.
|
|
99
|
+
|
|
100
|
+
## License
|
|
101
|
+
|
|
102
|
+
MIT
|