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-2.0.0.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

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

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: generics-2.0.0.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.10 CPython/3.8.5 Linux/4.15.0-1092-azure

File hashes

Hashes for generics-2.0.0.tar.gz
Algorithm Hash digest
SHA256 c4810dbe11d44ef640bfdf949a6d7c9a0963174599f8590c4309d934e8884b8b
MD5 2862e7a2353762e10b89dd230d7c6f02
BLAKE2b-256 fe450f44cc1a5a7b4c7c63b0f086e38b66f438bd496c0df8c9ee679c195f4340

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for generics-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd662f10079848e528adf2fdc2f8a300fe2cb655388894098285dacc055283fa
MD5 b8fbe8baa7593333985a572467855d4a
BLAKE2b-256 7c8cbd6b8f6d5e63efdbcbfe7879a7a61c46c291b51016a66a22b80ed43268c9

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