Skip to main content

JSAM (JSON Storage Access Methods) is a "NoSQL" Database for JSON objects.

Project description

JSAM’s basic operations are get, put and remove, with basic support for transactions via begin, commit and rollback. All stored objects are identified by an integer key.

A JSAM database is opened by supplying a URL to jsam.jsurl.parse() and calling the open() method on the returned object. The syntax of URL depends on the particular “access method”.

The following URL types currently exist:

* file:   directory plain text JSON files
* rcs:    directory plain text JSON files under RCS
* cvs:    directory plain text JSON files under CVS (not tested)
* svn:    directory plain text JSON files under SVN (not tested)
* sqlite: object trees stored in an SQLite3 database
* mysql:  object trees stored in a MySQL database (lightly tested)
* pgsql:  object trees stored in a PostgreSQL database (lightly tested)

Query methods include:

* Collections: a jQuery/Django-like method-chained interface
* XPath query language subset (only supported for SQL backends)
* P4J (E4X-like) query language (only supported for SQL backends)
    which allows construction of "xpath" queries in Python using
    method chaining and operator overload, bridging the lexical divide
    between code and query.
pydoc jsam.<URLTYPE>_jsam

gives information on the URL syntax for <URLTYPE>

pydoc jsam.jsam.JSAM

gives information on jsam object methods

pydoc jsam.xpath

gives information on XPath query syntax (SQL backends only)

pydoc jsam.p4j

gives information on P4J Python native query syntax

NOTE:

* uses Python 2.6+ supplied "json"; requires "simplejson" on Python 2.5
* file-based storage depends on POSIX file semantics
* requires "MySQLdb" for MySQL
* requires "psycopg2" for PostgreSQL

The name “JSAM” is a joke on IBM Mainframe O/S data “Access Methods” (BDAM, BSAM, VSAM, ISAM, QSAM, BPAM).

The obvious name ‘jsonstore’ was already taken by another package in the Python Package Index (PyPI).

The URL/URI syntax was cribbed from Django, which copied SQLAlchemy.

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

jsam-0.7.tar.gz (56.9 kB view details)

Uploaded Source

File details

Details for the file jsam-0.7.tar.gz.

File metadata

  • Download URL: jsam-0.7.tar.gz
  • Upload date:
  • Size: 56.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for jsam-0.7.tar.gz
Algorithm Hash digest
SHA256 a985479d61e144e8dee55d2d0fc97a8ca92d7663e36b272ba61aa4091ad3c27d
MD5 24a0e972ee5ec93724fa2ad03f9d2d9e
BLAKE2b-256 71b7246b5f1a05c23f0f87615833466cfd6bcbec4d486c13ab78ae6509886c52

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