Skip to main content

Python signature and behaviour checker inspired by Elixir.

Project description

Vidimera

PyPI PyPI - Python Version PyPI - Status PyPI - License Python package

Python signature and behaviour checker inspired by Elixir.

In Swedish, vidimera means to attest or to certify. It is commonly used to attest that a copy of a document is accurate compared to the original.

Installation

Install the package vidimera version 0.3+ from PyPI. The recommended requirements.txt line is vidimera~=0.3.

Current Functionality

assert_implements(object, expected, scope=Behaviour.PUBLIC_AND_SPECIAL)

  • Raises an AssertionError listing missing callables and their signatures if there are any. Based on behaviour.implements.

Behaviour(object)

  • Creates a new Behaviour instance.
  • If object already is an instance of Behaviour, it is returned unchanged.

behaviour.implemented_by(other, scope=Behaviour.PUBLIC_AND_SPECIAL)

  • Verifies that other at least has the same public and dunderscore callables with the same signatures as the behaviour.
  • Creats a Behaviour from other before making the comparison.

behaviour.implements(other, scope=Behaviour.PUBLIC_AND_SPECIAL)

  • Verifies that the behaviour at least has the same public and dunderscore callables with the same signatures as other.
  • Creats a Behaviour from other before making the comparison.

behaviour.signatures(scope=Behaviour.PUBLIC_AND_SPECIAL)

  • Returns a set of tuples that represent the name and the callable selected based on the scope.
  • Possible scopes include PUBLIC, PRIVATE, SPECIAL, and PUBLIC_AND_SPECIAL.

MissingBehaviour(delta)

  • An internal representation of missing behaviour. Created from a set of names and signatures. If the set is empty, this object will be truthy. If the set is non-empty, this object is falsy.

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

vidimera-0.3.1.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

vidimera-0.3.1-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file vidimera-0.3.1.tar.gz.

File metadata

  • Download URL: vidimera-0.3.1.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for vidimera-0.3.1.tar.gz
Algorithm Hash digest
SHA256 b4970467f4d07e59f39386cddbdb5bf1b6e9db14d2123312bce884f0a29ac339
MD5 72806476cc6c7218cde849ba44215c97
BLAKE2b-256 2b87441a249cd848d7eb030436d86450195a7b0c5439b9da2b1c9a16f7f6b622

See more details on using hashes here.

File details

Details for the file vidimera-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: vidimera-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for vidimera-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 14d34b9d0bb506e7b9885c1f00984ed06b3f27f25427e925cf76d3c047a53e82
MD5 968a79baaeac38882ecde00875a79614
BLAKE2b-256 a122a48f5223b6aa8a6bdb02f110b5173f868039c8e1d38ca9e8dc520b58a544

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