semvec/pypi-packages huggingface dataset:
ddict 0.1.3
Dict class with dot notation (like attributes) for accessing nested values
License: MIT
Keywords: dict dot notation access

|Build Status| |Coverage Status|

=============
DotAccessDict
=============

DotAccessDict class can handle nested dictionaries with arbitray number
of dicts and lists, nested inside each other.

Usage:
~~~~~~

.. code:: python

    >>> from ddict import DotAccessDict
    >>> d = DotAccessDict()
    >>> d
    {}
    >>> d.person
    {}
    >>> d.person.name = 'Jack'
    >>> d
    {'person': {'name': 'Jack'}}
    >>> d['person']['name']
    'Jack'
    >>> d['person'].name
    'Jack'
    >>> d.person['name']
    'Jack'
    >>> joe = dict(name='Joe', age=18)
    >>> d.person.brothers = [joe, 'John', 'Pat']
    >>> d.person.brothers[0].age
    18
    >>> d.get('person.brothers[1]')
    'John'
    >>> d.set('person.brothers[2]', 'James')
    >>> d.person.brothers[2]
    'James'
    >>> d.flatten()
    {'person.brothers[0].age': 18,
     'person.brothers[0].name': 'Joe',
     'person.brothers[1]': 'John',
     'person.brothers[2]': 'James',
     'person.name': 'Jack'}

Similar works:
~~~~~~~~~~~~~~

-  https://github.com/mewwts/addict
-  https://github.com/makinacorpus/easydict
-  https://github.com/drgrib/dotmap

.. |Build Status| image:: https://travis-ci.org/rbehzadan/ddict.svg?branch=master
   :target: https://travis-ci.org/rbehzadan/ddict
.. |Coverage Status| image:: https://coveralls.io/repos/github/rbehzadan/ddict/badge.svg
   :target: https://coveralls.io/github/rbehzadan/ddict
gemstone 0.12.0
Build microservices with Python
License: MIT
Keywords: microservice,service,gemstone,jsonrpc,rpc,http,asynchronous,async,tornado

The **gemstone** framework
~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: https://badge.fury.io/py/gemstone.svg
    :target: https://badge.fury.io/py/gemstone
.. image:: https://travis-ci.org/vladcalin/gemstone.svg?branch=master
    :target: https://travis-ci.org/vladcalin/gemstone
.. image :: https://ci.appveyor.com/api/projects/status/i6rep3022e7occ8e?svg=true
    :target: https://ci.appveyor.com/project/vladcalin/gemstone
.. image:: https://readthedocs.org/projects/gemstone/badge/?version=latest
    :target: http://gemstone.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status
.. image:: https://coveralls.io/repos/github/vladcalin/gemstone/badge.svg?branch=master
    :target: https://coveralls.io/github/vladcalin/gemstone?branch=master
.. image:: https://codeclimate.com/github/vladcalin/gemstone/badges/gpa.svg
    :target: https://codeclimate.com/github/vladcalin/gemstone
    :alt: Code Climate
.. image:: https://landscape.io/github/vladcalin/gemstone/master/landscape.svg?style=flat
   :target: https://landscape.io/github/vladcalin/gemstone/master
   :alt: Code Health


An extensible and simplistic library for writing microservices in Python.

Core features:

    - JSON RPC 2.0 communication (request-response)
    - Event based communication (publisher-subscriber)
    - autodiscovery
    - dynamic configuration of the services
    - possibility to add web application functionality
    - API token based security

See the documentation for more info: `documentation <http://gemstone.readthedocs.io/en/latest/>`_

Check out the issue tracker: `issue tracker <https://github.com/vladcalin/gemstone/issues>`_

Changes: `Changelog <https://github.com/vladcalin/gemstone/blob/master/docs/changes.rst>`_
istruct 0.1.6
Immutable struct with sane defaults
License: MIT

istruct
=======
Immutable struct built on top of ``collections.namedtuple`` with sane defaults

Goals
-----
- Immutable, dictionary-like data structure (Note: ``istruct`` is *not* an immutable version of the existing ``struct`` in Python)
- Minimal
- Support required *and* optional fields (with default values)
- Strictly disallow positional arguments

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

``pip install istruct``

Quick Start
-----------
First, create an ``istruct`` object called ``person`` where ``first_name`` and ``last_name`` are *required* whereas ``middle_name``, ``dob`` and ``email`` are *optional* (with default values specified).

.. code-block::

    >>> from istruct import istruct
    >>> person = istruct("first_name", "last_name", middle_name="", dob="2000-01-01", email=None)

Then, create an instance of ``person`` with ``first_name``, ``last_name`` and ``middle_name``.

.. code-block::

    >>> p = person(first_name="Jim", last_name="Raynor", middle_name="Eugene")
    >>> p
    istruct(first_name='Jim', last_name='Raynor', email=None, dob='2000-01-01', middle_name='Eugene')

You can retrieve field values like you would normally do.

.. code-block::

    >>> p.first_name
    'Jim'
    >>> p.dob
    '2000-01-01'

``p`` is immutable, meaning that it cannot be modified after created. Thus, set/delete operations like below would fail, raising an ``AttributeError``.

.. code-block::

    >>> p.first_name = "James"
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: can't set attribute
    >>> del p.email
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: can't delete attribute

``istruct`` only accepts named/keyword arguments. It strictly disallows positional arguments by design.

.. code-block::

    >>> p = person("Jim", "Raynor")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/Users/microamp/src/microamp/istruct/istruct/__init__.py", line 52, in _istruct
        "(%d found)" % (len(positional),))
    TypeError: No positional arguments are allowed in istruct (2 found)

``istruct`` would raise a ``TypeError`` when one or more *required* fields are omitted.

.. code-block::

    >>> p = person(last_name="Raynor")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/Users/microamp/src/microamp/istruct/istruct/__init__.py", line 56, in _istruct
        return nt(**merge_dicts(kwargs, attrs))
    TypeError: __new__() missing 1 required positional argument: 'first_name'

Versions Tested
---------------
- Python 2.7
- Python 3.2
- Python 3.3
- Python 3.4
- Python 3.5
- Python 3.6
- PyPy
- PyPy3

TODO
----
- Find ways to annotate types

License
-------
MIT
psql-connect 0.0.4
Prompt for one of the databases contained in ~/.pgpass to connect to before launching psql
License: MIT

PSQL Connect
============

Prompt for one of the databases contained in ``~/.pgpass`` to connect to before launching ``psql``.

See `pgpass <https://www.postgresql.org/docs/9.4/static/libpq-pgpass.html>`_ for more info on how to create a pgpass file.


Installing
----------

.. code-block::

  pip install psql-connect


License
-------

MIT
itchatmp 0.0.17
A complete wechat massive platform api
License: MIT
Keywords: wechat itchatmp api weixin massive platfrom

itchatmp
========

|Python2| |Python3|

itchatmp is an open source api for WeChat massive platfrom, a commonly-used Chinese social networking app.

Accessing your personal wechat account through itchat in python has never been easier.

itchatmp based on tornado framework, process efficiently. It supports normal uses, nginx reverse proxy and wsgi uses.

.. |Python2| image:: https://img.shields.io/badge/python-2.7-ff69b4.svg
.. |Python3| image:: https://img.shields.io/badge/python-3.5-red.svg