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

Uploaded CPython 3.13tWindows x86-64

quebec-0.2.7-cp313-cp313t-win32.whl (8.6 MB view details)

Uploaded CPython 3.13tWindows x86

quebec-0.2.7-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.7-cp313-cp313t-musllinux_1_2_i686.whl (11.4 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

quebec-0.2.7-cp313-cp313t-musllinux_1_2_armv7l.whl (10.9 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

quebec-0.2.7-cp313-cp313t-musllinux_1_2_aarch64.whl (11.1 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

quebec-0.2.7-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

quebec-0.2.7-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (10.9 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

quebec-0.2.7-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (12.3 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

quebec-0.2.7-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl (11.7 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ i686

quebec-0.2.7-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.7-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.13tmacOS 10.12+ x86-64

quebec-0.2.7-cp39-abi3-win_amd64.whl (10.0 MB view details)

Uploaded CPython 3.9+Windows x86-64

quebec-0.2.7-cp39-abi3-win32.whl (8.6 MB view details)

Uploaded CPython 3.9+Windows x86

quebec-0.2.7-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.7-cp39-abi3-musllinux_1_2_i686.whl (11.4 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

quebec-0.2.7-cp39-abi3-musllinux_1_2_armv7l.whl (10.9 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

quebec-0.2.7-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.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

quebec-0.2.7-cp39-abi3-macosx_11_0_arm64.whl (10.0 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

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

Uploaded CPython 3.9+macOS 10.12+ x86-64

quebec-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

quebec-0.2.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (11.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

File details

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

File metadata

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

File hashes

Hashes for quebec-0.2.7.tar.gz
Algorithm Hash digest
SHA256 e2b524476ffd48472d037798f1c475aafaac8e38a74428d1e0545fb79d929094
MD5 5f46a8c03325a2a64c4c9a3e0ca6ddca
BLAKE2b-256 de437316a90db405d3885f8510464f0a48598f66be7494a1f9097c62b1792296

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.2.7-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 10.0 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.7-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 65d4e7c12706bd2a136a19b155c9f2f9dd07214ee371224471023d5122309e0f
MD5 f64bcba8f2713ee28473283a8820922b
BLAKE2b-256 82a2653b90c49240603c2738d4e4ae6475e35dfafe319400824b3da73a14573b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.2.7-cp313-cp313t-win32.whl
  • Upload date:
  • Size: 8.6 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.7-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 e144d42d9ee9a60a823a93deaf452122bbd0d11b30abed999ba4dcf17a7dd472
MD5 4e84319314729a6d824aecb61881ccd0
BLAKE2b-256 02cbcb162817eca8d8d1db6f76da4157dcddc2cb87c5dbc6295051680e36fa9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cc20ed53f71890acd5d480ebd9db96b68b7a7910746b1f68d012423a8ff82ff8
MD5 bfac9b150ee397b81e6209b61651445b
BLAKE2b-256 246242384aa0bcf9e0d05efea6c330fc23eb9bd1c49d3734cdae521941538dd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 6c3a410bd166e38abb3df9a973856ab4093a60809a1c7604b2e0efe08b9d1800
MD5 fd9b103f386b4366003ba1ab2347b8b2
BLAKE2b-256 b9a9067337ea2e24b2b4e5e6077473bff7fbca2230464b25d6e12a116155dc5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 946b129828d6fb9f9ba26acee6d181dfe969015fb07670fcc28911febadfda41
MD5 a4a0ea73ccc9c4a83a9d903934554207
BLAKE2b-256 b75a884cd60eee4bf5511723727e6ddd8a95004fa9b396dfc7c6dccb6d9b11bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 38a70d227d20ff3c45c9c50a9702ff3520fa98b22992f777fbd3566a0abcccf4
MD5 1acc100c5d0a023aa6fbd7fbead9e89a
BLAKE2b-256 fc2527218e6bbf2e676938c5b4824a09e9899162a169ae2a2b02b4e8da8a7aa1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ec8a06a9463ff3ea3129ca2129445e0aa12c67b224866c077e8a553a9da00ad
MD5 0675f326ceabc26fa5585ca4902ffdaf
BLAKE2b-256 13e5a397411b973386d78ba9f1ece047a357c579d10ec47a4a4c9416f5f669a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 03f5dbfcec3e27bf6b40795e2768ff417aa9080763e8f284b9e2785b5727336a
MD5 bb81a4683891671169077613cebf9ff9
BLAKE2b-256 5d6df6d98b68ecf020a544cd995865bc338b60d1fe74ebe9fca653631bc15911

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 44ee00ab8153d1419ee4deed34a5f45d9b127943c3f1d537f832c74ff83d5143
MD5 75b638f2eac11df763a7aa0c8bdc2c7b
BLAKE2b-256 70f2cc995a094993ef648f7db32da23cea8836bc5902e6c28df0362ff81daab3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 afc7a72b3f93bc1578b6dc64f7675d4ca187b017a4b59b3616efccb16050bf2c
MD5 2577800df6cf07c7afa8cc1ff6f3baae
BLAKE2b-256 5fb5770af0be7a5f66feec90042b5fa0034642ab83bb86e1c91f6328b425c69f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f11f26e5bbccd93657118f0d09790721d9e4b54c506fdb1fb39d251272c38050
MD5 3561dea2db49edcfdb86b5370b6bcdcb
BLAKE2b-256 eb507e579088d1e376a151887368eefa9c173d6291a9b25649a81527c082a03e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b4a51a1957a6dc5288c0385fb43004d5307ed6c20451f352c6ad0881cfbbf209
MD5 e99a06ba2dc8b14fc0d1cb1e75dc2d07
BLAKE2b-256 e00729b41f0d48d644ec282e1082074cf18cd344f7627d5ea8aedb398acefa9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de505ae9ee4806d8ff6e6466bb22ba1314161e3fff304a681744aeff7a0856d9
MD5 11a10cc8ad6d9773e8894b82e4dd0f1f
BLAKE2b-256 3a2a932c9b32c06a7b639f559fa1e956c4c526cf3f6052fd6dd98a888e379f89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 081dff25be90a03e99f5ba3fa10499e709b94494a34129be42dc03e82e78079f
MD5 be74a9966a3042256afb3d4c9804243a
BLAKE2b-256 4cc233d103133768b28a1d892bfa312ccd765574840a7974f758fcdc63bf9917

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.2.7-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 10.0 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.7-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5dd78743f31f398a6bbb419f1457bd9ae575e780f49c36f31fe805f2723235e4
MD5 1c5ad5ff8416dae5cd828030ccfeaf72
BLAKE2b-256 619b690c46946c1f862e563b900b80ab190f244d16c0e69ae2a4e3600e179a4d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.2.7-cp39-abi3-win32.whl
  • Upload date:
  • Size: 8.6 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.7-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 a140e3f146a195fed4df7a13192f7a28a0048f3dbe459d73707075491ac38fd0
MD5 a63dcd8ecbb9b7a638710ba92d15473a
BLAKE2b-256 5de4f3cf8f3d1a5841227206f93593df77d2932844ead80f36adf7c54cc554d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ff56b6af813b4ef7b2253221c6a8d634ca16ae1736c83a89387ff27f89af0595
MD5 bd92fb895dbed513ef77320cb76e6b7a
BLAKE2b-256 5880513017ba6ece5b1de65bda0d36d9056c12e31ec5706084adef7b68f603a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f6db99abc7ff0dc6ff07b4a7f4ce973c9c67d16c38e1f18200a232c18081b7ab
MD5 5ebf12d4cdb341a50f78058495463eb8
BLAKE2b-256 a115672104585d70a7d7cb52abd296208d062d759516bf7b546a5f90aba25c30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 62925114bb5222eced0cb268d6c8587b6746eb0e953d0466ee6333f36288b752
MD5 4a45c629adb7ee0db44ce472dcb85236
BLAKE2b-256 f69e47828a85fa716a0cae455e9b1911991465396057e82b0a6067aa2cbd5a71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 81c465271ec36415509a1f11a8490fe6bd17558545234f1973b7a4ffa4dc3687
MD5 5dd97d2f9c6705873713dbff08fb88a2
BLAKE2b-256 8efd2050a7ba9445ad57069229db99c28a269a4a897349175c5f0dae18e5dfd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 77fbb26ee12c94f460ce5066b09677541e47e3923efcebd425a0324a6f0eed8c
MD5 d22385b6b51570280320754909d034d8
BLAKE2b-256 972faaef52f5e450b9c1306c90a24a49ae12d6e0781acc3eb63c58cfdaf23bed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 8d1c88ea6fe8d2bb877d3cce7adf6b8265e3ef718cd38d858d1d0390b895f002
MD5 cb56d9ae98c3cf21e903152fd7b3f7e2
BLAKE2b-256 4b3eb52f18c312344a3562accce17e58af323ddc55dbdf5b12db6f45715b5ae4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 190f62b9f66f8a066fdd1e7a19868d3e0e0f00b11397675801faa83d933b745d
MD5 e6065008cd3ddf6f2f08523fa17ae433
BLAKE2b-256 8a558030226e642aecba4f70eb7d862be163b23119bb9e8e8075c9688cca7f68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 516c304f51ff93a22f1cd8b89d01f958e02cf334dfeec4bcb1eeeab31b07b4aa
MD5 877627d7cc8ba613781a7d261c56a44e
BLAKE2b-256 e8f2d3b1cf62d8e6903fd3d06c929cd1aa4bc3ad02cb924301b23a4f9029a253

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2f9fadd22006bcf013421f1a7f62c830db67badfcd47246f590bbeeb345e2c44
MD5 caf188092a08bdfc9d59f1630794f58b
BLAKE2b-256 37aea4a950cbe29667305314c31a4f93d8f48e70a7d56e6006973eacb15d2a9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.7-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 99b3a1c4fd0602bc49bc17b49641c83b7061073b2a88aa7c6a049e9d7ead8d05
MD5 b57e0b2cd25a1e7b238cf383db0e3e7f
BLAKE2b-256 e7c0262f5d5ebc9c96e9e9abf21e2f9dbd6a90813bccc42efee4ea8ba01b3622

See more details on using hashes here.

File details

Details for the file quebec-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for quebec-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84d533ac017a0772058b5d81c42c9ae2e41a07ecdbc6508b91742268cb9cbc72
MD5 594c5f935049d19dbc50c9c686ce98be
BLAKE2b-256 e965a02ebe43d3ef654192550c5683d4f2edc831235bdd8a29bc19b027041880

See more details on using hashes here.

File details

Details for the file quebec-0.2.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for quebec-0.2.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 22930a6056bbbfb5c4a59da224d0b62e4952fc4b34590b7fa6c3831894e94b97
MD5 ad9693cb958cdcf4c4f4e6c425f7f5ad
BLAKE2b-256 1c644602feaf18f6d7eff877666ff2054bca53164622037e03b3134dcadc8690

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