Skip to main content

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
  • Per-queue concurrency limits
  • Rate limiting
  • Exclusive (stop-the-world) jobs
  • Multi-process (fork) mode
  • Memory-based worker recycling
  • Web dashboard
  • Automatic retries
  • Signal handling & graceful restart
  • 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 (qc is inferred from @qc.register_job)
    FakeJob.perform_later(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

Auto-Discovering Jobs

If your jobs are organized in a package (e.g. app.jobs.*), call Quebec.discover_jobs() instead of decorating each class with @qc.register_job or calling qc.register_job_class(...) one by one:

# app/jobs/cleanup.py
class CleanupJob(quebec.BaseClass):
    def perform(self, *args, **kwargs): ...

# main.py
qc = quebec.Quebec(dsn)
qc.discover_jobs("app.jobs", "worker.tasks")   # recursively scans each
qc.run()

discover_jobs takes one or more dotted package paths as positional arguments (varargs) — no need to wrap a single package in a list.

discover_jobs(*packages, recursive=True, on_error="raise"):

  • Registers every BaseClass subclass whose __module__ falls under one of the given packages. Classes imported from elsewhere (e.g. from some.lib import JobMixin) are ignored.
  • Raises ValueError if two discovered classes share the same __qualname__, since Quebec's worker registry is keyed by qualname and the later registration would otherwise silently replace the earlier one.
  • on_error="raise" (default) propagates submodule ImportError. Pass on_error="warn" to emit a RuntimeWarning and keep scanning — useful when a package contains optional-integration modules that may fail to import in some environments. The top-level package is always imported strictly.

Multiple Quebec Instances

Quebec is designed for one instance per process. Registering a job class (via @qc.register_job, qc.register_job_class, or qc.discover_jobs) binds it to that Quebec instance, so MyJob.perform_later(...) shorthand routes to the binding. If a process holds more than one Quebec instance and registers the same job class to each, the most recent registration wins — pass the target instance explicitly to disambiguate:

MyJob.perform_later(qc2, arg1)                  # route to qc2
MyJob.set(queue='critical').perform_later(qc2, arg1)

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

Recommended: configure worker thread count in queue.yml via workers.threads. If you need a one-off override, Quebec(..., worker_threads=3) is also supported.

Multi-Process Mode (fork supervisor)

By default qc.run() runs all components as threads in a single process. To scale across CPU cores, set QUEBEC_SUPERVISOR=1 to fork a pool of child processes instead:

QUEBEC_SUPERVISOR=1 python -m quebec your.jobs
# queue.yml (under your environment, e.g. production:)
workers:
  - queues: "*"
    threads: 5
    processes: 4        # fork 4 worker processes
dispatchers:
  - polling_interval: 1
    processes: 1        # fork 1 dispatcher process

The supervisor forks workers[].processes worker children and dispatchers[].processes dispatcher children, each taking its config from the matching yml entry, and reforks any child that dies (matching Solid Queue's process model). Fork mode is opt-in via the env var so an existing config with processes set doesn't silently switch process model on upgrade; spawn is ignored in this mode. Outside supervisor mode the processes keys are ignored and Quebec uses the single-process threaded runtime.

Force Queue Override (multi-branch development)

Set QUEBEC_FORCE_OVERRIDE_QUEUE to pin every enqueue and consumption to one queue — handy when several development branches share a single database:

QUEBEC_FORCE_OVERRIDE_QUEUE=branch_x python -m quebec your.jobs

Every enqueue path rewrites queue_name to this value (ignoring whatever the class, call site, or scheduler specified), and the worker only consumes that queue — so jobs enqueued by one branch are never picked up by another. URL-hostile characters and * in the name are sanitized to - (a literal * would otherwise be reinterpreted as a wildcard by the consuming worker).

Transactional Enqueue

[!IMPORTANT] Enqueuing is not part of your database transaction — even on the same database. Quebec's enqueue runs through the Rust engine on its own connection pool, completely separate from your Python connection (SQLAlchemy / Django / psycopg). There is no way to atomically commit a business write and a job enqueue together.

This is the deliberate cost of keeping the engine fully decoupled from your ORM and connection — the upside is that Quebec drags no Python database dependencies into your app, but it means the enqueue cannot join your transaction. Two failure windows follow:

  • The business transaction commits but the enqueue fails → the job is lost.
  • The enqueue commits but the business transaction rolls back → the job runs against missing or stale data.

Recommendations:

  • Enqueue after your business transaction commits. This removes the worse direction — a job running for a write that was rolled back.
  • Make jobs idempotent and tolerant of data that may not be visible yet; lean on retries.
  • If you genuinely need atomicity, use a transactional outbox: write an outbox row inside your own transaction (business + outbox commit atomically), then relay it into a real job (at-least-once delivery).

Delayed Jobs

from datetime import timedelta

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

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

# Override queue and priority
FakeJob.set(queue='critical', priority=1).perform_later(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,
            # Called once retries are exhausted; receives (job, error).
            handler=lambda job, error: notify_admin(error),
        ),
    ]

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

Multiple RetryStrategy entries can target different exception types with independent wait/attempts. The optional handler fires only when a strategy's attempts are exhausted (mirroring ActiveJob's retry_on ... do |job, error| block) and is called with (job, error). discard_on and rescue_from handlers use the same (job, error) signature.

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.

