Skip to main content

Quebec is a simple background task queue for processing asynchronous tasks.

Project description

Quebec

Quebec is a simple background task queue for processing asynchronous tasks. The name is derived from the NATO phonetic alphabet for "Q", representing "Queue".

This project is inspired by Solid Queue.

Warning: This project is in early development stage. Not recommended for production use.

Why Quebec?

  • Simplified Architecture: No dependencies on Redis or message queues
  • Database-Powered: Leverages RDBMS capabilities for complex task queries and management
  • Rust Implementation: High performance and safety with Python compatibility
  • Framework Agnostic: Works with asyncio, Trio, threading, SQLAlchemy, Django, FastAPI, etc.

Features

  • Scheduled tasks
  • Recurring tasks
  • Concurrency control
  • Web dashboard
  • Automatic retries
  • Signal handling
  • Lifecycle hooks

Control Plane

Built-in web dashboard for monitoring jobs, queues, and workers in real-time.

Control Plane

Database Support

  • SQLite
  • PostgreSQL
  • MySQL

Quick Start

Module Runner (Recommended)

Define jobs in a package:

# jobs/email_job.py
import quebec

class EmailJob(quebec.BaseClass):
    queue_as = "default"

    def perform(self, to, subject):
        self.logger.info(f"Sending email to {to}: {subject}")

Export them in __init__.py:

# jobs/__init__.py
from .email_job import EmailJob

Run with python -m quebec:

DATABASE_URL=sqlite:///demo.db?mode=rwc python -m quebec jobs

All configuration via QUEBEC_* environment variables — no boilerplate entry script needed.

Script Mode

For more control, use Quebec directly in a script:

import logging
from pathlib import Path
from quebec.logger import setup_logging

setup_logging(level=logging.DEBUG)

import quebec

db_path = Path('demo.db')
qc = quebec.Quebec(f'sqlite://{db_path}?mode=rwc')


@qc.register_job
class FakeJob(quebec.BaseClass):
    def perform(self, *args, **kwargs):
        self.logger.info(f"Processing job {self.id}: args={args}, kwargs={kwargs}")


if __name__ == "__main__":
    # Enqueue a job
    FakeJob.perform_later(qc, 123, foo='bar')

    # Start Quebec (handles signal, spawns workers, runs main loop)
    qc.run(
        create_tables=not db_path.exists(),
        control_plane='127.0.0.1:5006',  # Optional: web dashboard
    )

Or run the quickstart script directly:

curl -O https://raw.githubusercontent.com/ratazzi/quebec/refs/heads/master/quickstart.py
uv run quickstart.py

qc.run() Options

Parameter Type Default Description
create_tables bool False Create database tables (requires DDL permissions)
control_plane str None Web dashboard address, e.g. '127.0.0.1:5006'
spawn list[str] None Components to spawn: ['worker', 'dispatcher', 'scheduler']. None = all
threads int 1 Number of worker threads to run jobs

Delayed Jobs

from datetime import timedelta

# Run after 1 hour
FakeJob.set(wait=3600).perform_later(qc, arg1)

# Run at specific time
FakeJob.set(wait_until=tomorrow_9am).perform_later(qc, arg1)

# Override queue and priority
FakeJob.set(queue='critical', priority=1).perform_later(qc, arg1)

Automatic Retries

from datetime import timedelta

class PaymentJob(quebec.BaseClass):
    retry_on = [
        quebec.RetryStrategy(
            (ConnectionError, TimeoutError),
            wait=timedelta(seconds=30),
            attempts=3,
        ),
        quebec.RetryStrategy(
            (ValueError,),
            wait=timedelta(seconds=5),
            attempts=1,
            handler=lambda exc: True,  # optional callback
        ),
    ]

    def perform(self, order_id):
        process_payment(order_id)

Multiple RetryStrategy entries can target different exception types with independent wait/attempts.

Concurrency Control

Limit how many jobs with the same key can run simultaneously:

class ReportJob(quebec.BaseClass):
    concurrency_limit = 3          # max 3 concurrent executions per key
    concurrency_duration = 120     # semaphore TTL in seconds

    def concurrency_key(self, account_id, **kwargs):
        return str(account_id)     # final key: "ReportJob/123"

    def perform(self, account_id):
        generate_report(account_id)

