sanctumlabs-dbkit


Namesanctumlabs-dbkit JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryA wrapper for database libraries which bakes in common database functionality.
upload_time2024-03-31 04:42:18
maintainerNone
docs_urlNone
authorBrianLusina
requires_python<4.0.0,>=3.12.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # DB Kit

[![Build](https://github.com/SanctumLabs/dbkit/actions/workflows/build.yml/badge.svg)](https://github.com/SanctumLabs/dbkit/actions/workflows/build.yml)
[![Tests](https://github.com/SanctumLabs/dbkit/actions/workflows/tests.yaml/badge.svg)](https://github.com/SanctumLabs/dbkit/actions/workflows/tests.yaml)
[![Lint](https://github.com/SanctumLabs/dbkit/actions/workflows/lint.yml/badge.svg)](https://github.com/SanctumLabs/dbkit/actions/workflows/lint.yml)
[![Code Scanning](https://github.com/SanctumLabs/dbkit/actions/workflows/codeql.yaml/badge.svg)](https://github.com/SanctumLabs/dbkit/actions/workflows/codeql.yaml)

A wrapper for database packages which bakes in common database functionality.

## Pre-requisites

1. Ensure that you have [Python version 3.12.0](https://www.python.org/) setup locally, you can set this up
   using [pyenv](https://github.com/pyenv/pyenv) if you have multiple versions of Python on your local development
   environment.
2. [Poetry](https://python-poetry.org/) is used for managing dependencies, ensure you have that setup locally.
3. [Virtualenv](https://virtualenv.pypa.io/) Not a hard requirement as poetry should setup a virtual environment for
   you, but can be used as well to setup a virtual environment.

## Setup

1. After cloning the project, install the dependencies required with:

   ```shell
   poetry install
   ```
   > When using poetry

   Or
   ```shell
   make install
   ```
   > When using [GNU Make](https://www.gnu.org/s/make/manual/make.html), this is a wrapper around the top commend

## Installation

```bash
poetry add sanctumlabs_dbkit
```

## Features

* `on_commit` hooks for a when a transaction is committed.
* A DAO pattern for common methods such as `find`, `find_or_raise`, `all`...
* A `BaseModel` with baked in mixins for `timestamps`, `soft deletions`, `auditable` & more...
* Utility functions for working with models and schema.

See [usage examples here](docs/usage.py)


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "sanctumlabs-dbkit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.12.0",
    "maintainer_email": null,
    "keywords": null,
    "author": "BrianLusina",
    "author_email": "12752833+BrianLusina@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/4e/98/96cdf28a41bd56db67668a359eecdf0dd7e05ed033c39f759667519cb4a1/sanctumlabs_dbkit-1.0.0.tar.gz",
    "platform": null,
    "description": "# DB Kit\n\n[![Build](https://github.com/SanctumLabs/dbkit/actions/workflows/build.yml/badge.svg)](https://github.com/SanctumLabs/dbkit/actions/workflows/build.yml)\n[![Tests](https://github.com/SanctumLabs/dbkit/actions/workflows/tests.yaml/badge.svg)](https://github.com/SanctumLabs/dbkit/actions/workflows/tests.yaml)\n[![Lint](https://github.com/SanctumLabs/dbkit/actions/workflows/lint.yml/badge.svg)](https://github.com/SanctumLabs/dbkit/actions/workflows/lint.yml)\n[![Code Scanning](https://github.com/SanctumLabs/dbkit/actions/workflows/codeql.yaml/badge.svg)](https://github.com/SanctumLabs/dbkit/actions/workflows/codeql.yaml)\n\nA wrapper for database packages which bakes in common database functionality.\n\n## Pre-requisites\n\n1. Ensure that you have [Python version 3.12.0](https://www.python.org/) setup locally, you can set this up\n   using [pyenv](https://github.com/pyenv/pyenv) if you have multiple versions of Python on your local development\n   environment.\n2. [Poetry](https://python-poetry.org/) is used for managing dependencies, ensure you have that setup locally.\n3. [Virtualenv](https://virtualenv.pypa.io/) Not a hard requirement as poetry should setup a virtual environment for\n   you, but can be used as well to setup a virtual environment.\n\n## Setup\n\n1. After cloning the project, install the dependencies required with:\n\n   ```shell\n   poetry install\n   ```\n   > When using poetry\n\n   Or\n   ```shell\n   make install\n   ```\n   > When using [GNU Make](https://www.gnu.org/s/make/manual/make.html), this is a wrapper around the top commend\n\n## Installation\n\n```bash\npoetry add sanctumlabs_dbkit\n```\n\n## Features\n\n* `on_commit` hooks for a when a transaction is committed.\n* A DAO pattern for common methods such as `find`, `find_or_raise`, `all`...\n* A `BaseModel` with baked in mixins for `timestamps`, `soft deletions`, `auditable` & more...\n* Utility functions for working with models and schema.\n\nSee [usage examples here](docs/usage.py)\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A wrapper for database libraries which bakes in common database functionality.",
    "version": "1.0.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9869dd67a3a9601109ca2b2d1d877af1a71ab85e85a470073e4a0959a4be0a3b",
                "md5": "df0f6e73b682abf888f4acea227e53b4",
                "sha256": "4242ecdc70cb348668d738603341e13fe1c4b854c17e5857722db704d43370bf"
            },
            "downloads": -1,
            "filename": "sanctumlabs_dbkit-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "df0f6e73b682abf888f4acea227e53b4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.12.0",
            "size": 11630,
            "upload_time": "2024-03-31T04:42:16",
            "upload_time_iso_8601": "2024-03-31T04:42:16.061315Z",
            "url": "https://files.pythonhosted.org/packages/98/69/dd67a3a9601109ca2b2d1d877af1a71ab85e85a470073e4a0959a4be0a3b/sanctumlabs_dbkit-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e9896cdf28a41bd56db67668a359eecdf0dd7e05ed033c39f759667519cb4a1",
                "md5": "e823761295188a920fbd3c2f0b3cd3d5",
                "sha256": "5b23667071efc1c00f56cce1c5333eaf9489452cec3ea07f45d1d303c5e3c4ab"
            },
            "downloads": -1,
            "filename": "sanctumlabs_dbkit-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e823761295188a920fbd3c2f0b3cd3d5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.12.0",
            "size": 8831,
            "upload_time": "2024-03-31T04:42:18",
            "upload_time_iso_8601": "2024-03-31T04:42:18.116386Z",
            "url": "https://files.pythonhosted.org/packages/4e/98/96cdf28a41bd56db67668a359eecdf0dd7e05ed033c39f759667519cb4a1/sanctumlabs_dbkit-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-31 04:42:18",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "sanctumlabs-dbkit"
}
        
Elapsed time: 0.21122s