Skip to main content

First public release of ptypes

Project description

The ptypes (“persistent types”) package is a set of Python extension modules written in Cython. It provides a persistency mechanism to Python programs based on memory mapped files. ptypes emphasises execution speed. The persistent objects (persistent versions of ints, floats, strings, structures, lists, sets, dicts plus any extension type supporting the buffer interface) can be accessed and manipulated directly, without serializing and de-serializing them.

The package also implements data types for property graphs (nodes and edges), as well as a basic query interface allowing the enumeration of object-tuples matching a given pattern at (nearly) the speed of a C program.

In its current shape, ptypes is experimental with regards to the stability of its API and the completeness of its functionality. Making the updates to the memory mapped files atomic and implementing garbage collection for the persistent objects are of prime priorities.


ptypes is tested on Linux (but should run on any Posix platform) using CPython 2.7 (Python 3 support is on the agenda). It is distributed as a source tarball, so you need to have gcc to install it. The simplest way to do so is:

pip install ptypes

If you do not have internet access on the host where you need to install it, then download it from PyPI on a host where you do have internet access, copy the tarball over to the target host and:

tar -xf ptypes-<version>.tgz
cd ptypes-<version>
python install

In the doc directory you should find abundant examples of how to use it.

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

ptypes-0.5.0.tar.gz (698.2 kB view hashes)

Uploaded Source

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