mosaicdb


Namemosaicdb JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/Akash-nath29/mosaic
SummaryUniversal, framework-independent ORM for Python.
upload_time2025-08-30 17:53:09
maintainerNone
docs_urlNone
authorAkash Nath
requires_python>=3.7
licenseMIT
keywords orm database sql nosql sqlite mysql postgres mongodb
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            

<p align="center">
	<img src="logo.png" alt="Mosaic ORM Logo" width="180"/>
</p>


# MosaicDB

Universal, framework-independent ORM for Python.

---

## Getting Started

```python
from pydantic import BaseModel
from mosaicdb import Mosaic
from mosaicdb.models import ModelMixin

class User(BaseModel, ModelMixin):
	id: int
	name: str
	age: int

db = Mosaic("sqlite:///test.db")
User.create_table(db)
User.insert(db, User(id=1, name="Alice", age=30))
users = User.find(db)
print(users)
```

---

## Features Table
| Feature                | Supported |
|------------------------|-----------|
| Simple Syntax          | ✅        |
| Multi-DB Support       | ✅        |
| Multi-Table/FK         | ✅        |
| Auto Migrations        | ✅        |
| CLI                    | ✅        |
| Typesafe Models        | ✅        |
| NoSQL (MongoDB)        | ✅        |
| Error Handling         | ✅        |
| Test Coverage          | ✅        |

---

## Database Support Matrix
| Database    | CRUD | FKs | Migrations | CLI | Typesafe Models |
|-------------|------|-----|------------|-----|-----------------|
| SQLite      | ✅   | ✅  | ✅         | ✅  | ✅              |
| MySQL       | ✅   | ✅  | ✅         | ✅  | ✅              |
| PostgreSQL  | ✅   | ✅  | ✅         | ✅  | ✅              |
| MongoDB     | ✅   | ❌  | Schemaless | ✅  | ✅              |

---

## CLI Command Examples

```bash
mosaicdb makemigrations users --db sqlite:///test.db --schema '{"id": "int", "name": "str"}'
mosaicdb migrate users --db sqlite:///test.db
mosaicdb create-table users --db sqlite:///test.db --schema '{"id": "int", "name": "str"}'
mosaicdb drop-table users --db sqlite:///test.db
mosaicdb inspect-schema users --db sqlite:///test.db
mosaicdb seed users --db sqlite:///test.db --data '{"id": 1, "name": "Alice"}'
mosaicdb raw-sql --db sqlite:///test.db --sql "SELECT * FROM users"
```

---

## Versioning & Changelog
- Current version: **v0.1.0-alpha**
- See `CHANGELOG.md` for updates.

---


## PyPI Installation

```bash
pip install mosaicdb
```

---

