Skip to main content

Quapp common library supporting Quapp Platform for Quantum Computing

Project description

quapp-common

Quapp common library supporting Quapp Platform for Quantum Computing.

Overview

quapp-common is a Python library designed to support the Quapp Platform for Quantum Computing by providing common utilities, configurations, and abstractions for working with quantum providers and devices. Recent improvements add first-class asynchronous job processing with a cross-process JobManager, background task execution, and standardized result models for immediate client responses while work continues in the background.

Features

  • Provider and device factory for quantum computing platforms.
  • Logging and configuration utilities with improved and detailed log messages.
  • Support for AWS Braket, OQC Cloud, Qiskit, PennyLane, DWave Ocean, and Quapp quantum simulators.
  • Refactored classes and utilities to remove tenant-specific request, response, and promise classes.
  • Standardized naming by renaming ProjectHeader to CustomHeader.
  • Enhanced error handling and job metadata update mechanisms.
  • Simplified and cleaner HTTP request/response logging and URL parsing utilities.
  • Asynchronous job processing:
    • AsyncInvocationTask to run handlers in a background thread pool and return immediate responses.
    • JobManager for cross-process job registry with atomic add/update/get and pub-sub updates.
    • Standard Event/Result (Success, Error) models for consistent async responses.
    • Scheduler integration via callback URL; local updates are patched to the scheduler.
    • Safety: updates to jobs already DONE/FAILED are ignored to prevent post-completion mutations.

Installation

Install via pip:

pip install quapp-common

Notes:

  • From version 0.0.11.dev7, starlette is a direct dependency to support background execution helpers.

Recently Changes Highlights

  • Version bump to 0.0.11.dev7 and dependency update (add starlette).
  • Introduce asynchronous job processing primitives:
    • AsyncInvocationTask for background execution with immediate client response.
    • Event and standardized Result models (Success, Error).
  • Introduce JobManager for cross-process job management and update publication.
  • Integrate JobManager into Request to register jobs and carry scheduler callback URL.
  • Modularize update_job_metadata with clearer helpers; patch scheduler on local state changes.
  • Fix: ignore updates for jobs that are already DONE or FAILED.
  • Improve logging and error handling (use full tracebacks, cleaner logs).

For detailed usage and API references, please refer to the in-code documentation or contact the maintainers.

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

quapp_common-0.0.11.dev10.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quapp_common-0.0.11.dev10-py3-none-any.whl (50.3 kB view details)

Uploaded Python 3

File details

Details for the file quapp_common-0.0.11.dev10.tar.gz.

File metadata

  • Download URL: quapp_common-0.0.11.dev10.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for quapp_common-0.0.11.dev10.tar.gz
Algorithm Hash digest
SHA256 1826585d200f43d141466ae804bf46e917384a40fcf6f1edcf3fd5f201f9b5c7
MD5 36e36945819953fddfabc06cb36dd9b9
BLAKE2b-256 1e29ebf274446237fdb07154295efa5078d3194faf2e41eb1e2dc5f2e7c2edd7

See more details on using hashes here.

File details

Details for the file quapp_common-0.0.11.dev10-py3-none-any.whl.

File metadata

File hashes

Hashes for quapp_common-0.0.11.dev10-py3-none-any.whl
Algorithm Hash digest
SHA256 88b991654f51c309d257c96f8afa17b522290b4915bfbb7dc0b7904915355a0a
MD5 6ef0b4f72d94daab1e97685a1932e984
BLAKE2b-256 37c72c577f3481229d8fd71c5ec309b7b58232cf4a0508a362225a51b44f0e35

See more details on using hashes here.

Supported by

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