Skip to main content

A classy toolkit designed with OOP in mind.

Project description

Generics

azure-devops-builds azure-devops-coverage pypi python

A classy toolkit designed with OOP in mind.

Documentation | Source Code | Task Tracker

In our opinion, main benefits of having objects implemented in the language are encapsulation and polymorphous. Classes that could be easily used in a composition are tricky to write. The generics library aims to help you in writing code with high quality.

Pros

  • Real private attributes without loosing the readability
  • Leads to a better design forcing you to use encapsulation properly
  • Makes writing quality code with high cohesion and low coupling easier
  • Guides you to follow SOLID principles

Example

The generics library gives you an easy way to define private attributes on objects without loosing little nice things like readability.

>>> from attr import attrs, attrib
>>> from generics import private

>>> @private
... @attrs(frozen=True)
... class User:
...     name = attrib()
...
...     def greet(self):
...         return f'Hello, {self.name}'

>>> user = User('Jeff')

>>> user.greet()
'Hello, Jeff'

>>> hasattr(user, 'name')
False

Questions

If you have any questions, feel free to create an issue in our Task Tracker. We have the question label exactly for this purpose.

Enterprise support

If you have an issue with any version of the library, you can apply for a paid enterprise support contract. This will guarantee you that no breaking changes will happen to you. No matter how old version you're using at the moment. All necessary features and bug fixes will be backported in a way that serves your needs.

Please contact proofit404@gmail.com if you're interested in it.

License

Generics library is offered under the two clause BSD license.

— ⭐️ —

The generics library is part of the SOLID python family.

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

generics-3.0.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

generics-3.0.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file generics-3.0.0.tar.gz.

File metadata

  • Download URL: generics-3.0.0.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.9.0 Linux/4.15.0-1098-azure

File hashes

Hashes for generics-3.0.0.tar.gz
Algorithm Hash digest
SHA256 f76ab4774276d736b62bbfec976859fb6e8b5766f024b81ee9edcbd03e44cfff
MD5 8472fe4499fe2c3b934bea178eab0823
BLAKE2b-256 fc839040324f8167550bf5f5d789c51e671a7e8fb1d30288d7ac0b93af1df832

See more details on using hashes here.

File details

Details for the file generics-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: generics-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.9.0 Linux/4.15.0-1098-azure

File hashes

Hashes for generics-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 da8b350a7feb71ec577f14a1344e97e6e75094e342010ade887af9f3b879e965
MD5 a3fb16b563a26db9dc683dac95c09ad4
BLAKE2b-256 d852fd4df26c5e34e44294e9bca058e8a1e1fbc165aec6e90efe9849055bdaab

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