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

Uploaded CPython 3.13tWindows x86-64

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

Uploaded CPython 3.13tWindows x86

quebec-0.2.5-cp313-cp313t-musllinux_1_2_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

quebec-0.2.5-cp313-cp313t-musllinux_1_2_i686.whl (11.4 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

quebec-0.2.5-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.5-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.5-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.5-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.5-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.5-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.5-cp313-cp313t-macosx_11_0_arm64.whl (10.0 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.13tmacOS 10.12+ x86-64

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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+Windows x86

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

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

quebec-0.2.5-cp39-abi3-musllinux_1_2_aarch64.whl (11.1 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

quebec-0.2.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.1 MB view details)

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

quebec-0.2.5-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (10.9 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

quebec-0.2.5-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.5-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (11.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ i686

quebec-0.2.5-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.5-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.5-cp39-abi3-macosx_11_0_arm64.whl (10.0 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

quebec-0.2.5-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.5.tar.gz.

File metadata

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

File hashes

Hashes for quebec-0.2.5.tar.gz
Algorithm Hash digest
SHA256 fa753c87d9af5fe6d7511715df5b95171f70ded840cf3dd4868db37856cd4eaf
MD5 d1582262ddae2b7fefd20e5c87e2f7e4
BLAKE2b-256 2c28b0406f1fcdd458e994420fc0c90c6a3c32fa8eac108a907ab29f9cb5cf21

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.2.5-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.11.5

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 31999efe012419bca4f609982839c4aa02e3bf427853f77e55567c5abd08e3f7
MD5 457a804844468d6e1194eca4b8483686
BLAKE2b-256 704a5e801d8af548a209e8ed4e2fbc99f76e0aa48cd21df50e5b03848d0fc918

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.2.5-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.11.5

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 5b00efc7828c684de4c5e8f976a59598c65236ee8024bdde5a7305c0c7da6d34
MD5 7a2fc08e73f06794f2d27d1b74cbced0
BLAKE2b-256 f96aa1059277cb5cc6a9f032b75d3a59e8eb8d3348fe8f52b6434e9e2c4f77a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2bc3f7717619d0d93f88d3e5b67e726de2aa31f7db8c3ab9dd30933134a02ddc
MD5 4615673a79aa7e2b9ed5b0823b4a20af
BLAKE2b-256 30173055421798b687d8cf9d9ba18c47ad8657ab12f8b2fe93b23c3bc320472b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2a477cf63a7866b9581bb94bdaa73a929772f0d6bf7a755662321e831324b594
MD5 92540ca57e2e1765c58876a39624122d
BLAKE2b-256 a0c1acdf24b1ea3b2e0d188345d3861e344818203b333db42e1268a14808aaaf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 9c2300d7f33e960293ddb2c8b525cdea3ee224a7f65e7ecd981d5780cc6bc295
MD5 e8efa6652bd3076b95f0733e889386a9
BLAKE2b-256 8cd6ff30beb63cebd295d2fa271344e38eeadd6cd276b940de31ed3b85e23136

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7aa90f131b8b00ce800c2fdad741fc28b8dcf480292a2ba873467fdfb28a3569
MD5 e33c823234fa663360abbe9ce45bfa41
BLAKE2b-256 2a395a3b64b605ce48d344ac179d5c66207327c8e7b4f4770fd852893b901e27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 14fccacb68de004660b0b3e39657deb171ab0403b93ae8eeec0968b31e1f91d7
MD5 a74a8f1cdb9727d33219f9d5a9fc93d8
BLAKE2b-256 c38279150bb4325efad2922cab5bfdb713f0935987816f9efee8bf6a70b5fc4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d633aa32acdd0104bd7d674fd50f7a5a8dd2e236573c16a6fdf070b8293d9389
MD5 ec1cae5ecf2c39c53cf614910f9d17ec
BLAKE2b-256 0a0b005a6589ebe720ac884ec4175d02007e908db0cdd956b441a4a5a9dadc27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 86b36fa7fc7cf2d14e933ee07f5f763791387706977c14c332dcd85b018a586d
MD5 59c0e2b40af4d80ac8c3858f34a781a4
BLAKE2b-256 f333409963356fc81d7f1b16a8ee580cd882c92d0d14181bf0d0f56a5063add3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 879634ccc4f996d9debd2bd86653a4f5d6697349131807d5222a51efa9273627
MD5 94a7ee7d62d347d8c920a40bfe34c9b3
BLAKE2b-256 991255655f561e937d8d200daab0de43d3f8db23925fb80fb51bf5206e6d374c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 07e381a217252eda9e748fda305236033d4649f9184d5e70bd83453f0eb2e6b5
MD5 ab0d004819f7b1760f114f25b780ce61
BLAKE2b-256 9a243e99b481b2b05c1362a841ec2017ef708d4b24d341622b3c2ddaa8d8bbce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fe81a8a0e8da649363fadc221b0056c231ac4c8335d891f5cfad97bd942638ae
MD5 e6af59f464594153aa31fc187a124622
BLAKE2b-256 1f7bc7ac48a9ded53898b2943c4c45575eab08171fc0a3b953fdf989b34feeea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 58b533d879b707497ee19c0bc354c18e3edf46487ea4a916e557ead97cd68671
MD5 b5810cbb04f63aef23dbac86b06acc13
BLAKE2b-256 eea9a63c2fb055bb336ccc380a94e5b47962daf10480934a33214d5d35b5973f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e1c6b7b4f799708243345cada3982dc8960eb7199c5de41ee18b7f56f6d018da
MD5 5b1b0474704568f53d0e507dffae84f5
BLAKE2b-256 3fe2c2284e167ee5998cbd0729d7bb1adcdb0857856b64caec5eda57650e9883

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.2.5-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.11.5

File hashes

Hashes for quebec-0.2.5-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b49c2ca25baf87f57252d97e132349c169021a7408869a8972e70e060a819611
MD5 37e45c55c933cec69eeb2830075ef502
BLAKE2b-256 87a60e4728e45d49682fb48f49caf14646576160e64459cb6d837d270036b1fb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.2.5-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.11.5

File hashes

Hashes for quebec-0.2.5-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 33b6651f34dbf3286be80cb83e0c8b3be62f6580f6108fa70cdcc5e160743c52
MD5 1ee362f7643f6fe18bea9199d7dbdede
BLAKE2b-256 82a8b49e51f029d982e596fa149762b88a73f57bfa3c322a85c111d0b478bbfa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0f7a4cf05a5ad0088f7b49f09f2edc53b908f77d096a40db54247a142308a761
MD5 ebc5117f7ff1e555e6841765c3f9baa3
BLAKE2b-256 ab5cc08592a0e60e290d095b1b71d3446f656bd14678479266454c29b5d1c8e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 064432fe27abbb64cf328e98e7adcb932d193ea71316c922c0baf81f391c5b53
MD5 daafbea339086415b6d60468e3f6a554
BLAKE2b-256 bb25632f2c6a1793f12f32929798ba564c611b828a26762ddd5466acd9943d9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0ebb7d9dffb6c88d50fc5e0b8b7f66cd5e4befbacc1fa28012ff4448a033f88d
MD5 c51b442cc1b0d33c821202d68cd0b0c9
BLAKE2b-256 8be1dfedfe632f4b8416c4d2075adc8dc7e2b9e1d3a62f9d239ac341737883f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dcd673ba6925ebe98c8494fc8bd65481f0291f84d6cbc6e365a6f59c08671236
MD5 b2c0fc3582776668ca484a7bcd76e64f
BLAKE2b-256 1dd432a081c350387ebc39293a497ebe2639111a6477831a34ea1b6d8f703f00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f113b538dae9a5671a2aaa52fef588774473682d4cf6bfd75ab1b4ef051a6c0b
MD5 7d0aca58b950a6bbefb4aabe7870debb
BLAKE2b-256 e327f40320bbf758fd94af68748da87ded527e31688b0cf700892968c39f2d1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e29aad86d23de2f2a6dd50935487ca54ea913393f20740007754a49b5b3de632
MD5 b9256c5f5298cf2fe312f0ba61da23b9
BLAKE2b-256 25dce822590a86b360af8b2fe1bcd19a570a1238b2c7854c87797b42cf424427

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2585d5d03e756f2fea667671815495c293c4252430b8a5ba91e03ec79bc8b349
MD5 7f3fb11a3582c509bd7d0fec7b303106
BLAKE2b-256 c22806b5e8b9d71b6993034e2beee52ab84f360961e7fb6173c08baeaee70d2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 552afc6e5b4872938ab9409516d54e85ce3d29f724d0e364d6b1b8698c7ffebf
MD5 389f10c62beaee5126962704459d73db
BLAKE2b-256 83f3288f2b508aa5a160cbcb83ea29a30d5fd269103af8e29ec6395c3549a077

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7b3670ac7096fce4d9e5484a293a1fe44b27b6d5e098f8a13426698aa1fe20cb
MD5 3d9e9a3be0b1892a0ba63cdb791b9778
BLAKE2b-256 b6c0f03bf4a40bd507e88a90f1a54c2efd57251f408ce230f05ac145b5242743

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 113ecb566ae7f04b0caa457f39d0cacb8cf2e794a1d4f8bad0ba09abab263058
MD5 8779e68844936aa8f5791543b2228962
BLAKE2b-256 91f14e7b4da5d68988744059b1420717c70f02d271aea46d0ad454cef6ad207f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 57f94c577f20ae68f5cacafd5679c9c9e776cd21058a26e43d763fa196b5c16d
MD5 850380105ad1be0308d6e17b1feb1936
BLAKE2b-256 6e8e2f5a183b216771bbd1862b29c8a54be49a5fc8f5a96143792e428e0d2419

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quebec-0.2.5-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 95df2e4f1b49512665c7061993d6f5b8fd3534d0faf8e31237bd6f1da96c0f34
MD5 9071a3f175e2136996d56028c3f7a470
BLAKE2b-256 da17bfa8b757c621711166bba743e0bc609a67d12b09c4dc726e9f1e716992b0

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