Rate Limiting (experimental)

Cap how many jobs run within a sliding time window, scoped per key:

from datetime import timedelta

class ApiCallJob(quebec.BaseClass):
    rate_limit_max = 5                          # at most 5 runs...
    rate_limit_duration = timedelta(seconds=2)  # ...per rolling 2-second window
    rate_limit_on_throttle = quebec.RateLimitConflict.Reschedule  # default

    def rate_limit_key(self, region="us", **kwargs):
        return region                           # bucket key: "ApiCallJob/us"

    def perform(self, region="us"):
        call_external_api(region)

Like concurrency control, the bucket is "ClassName/key", and rate_limit_key defaults to the class name when not overridden. rate_limit_duration must be a datetime.timedelta of at least one second. When the window is exhausted, rate_limit_on_throttle decides what happens: Reschedule (the default) pushes the job to a later run, while Discard drops it.

Exclusive Jobs

Let an occasional memory-heavy job own the whole worker process while it runs:

class RebuildSearchIndexJob(quebec.BaseClass):
    exclusive = True

    def perform(self):
        rebuild_index()                         # runs alone on this worker

When an exclusive job is claimed, the worker stops claiming new jobs, waits for any in-flight siblings to finish, then runs the exclusive job by itself before resuming normal claiming. The scope is the current worker process — it does not coordinate across separate worker processes; pair it with concurrency_limit = 1 and a concurrency_key if you also need cluster-wide single-instance execution.

Graceful Restart (quiet-then-exit)

Drain in-flight work and exit on a quiet signal, for zero-downtime rolling restarts:

qc = quebec.Quebec(database_url="...", quiet_then_exit=True)
qc.run()

Sending SIGUSR1 (or SIGTSTP) puts the worker into quiet mode: it stops claiming new jobs but keeps running until every in-flight job finishes, then exits cleanly — with no time limit (unlike the SIGTERM path, which is bounded by shutdown_timeout). The usual flow is: signal the old instance quiet, start a new instance, and the old one exits once drained. Opt-in (default off), and standalone-only — under the fork supervisor a self-exited child would just be reforked, so use a supervisor-level rolling restart there instead. Also settable via QUEBEC_QUIET_THEN_EXIT=1.

Memory-Based Worker Recycling

Long-lived Python workers tend to hold onto RSS the interpreter never returns to the OS. Quebec can recycle a bloated worker by draining it and exiting with a dedicated code, leaving the actual restart to your process supervisor. It is configured by environment variables — there is no in-process restart:

QUEBEC_WORKER_MAX_RSS_MB=512                  # soft limit; unset = disabled
QUEBEC_WORKER_MEMORY_RECYCLE_CONFIRMATIONS=3  # consecutive over-limit samples before recycling (default)
QUEBEC_WORKER_MEMORY_CHECK_INTERVAL=5s        # how often RSS is sampled (default)

When a worker's RSS stays above the limit for that many consecutive samples, it enters quiet mode, stops claiming, drains its in-flight jobs (no time limit), and exits with code 75 — the planned-recycle code. The supervisor then relaunches a fresh process. Under the built-in fork supervisor (QUEBEC_SUPERVISOR=1) this refork is automatic; under systemd, Restart=on-failure relaunches the worker after the non-zero recycle exit:

