Skip to main content

QuickBean is a tool that reduces the boilerplate code required to define beans.

Installation

Here is how to install QuickBean :

pip install quickbean

Starting with QuickBean

Suppose you have defined the following bean :

>>> class MyObject(object):
>>>     def __init__(self, my_property, my_other_property):
>>>         self.my_property = my_property
>>>         self.my_other_property = my_other_property

If you would like your bean to have a human-readable representation, you have to override the __repr__ method :

>>> class MyObject(object):
>>>     def __init__(self, my_property, my_other_property):
>>>         self.my_property = my_property
>>>         self.my_other_property = my_other_property
>>>
>>>     def __repr__(self):
>>>         return 'MyObject(my_property=%s, my_other_property=%s)' % (self.my_property, self.my_other_property)

If you would like your bean to be equality comparable, you also have to override the __eq__ and __ne__ methods :

>>> class MyObject(object):
>>>     def __init__(self, my_property, my_other_property):
>>>         self.my_property = my_property
>>>         self.my_other_property = my_other_property
>>>
>>>     def __repr__(self):
>>>         return 'MyObject(my_property=%s, my_other_property=%s)' % (self.my_property, self.my_other_property)
>>>
>>>     def __eq__(self, other):
>>>         return other.__class__ is MyObject and other.__dict__ == self.__dict__
>>>
>>>     def __ne__(self, other):
>>>         return not self.__eq__(other)

Although there is nothing difficult here, it would be better if this boilerplate code could be automatically generated for you. This is exactly what QuickBean brings to you :

>>> import quickbean
>>>
>>> @quickbean.AutoBean()
>>> class MyObject(object):
>>>     def __init__(self, my_property, my_other_property):
>>>         self.my_property = my_property
>>>         self.my_other_property = my_other_property

You may even let QuickBean generate the __init__ method for you :

>>> import quickbean
>>>
>>> @quickbean.AutoInit('my_property', 'my_other_property')
>>> @quickbean.AutoBean()
>>> class MyObject(object):
>>>     pass

See the documentation for more information on how to use QuickBean.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

QuickBean-1.0.3.tar.gz (18.8 kB view details)

Uploaded Source

File details

Details for the file QuickBean-1.0.3.tar.gz.

File metadata

  • Download URL: QuickBean-1.0.3.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for QuickBean-1.0.3.tar.gz
Algorithm Hash digest
SHA256 7d473d974b522aa2b67839448e9bd4e3d16c0d5bf62e4948c372368845ff99dc
MD5 1f5ae5bd2771466142c5ccb2b3215c2d
BLAKE2b-256 e94bbaa259a58ba90d10d00a5f195cb91947e454475a4f9aead76ad683feceb0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page