Skip to main content

Reflective annotation library for python

Project description

Description

Annotation library like Java’s annotation with reflective concerns for Python.

License Development Status Latest release Supported Python versions Supported Python implementations Download format Build status Code test coverage Downloads Documentation Status Code Health

Installation

pip install b3j0f.annotation

Features

What does mean annotations in a reflective way:

  • one annotation can annotate several objects at a time (modules, classes, functions, instances, builtins, annotation like themselves, etc.).

  • such as a reflective object, they could have their own behavior and lifecycle independently to annotated elements.

This library provides the base Annotation class in order to specialize your own annotations, and several examples of useful annotation given in different modules such as:

  • async: dedicated to asynchronous programming.

  • interception: annotations able to intercept callable object calls.

  • call: inherits from interception module and provides annotations which allow to do checking on callable objects.

  • check: annotations which check some conditions such as type of annotated targets, max number of annotated elements, etc.

  • oop: useful in object oriented programming like allowing to weave mixins.

Examples

Perspectives

  • Cython implementation.

Donation

I'm grateful for gifts, but don't have a specific funding goal.

Project details


Download files

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

Source Distributions

b3j0f.annotation-0.3.6.zip (47.8 kB view details)

Uploaded Source

b3j0f.annotation-0.3.6.tar.gz (26.9 kB view details)

Uploaded Source

b3j0f.annotation-0.3.6.tar.bz2 (23.8 kB view details)

Uploaded Source

Built Distribution

b3j0f.annotation-0.3.6-py2.py3-none-any.whl (42.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file b3j0f.annotation-0.3.6.zip.

File metadata

File hashes

Hashes for b3j0f.annotation-0.3.6.zip
Algorithm Hash digest
SHA256 00f630a61fd9b78321c2cd7b24aa9efa46673c35dab219ed7e883199b2c7cd35
MD5 56c856248189c527cea83b4c1633b3ec
BLAKE2b-256 b7294126ba66de28b506d18a2bc1c68add91b30b65f1b2039e6bcaec032f2b35

See more details on using hashes here.

File details

Details for the file b3j0f.annotation-0.3.6.tar.gz.

File metadata

File hashes

Hashes for b3j0f.annotation-0.3.6.tar.gz
Algorithm Hash digest
SHA256 bb46848c81bb1f3a3276c57e8530af70f8e53093df767efa57f56a5d83578387
MD5 75bd88aeaf21342616a45fa1706e7bfc
BLAKE2b-256 f84bb248c8a9f7d9df9e7031fb937aac92dcb7fe2edf7d46190b8cc19cab7c1d

See more details on using hashes here.

File details

Details for the file b3j0f.annotation-0.3.6.tar.bz2.

File metadata

File hashes

Hashes for b3j0f.annotation-0.3.6.tar.bz2
Algorithm Hash digest
SHA256 e2bd1147ecb9eb20b726dfd2ffe5b9a7662fc90095d1898db0628d78fd426c5a
MD5 d64a8b653da9c04af97017bee3f4b775
BLAKE2b-256 e2fd71901feaa93366db4f24af1accfa2479702ddf5d8a11879ca223a6fc9260

See more details on using hashes here.

File details

Details for the file b3j0f.annotation-0.3.6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for b3j0f.annotation-0.3.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 37a1569d5c81e087aface1f3e462dccd3f97752858c4da7f2540f89928364ec6
MD5 f3c2de0ca555eaa35e86b4aed7a0052c
BLAKE2b-256 5e6bce0a58fb38fdf62893baea21df90b1b971b29111861f89d64fd4cccb55e9

See more details on using hashes here.

Supported by

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