Skip to main content

Neurolog (pre-alpha)

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

neurolog-0.0.1.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neurolog-0.0.1-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file neurolog-0.0.1.tar.gz.

File metadata

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

File hashes

Hashes for neurolog-0.0.1.tar.gz
Algorithm Hash digest
SHA256 1b9f3c17ec466f12f1965a1b79d98d5f4210163f2fe80433e00598f0432952f1
MD5 33511289f7fbbf5ea2decdfc2d80f2fe
BLAKE2b-256 826b7635de4051e4407642cdecd680013479f4645b5ed17b86a91779dacb1abc

See more details on using hashes here.

File details

Details for the file neurolog-0.0.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for neurolog-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ada2b5b8b13b3987f8f76e360284c12e3e4f5cd01c04b5be5c19949bdf8686e0
MD5 8eac165c7eab8912af34c87a5eb0a904
BLAKE2b-256 49541d5137001facba9a8dcabc8f5c3ba6c23c9e295677abd0de94a301a2a24d

See more details on using hashes here.

Supported by

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