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.9.tar.gz (703.4 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.9-cp313-cp313t-win_amd64.whl (10.1 MB view details)

Uploaded CPython 3.13tWindows x86-64

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

Uploaded CPython 3.13tWindows x86

quebec-0.2.9-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.9-cp313-cp313t-musllinux_1_2_i686.whl (11.5 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

quebec-0.2.9-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.9-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.9-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (12.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

quebec-0.2.9-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.9-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (10.6 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

quebec-0.2.9-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.9-cp313-cp313t-macosx_11_0_arm64.whl (10.1 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.13tmacOS 10.12+ x86-64

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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+Windows x86

quebec-0.2.9-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.9-cp39-abi3-musllinux_1_2_i686.whl (11.5 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

quebec-0.2.9-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.9-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.9-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (12.2 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

quebec-0.2.9-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.9-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (10.6 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

quebec-0.2.9-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.9-cp39-abi3-macosx_11_0_arm64.whl (10.1 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

quebec-0.2.9-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.9.tar.gz.

File metadata

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

File hashes

Hashes for quebec-0.2.9.tar.gz
Algorithm Hash digest
SHA256 985c8ea62d2975699688880a6396f2c4fe0d108be4961d3e138f01f479d34f0d
MD5 23530096d43bab29590236831016fd4a
BLAKE2b-256 6a9913518ec0fa37889d6eed39e5a03473ed9ee63d47e4154e3da9083d09b41b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.2.9-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.6

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 a62c1b73a628cfd0896e54f082e1dd220590b2afe6edd0358b24cafc95aed04a
MD5 ee84bb48a971bae0a63fe2379396a308
BLAKE2b-256 f80cc2fdda4d632cca671961efdae6f3e0757812b726e6ca5d5a22e53021afd2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.2.9-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.6

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 03247141fe876f181b05a20bc511970ea0b4979d356d4782de71056714ce27d8
MD5 74051b2fdfb8aafd1f7fcf3c42c162e0
BLAKE2b-256 3281c2b3257283b2abf162c98b90f4a5cc6c1b4fb992ae0e5d5b57bafcb40f02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3852c7690991ab7cc06ee58f8b04cda8e665cd7e24cd6c62f25606db44a61bca
MD5 e61dd5d53bd63ec6dd07f1b4d42284c4
BLAKE2b-256 0f0bc5748c0a040c7b4d564e5c08f10d8853da1d2fae786bb42f509f1b5857e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 680d207b48ed347bdcdfe575280c1a771bc28acc722904e1372e35b289992668
MD5 34db40b827e6584f2759fdf5ebbea396
BLAKE2b-256 32a34fdf72afcf7126c9772eb3d451a2e224276d49d95f3e16703cbfee4459e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 f5589c6ef49fa4627fc412624d555ad664ee14a16df6bb9c3f3e5f3e995d93cf
MD5 00e2cca81e824b54ff42021ecbb385b7
BLAKE2b-256 b83b695960868871e54e60ee499f55126a39b895f9c6e6e9cc800c044e734740

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9b36f8ede85a4918e1008506b12ca31b17df5366746e52ddfa188dd1335ef54a
MD5 af248d1ebb049bb11bab0e766ff4e584
BLAKE2b-256 45e6bc1dd8f746d128914528092f1b575c9a856f797a2c22c0de5efd98724abd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f24397baaf9e522869d3b6c35557ce46760a917ee5f581c574ede8a53cfbe56
MD5 0af5f969bd424b9bb071497bd57cde2d
BLAKE2b-256 fb50c1383112d82f6e490af8fb87dda76fc11ec0f6446b31764f4b269894e6b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a76cf62df128987d004dcd62c47e3fdcdd04b8b8979dbcce9d3f33e85f241a8a
MD5 e4d6e51303a1bab4f9beb8308c5cdb9c
BLAKE2b-256 d66c3d74c4b11202caacaeff932aeb9ec63aa5991285647b071aab8e8d659fa6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 293dde796b83e175ab5983f00899bc88890933de71b870fa44c6a26a43522c9a
MD5 402e1f80a37e32ee960631eea20c9697
BLAKE2b-256 97b09e3359fd44c8a661fa7a17e22607648ab35abaab05bf984d747d96073c55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2b9855e27fa953ce4cc08dd631e4e5085e87a4292e2dabbdce4778613287cd34
MD5 113022874ebadc53f1e71984578a411a
BLAKE2b-256 cbe3a3bb3c658b7367880ee34bd0fe95bc104b42ddf70ea7bde6f0e10582d55b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a768dc56cff0987dc1d29e332553c51f7ed56adacddc6ad0cf4f0508e4deaeba
MD5 4c31dc74cd48cd92701b968d88b21d79
BLAKE2b-256 85012b16411941921f4952bb3520f750e9a9eb43d523b10d2c42fabfe4dc1eab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 50c80842608d79061fe7837095ce43578be33802c2b302731074adea51db9cd8
MD5 e674ab51af20f3ccf329cc438dfee6ed
BLAKE2b-256 f0c198fc7826085b104efca31389ba064951951df27f8b60bf7e12ca269e8fee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 586f3c75a44a928b8725d00878c707bfd32521805fd1457b5cc867095233c3a8
MD5 4c18f5e258d6aef0e5a4c8b267d715ba
BLAKE2b-256 e7921ca0abf4cb73a9312b1b817db0c507bdbd3d570d4d702297ead37b258727

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eb63c7fde3d4264d61fdbc08889e0a4c6fdb628ded64e83003675c0d0f04aef9
MD5 814e3d18a750b222e683611757756030
BLAKE2b-256 73da1e5825b5901282be74cdb5b2eebd32bf3b7e020c3f699df3cf6a584b5f74

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.2.9-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.6

File hashes

Hashes for quebec-0.2.9-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 89d46f102404573c338b1d16ae5c7205495edd905310021c6d98d44936c3a474
MD5 6b9a280959db0ba837a689440a92d6a9
BLAKE2b-256 07d1f9c8d281503e4ba3047e359f86184be458cd5eee8d8ded253a4547e1bcd6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.2.9-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.6

File hashes

Hashes for quebec-0.2.9-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 3646cacfe9b6fcdadecc63ee0b8a2babc6af61509b3e07808f524a82a2439ec6
MD5 32ddf257fd24751428256bf3d04c1bcc
BLAKE2b-256 3e4a5b995e646eb727873afb5e0f120e7862356392210a8c74ff8e7eb88a93b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3fa14eac2a9938fa1346aecf4b97a42e5a86531fb8026cd5daf1b2c096b0c999
MD5 c3eb9cb86cf58be1d7fa6f8e45bb9d9b
BLAKE2b-256 0f3a3bc3e9310244b311a03ef01eea459787f979bb7f24e889f11b92c14f40b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 78882f691165d341034ce8179a558f0276bb5187e6f8de587e05fb7ac36a4364
MD5 51c65479af72fee59164dbc6b3e5d711
BLAKE2b-256 c3c4bf5710e5696aa7c97786d726277c6f8439ad653df450a06843629f3562ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 cd6eb2f2b28f45a35b4733054b3559216c0378a96e4f70e24e71a3f88231ef55
MD5 558ad62f9f5354975e22ce901f420181
BLAKE2b-256 6fed247d583306ebe6f871265fc0dd9f7328db3c8535892cf6e5fcf287c87257

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 55c2327d54a87d76db6d872ae2463428fd8c571ddafadb878f174c69340f2590
MD5 6174671d09ad0c9af863931c33308be3
BLAKE2b-256 3a5f7f4e1ac11d50aa2cf143221d46a4933a76dfc5924c3d9530944cf7705387

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af3944d7adf9d90f072f59720346d3edc49a25abd813c86eb3f685b9a01ad022
MD5 dd02819b52e0deb7f55ebfb08746eda4
BLAKE2b-256 a48c32795367ab992cce12db4d1a2cf8f1325b5544584d9ddf51148d656979e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 110d568b17a1d2913f27bf9e679bd955af673a5cb4d1c9073fbebe9bd5c88b75
MD5 a1c179e86d07739da255189a1bbd5613
BLAKE2b-256 e4cfa169134beace4c897a0ee5eed68bf9274caf1fee018d899888b49683c6ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5677b8d9562342364a6361239a4cdd6dcd6f52bd3580a5aac5cf393709d64152
MD5 4ba753838d0a0995fc34f30f07b9c452
BLAKE2b-256 047e3e7707b1e218ce2d20fbda237e49f5997b65fd18791fe55841bb9312d7c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 626447a64489c7c996c39f9c1fcbdebcee7ebdb7f2fead5bc7f67cdb0aa77f7a
MD5 8a287880808cec6ac3970ff14e858601
BLAKE2b-256 3aada3637181500bc7d39b90205a8bbd4010d83692eb847039facaafa1310ecb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 271cef3b62eda919076f99f34544fcc606d892f5f5912850a48501856e247f20
MD5 2b26ee33566dbb8b15caf13af35b2a49
BLAKE2b-256 b4bf138627ebba217f335b1eaef35f07ade26e0bb3d61f9fe70fab6de670842a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f7cf0b26f2731d1e716de12945df4c2b2e44a34f039756566c179bc65128a440
MD5 759c7d8cd97b80101ce73e19263eab4d
BLAKE2b-256 4f20b1adae484458c55f4e01c990e03e243e0fd81c0cd9a5bedf1d345c1b9749

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1bf0aa5416305f0146bf2cbf78bcb7de0fc30608b87584392bc51de64b5b84c1
MD5 610d5047a85304422622fc3f8a5c4566
BLAKE2b-256 02959c565b67b6adb5f8391f8d490f573e2256c258c30073b86244776d38a7a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.9-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e6dad8df0f24304ee6097e261dd19d81c5ee59898611497e9d291b049357335e
MD5 f1d2b976b33128eac0e3bd6076ef68f6
BLAKE2b-256 2f7e359b60466657cc07f1f567a5ede6d9e90f24cfe764265dfe317a4fbfe71b

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