An open API service indexing awesome lists of open source software.

https://github.com/runfalk/stormspans

PostgreSQL range type support for Canonical's Storm ORM using Spans
https://github.com/runfalk/stormspans

Last synced: about 1 month ago
JSON representation

PostgreSQL range type support for Canonical's Storm ORM using Spans

Awesome Lists containing this project

README

          

StormSpans
==========
StormSpans brings support for PostgreSQL's
`range types `_
to Canonical's `Storm ORM `_ using
`PsycoSpans `_ paired with
`Spans `_.

This package's functionality probably be merged with
`storm-legacy `_ in the future.

Installation
------------
Psycospans exists on PyPI.

.. code-block:: bash

pip install psycospans

Documentation
-------------
For full doumentation please run ``pydoc stormspans`` from a shell.

Example
-------
.. code-block:: python

from spans import intrange
from storm.locals import *
from stormspans import IntRange

class Model(Storm):
id = Int(primary=True)
span = IntRange(default=intrange(1, 10))

def __init__(self, span):
self.span = span

# NOTE: URI must start with postgres+spans://
store = Store(create_database("postgres+spans://"))
store.execute("""
CREATE TABLE int_range_test(
id SERIAL,
span int4range
)
""")

store.add(Model(intrange(1, 100))
store.commit()

Changelog
=========

Version 1.0.0
-------------
Released on 9th October 2018

- Added support for `storm-legacy `_
- Added support for Python 3.4 and later. Note that this only work with
``storm-legacy`` since Storm is not Python 3 compatible

Version 0.1.0
-------------
Released 12th June 2014

- Initial commit