Metadata-Version: 1.1
Name: kenji
Version: 0.3.0
Summary: simple sqlite-backed graph datastore
Home-page: http://github.com/eugene-eeo/kenji
Author: Eugene Eeo
Author-email: packwolf58@gmail.com
License: MIT
Description: kenji
        =====
        
        |Build|
        |Coverage|
        |Version|
        
        **Relations, simplified**- Kenji stores property-less relations
        between your data, in an SQLite3 backend, inspired by Twitter's
        distributed `FlockDB`_. Kenji is tiny, just like the apps it's
        meant for. Just:
        
        .. code-block:: sh
        
            $ pip install kenji
        
        Then initialize a graph, and then play around with it.
        
        .. code-block:: python
        
            from kenji import Graph, V
            g = Graph(graphs=['knows'])
        
            g.store(V(2).knows(1))
            for i in range(2, 5):
                g.store(V(1).knows(i))
        
            assert g.exists(V(1).knows(2))
            assert list(g.select(V(1).knows)) == [2,3,4]
            assert g.select(V().knows(1)).first == 2
        
        FAQ
        ---
        
        1. **Is Kenji thread-safe?** Kenji is thread safe, as long as you
        use it with the constraints of the SQLite library. According to
        the SQLite docs, `threads are evil`.
        
        2. **What about transactions?** Currently there is no guaranteed
        method of making atomic transactions thread-safe, primarily because
        they aren't thread safe in the SQLite3 library as well. We can
        sacrifice atomicity for thread safety but then again, that means
        that you won't really have a transaction.
        
        3. **Is Kenji a property graph?** No, it is merely a social graph.
        If you need properties in edges between nodes then you should
        consider other graphs like Neo4j.
        
        
        .. _FlockDB: http://github.com/twitter/flockdb
        .. |Build| image:: http://img.shields.io/travis/eugene-eeo/kenji.svg?style=flat
           :target: https://travis-ci.org/eugene-eeo/kenji
        .. |Coverage| image:: http://img.shields.io/coveralls/eugene-eeo/kenji.svg?style=flat
           :target: https://coveralls.io/r/eugene-eeo/kenji
        .. |Version| image:: http://img.shields.io/pypi/v/kenji.svg?style=flat
           :target: https://pypi.python.org/pypi/kenji
        
Keywords: database graph
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Database
Classifier: Topic :: Database :: Database Engines/Servers
Classifier: Topic :: Utilities
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Operating System :: OS Independent