# /etc/systemd/system/quebec-worker.service
[Service]
ExecStart=/usr/bin/python -m quebec your.jobs
Environment=QUEBEC_DATABASE_URL=postgresql://localhost/myapp
Environment=QUEBEC_WORKER_MAX_RSS_MB=512
Restart=on-failure

[Install]
WantedBy=multi-user.target

Exit code 75 is non-zero, so Restart=on-failure treats the planned recycle as a failure and relaunches the worker. If you'd rather not have planned recycles show up as failures (in systemctl status or the start-limit counter), add SuccessExitStatus=75 together with RestartForceExitStatus=75 — the former keeps 75 out of the failure tally, the latter still forces the restart.

Per-Queue Concurrency (experimental)

Cap how many jobs run concurrently across the cluster for specific queues, independent of per-class concurrency_key:

qc = quebec.Quebec(
    database_url="...",
    experimental_queue_concurrency={"reports": 2, "exports": 1},
)
qc.run()

Each listed queue acquires a queue:<name> semaphore at claim time; queues not present are unlimited. Useful for isolating a misbehaving queue during remediation. Naming and semantics are experimental and may change.

TLS Configuration (PostgreSQL)

Quebec links sqlx against rustls + webpki-roots. Public CAs (AWS RDS, Neon, Google Cloud SQL, Supabase, etc.) are trusted out of the box — no OS trust store is consulted.

Pass libpq-style SSL options as Quebec(...) kwargs, as DSN query params, or via QUEBEC_SSL* environment variables:

qc = quebec.Quebec(
    "postgresql://user:pass@host:5432/db",
    sslmode="verify-full",             # or QUEBEC_SSLMODE
    sslrootcert="/etc/ssl/certs/ca.pem",  # internal CAs only
)

Priority is kwargs > env > DSN query. Passing any ssl* kwarg/env against a non-postgres URL raises ValueError.

sslmode Transport Certificate verification Hostname verification
disable plaintext
prefer TLS if offered, else plaintext
require TLS (fails if unsupported) — (accepts any cert)
verify-ca TLS CA-signed
verify-full TLS CA-signed hostname matches CN/SAN

For public CAs, verify-full works zero-config. Use sslrootcert for internal/self-signed CAs. sslcert + sslkey enable client certificate (mTLS) auth.

sslmode=allow is rejected with a ValueError. Upstream sqlx-postgres 0.8 treats allow identically to disable (plaintext, marked FIXME in the driver); to avoid a silent downgrade, Quebec refuses it. Use prefer for opportunistic TLS, or require/verify-* to enforce it.

