Skip to main content

Another simple ioc framework for python

Project description

anyioc

GitHub CI PyPI GitHub code size in bytes

Another simple ioc framework for python.

Usage

from anyioc import ServiceProvider
provider = ServiceProvider()
provider.register_singleton('the key', lambda ioc: 102) # ioc will be a `IServiceProvider`
value = provider.get('the key')
assert value == 102

Register and resolve

By default, you can use following methods to register services:

  • ServiceProvider.register_singleton(key, factory)
  • ServiceProvider.register_scoped(key, factory)
  • ServiceProvider.register_transient(key, factory)
  • ServiceProvider.register(key, factory, lifetime)
  • ServiceProvider.register_value(key, value)
  • ServiceProvider.register_group(key, keys)
  • ServiceProvider.register_bind(new_key, target_key)

And use following methods to resolve services:

  • ServiceProvider.__getitem__(key)
  • ServiceProvider.get(key)
  • ServiceProvider.get_many(key)

get return None if the service was not found, but __getitem__ will raise a ServiceNotFoundError.

Read full documentation.

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

anyioc-0.13.0.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

anyioc-0.13.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file anyioc-0.13.0.tar.gz.

File metadata

  • Download URL: anyioc-0.13.0.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.10.7 Windows/10

File hashes

Hashes for anyioc-0.13.0.tar.gz
Algorithm Hash digest
SHA256 973ebaedf50497304812264b1f18c77422a632c7f3738ffbd70d4204694348b6
MD5 9ada489aed3f2b136edf724a96153105
BLAKE2b-256 f6d5fc63d5b69f8c50b07ed72e5c746c575c125afec78a7e05e9deb3afb65022

See more details on using hashes here.

File details

Details for the file anyioc-0.13.0-py3-none-any.whl.

File metadata

  • Download URL: anyioc-0.13.0-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.10.7 Windows/10

File hashes

Hashes for anyioc-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3f0f975a23b9b067d5a255e7202919b600857478093d5fc14b2744c01023778
MD5 679c2842a05b9640241c936ebf1d7d30
BLAKE2b-256 55b77f76391c54440cdd7326cadf69c7575f409b550a10d55daa66daa99a13a7

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