Skip to main content

Lightweight Python ORM for hierarchical storage management

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

co3-0.6.3.tar.gz (48.9 kB view details)

Uploaded Source

Built Distribution

co3-0.6.3-py3-none-any.whl (57.3 kB view details)

Uploaded Python 3

File details

Details for the file co3-0.6.3.tar.gz.

File metadata

  • Download URL: co3-0.6.3.tar.gz
  • Upload date:
  • Size: 48.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for co3-0.6.3.tar.gz
Algorithm Hash digest
SHA256 b43400964a75fbf0692802cd74460f6b9d841c70d3ef895f08294ef2cbccc376
MD5 0e367783e1f8b050f7f32134f9772dc2
BLAKE2b-256 6fe38c324bfa55ca1b084e3931374a4aa0ffc53dfa674a5e2ee00e024946cd70

See more details on using hashes here.

File details

Details for the file co3-0.6.3-py3-none-any.whl.

File metadata

  • Download URL: co3-0.6.3-py3-none-any.whl
  • Upload date:
  • Size: 57.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for co3-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9b99967e1478a7838d2309a01087e8beb1782b8825e365c3da9d8d5f4f81a821
MD5 591a213743ca253ccf637bc227a079f7
BLAKE2b-256 bec8f196737f4cd5ec6b751e842057e1de95a421bf7bfcfdd76364ddd88cf068

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page