akron


Nameakron JSON
Version 0.1.5 PyPI version JSON
download
home_pagehttps://github.com/Akash-nath29/akron
SummaryUniversal, framework-independent ORM for Python.
upload_time2025-08-31 17:27:31
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="https://res.cloudinary.com/dclp2h92a/image/upload/v1756577773/ChatGPT_Image_Aug_30_2025_11_01_26_PM_i6o5k7.png" alt="Akron ORM Logo" width="180"/>
</p>



# Akron

Universal, framework-independent ORM for Python.

---

## Getting Started

```python
from pydantic import BaseModel

from akron import Akron
from akron.models import ModelMixin

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

db = Akron("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
akron makemigrations users --db sqlite:///test.db --schema '{"id": "int", "name": "str"}'
akron migrate users --db sqlite:///test.db
akron create-table users --db sqlite:///test.db --schema '{"id": "int", "name": "str"}'
akron drop-table users --db sqlite:///test.db
akron inspect-schema users --db sqlite:///test.db
akron seed users --db sqlite:///test.db --data '{"id": 1, "name": "Alice"}'
akron raw-sql --db sqlite:///test.db --sql "SELECT * FROM users"
```

---

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

---


## PyPI Installation

```bash
pip install akron
```

---

## License
[MIT](LICENSE)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Akash-nath29/akron",
    "name": "akron",
    "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/85/d5/d2278fe1b2ce70ea3d2bae9c7072d2d69d4596ee36f4023bdb254b430adf/akron-0.1.5.tar.gz",
    "platform": null,
    "description": "\r\n\r\n<p align=\"center\">\r\n\t<img src=\"https://res.cloudinary.com/dclp2h92a/image/upload/v1756577773/ChatGPT_Image_Aug_30_2025_11_01_26_PM_i6o5k7.png\" alt=\"Akron ORM Logo\" width=\"180\"/>\r\n</p>\r\n\r\n\r\n\r\n# Akron\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\n\r\nfrom akron import Akron\r\nfrom akron.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 = Akron(\"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\nakron makemigrations users --db sqlite:///test.db --schema '{\"id\": \"int\", \"name\": \"str\"}'\r\nakron migrate users --db sqlite:///test.db\r\nakron create-table users --db sqlite:///test.db --schema '{\"id\": \"int\", \"name\": \"str\"}'\r\nakron drop-table users --db sqlite:///test.db\r\nakron inspect-schema users --db sqlite:///test.db\r\nakron seed users --db sqlite:///test.db --data '{\"id\": 1, \"name\": \"Alice\"}'\r\nakron 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.1**\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 akron\r\n```\r\n\r\n---\r\n\r\n## License\r\n[MIT](LICENSE)\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Universal, framework-independent ORM for Python.",
    "version": "0.1.5",
    "project_urls": {
        "Homepage": "https://github.com/Akash-nath29/akron"
    },
    "split_keywords": [
        "orm",
        "database",
        "sql",
        "nosql",
        "sqlite",
        "mysql",
        "postgres",
        "mongodb"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "51fdedb246c790aac1a329fdc4b3968469f6f16a1105fa0d113c37d5182b79ab",
                "md5": "8f42fecdb1b573ab5be77c9e043a2a8d",
                "sha256": "32e7c27f00592492258c86aa75ab1aeaa3ab039a8370916a98f8b648e451596f"
            },
            "downloads": -1,
            "filename": "akron-0.1.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8f42fecdb1b573ab5be77c9e043a2a8d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 15278,
            "upload_time": "2025-08-31T17:27:28",
            "upload_time_iso_8601": "2025-08-31T17:27:28.748452Z",
            "url": "https://files.pythonhosted.org/packages/51/fd/edb246c790aac1a329fdc4b3968469f6f16a1105fa0d113c37d5182b79ab/akron-0.1.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "85d5d2278fe1b2ce70ea3d2bae9c7072d2d69d4596ee36f4023bdb254b430adf",
                "md5": "5251f509d1c7810e3652f268783efe29",
                "sha256": "2c0b863eb0e289c66f6615669768e638a964fddf6bdbbddf6b850814431c889f"
            },
            "downloads": -1,
            "filename": "akron-0.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "5251f509d1c7810e3652f268783efe29",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 13693,
            "upload_time": "2025-08-31T17:27:31",
            "upload_time_iso_8601": "2025-08-31T17:27:31.397264Z",
            "url": "https://files.pythonhosted.org/packages/85/d5/d2278fe1b2ce70ea3d2bae9c7072d2d69d4596ee36f4023bdb254b430adf/akron-0.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-31 17:27:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Akash-nath29",
    "github_project": "akron",
    "github_not_found": true,
    "lcname": "akron"
}
        
Elapsed time: 1.07309s