{"id":16759580,"url":"https://github.com/enpaul/peewee-plus","last_synced_at":"2025-04-10T17:14:59.887Z","repository":{"id":47386805,"uuid":"431633044","full_name":"enpaul/peewee-plus","owner":"enpaul","description":"Various extensions, helpers, and utilities for Peewee","archived":false,"fork":false,"pushed_at":"2023-10-13T20:19:50.000Z","size":360,"stargazers_count":6,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"devel","last_synced_at":"2025-03-18T17:26:04.486Z","etag":null,"topics":["peewee","peewee-orm","python","python3","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/enpaul.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-11-24T21:30:08.000Z","updated_at":"2024-05-25T15:10:54.000Z","dependencies_parsed_at":"2023-10-14T18:17:42.634Z","dependency_job_id":"d24c7b00-466a-4d3b-940e-6df98410c174","html_url":"https://github.com/enpaul/peewee-plus","commit_stats":{"total_commits":31,"total_committers":2,"mean_commits":15.5,"dds":"0.032258064516129004","last_synced_commit":"5520faef88a4dc12c0a229a0d9c10372e1cd65d4"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enpaul%2Fpeewee-plus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enpaul%2Fpeewee-plus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enpaul%2Fpeewee-plus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enpaul%2Fpeewee-plus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enpaul","download_url":"https://codeload.github.com/enpaul/peewee-plus/tar.gz/refs/heads/devel","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248261916,"owners_count":21074225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["peewee","peewee-orm","python","python3","sqlite"],"created_at":"2024-10-13T04:08:31.307Z","updated_at":"2025-04-10T17:14:59.862Z","avatar_url":"https://github.com/enpaul.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# peewee+\n\nVarious extensions, helpers, and utilities for [Peewee](http://peewee-orm.com)\n\n[![CI Status](https://github.com/enpaul/peewee-plus/workflows/CI/badge.svg?event=push)](https://github.com/enpaul/peewee-plus/actions)\n[![PyPI Version](https://img.shields.io/pypi/v/peewee-plus)](https://pypi.org/project/peewee-plus/)\n[![PyPI Downloads](https://img.shields.io/pypi/dm/peewee-plus)](https://libraries.io/pypi/peewee-plus)\n[![License](https://img.shields.io/pypi/l/peewee-plus)](https://opensource.org/licenses/MIT)\n[![Python Supported Versions](https://img.shields.io/pypi/pyversions/peewee-plus)](https://www.python.org)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nSee the [Changelog](https://github.com/enpaul/peewee-plus/blob/devel/CHANGELOG.md) for\nrelease history.\n\n## Documentation\n\n*The documentation for this project is currently a work in progress. Please see the source\ncode for complete docs*\n\n- [Installing](#installing)\n- [Features](#features)\n- [For Developers](#for-developers)\n\n## Installing\n\npeewee+ is [available on PyPI](https://pypi.org/project/peewee-plus/) and can be installed\nusing Poetry, Pipenv, or Pip:\n\n```bash\n# Using poetry\npoetry add peewee-plus\n\n# Using pipenv\npipenv install peewee-plus\n\n# Using pip\npython -m venv peewee\nsource peewee/bin/activate\npython -m pip install peewee-plus\n```\n\nOnce installed, Peewee+ can be imported like below:\n\n```python\nimport peewee_plus\n```\n\n## Features\n\n### Constants\n\n`SQLITE_DEFAULT_PRAGMAS` - The default pragmas to use with an SQLite database connection,\ntaken directly from the\n[Peewee docs](http://docs.peewee-orm.com/en/latest/peewee/database.html#recommended-settings).\n\n`SQLITE_DEFAULT_VARIABLE_LIMIT` - The maximum number of variables an SQL query can use\nwhen using SQLite\n\n### Functions\n\n`calc_batch_size` - Helper function for writing backend-agnostic batch queries while\naccounting for the\n[SQLite max variable limit](https://www.sqlite.org/limits.html#max_variable_number).\n\n`flat_transaction` - Decorator function for wrapping callables in a database transaction\nwithout creating nested transactions\n\n### Classes\n\n`PathField` - A Peewee database field for storing\n[Pathlib](https://docs.python.org/3/library/pathlib.html) objects, optionally relative to\na runtime value.\n\n`PrecisionFloatField` - A Peewee database field for storing floats while specifying the\n[MySQL precision parameters](https://dev.mysql.com/doc/refman/8.0/en/floating-point-types.html)\n`M` and `D`\n\n`JSONField` - A Peewee database field for storing arbitrary JSON-serializable data\n\n`EnumField` - A Peewee database field for storing Enums by name\n\n`TimedeltaField` A Peewee database field for natively storing\n[`datetime.timedelta`](https://docs.python.org/3/library/datetime.html#datetime.timedelta)\nobjects\n\n## For Developers\n\nAll project contributors and participants are expected to adhere to the\n[Contributor Covenant Code of Conduct, v2](CODE_OF_CONDUCT.md)\n([external link](https://www.contributor-covenant.org/version/2/0/code_of_conduct/)).\n\nThe `devel` branch has the latest (and potentially unstable) changes. The stable releases\nare tracked on [Github](https://github.com/enpaul/peewee-plus/releases),\n[PyPi](https://pypi.org/project/peewee-plus/#history), and in the\n[Changelog](CHANGELOG.md).\n\n- To report a bug, request a feature, or ask for assistance, please\n  [open an issue on the Github repository](https://github.com/enpaul/peewee-plus/issues/new).\n- To report a security concern or code of conduct violation, please contact the project\n  author directly at **‌me \\[at‌\\] enp dot‎ ‌one**.\n- To submit an update, please\n  [fork the repository](https://docs.github.com/en/enterprise/2.20/user/github/getting-started-with-github/fork-a-repo)\n  and [open a pull request](https://github.com/enpaul/peewee-plus/compare).\n\nDeveloping this project requires [Python 3.10](https://www.python.org/downloads/) or later\nand [Poetry 1.2](https://python-poetry.org/docs/#installation) or later. GNU Make can\noptionally be used to quickly setup a local development environment, but this is not\nrequired.\n\nTo setup a local development environment:\n\n```bash\n# Clone the repository...\n# ...over HTTPS\ngit clone https://github.com/enpaul/peewee-plus.git\n# ...over SSH\ngit clone git@github.com:enpaul/peewee-plus.git\n\ncd peewee-plus/\n\n# Create and configure the local dev environment\nmake dev\n\n# See additional make targets\nmake help\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenpaul%2Fpeewee-plus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenpaul%2Fpeewee-plus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenpaul%2Fpeewee-plus/lists"}