floq.client.containers
This module provides components dependencies structure.
Rather than manually creating class objects we are using dependency-injector framework to declare components dependencies (containers) and let the library do the work for us.
Our structure is declared using following containers:
Core
container contains core components that are being used by other classes.Managers
container provides clients for managing Floq service resources.Simulators
container is dedicated for creating Floq service simulators.Client
container connects all containers together.
- class floq.client.containers.Client(**overriding_providers)
Bases:
dependency_injector.containers.DeclarativeContainer
Floq client main container.
- simulators = <dependency_injector.providers.Container()>
Reference to
Simulators
container
- class floq.client.containers.Core(**overriding_providers)
Bases:
dependency_injector.containers.DeclarativeContainer
Floq client core components.
- ApiClient = <dependency_injector.providers.Singleton(<class 'floq.client.api_client.ApiClient'>)>
floq.client.api_client.ApiClient
class provider.
- TaskStatusStreamHandler = <dependency_injector.providers.Factory(<class 'floq.client.sse.TaskStatusStreamHandler'>)>
floq.client.sse.TaskStatusStreamHandler
class provider.
- config = <dependency_injector.providers.Configuration('config')>
Client configuration provider.
- class floq.client.containers.Managers(**overriding_providers)
Bases:
dependency_injector.containers.DeclarativeContainer
Floq service resources managers.
- JobsQueueManager = <dependency_injector.providers.Factory(<class 'floq.client.jobs_queue.JobsQueueManager'>)>
floq.client.jobs_queue.JobsQueueManager
class provider.
- WorkerManager = <dependency_injector.providers.Factory(<class 'floq.client.worker.WorkerManager'>)>
floq.client.worker.WorkerManager
class provider.
- class floq.client.containers.Simulators(**overriding_providers)
Bases:
dependency_injector.containers.DeclarativeContainer
Floq remote simulators.
- CirqSimulator = <dependency_injector.providers.Factory(<class 'floq.client.simulators.cirq.CirqSimulator'>)>
floq.client.simulators.CirqSimulator
class provider.
- remote_simulators = <dependency_injector.providers.Dict({<JobType.EXPECTATION: 1>: <dependency_injector.providers.Factory(<class 'floq.client.simulators.floq.ExpectationValuesSimulator'>)>, <JobType.SAMPLE: 0>: <dependency_injector.providers.Factory(<class 'floq.client.simulators.floq.SamplesSimulator'>)>})>
Map of remote simulators provider.