# Kleinmann ORM
**Kleinmann ORM** is an async ORM library for Python hardforked from [Tortoise ORM](https://github.com/tortoise/tortoise-orm) and [pypika](https://github.com/tortoise/pypika-tortoise). It's in a very early stage of development and not recommended for general use.
[Project roadmap](https://github.com/kleinmann-orm/kleinmann-orm/issues/2)
Docs are not ready yet; read the code.
## Goals
- Provide a stable codebase for [DipDup framework](https://github.com/dipdup-io/dipdup) which currently relies on a heavily patched Tortoise ORM.
- Integrate our patches into the main codebase to reduce maintenance overhead.
- Merge several stale PRs from the upstream.
- Improve type safety and code quality.
- Reduce the codebase size by reducing the project's scope.
## Breaking changes
Coming from Tortoise ORM as a user or dev? Great! Here's what you need to know.
- Everything named `tortoise` is now `kleinmann`.
- `pypika` code now lives in `kleinmann_core` package.
- MySQL, MSSQL and Oracle databases are no longer supported.
- `psycopg` driver is no longer supported.
- Windows is not supported, but arm64 is.
- Default branch is `main`.
## F.A.Q
### Why Kleinmann?
_(according to [tortoiseknowledge.com](https://www.tortoiseknowledge.com/what-tortoises-stay-small-forever/))_
From a practical and aesthetic standpoint, you can benefit from a small tortoise that’ll:
- **Stay cute forever**: A mini tortoise won’t grow beyond its adorable size, no matter how old it gets.
- **Be easy to handle**: You won’t struggle to hold a little tortoise, and there’s less risk of dropping it.
- **Small enclosure**: Mini tortoises won’t take up much space, even in studio apartments or bedrooms.
- **Eat very little**: Tortoises don’t have big appetites, but mini tortoises require even less to eat.
Some negatives could make a smaller tortoise a bad choice:
- **Less safe for children or pets**: Excited children may hurt this tiny pet by accident, and their shells are less resilient against a playful cat or dog.
- **Safest indoors:** The smaller the tortoise is, the more vulnerable it will be to weather changes and predators. So, you may need to keep your tiny pet tortoise indoors.
- **Expensive to buy when very small**: Common species, like Russian tortoises, may cost a few hundred dollars, while extremely small Egyptian tortoises will cost thousands of dollars.
- **Hard to find:** Super mini tortoises are exotic pets, so they may not be available at all pet stores.
Raw data
{
"_id": null,
"home_page": "https://github.com/kleinmann-orm/kleinmann-orm",
"name": "kleinmann-orm",
"maintainer": "Lev Gorodetskii",
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": "github@drsr.io",
"keywords": "sql, postgres, sqlite, aiosqlite, asyncpg, relational, database, rdbms, orm, object mapper, async, asyncio, aio",
"author": "Lev Gorodetskii",
"author_email": "github@drsr.io",
"download_url": "https://files.pythonhosted.org/packages/76/68/95822800056159e8a96f27770508b02dcf71e2645e68e73a185a3de1f6e2/kleinmann_orm-0.0.2.tar.gz",
"platform": null,
"description": "# Kleinmann ORM\n\n**Kleinmann ORM** is an async ORM library for Python hardforked from [Tortoise ORM](https://github.com/tortoise/tortoise-orm) and [pypika](https://github.com/tortoise/pypika-tortoise). It's in a very early stage of development and not recommended for general use.\n\n[Project roadmap](https://github.com/kleinmann-orm/kleinmann-orm/issues/2)\n\nDocs are not ready yet; read the code.\n\n## Goals\n\n- Provide a stable codebase for [DipDup framework](https://github.com/dipdup-io/dipdup) which currently relies on a heavily patched Tortoise ORM.\n- Integrate our patches into the main codebase to reduce maintenance overhead.\n- Merge several stale PRs from the upstream.\n- Improve type safety and code quality.\n- Reduce the codebase size by reducing the project's scope.\n\n## Breaking changes\n\nComing from Tortoise ORM as a user or dev? Great! Here's what you need to know.\n\n- Everything named `tortoise` is now `kleinmann`.\n- `pypika` code now lives in `kleinmann_core` package.\n- MySQL, MSSQL and Oracle databases are no longer supported.\n- `psycopg` driver is no longer supported.\n- Windows is not supported, but arm64 is.\n- Default branch is `main`.\n\n## F.A.Q\n\n### Why Kleinmann?\n\n_(according to [tortoiseknowledge.com](https://www.tortoiseknowledge.com/what-tortoises-stay-small-forever/))_\n\nFrom a practical and aesthetic standpoint, you can benefit from a small tortoise that\u2019ll:\n\n- **Stay cute forever**: A mini tortoise won\u2019t grow beyond its adorable size, no matter how old it gets.\n- **Be easy to handle**: You won\u2019t struggle to hold a little tortoise, and there\u2019s less risk of dropping it.\n- **Small enclosure**: Mini tortoises won\u2019t take up much space, even in studio apartments or bedrooms.\n- **Eat very little**: Tortoises don\u2019t have big appetites, but mini tortoises require even less to eat.\n\nSome negatives could make a smaller tortoise a bad choice:\n\n- **Less safe for children or pets**: Excited children may hurt this tiny pet by accident, and their shells are less resilient against a playful cat or dog.\n- **Safest indoors:** The smaller the tortoise is, the more vulnerable it will be to weather changes and predators. So, you may need to keep your tiny pet tortoise indoors.\n- **Expensive to buy when very small**: Common species, like Russian tortoises, may cost a few hundred dollars, while extremely small Egyptian tortoises will cost thousands of dollars.\n- **Hard to find:** Super mini tortoises are exotic pets, so they may not be available at all pet stores.\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A tiny tortoise ORM",
"version": "0.0.2",
"project_urls": {
"Documentation": "https://github.com/kleinmann-orm/kleinmann-orm",
"Homepage": "https://github.com/kleinmann-orm/kleinmann-orm",
"Repository": "https://github.com/kleinmann-orm/kleinmann-orm.git"
},
"split_keywords": [
"sql",
" postgres",
" sqlite",
" aiosqlite",
" asyncpg",
" relational",
" database",
" rdbms",
" orm",
" object mapper",
" async",
" asyncio",
" aio"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ed8d9eb44693d3e5fec56463b6510fd8f1fd222625b9dd93bb60b1a7557f236c",
"md5": "94f9b619f98a8ccd4b4d87d144c39c4c",
"sha256": "f961e6135a8ea4b3dc036b58cb5ea8cb0ce460878787a93a86ec16e26344eb3f"
},
"downloads": -1,
"filename": "kleinmann_orm-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "94f9b619f98a8ccd4b4d87d144c39c4c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 165244,
"upload_time": "2024-09-07T17:43:16",
"upload_time_iso_8601": "2024-09-07T17:43:16.831366Z",
"url": "https://files.pythonhosted.org/packages/ed/8d/9eb44693d3e5fec56463b6510fd8f1fd222625b9dd93bb60b1a7557f236c/kleinmann_orm-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "766895822800056159e8a96f27770508b02dcf71e2645e68e73a185a3de1f6e2",
"md5": "d6218430cdfc2b8bd208aa708b76f07e",
"sha256": "6a53d11a2f4204bd5219887c4d9a1699afe769220688c1e5ee728f4b1aaf77da"
},
"downloads": -1,
"filename": "kleinmann_orm-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "d6218430cdfc2b8bd208aa708b76f07e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 136342,
"upload_time": "2024-09-07T17:43:18",
"upload_time_iso_8601": "2024-09-07T17:43:18.315223Z",
"url": "https://files.pythonhosted.org/packages/76/68/95822800056159e8a96f27770508b02dcf71e2645e68e73a185a3de1f6e2/kleinmann_orm-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-07 17:43:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kleinmann-orm",
"github_project": "kleinmann-orm",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "kleinmann-orm"
}