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:
Corecontainer contains core components that are being used by other classes.Managerscontainer provides clients for managing Floq service resources.Simulatorscontainer is dedicated for creating Floq service simulators.Clientcontainer connects all containers together.
- class floq.client.containers.Client(**overriding_providers)
Bases:
dependency_injector.containers.DeclarativeContainerFloq client main container.
- simulators = <dependency_injector.providers.Container()>
Reference to
Simulatorscontainer
- class floq.client.containers.Core(**overriding_providers)
Bases:
dependency_injector.containers.DeclarativeContainerFloq client core components.
- ApiClient = <dependency_injector.providers.Singleton(<class 'floq.client.api_client.ApiClient'>)>
floq.client.api_client.ApiClientclass provider.
- TaskStatusStreamHandler = <dependency_injector.providers.Factory(<class 'floq.client.sse.TaskStatusStreamHandler'>)>
floq.client.sse.TaskStatusStreamHandlerclass provider.
- config = <dependency_injector.providers.Configuration('config')>
Client configuration provider.
- class floq.client.containers.Managers(**overriding_providers)
Bases:
dependency_injector.containers.DeclarativeContainerFloq service resources managers.
- JobsQueueManager = <dependency_injector.providers.Factory(<class 'floq.client.jobs_queue.JobsQueueManager'>)>
floq.client.jobs_queue.JobsQueueManagerclass provider.
- WorkerManager = <dependency_injector.providers.Factory(<class 'floq.client.worker.WorkerManager'>)>
floq.client.worker.WorkerManagerclass provider.
- class floq.client.containers.Simulators(**overriding_providers)
Bases:
dependency_injector.containers.DeclarativeContainerFloq remote simulators.
- CirqSimulator = <dependency_injector.providers.Factory(<class 'floq.client.simulators.cirq.CirqSimulator'>)>
floq.client.simulators.CirqSimulatorclass 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.