Skip to main content

a simple and versatile collection of nodes with attributes, accessed as direct Python objects and automatically transcribed to assorted backing stores (CSV, SQL, GDBM, etc); the CSV backend can be (loosely) shared between multiple clients

Project description

A NodeDB is a base class for (currently small) databases of Node objects, native Python objects identified by their .type and .name attributes, and with uppercase attributes.

Node attribute access

As far as the backing store goes, each attribute is a sequence of values. Within Python, an attribute may be directly accessed as .FOO, which returns element 0 if the value sequence and requires the sequence to have exactly one element, or as .FOOs or .FOOes (note the lowercase plural suffix) which returns a view of the whole sequence.

The plural forms return a sequence view which itself accepts .FOO or .FOOs attributes. If the values are all Nodes, .FOOs returns a new view with all the .FOO values from each Node, so one may cascade access through a graph of Nodes, example:

N.LIST_MEMBERs.EMAIL_ADDRESSes

which might return a sequence of email addresses from all the .LIST_MEMBER values from the root Node N.

The Node attributes obey both the sequence API and some of the set API: you can .append to or .extend one, or .add to or .update as with a set:

M = MemberNode("bill")
N.LIST_MEMBERs.add(M)

Backing Stores

A NodeDB can be backed by a CSV file (beta quality - I use it myself extensively) or SQL or a DBM file (alpha quality, both need some work). The CSV backend allows multiple clients to share the file; they update by appending to the file and monitor the updates of others.

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

cs.nodedb-20160828.tar.gz (33.4 kB view details)

Uploaded Source

File details

Details for the file cs.nodedb-20160828.tar.gz.

File metadata

  • Download URL: cs.nodedb-20160828.tar.gz
  • Upload date:
  • Size: 33.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cs.nodedb-20160828.tar.gz
Algorithm Hash digest
SHA256 daa076a26ab381d2ceb368434047924dc4ace19d4673076a3d23de214b1ad662
MD5 6170dcfe421a1b17834a7b77d1facb26
BLAKE2b-256 ba22a19c841e67b7922c6d30638079b7636bcb2155e0ed76fdb24a601c7dcc95

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