DAOModel


NameDAOModel JSON
Version 0.5.1b0 PyPI version JSON
download
home_pageNone
SummaryProvides an automatic DAO layer for your models
upload_time2025-07-15 04:40:10
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords dao crud model database db search query sql sqlmodel sqlalchemy pydantic
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # DAOModel
An instant CRUD layer for your Python models.

DAOModel is a powerful yet beginner-friendly database toolkit built on top of industry-standard libraries
([SQLModel](https://sqlmodel.tiangolo.com/), [Pydantic](https://docs.pydantic.dev/latest/), and [SQLAlchemy](https://www.sqlalchemy.org/)).
It provides everything you need to get your database-backed project up and running quickly.

* Eliminate repetitive work by auto-creating your DAOs
* Make your code more straightforward and readable
* Write less code, which means:
    * having a usable product sooner
    * reduced testing burden
    * minimal potential bugs

## Purpose
Assembled from a collection of duplicated logic found across several projects,
this library serves as a starting point for your Python project.
Though great for complex apps, it's also a great starting point for simple projects.
DAOModel will benefit new developers the most by providing a straight forward start to writing code.

A goal of my libraries is to remove upfront hurdles to facilitate learning along the way.
Following the [Guides](https://daomodel.readthedocs.io/en/latest/docs/getting_started/),
anyone can get started without knowledge of relational databases or SQLAlchemy.
If any documentation or design is unclear,
please [submit a ticket](https://github.com/BassMastaCod/DAOModel/issues/new)
so that I can be sure that even beginners are able to benefit from this project.

## Features
* Expands upon SQLModel; works seamlessly with existing models
* SQLAlchemy under the hood; keep existing logic while using DAOModel functions for new code
* A proven, reliable data layer
* Advanced search capabilities without raw SQL
* Quality-of-life additions

Looking for more? Check out my other projects on [GitHub](https://github.com/BassMastaCod)

## Installation
Python 3.10+ is required.

SQLModel, SQLAlchemy, and all other dependencies will be installed with the pip cmd:
```
pip install DAOModel
```
or, given that this project is a development tool, you will likely add _DAOModel_ to `requirements.txt` or `pyproject.toml`.

Next, move on to the [Getting Started](https://daomodel.readthedocs.io/en/latest/docs/getting_started/) page to begin developing your DAOModels.

## Caveats

### Database Support
Most testing has been completed using SQLite, though since SQLModel/SQLAlchemy
support other database solutions, DAOModel is expected to as well.

Speaking of SQLite, this library configures Foreign Key constraints to be enforced by default in SQLite.

### Table Names
Table names are configured to be snake_case which differs from SQLModel.
See [Table Naming](docs/usage/model.md#table-naming) for more information.

### Unsupported Functionality
Not all functionality will work as intended through DAOModel.
If something isn't supported, [submit a ticket](https://github.com/BassMastaCod/DAOModel/issues/new) or pull request.
And remember that you may always use what you can and then
override the code or use the query method in DAO to do the rest.
It should still save you a lot of lines of code.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "DAOModel",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "dao, crud, model, database, db, search, query, sql, sqlmodel, sqlalchemy, pydantic",
    "author": null,
    "author_email": "Cody M Sommer <bassmastacod@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/c2/cb/baddae593061ab4626aa893ec54c7b933fc690e0aed5cce37f99ed5a0159/daomodel-0.5.1b0.tar.gz",
    "platform": null,
    "description": "# DAOModel\nAn instant CRUD layer for your Python models.\n\nDAOModel is a powerful yet beginner-friendly database toolkit built on top of industry-standard libraries\n([SQLModel](https://sqlmodel.tiangolo.com/), [Pydantic](https://docs.pydantic.dev/latest/), and [SQLAlchemy](https://www.sqlalchemy.org/)).\nIt provides everything you need to get your database-backed project up and running quickly.\n\n* Eliminate repetitive work by auto-creating your DAOs\n* Make your code more straightforward and readable\n* Write less code, which means:\n    * having a usable product sooner\n    * reduced testing burden\n    * minimal potential bugs\n\n## Purpose\nAssembled from a collection of duplicated logic found across several projects,\nthis library serves as a starting point for your Python project.\nThough great for complex apps, it's also a great starting point for simple projects.\nDAOModel will benefit new developers the most by providing a straight forward start to writing code.\n\nA goal of my libraries is to remove upfront hurdles to facilitate learning along the way.\nFollowing the [Guides](https://daomodel.readthedocs.io/en/latest/docs/getting_started/),\nanyone can get started without knowledge of relational databases or SQLAlchemy.\nIf any documentation or design is unclear,\nplease [submit a ticket](https://github.com/BassMastaCod/DAOModel/issues/new)\nso that I can be sure that even beginners are able to benefit from this project.\n\n## Features\n* Expands upon SQLModel; works seamlessly with existing models\n* SQLAlchemy under the hood; keep existing logic while using DAOModel functions for new code\n* A proven, reliable data layer\n* Advanced search capabilities without raw SQL\n* Quality-of-life additions\n\nLooking for more? Check out my other projects on [GitHub](https://github.com/BassMastaCod)\n\n## Installation\nPython 3.10+ is required.\n\nSQLModel, SQLAlchemy, and all other dependencies will be installed with the pip cmd:\n```\npip install DAOModel\n```\nor, given that this project is a development tool, you will likely add _DAOModel_ to `requirements.txt` or `pyproject.toml`.\n\nNext, move on to the [Getting Started](https://daomodel.readthedocs.io/en/latest/docs/getting_started/) page to begin developing your DAOModels.\n\n## Caveats\n\n### Database Support\nMost testing has been completed using SQLite, though since SQLModel/SQLAlchemy\nsupport other database solutions, DAOModel is expected to as well.\n\nSpeaking of SQLite, this library configures Foreign Key constraints to be enforced by default in SQLite.\n\n### Table Names\nTable names are configured to be snake_case which differs from SQLModel.\nSee [Table Naming](docs/usage/model.md#table-naming) for more information.\n\n### Unsupported Functionality\nNot all functionality will work as intended through DAOModel.\nIf something isn't supported, [submit a ticket](https://github.com/BassMastaCod/DAOModel/issues/new) or pull request.\nAnd remember that you may always use what you can and then\noverride the code or use the query method in DAO to do the rest.\nIt should still save you a lot of lines of code.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Provides an automatic DAO layer for your models",
    "version": "0.5.1b0",
    "project_urls": {
        "Issues": "https://github.com/BassMastaCod/DAOModel/issues",
        "ReadTheDocs": "https://daomodel.readthedocs.io/",
        "Repository": "https://github.com/BassMastaCod/DAOModel.git"
    },
    "split_keywords": [
        "dao",
        " crud",
        " model",
        " database",
        " db",
        " search",
        " query",
        " sql",
        " sqlmodel",
        " sqlalchemy",
        " pydantic"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5eff007eb591c8df4334d143d5488e25ff4dc2974ac324b436de3df5f7d88ab5",
                "md5": "21a61af79ba5d57d5d79bf4efdbe712a",
                "sha256": "7c80cdca4aad8f1369eee8b1ef69faaec202634096d58fab244505827dbc6b61"
            },
            "downloads": -1,
            "filename": "daomodel-0.5.1b0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "21a61af79ba5d57d5d79bf4efdbe712a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 25013,
            "upload_time": "2025-07-15T04:40:09",
            "upload_time_iso_8601": "2025-07-15T04:40:09.009056Z",
            "url": "https://files.pythonhosted.org/packages/5e/ff/007eb591c8df4334d143d5488e25ff4dc2974ac324b436de3df5f7d88ab5/daomodel-0.5.1b0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c2cbbaddae593061ab4626aa893ec54c7b933fc690e0aed5cce37f99ed5a0159",
                "md5": "97899d4a8f8d20544cb0903ba025706f",
                "sha256": "3527a28feb713b6a775c3bf6bf1e394b3a1695aeb8b988d8380995aff2e86773"
            },
            "downloads": -1,
            "filename": "daomodel-0.5.1b0.tar.gz",
            "has_sig": false,
            "md5_digest": "97899d4a8f8d20544cb0903ba025706f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 42789,
            "upload_time": "2025-07-15T04:40:10",
            "upload_time_iso_8601": "2025-07-15T04:40:10.181561Z",
            "url": "https://files.pythonhosted.org/packages/c2/cb/baddae593061ab4626aa893ec54c7b933fc690e0aed5cce37f99ed5a0159/daomodel-0.5.1b0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-15 04:40:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "BassMastaCod",
    "github_project": "DAOModel",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "daomodel"
}
        
Elapsed time: 0.41442s