Note: some managed Postgres services (e.g. Neon) terminate TLS at a proxy layer. In those cases pg_stat_ssl.ssl may report false because the backend sees plaintext from the proxy — not the client.

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

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.3.12.tar.gz (818.2 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.3.12-cp314-cp314t-win_arm64.whl (10.4 MB view details)

Uploaded CPython 3.14tWindows ARM64

quebec-0.3.12-cp314-cp314t-win_amd64.whl (11.3 MB view details)

Uploaded CPython 3.14tWindows x86-64

quebec-0.3.12-cp314-cp314t-win32.whl (9.7 MB view details)

Uploaded CPython 3.14tWindows x86

quebec-0.3.12-cp314-cp314t-musllinux_1_2_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

quebec-0.3.12-cp314-cp314t-musllinux_1_2_i686.whl (12.8 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

quebec-0.3.12-cp314-cp314t-musllinux_1_2_armv7l.whl (12.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

quebec-0.3.12-cp314-cp314t-musllinux_1_2_aarch64.whl (12.4 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

quebec-0.3.12-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

quebec-0.3.12-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (12.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

quebec-0.3.12-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (13.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

quebec-0.3.12-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl (13.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ i686

quebec-0.3.12-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (11.9 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

quebec-0.3.12-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

quebec-0.3.12-cp314-cp314t-macosx_11_0_arm64.whl (10.9 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

quebec-0.3.12-cp314-cp314t-macosx_10_12_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

quebec-0.3.12-cp39-abi3-win_arm64.whl (10.5 MB view details)

Uploaded CPython 3.9+Windows ARM64

quebec-0.3.12-cp39-abi3-win_amd64.whl (11.4 MB view details)

Uploaded CPython 3.9+Windows x86-64

quebec-0.3.12-cp39-abi3-win32.whl (9.8 MB view details)

Uploaded CPython 3.9+Windows x86

quebec-0.3.12-cp39-abi3-musllinux_1_2_x86_64.whl (12.8 MB view details)

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

quebec-0.3.12-cp39-abi3-musllinux_1_2_i686.whl (12.8 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

quebec-0.3.12-cp39-abi3-musllinux_1_2_armv7l.whl (12.3 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

quebec-0.3.12-cp39-abi3-musllinux_1_2_aarch64.whl (12.4 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

quebec-0.3.12-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.2 MB view details)

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

quebec-0.3.12-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (12.1 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

quebec-0.3.12-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (13.6 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

quebec-0.3.12-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (13.1 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ i686

quebec-0.3.12-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (11.9 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

quebec-0.3.12-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.3 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

quebec-0.3.12-cp39-abi3-macosx_11_0_arm64.whl (11.0 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

quebec-0.3.12-cp39-abi3-macosx_10_12_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: quebec-0.3.12.tar.gz
  • Upload date:
  • Size: 818.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12.tar.gz
Algorithm Hash digest
SHA256 ea94a8dc06888e7c7bec0ef71eddb8993eb7cd644fa922c91e2f7dfaf955c976
MD5 db123b2e57ac7ae660beaa958d7b8fde
BLAKE2b-256 ceffe4c34abf04c4de3f9409ad3945f11ad38e93045fb7357ed6e98bcf52d91b

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-win_arm64.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 10.4 MB
  • Tags: CPython 3.14t, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 00c0684fa8c0ea5ef13e9fc03c0ee60aa0bb514af3aae0d70318f19bd5e9de65
MD5 4ade265ae2a955365c87bf21b5fde5a9
BLAKE2b-256 ec6c7cc55d7fbda1ed9a6878e795acc705560ee977d1a744839afe7a0caf64b8

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 11.3 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 271c783802528934c43e28f8fabf05f54f39d876f542d90ad3ab738fae0b0e93
MD5 c5ca84c6cfc51d0dff6da615c4427b34
BLAKE2b-256 9fd53a5affdf859c22c76d62b352755ac42f81be20f736f4d06ea75f7cd1f866

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-win32.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 04ba04b00436c64572a35e203a01fdda63b34049d1cc8c63214c3c1604df80b0
MD5 12768fa5ef7c41df32b93e48d8cff409
BLAKE2b-256 d5354cd1701f2f4b269eafbe1eee5045aa845d5eef34b046a3c6bfaf23e6a5de

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 12.8 MB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 55e0e3b5c8c08241a6c64c4ad58ed81ad14dabfd1a2bb3dedf5ff18d51f8f057
MD5 cb0562eb36234950bd3c193039c88919
BLAKE2b-256 9159654b37578299e645552c30dd0cf67c924eab8a8d212934520d334767e01b

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-musllinux_1_2_i686.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 12.8 MB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c90c6d679ac0ba8c44550a02401f7be2936a05e2af8135920a0e4ca98c376063
MD5 fc36c53cd839aef1d8618c9d952fed56
BLAKE2b-256 329814a9c66f61901626aa7f6ce9e27390c6720355794a5554764a70b847ba8f

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-musllinux_1_2_armv7l.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 12.3 MB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e212a32c08f97895c0436e91db16c0c1ea0ddc730953f7b2cdf3ace4762a408a
MD5 2b4ef043480b775efe0129778318c6d0
BLAKE2b-256 8200b83cb9b81bd6e09bfce40176d0334686e34693ac048f68a80281fd005e98

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 12.4 MB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d642a31c499b24415761d48ac428d128d303b30abe211f18467cb9221b7c9770
MD5 3a5aa0ac528cf49e7d0307fe72c3d166
BLAKE2b-256 20bf0d57ecab7a1f6f147314505c145f1200876e299767ecae3eed31e7499852

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b63a356ca8c7ec5b9fc29d3319f8f3473a8f07d14e6800678e33bc3e4984fcb
MD5 48ea515a9f82b119558cffe8789f1342
BLAKE2b-256 b2bdab0e8a4a8d770c2d202773eccd91c87847b7dfeaedd886e1b11f108cc537

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 12.1 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 56d54c2fcc90664372bdb2dd0e666fc956a3395d2416fd1d1240a4090eecf54f
MD5 d7891d3840bd27dcc105a835a37d2ba6
BLAKE2b-256 796fbc56ad2307936d967539fbf8217d5863cf593c8d8716036e0a489b845b98

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 13.6 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4e9eadbfdfed0e2ac22e332703a4f6f83ed09edc542324b7ae25a52e788df056
MD5 eae7ce87ec0006013556d99d5f017dc8
BLAKE2b-256 210e96ed388e8f571e42be040c7b8d97a752bc46ab30292660fb6c23056f8888

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl
  • Upload date:
  • Size: 13.1 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 10443950f936e7d922e645313d1d95b4a3409e2618c144a3ee4ce72ea55c4179
MD5 737f62f4902209ff88a411be373ff70d
BLAKE2b-256 3a53e96e24d62ff7e799a10c08b039e988c5ad3f2b4336e966c88dc138ad64df

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 11.9 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7a18a5ce1036e33b3c6c1d60909163c4d5cc30681970baa4eeaf588b89c224a8
MD5 291cf452ef38cc385a24da685d155269
BLAKE2b-256 d7a732df3badf00b83a863d2ba3dfe1c88cdedd94a1ff8f51d89eaba8b5dd2e5

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ff3da0422f434438bd161c274e1dad483288215bb84489f3885c5d8a4bcdf32c
MD5 c663efb216f1e271298a4762021b5447
BLAKE2b-256 f57dd5b39dc2caa0388ef7570cb37e37c381afba250f1902d861cb24c7eae57f

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 10.9 MB
  • Tags: CPython 3.14t, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a9b9fd516274032bcc01dae71285c29f6c6818497dc30dafe4b7ae9cab279aa
MD5 9645d9c9d39d5d6c270704a5a8646b32
BLAKE2b-256 7ee7479f365a2b343b33829f3b44678e32c4a881f0cbfcae649f4c17197a2fa6

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: quebec-0.3.12-cp314-cp314t-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 11.4 MB
  • Tags: CPython 3.14t, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 02dc46a9eb4966e077b53e960b4b13a7adaeeb269fc66961b1da873f51a0e8e1
MD5 718b140184b3a2a490436bba1a5190bf
BLAKE2b-256 58490bd9333733186e0f5d45ae910d41deb50eada5d1264f30bf959e0eb967b1

See more details on using hashes here.

File details

Details for the file quebec-0.3.12-cp39-abi3-win_arm64.whl.

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-win_arm64.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: CPython 3.9+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 ff6aa935e2ec9fec20601ee04293f87338c542940cb642818ffeddc5d50e8a19
MD5 d678b89a56f4f91058688403365155d5
BLAKE2b-256 85b956ddf1df0a2bd75f87c93c28c1374d78a2945f660e9522d6ad9c6d24295d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 11.4 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 77fa82d9ae4ff8ba393ffbbc56b8635fe06aa86cedef048db56ec24a68b8dd9c
MD5 11b62f6d01c03b44488e7c5eab98c9d3
BLAKE2b-256 d31a4187b2606723320d91d918871ef24bf6a154b7fcc3b6a0969815188068c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-win32.whl
  • Upload date:
  • Size: 9.8 MB
  • Tags: CPython 3.9+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 fa87033df207e76239caa5c196e976466da617021f66c680956bccf827525069
MD5 5dac6f0f6020c385405c96f9b90f4e8e
BLAKE2b-256 260820740c15800561d165163f3767f63a709a7fbce2077e3c9e5ff66b76270e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 12.8 MB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b83dfb5d303f56e244dc2f377723f6205f7e8eadfb38b6eaf515905dd9a1dd5e
MD5 49dd7b153dedeb0d1e3d4d87ab80186c
BLAKE2b-256 32f64f5799cad52bb7202b6660579c6b9684d78007df0f9e19001c6f9147620a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 12.8 MB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 70d80348afb344b6a3a8b21fb6639df4b6866fbf4456d912770b05d8ecc6464b
MD5 08744e1200ca763d45aa258954808c2b
BLAKE2b-256 eb28ad1970d1353396406ef6bb955da83ba662b9008729fe1ec95595745fdc8b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 12.3 MB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0f9563e7855edc94b4fd1c2d4517197de484191d6f3340f9f9535424365f7e4a
MD5 05e343d1f04702977eac630847e72ca8
BLAKE2b-256 f3bb14c467b67e3c175dc831b278496322ac2c899b6b6726b98a48eb2445224e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 12.4 MB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 80385ae998de74901fa568837f8c5becdf84e65847da104a7085faf3edabcb0f
MD5 9703e77caab3d6d927d9ec74f6213885
BLAKE2b-256 ef92653f22058d2d718ff8fa03721590a97949df5db99e0f5445a878b1f0702a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 90f51562e49563b641752ca2d7d27d772fa367120c8b7c5ffe15f88601e07531
MD5 ae82f3e136d942bf1117d8a7e693af5c
BLAKE2b-256 40b732839a1d099ae4f302dbe0bff032fac8cd7c3b1d5a8a93bd45b44e158c36

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 12.1 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 dc45d4cab01bcf7b1b3f0d470a0b17d639d208274b86b91ae8cf91ffc48df0f5
MD5 eb28c6c1178bced67b61e31ee703f667
BLAKE2b-256 6d41b466ecd568792b592f97048467756e5f975cc35db438feba0753b55a26b7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 13.6 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ba78f960391a31a2071afd2dce30dd07e1f14219c0ca7499995ccb405dbaf5a0
MD5 a40542cc1bbdbe09ecb6b526f11186e9
BLAKE2b-256 81402cb119637b378fcebc38e421dae7260030d153c7a848432f2ff94ec2537b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
  • Upload date:
  • Size: 13.1 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c1cb47a7011f1538b5daf85f7339bc4e00f047eb89a8a202c3bb14d29e126bb5
MD5 6f0acd82b516a85007561f59ce85e64f
BLAKE2b-256 efab98bde87982dc55e863c24f5d6e389f1d4be198d5de0a95ab42a0fd6e6ac4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 11.9 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 793cac925463932ed8022190a5cdc4812caebc1d228210062a0a8d487c7d43c3
MD5 40c6811c0d535f3dac13d424b99ec971
BLAKE2b-256 89e2fd3801c4a2e56219226b6559ca741810e87c0edaf6855accee5f196edec7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 12.3 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 310a251b11b7fc190b6c18ca7e9a49284ac5b264b98fe459c095e08d3b106c21
MD5 33e7a3a7af0e437df0ad0f0063424cd0
BLAKE2b-256 5b9f2f103a81dff77f0a4939f27c909682a158d0c9e8d4c84184d6a0443c38dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 11.0 MB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d519545be36d1864572422972fe8394d046f1cecb6f990e55297870c2e7f519
MD5 c0b62461b98331c8632f4f5139d7fdff
BLAKE2b-256 a0e5655d7b6236254210d74bcd6ca0a965c6864f07cab6b7fb398371bec0c430

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.12-cp39-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 11.4 MB
  • Tags: CPython 3.9+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for quebec-0.3.12-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 35e0f48fd251c3145e050723c11b1c5db152358cf15ac1077a88c4c51c60844d
MD5 82d7fedd70ff7b8cec4a484d1176dca0
BLAKE2b-256 3ce29f2de48fa17cd925109a202ef2e8f2e56de61471f489db38e379069edd0f

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.13

31 files

This release

0.3.12 This release

31 files

0.3.11

31 files

0.3.10

31 files

0.3.9

31 files

0.3.8

31 files

0.3.7

31 files

0.3.6

31 files

0.3.5

31 files

0.3.4

31 files

0.3.3

31 files

0.3.2

31 files

0.3.1

31 files

0.3.0

29 files

0.2.13

29 files

0.2.12

29 files

0.2.11

29 files

0.2.10

29 files

0.2.9

29 files

0.2.8

29 files

0.2.7

29 files

0.2.6

29 files

0.2.5

29 files

0.2.4

37 files

0.2.3

37 files

0.2.2

37 files

0.2.1

37 files

0.1.1

29 files

0.1.0

29 files

Supported by

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