Mindtrace monorepo with modular packages
Project description
Mindtrace Module Dependency Structure
Mindtrace is organized into a layered workspace to support ML components as Python modules with clearly defined boundaries and dependencies.
📐 Layered Architecture
We use a level-based system for organizing modules based on dependency direction and build order.
Level 1: Core
core: Foundational utilities and base classes used across all other modules.
Level 2: Core Consumers
jobs: Job execution and backend interfaces.registry: Artifact and metadata management.database: Redis, Mongo, and DB access layers.services: Service base classes, authentication, and gateways.ui: Optional UI libraries and components.
Level 3: Infrastructure Modules
hardware: Interfaces for cameras, PLCs, scanners, etc.cluster: Runtime cluster management, nodes, and workers.datalake: Dataset interfaces for HuggingFace and Mindtrace datasets.models: Core model definitions and leaderboard utilities.
Level 4: Automation
automation: Integration of pipelines and orchestration using level 2–3 modules.
Level 5: Applications
apps: End-user applications composed of all previous levels.- E.g., Demo pipelines
🔄 Dependency Flow
Each layer only depends on modules in lower levels.
| Module | Depends On |
|---|---|
core |
– |
jobs |
core, services |
registry |
core |
database |
core |
services |
core |
ui |
core |
cluster |
jobs, registry, database, services |
datalake |
registry, database, services |
models |
registry, services |
hardware |
core |
automation |
jobs, registry, database, services, datalake, models, cluster |
apps |
Everything |
🛠️ Build
Building wheels and source distributions, from the root of the repo:
uv build --all-packages
ls dist/
For building only wheels:
uv build --all-packages --wheel
ls dist/
They may then be installed in a new venv (the entire mindtrace package or any submodule mindtrace-core) via:
uv pip install mindtrace --find-links /path/to/dist
# or
uv pip install /path/to/dist/mindtrace.whl
Note: You may need to use uv pip install --force-reinstall in case you encounter ModuleNotFoundError.
Checking the installation:
uv run python -c "from mindtrace.core import Mindtrace; print('OK')"
🛠️ Usage Examples
Installing the full Mindtrace package:
uv add mindtrace
Installing a minimal dependency chain (e.g., for Datalake development):
uv add mindtrace-datalake
Python Imports
from mindtrace import core, registry, database, services
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mindtrace-0.6.0.tar.gz.
File metadata
- Download URL: mindtrace-0.6.0.tar.gz
- Upload date:
- Size: 295.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6351c082c8e7b25f4d959c78c8f5737585245d88189748bcf880e6b8640f5959
|
|
| MD5 |
99a12696741397731effeaa253ba4c8d
|
|
| BLAKE2b-256 |
50f092ea4ecb30caab6566e6a608930d2ef3366739b50177f8989f1cde9523f5
|
File details
Details for the file mindtrace-0.6.0-py3-none-any.whl.
File metadata
- Download URL: mindtrace-0.6.0-py3-none-any.whl
- Upload date:
- Size: 382.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0afdeaa5e7cd0db35b91c0ed35146459d272c247dd5d3a0797a9fdf757c5f986
|
|
| MD5 |
190884377f67a835bbab5f2a5b8c3a7a
|
|
| BLAKE2b-256 |
d94f82127d28ccde1b0e2ccecb85d3ab229d5ce6426b48c6f9a2f328f108661c
|