semvec/pypi-packages huggingface dataset:
tinydb-git 0.2
A git-based storage backend for tinydb.
License: MIT

tinydb-git
==========

A storage backend for tinydb that stores database changes inside a git
branch.

``tinydb-git`` lets you use any branch in a git repository as a backend for
tinydb_.

.. code-block:: sh

    hiro@wintermute:tmp$ git init example
    Initialized empty Git repository in /tmp/example/.git/

Every modification of the database results in a new commit:

.. code-block:: pycon

    >>> import tinydb
    >>> from tinydb_git.json import JSONGitStorage
    >>> db = tinydb.TinyDB('example', storage=JSONGitStorage)
    >>> db.insert({'text': 'first record'})
    1

.. code-block:: sh

    hiro@wintermute:example$ git log
    commit de9a07844783b8e420fce6f9568e126dd7779e74

        Updated by tinydb-git 0.1.dev1

    commit 3b31825cf312cb5d42f792998faddf20b634c7d9

        Updated by tinydb-git 0.1.dev1

Multiple ``insert()`` calls result in a commit for each call. This can be
avoided by using a tinyrecord_ transaction:

.. code-block:: pycon

    >>> from tinyrecord import transaction
    >>> with transaction(db.table('_default')) as t:
    ...         t.insert({'b': 2})
    ...         t.insert({'c': 3})
    ...         t.insert({'d': 4})
    ...
    >>>

The result:

.. code-block:: sh

    hiro@wintermute:example$ git log
    commit e02a3af06d7cd7eeb6990277777cc24d384249e8

        Updated by tinydb-git 0.1.dev1

    commit de9a07844783b8e420fce6f9568e126dd7779e74

        Updated by tinydb-git 0.1.dev1

    commit 3b31825cf312cb5d42f792998faddf20b634c7d9

        Updated by tinydb-git 0.1.dev1

Internally, data gets stored as json, with ``sort_keys=True`` and ``indent=2``,
to make diffs pleasant to read and help with compression:

.. code-block:: sh

    hiro@wintermute:example$ git diff master^ master
    diff --git a/tinydb.json b/tinydb.json
    index a27ff44..d9711f0 100644
    --- a/tinydb.json
    +++ b/tinydb.json
    @@ -2,6 +2,15 @@
       "_default": {
         "1": {
           "text": "first record"
    +    },
    +    "2": {
    +      "b": 2
    +    },
    +    "3": {
    +      "c": 3
    +    },
    +    "4": {
    +      "d": 4
         }
       }
     }
    \ No newline at end of file

YAML
~~~~

Alternatively, data can be stored as YAML, which allows things like
`datetime`-Instances to be represented correctly:

.. code-block:: pycon

    >>> import tinydb
    >>> from tinydb_git.yaml import YAMLGitStoroage
    >>> db = tinydb.TinyDB('example', storage=YAMLGitStoroage)

.. _tinydb: http://tinydb.readthedocs.org/
.. _tinyrecord: https://github.com/eugene-eeo/tinyrecord
plut 0.5.3
Port manager for developing multiple local web apps.
License: MIT

plut
====

When you're building several web apps simultaneously (an increasingly
common situation with microservices) it's annoying to try and remember
which app is on which port. plut (port lookup table) does it for you.

Installation
------------

Run ::

  pip install plut

Usage
-----

plut maps names to ports. You supply a name and get back the port it's mapped
to.

Imagine you have a web app with two microservices responsible for
authentication and the user dashboard. Each of these services needs to know
what port to bind to when it starts up, and what port the other is on, so they
can talk. In this case, you might code-name these services ``auth``
and ``dashboard`` respectively.  Inside the authentication service, you'd say: ::

  import plut

  port = plut.port('userauth')

  run_webserver(port=port)

Now imagine the authentication service exposes an API. Inside the dashboard
service you could say: ::

  import plut

  base_url = 'http://localhost:%d/api/v1' % plut.port('userauth')
  # use requests or something to send requests to base_url

Functions
*********

 * ``plut.port(name)`` returns the port that ``name`` maps to.
   The same port will be returned for each ``name``, user-wide.

 * ``plut.services()`` returns a dict mapping names to ports.

Command-Line
************

 * ``plut`` shows all names and ports.

 * ``plut <name>`` shows the port of a name. This prints out a single
   integer, so you can use its output as a command-line argument for another
   program.

 * ``plut rm <name>`` removes a port. (There's no programmatic API for this
   at the moment. Should I add it? I'm a bit lazy.)

Notes
-----

plut saves everything to ``~/.plutfile``. If you delete this you'll
lose (or voluntarily reset) your mappings.
pykeccak 0.2.1
Keccak 256 hashing for PyPy2
License: MIT

Keccak sha3_256 hashing for PyPy2 and Python 2 using a C library through cffi bindings

Please note that this package uses the "old" Keccak standard and not FIPS202.


Development
-----------

```
python setup.py develop
```


Install
-------

```
python setup.py install
```