MongoSchematic CLI for MongoDB schema analysis, drift detection, and migrations
Project description
MongoSchematic CLI
MongoSchematic is a modern, developer-first tool for MongoDB schema management. It helps you infer schemas from existing data, detect drift, generate code, and handle migrations with confidence.
Features
- Schema Inference: Automatically infer schemas from your MongoDB collections.
- Drift Detection: Detect when your data deviates from your schema/models.
- Code Generation: Generate Pydantic models (Python) and TypeScript interfaces.
- Documentation: Build static HTML documentation for your database.
- Data Seeding: Populate your database with realistic dummy data.
- Migrations: Generate and execute versioned migration scripts.
- Validation: Validate documents against your defined schemas.
- AI-Powered: Optional Gemini AI integration for schema recommendations.
Installation
pip install mongo-schematic
Quick Start
1. Initialize
Generate a default configuration file:
mschema init
2. Analyze a Collection
Infer the schema from an existing collection and save it:
mschema analyze --collection users --save schemas/users.v1.yml
3. Generate Code
Create a Pydantic model for your application:
mschema generate models --schema schemas/users.v1.yml --type pydantic --out models/user.py
4. Detect Drift
Check if your live data matches your schema:
mschema drift detect --schema schemas/users.v1.yml --collection users
Documentation
For full usage details including database-wide commands, CI/CD integration, and migration workflows, see the Usage Guide.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
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 mongo_schematic-0.1.2.tar.gz.
File metadata
- Download URL: mongo_schematic-0.1.2.tar.gz
- Upload date:
- Size: 31.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
788deac1a7d9611304e3a39df1cf6df6aa592315deb43b1197a38c63c8c99336
|
|
| MD5 |
15080fb72324ae8dcccfa5d46c925d03
|
|
| BLAKE2b-256 |
7d2a2ecf30ad01f940f072c2ee39db74ea2a6af1c2138ae62e3e29ea437df3fb
|
File details
Details for the file mongo_schematic-0.1.2-py3-none-any.whl.
File metadata
- Download URL: mongo_schematic-0.1.2-py3-none-any.whl
- Upload date:
- Size: 33.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62ab7c035b7bfe19777d0c2a3f436a08ecca516c1c4387a25609345c11ae2f82
|
|
| MD5 |
bcdc62d0a2a748b2072619341e5f9c32
|
|
| BLAKE2b-256 |
953a50482b2b3d743d9fd8faa52e517d1e151b4ddcbd6f18c28cf88f0e126cdc
|