Skip to main content

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.

Metadata

Release files for ontolog 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ontolog 0.0.1
File Size Uploaded
ontolog-0.0.1.tar.gz 4.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ontolog 0.0.1
File Interpreter ABI Platform
ontolog-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 8.0 kB

Release files / ontolog-0.0.1.tar.gz

Download URL ontolog-0.0.1.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a17ede31b90d22e3bbe5bf7235a8c283aef3800d1c7ecd54f22e0604b04c3387
BLAKE2b-256 checksum
How to use checksums
7b9dd5bedb871aab9254d28c71af94090142149e4914267aef1c6ca5918a4122
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.2

Release files / ontolog-0.0.1-py3-none-any.whl

Download URL ontolog-0.0.1-py3-none-any.whl
Size 4.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
030ba3b24e7a3d59d951f5c8e5f54ba66e4bc38eb61673586bed631177d74326
BLAKE2b-256 checksum
How to use checksums
ed3d01f22fdc2ce4474f7b521c70ae30dc97ba5648c5ac3ec7a77067ba517bd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page