Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/nurdok/basicstruct

A simple struct-like object for Python
https://github.com/nurdok/basicstruct

Last synced: about 1 month ago
JSON representation

A simple struct-like object for Python

Awesome Lists containing this project

README

        

basicstruct
===========

.. image:: https://travis-ci.org/Nurdok/basicstruct.svg
:target: https://travis-ci.org/Nurdok/basicstruct

.. image:: https://coveralls.io/repos/Nurdok/basicstruct/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/Nurdok/basicstruct?branch=master

.. image:: https://badge.fury.io/py/basicstruct.svg
:target: http://badge.fury.io/py/basicstruct

A simple struct-like object for Python.
Compatible with Python 2.6+, 3.x, pypy and pypy3.

Installation
^^^^^^^^^^^^

.. code-block:: python

pip install basicstruct

Usage
^^^^^

To create your own struct, inherit from `BasicStruct` and define the field with the `__slots__` class member.
`BasicStruct` are efficient objects that are automatically comparable, hashable, picklable, printable and reprable.

.. code-block:: python

from basicstruct import BasicStruct

class Point(BasicStruct):
__slots__ = ('x', 'y')

p1 = Point(2, 3)
p2 = Point(1, y=6)
p3 = Point(x=0, y=0)

print(p1) # prints: Point(x=2, y=3)