The actual concurrency key is "ClassName/key" (e.g. "ReportJob/123"), so different job classes never conflict. When the limit is reached, new jobs are blocked until a slot becomes available. The concurrency_duration acts as a safety TTL — the semaphore is released automatically if a worker crashes.

Lifecycle Hooks

Quebec provides several lifecycle hooks that you can use to execute code at different stages of the application lifecycle:

  • @qc.on_start: Called when Quebec starts
  • @qc.on_stop: Called when Quebec stops
  • @qc.on_worker_start: Called when a worker starts
  • @qc.on_worker_stop: Called when a worker stops
  • @qc.on_shutdown: Called during graceful shutdown

These hooks are useful for:

  • Initializing resources
  • Cleaning up resources
  • Logging application state
  • Monitoring worker lifecycle
  • Graceful shutdown handling

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

quebec-0.2.6.tar.gz (698.8 kB view details)

Uploaded Source

Built Distributions

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

quebec-0.2.6-cp313-cp313t-win_amd64.whl (10.1 MB view details)

Uploaded CPython 3.13tWindows x86-64

quebec-0.2.6-cp313-cp313t-win32.whl (8.7 MB view details)

Uploaded CPython 3.13tWindows x86

quebec-0.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

quebec-0.2.6-cp313-cp313t-musllinux_1_2_i686.whl (11.5 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

quebec-0.2.6-cp313-cp313t-musllinux_1_2_armv7l.whl (11.0 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

quebec-0.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl (11.2 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

quebec-0.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

quebec-0.2.6-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (11.0 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

quebec-0.2.6-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (12.4 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

quebec-0.2.6-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl (11.8 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ i686

quebec-0.2.6-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (10.7 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

quebec-0.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.9 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

quebec-0.2.6-cp313-cp313t-macosx_11_0_arm64.whl (10.0 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

quebec-0.2.6-cp313-cp313t-macosx_10_12_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

quebec-0.2.6-cp39-abi3-win_amd64.whl (10.1 MB view details)

Uploaded CPython 3.9+Windows x86-64

quebec-0.2.6-cp39-abi3-win32.whl (8.7 MB view details)

Uploaded CPython 3.9+Windows x86

quebec-0.2.6-cp39-abi3-musllinux_1_2_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

quebec-0.2.6-cp39-abi3-musllinux_1_2_i686.whl (11.5 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

quebec-0.2.6-cp39-abi3-musllinux_1_2_armv7l.whl (11.0 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

quebec-0.2.6-cp39-abi3-musllinux_1_2_aarch64.whl (11.2 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

quebec-0.2.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

quebec-0.2.6-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (11.0 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

quebec-0.2.6-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (12.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

quebec-0.2.6-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (11.8 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ i686

quebec-0.2.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (10.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

quebec-0.2.6-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.9 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

quebec-0.2.6-cp39-abi3-macosx_11_0_arm64.whl (10.1 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

quebec-0.2.6-cp39-abi3-macosx_10_12_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file quebec-0.2.6.tar.gz.

File metadata

  • Download URL: quebec-0.2.6.tar.gz
  • Upload date:
  • Size: 698.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.12.4

File hashes

Hashes for quebec-0.2.6.tar.gz
Algorithm Hash digest
SHA256 eaa22c7d0db81d2a2f2fed939c9a71c4bb4b96d652429e744c74a3af7bb9db77
MD5 41243469d36ad4495c3d0590d6f84df7
BLAKE2b-256 232502e5f396eb6d195a7ad7e97031c4b3bb21bd3ed5d0c20a996dc423d12cd7

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-win_amd64.whl.

File metadata

  • Download URL: quebec-0.2.6-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 10.1 MB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.12.4

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 71925a1ce2f5b4039c34402347f0770ddf41a10e342e04687da8fc4fe5f086d9
MD5 f56f5a6c4bd7ed91d415655dd5ee1d08
BLAKE2b-256 e5558cf298b900a7dd3a2008c13501b7888b6a320c8122d2ab2503b206efffa8

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-win32.whl.

File metadata

  • Download URL: quebec-0.2.6-cp313-cp313t-win32.whl
  • Upload date:
  • Size: 8.7 MB
  • Tags: CPython 3.13t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.12.4

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 02273bcb0de8b75beaeaaddf2b136549b51ad122613e4fd43ed4ac4efbda440e
MD5 deaec47ff817e936375e4c2bbf6f345e
BLAKE2b-256 10e43caddb30a34b0d1e25a5857abc104f71b7cd196eced4b4b7ef2a69fd3075

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0de3d1a53af8e747d8399938208702762b6df63c3c9a763a0af381d3faac7129
MD5 2702758c4f7d91f0dc28ba0d7ef38b5b
BLAKE2b-256 e49f2662f1e6faff0260d8164f79c5d8e4920a2a0b8593c43c7cf70b5a0551bb

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f9b915eb85e15cca9658b61f6f354ae2ae9c65b2f865973493efc4352b07f538
MD5 5dca2ea94a20e4f30a87817c7bf18971
BLAKE2b-256 6f4c7f066947798b6d50760677ca71ea9aa6621f31ba62c3b7f6e38d289f701c

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 fd8db59b03d0d332481df8ee5fbd5b9960d73b9c747c583a8653cce3686a8f9a
MD5 0aa74d8aeb38b80813ade1a2747126cf
BLAKE2b-256 ca0c8c0db61ebbe94de7377f4a299b919812aeb390e70606b2d11e9b8dc09850

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bcf8e6920a374eeafeebf910cf17788c5e7684abd0bb00e3b913e17f7f7f9587
MD5 7c76c45f405f67a00cfaf14996fa36be
BLAKE2b-256 a3e9eab62e02e51d6d89283b8c2c31c4816cdbad36ec88607883a69bd4c81dd6

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 57dfb39bb9831242452f6a561b0c37616048cf6cbbac937b5824db5f2890062f
MD5 ad65b86b1fe1c0b975d7065cdb63c50b
BLAKE2b-256 446cf5783c444bc1a01a2a662b8f2c4a4693272976c297c4b36612384c4f1bd2

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d213d4a4b56be875374db90dcb645f9fb23bcdd86c140aa95cee2fc25e782224
MD5 7e94d6aecd408fd34525edcf7a67e8b5
BLAKE2b-256 87261398ef1ea7fde8c6a706595ad94c4d2009006462a530a9678f31bd55aefe

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 87f0552cba7d611faa6ecb56a6a0ad98545cedd0227705cadd5f35d574133ded
MD5 7f180a41ab231249168f3bf08863aae2
BLAKE2b-256 f2360ef8ec4bce0693f7861b1cca97eb7fe75ef6966a3c338454d161e8528146

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c970c79c5ebe539699dbfdb9f430bf574782ecbb7d7852a50799a62a104acfa5
MD5 224548f75ca6dbeb054584cc140a4520
BLAKE2b-256 54236a4c9eda950e495391c1568bb9232d71b590f79ecd7e5e6dfb3f631a31cf

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b5b40a2bcfd95092825bc4d2c891b120f1a79dfd122c96abf9638bb6027d1698
MD5 9e9b66efc567cbea5dad5d18b804f2f3
BLAKE2b-256 59e0a619c95deaebac5a35acbedd5f3f38ae4dc39ab6b5d79046aa01708ea657

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1a4804f3474c20655fa6dbeff74547be7b9e5f072e461929d206afd0c4981d1b
MD5 5cf00af1ec74705531dd1378e7913a3a
BLAKE2b-256 d52b14ec739949156017665ff21481d1f690288cd8b4d82d14f1a33fcf0f221b

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 83754390910aeddba38ca53951df1f11f2719dce2b64a5171cc757f72dbecd62
MD5 3e0c9ea7d7603fcde6376bda7f69268a
BLAKE2b-256 ec7188c977221c5cb8efad5d646687c36b16b38fc8e0a5d1cd82eb8f83ddaf5b

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp313-cp313t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 50efdf9a003c9e5193a593c8691f508dcb14defcdbb657eb91b955a24f831ad7
MD5 2797760f62d9b39ec21c364d324da215
BLAKE2b-256 88587ec028f94c5854d95392a63b6132c15e787254539b2c070bcd7afd880692

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: quebec-0.2.6-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 10.1 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.12.4

File hashes

Hashes for quebec-0.2.6-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f64d7f37d5d31c6610e91b58fa21bb4c52bc81792d0543413c5783e95d631d0c
MD5 c5d0fb5e1e7ab0384c9b5f6fcc75f0db
BLAKE2b-256 1a3bb9b7bbd0146736d4c2ff778e626fb1b55cc11e90cd19164e05a84922b912

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-win32.whl.

File metadata

  • Download URL: quebec-0.2.6-cp39-abi3-win32.whl
  • Upload date:
  • Size: 8.7 MB
  • Tags: CPython 3.9+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.12.4

File hashes

Hashes for quebec-0.2.6-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 e69fde7548ca50170d91dce8a812e026b4907558ef43bacf78b633d8712300e7
MD5 8c7ad21773173c6edc8966a4c1989b3f
BLAKE2b-256 2e114a88142ca901952072209a8a89b4021610e428ba07073dd0270c9cbc334c

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d3461e781f4af2f8a672178fd34cc336331f7a5dd158e33cc90b5fb481ba1671
MD5 d053ce7376e13b3e4c94937dc7441a6b
BLAKE2b-256 955a4eec94d97c705ac7849c9f870c483b65aabedecbc2ca1c2c1b5978821bea

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 78c9a92d47a828b5759953275bafac275bb994fb2094537e99cea6b90e6bca8e
MD5 338fb69066947e4fa17021926f800489
BLAKE2b-256 5a6794e77d81b4c6e4803e2b537172f0d1087531212c7e309173ee55026560bc

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 24216f1f74b8990abacaf1a3c447aa7b18ad4f9f1f9af347e06863ce61f82134
MD5 af9941547503ba0372069c75d1c3580e
BLAKE2b-256 71baac351b4db0356b2bcce68894905c13ca85cb3a8b874a21b077a12d6a99bd

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 05611e723e698a8a13011ed28dea67141ea3d3849e629554a5257589041d8bac
MD5 741e9781d8009a5dfcbb12da8bb8d4ff
BLAKE2b-256 ec236f73dda74a984574374143f448dad647740836db4ffda98cbc4526d10583

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eda72d9dfd96490e85395d2eca0ee13ed0d4ba9d7d70d61a303f5389bcd4446b
MD5 3f34720ce25d396a374f287a73829417
BLAKE2b-256 cb416ff62b8cf05b0a862eceb016e205bc4fc2ed936ea259e875cf3f46936606

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 25a938de6b607e0a5c7497da04fc1170eebe0f667b1ac838e6064c9087125b34
MD5 990500f45ef44607a46c9f024bcf8ede
BLAKE2b-256 13b16c77897d05be42444da2bdb0f7bf5925ab553867afb334071784222d903f

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 84ff509c5350a6acbdb5136b526562daefb387d8d9172dccc92529ecfed6aa6a
MD5 52a0803469088d2accdd9a971ef60cf7
BLAKE2b-256 7f358f18e8c21e4863073f0b46b54de2ded5cb4f935f402d94db681603925739

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 192ae5a4560ae2785f7f108ab26354e72059b255db6fef8a7b4c362ee17dcc95
MD5 55d3350259a260c352df69d000dd35f9
BLAKE2b-256 d8bdf9548f67038c80eb0fbff311ccd64a365bcdd0b55876de46d09f47957933

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 871b3fd7d7e4d315773142f4228f85845922488774f0fd5d31509789aa170884
MD5 4ce023c9c2254f659f160e54db84a46a
BLAKE2b-256 88ab38ebe42d5926ec6122fc10a984928060db1d8d6e7fa1d452f2b8cef5672f

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7c043388a21387606a7a4b32eea5f22e9bb41f4b447ad9f7426bdd504fa30b0a
MD5 f995352507c87877f6b373359edd3094
BLAKE2b-256 b2feae167a7cc7757e2b989583ad73e097c0ef76573f44553e3ceac729a92c7c

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 efbccee23027b34e9cc17edbda9015f4c9e9afdae742e58c0854443c263dd24b
MD5 122823c182cf9c3518e9d0d8c0f5734b
BLAKE2b-256 619a5faf1030e20007fd268621b872c5616b3a25b5f0fe560d1f58e8d79686cb

See more details on using hashes here.

File details

Details for the file quebec-0.2.6-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for quebec-0.2.6-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 461fdbb5f0e1a4010c5b3a90329886d31002d65501f7ac1214d36718e1ad0a42
MD5 7faeeb1f6a3b58ecc8505c729e8b0360
BLAKE2b-256 78f6325538159ae4aa11f44323a9aa01bd0b005cfb4eabeda07e59a279d27712

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