## License
MIT

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Akash-nath29/mosaic",
    "name": "mosaicdb",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "orm database sql nosql sqlite mysql postgres mongodb",
    "author": "Akash Nath",
    "author_email": "anath5440@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/e4/2e/c09600c05351097a7e45c60f29b7a7968231baa6077f042e58f802530b7d/mosaicdb-0.1.1.tar.gz",
    "platform": null,
    "description": "\r\n\r\n<p align=\"center\">\r\n\t<img src=\"logo.png\" alt=\"Mosaic ORM Logo\" width=\"180\"/>\r\n</p>\r\n\r\n\r\n# MosaicDB\r\n\r\nUniversal, framework-independent ORM for Python.\r\n\r\n---\r\n\r\n## Getting Started\r\n\r\n```python\r\nfrom pydantic import BaseModel\r\nfrom mosaicdb import Mosaic\r\nfrom mosaicdb.models import ModelMixin\r\n\r\nclass User(BaseModel, ModelMixin):\r\n\tid: int\r\n\tname: str\r\n\tage: int\r\n\r\ndb = Mosaic(\"sqlite:///test.db\")\r\nUser.create_table(db)\r\nUser.insert(db, User(id=1, name=\"Alice\", age=30))\r\nusers = User.find(db)\r\nprint(users)\r\n```\r\n\r\n---\r\n\r\n## Features Table\r\n| Feature                | Supported |\r\n|------------------------|-----------|\r\n| Simple Syntax          | \u2705        |\r\n| Multi-DB Support       | \u2705        |\r\n| Multi-Table/FK         | \u2705        |\r\n| Auto Migrations        | \u2705        |\r\n| CLI                    | \u2705        |\r\n| Typesafe Models        | \u2705        |\r\n| NoSQL (MongoDB)        | \u2705        |\r\n| Error Handling         | \u2705        |\r\n| Test Coverage          | \u2705        |\r\n\r\n---\r\n\r\n## Database Support Matrix\r\n| Database    | CRUD | FKs | Migrations | CLI | Typesafe Models |\r\n|-------------|------|-----|------------|-----|-----------------|\r\n| SQLite      | \u2705   | \u2705  | \u2705         | \u2705  | \u2705              |\r\n| MySQL       | \u2705   | \u2705  | \u2705         | \u2705  | \u2705              |\r\n| PostgreSQL  | \u2705   | \u2705  | \u2705         | \u2705  | \u2705              |\r\n| MongoDB     | \u2705   | \u274c  | Schemaless | \u2705  | \u2705              |\r\n\r\n---\r\n\r\n## CLI Command Examples\r\n\r\n```bash\r\nmosaicdb makemigrations users --db sqlite:///test.db --schema '{\"id\": \"int\", \"name\": \"str\"}'\r\nmosaicdb migrate users --db sqlite:///test.db\r\nmosaicdb create-table users --db sqlite:///test.db --schema '{\"id\": \"int\", \"name\": \"str\"}'\r\nmosaicdb drop-table users --db sqlite:///test.db\r\nmosaicdb inspect-schema users --db sqlite:///test.db\r\nmosaicdb seed users --db sqlite:///test.db --data '{\"id\": 1, \"name\": \"Alice\"}'\r\nmosaicdb raw-sql --db sqlite:///test.db --sql \"SELECT * FROM users\"\r\n```\r\n\r\n---\r\n\r\n## Versioning & Changelog\r\n- Current version: **v0.1.0-alpha**\r\n- See `CHANGELOG.md` for updates.\r\n\r\n---\r\n\r\n\r\n## PyPI Installation\r\n\r\n```bash\r\npip install mosaicdb\r\n```\r\n\r\n---\r\n\r\n## License\r\nMIT\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Universal, framework-independent ORM for Python.",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/Akash-nath29/mosaic"
    },
    "split_keywords": [
        "orm",
        "database",
        "sql",
        "nosql",
        "sqlite",
        "mysql",
        "postgres",
        "mongodb"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "66202a83b4337b717ec5f90fe04ea666d1cc0c780434d8da92e84b1ca84619b5",
                "md5": "1c748b4af807f11dca400089cbce246a",
                "sha256": "825d920cc2399a00dfc85e722934875ea1645d5f49728a9c43bf5af4a9dfff08"
            },
            "downloads": -1,
            "filename": "mosaicdb-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1c748b4af807f11dca400089cbce246a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 8832,
            "upload_time": "2025-08-30T17:53:08",
            "upload_time_iso_8601": "2025-08-30T17:53:08.038825Z",
            "url": "https://files.pythonhosted.org/packages/66/20/2a83b4337b717ec5f90fe04ea666d1cc0c780434d8da92e84b1ca84619b5/mosaicdb-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e42ec09600c05351097a7e45c60f29b7a7968231baa6077f042e58f802530b7d",
                "md5": "461342c5d9102061a2bfab542ba1e94b",
                "sha256": "c7f8bdedf9fabb8baac7af25c6238ea33812b417e5373792a128e1434af135c2"
            },
            "downloads": -1,
            "filename": "mosaicdb-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "461342c5d9102061a2bfab542ba1e94b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 10691,
            "upload_time": "2025-08-30T17:53:09",
            "upload_time_iso_8601": "2025-08-30T17:53:09.453047Z",
            "url": "https://files.pythonhosted.org/packages/e4/2e/c09600c05351097a7e45c60f29b7a7968231baa6077f042e58f802530b7d/mosaicdb-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-30 17:53:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Akash-nath29",
    "github_project": "mosaic",
    "github_not_found": true,
    "lcname": "mosaicdb"
}
        
Elapsed time: 1.36218s