Enjoy the flexibility of structs with esu!
Project description
Welcome to Esu Struct!
Enjoy the flexibility of structs with esu!
You can create types on the fly with previously declared fields and methods by using esu struct.
The created type additionally contains methods for equation, hashing and string representation.
Install
pip install esu
Usage
Struct
from esu import Struct, OpenStruct
Customer = Struct(
'Customer',
'name', 'age',
methods={
'greeting': lambda self: "Hello {}".format(self.__dict__['name'])
})
dave = Customer()
dave.name = 'Dave'
dave.age = 25
dave.greeting() # => Hello Dave
anna = Customer('Anna', 28)
anna.greeting() # => Hello Anna
OpenStruct
bob = OpenStruct()
bob.name = Bob
bob.age = 54
print(bob) # => [name=Bob, age=54]
su = OpenStruct({'name': 'Su', 'gender': 'female'})
su.employed = True
print(su) # => [name=Su, gender=female, employed=True]
Documentation
For further information, read the documentation that can be found: https://esu.readthedocs.io
Contribution
- Fork it!
- Make your changes!
- Send a PR!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
esu-3.0.2.tar.gz
(3.4 kB
view details)
File details
Details for the file esu-3.0.2.tar.gz
.
File metadata
- Download URL: esu-3.0.2.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e819ac6cd50e1d626d22d2f9b895a6c38d2b5b7b5e4710fe1810624dd6804dcb |
|
MD5 | a843f5966f0ae1319153da7330487999 |
|
BLAKE2b-256 | 9173a4f4c76f8ea7416d504d3303500e9f16802b90c83fd4afc26c146bf51206 |