Name | co3 JSON |
Version |
0.6.3
JSON |
| download |
home_page | None |
Summary | Lightweight Python ORM for hierarchical storage management |
upload_time | 2024-05-16 03:09:25 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.12 |
license | None |
keywords |
database
orm
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Overview
`co3` is a lightweight Python ORM for hierarchical storage management. It implements a
general type system for defining database components like relations, schemas, engines,
etc. Objects inheriting from the `CO3` base class can then define data transformations
that connect to database components, and can be automatically collected for coordinated
database insertion.
`co3` attempts to provide a general interface for interacting with a storage media (e.g.,
database, pickled objects, VSS framework, in-memory key-value stores, etc). The following
top-level classes capture the bulk of the operational model:
- **Database**: reference to a storage medium, with an `Accessor` for accessing data,
`Manager` for managing database state, and an `Engine` for managing connections and
external operations.
- **Accessor**: provides access to stored items in a `Database`, typically via a supported
`select` operation over known `Component` types
- **Manager**: manages database storage state (e.g., supported inserts or database sync
operations)
- **Mapper**: associates `CO3` types with `Schema` components, and provides automatic
collection and composition operations for supported items
- **Collector**: collects data from defined `CO3` type transformations and prepares for
`Database` insert operations
- **Component**: atomic storage groups for databases (i.e., generalized notion of a
"relation" in relational algebra).
- **Indexer**: automatic caching of supported access queries to a `Database`
- **Schema**: general schema analog for grouping related `Component` sets
- **Differ**: facilitates set operations on results from selectable resources (e.g.,
automatic comparison between file data on disk and file rows in a SQL database)
- **Syncer**: generalized syncing procedure for items between data resources (e.g.,
syncing new, modified, and deleted files from disk to a SQL database that stores file
metadata).
The **CO3** an abstract base class then makes it easy to integrate this model with regular
Python object hierarchies that can be mapped to a storage schema.
Raw data
{
"_id": null,
"home_page": null,
"name": "co3",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "database, orm",
"author": null,
"author_email": "Sam Griesemer <samgriesemer+git@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/6f/e3/8c324bfa55ca1b084e3931374a4aa0ffc53dfa674a5e2ee00e024946cd70/co3-0.6.3.tar.gz",
"platform": null,
"description": "# Overview\n`co3` is a lightweight Python ORM for hierarchical storage management. It implements a\ngeneral type system for defining database components like relations, schemas, engines,\netc. Objects inheriting from the `CO3` base class can then define data transformations\nthat connect to database components, and can be automatically collected for coordinated\ndatabase insertion.\n\n`co3` attempts to provide a general interface for interacting with a storage media (e.g.,\ndatabase, pickled objects, VSS framework, in-memory key-value stores, etc). The following\ntop-level classes capture the bulk of the operational model:\n\n- **Database**: reference to a storage medium, with an `Accessor` for accessing data,\n `Manager` for managing database state, and an `Engine` for managing connections and\n external operations.\n- **Accessor**: provides access to stored items in a `Database`, typically via a supported\n `select` operation over known `Component` types\n- **Manager**: manages database storage state (e.g., supported inserts or database sync\n operations)\n- **Mapper**: associates `CO3` types with `Schema` components, and provides automatic\n collection and composition operations for supported items\n- **Collector**: collects data from defined `CO3` type transformations and prepares for\n `Database` insert operations\n- **Component**: atomic storage groups for databases (i.e., generalized notion of a\n \"relation\" in relational algebra).\n- **Indexer**: automatic caching of supported access queries to a `Database`\n- **Schema**: general schema analog for grouping related `Component` sets\n- **Differ**: facilitates set operations on results from selectable resources (e.g.,\n automatic comparison between file data on disk and file rows in a SQL database)\n- **Syncer**: generalized syncing procedure for items between data resources (e.g.,\n syncing new, modified, and deleted files from disk to a SQL database that stores file\n metadata).\n\nThe **CO3** an abstract base class then makes it easy to integrate this model with regular\nPython object hierarchies that can be mapped to a storage schema.\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Lightweight Python ORM for hierarchical storage management",
"version": "0.6.3",
"project_urls": {
"Documentation": "https://doc.olog.io/co3",
"Homepage": "https://doc.olog.io/co3",
"Issues": "https://git.olog.io/olog/co3/issues",
"Repository": "https://git.olog.io/olog/co3"
},
"split_keywords": [
"database",
" orm"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bec8f196737f4cd5ec6b751e842057e1de95a421bf7bfcfdd76364ddd88cf068",
"md5": "591a213743ca253ccf637bc227a079f7",
"sha256": "9b99967e1478a7838d2309a01087e8beb1782b8825e365c3da9d8d5f4f81a821"
},
"downloads": -1,
"filename": "co3-0.6.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "591a213743ca253ccf637bc227a079f7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 57286,
"upload_time": "2024-05-16T03:09:22",
"upload_time_iso_8601": "2024-05-16T03:09:22.551863Z",
"url": "https://files.pythonhosted.org/packages/be/c8/f196737f4cd5ec6b751e842057e1de95a421bf7bfcfdd76364ddd88cf068/co3-0.6.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6fe38c324bfa55ca1b084e3931374a4aa0ffc53dfa674a5e2ee00e024946cd70",
"md5": "0e367783e1f8b050f7f32134f9772dc2",
"sha256": "b43400964a75fbf0692802cd74460f6b9d841c70d3ef895f08294ef2cbccc376"
},
"downloads": -1,
"filename": "co3-0.6.3.tar.gz",
"has_sig": false,
"md5_digest": "0e367783e1f8b050f7f32134f9772dc2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 48921,
"upload_time": "2024-05-16T03:09:25",
"upload_time_iso_8601": "2024-05-16T03:09:25.748275Z",
"url": "https://files.pythonhosted.org/packages/6f/e3/8c324bfa55ca1b084e3931374a4aa0ffc53dfa674a5e2ee00e024946cd70/co3-0.6.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-16 03:09:25",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "co3"
}