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
  • 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 in the name are sanitized to -.

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

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.3.9.tar.gz (812.0 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.9-cp314-cp314t-win_arm64.whl (10.5 MB view details)

Uploaded CPython 3.14tWindows ARM64

quebec-0.3.9-cp314-cp314t-win_amd64.whl (11.4 MB view details)

Uploaded CPython 3.14tWindows x86-64

quebec-0.3.9-cp314-cp314t-win32.whl (9.8 MB view details)

Uploaded CPython 3.14tWindows x86

quebec-0.3.9-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.9-cp314-cp314t-musllinux_1_2_i686.whl (12.8 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

quebec-0.3.9-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

quebec-0.3.9-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (12.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

quebec-0.3.9-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (13.7 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

quebec-0.3.9-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.9-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (12.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

quebec-0.3.9-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

quebec-0.3.9-cp314-cp314t-macosx_11_0_arm64.whl (11.2 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

quebec-0.3.9-cp314-cp314t-macosx_10_12_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

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

Uploaded CPython 3.9+Windows ARM64

quebec-0.3.9-cp39-abi3-win_amd64.whl (11.5 MB view details)

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+Windows x86

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

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

quebec-0.3.9-cp39-abi3-musllinux_1_2_aarch64.whl (12.5 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

quebec-0.3.9-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB view details)

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

quebec-0.3.9-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (12.2 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

quebec-0.3.9-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (13.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

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

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

quebec-0.3.9-cp39-abi3-macosx_10_12_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: quebec-0.3.9.tar.gz
  • Upload date:
  • Size: 812.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9.tar.gz
Algorithm Hash digest
SHA256 6b79856274c04d0eb4bb7c5c512c023340f67c5ee8694f5219e5a6ec1cb37970
MD5 b76795e7e1fc63c03e7d41d49abfc8ec
BLAKE2b-256 567b53aa794bcc9dfe61465d3f2d42131764da9503db272ce88dd0f26d5d0f92

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: CPython 3.14t, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 690de5304c2ef43c1af41c3620b1847f051bd3211179234aa14bb916f2630fe0
MD5 c24dce0a09c1bf52d2861a234922d56d
BLAKE2b-256 9998ad520007ea72a5411ab936051d94b99014e6b43de3c0d9e4af807a404a72

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 11.4 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 8dbf8fa5ff15e35127b3b91c01a1c468372e548344bf06850cc02631677ff6b2
MD5 75063518cb5ec06b9b44c6fa6c57996d
BLAKE2b-256 f3085c9d9b8c78182aa06d69d9c475ead68f89a93ef76f14975ad7e61d42c670

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 9.8 MB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 cbd554fbb1b99f1c165612ce4e1a83b02876d021cf2d4d160033342c7f71994f
MD5 41fc1ba56323d5f2fc38176e7d97b522
BLAKE2b-256 2320f4175e2c9e35036e509cb9cd898ed5cb900fd554d61ee95bbdac97c5faa4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-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? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d10180160971f58a9632d98495d08a38581fc2ce003474302fbb5727d32438da
MD5 ffab1a2f017dcc344c7cf8127a436724
BLAKE2b-256 c52b282445c6640984f355660c371cac21058abc5ca4ae4cab33b76e2ca7e4e9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-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? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7b861a09e41fd4dbfb1adb54b7f88cb3912939b2d2e4732d193b06e178811337
MD5 ac0730954716b12d8d4d5d74b53e695c
BLAKE2b-256 9b122e2df12bb528fbbc6e2461a581a9f00f3309f915fdb2bd27513b9a26337c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-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? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 ad44ce052a4ab1930c3f9cf68ef49cc42b619397d17e37a08c9c86ab4bb86e61
MD5 871be86e0523424d3f974aba26c6915a
BLAKE2b-256 aeb864040dc41a595b0f71e32848096c8e29dc53b2200dac565ffefd26bd1e51

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-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? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 74ba7c3a595ad615864cfde18ccfd21c85beffc25ac41b05e826041555358188
MD5 220c4fd9c005efa26ac84ac1aeac6cef
BLAKE2b-256 1dccd42d980c366eb54c4d1ed073a888b9b25f5e16819684020b7755bff3fd62

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 12.5 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee099df24a60abd9119b3e90c85eb3eecbf126e5d5d99b958cc9acb4d200369e
MD5 8b128da8f8e51fb22d556280ad30601e
BLAKE2b-256 d9ce62c09d026a1ea0f1dcdf6285342cf5d1864a55301fd26e29b781f5023f78

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 db4b4273f0c263d9c8631de92e5e4e6f73cc90fa1b23d734b51eb996ec84ead8
MD5 5edf18bc4a9485a3666a87a9e71dbaf2
BLAKE2b-256 7930d64bcffff0aace10f8c3cca4cc6c3cc4dd091012bb04e0c704e55ceaf390

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 13.7 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 8ab2a54fb46c5de3ebdd6b39b0edbf1875e467faf1157fb01215f39d00d37e2c
MD5 8587b84fd9301d82601e490929734ada
BLAKE2b-256 ec213aad0449eebc0d36c95280c42ae2b8423b77125f37a462e36e9852a9e548

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-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? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cb680965b4f43df93acde5a96056bc4483d45c588857705899dc936bfa11fd0b
MD5 fadea96479283382c6c31a0d585e5f28
BLAKE2b-256 4691b71383af4ab00b5e4c26ea40dc5ce377c68c009edf07618cc14520f2dba2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 12.0 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 43e47501a001c8fe694c0c0a256d2bdc9ab98da075edc5f315ca67ca25dad519
MD5 2e16877db1082cb449c26e2f974e1910
BLAKE2b-256 117a9fb42e4e281aae6ffab54161a7ced980ec3764655223acd8a6ea67f0a945

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 12.3 MB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cc14ad7396c592fe8fa442e352e0773f4ab648c903890efe49f6bd0c64d2835d
MD5 82436d243841e4b7394b2673d0b3088b
BLAKE2b-256 9dd9af0b1851529e42f77c8d8704aa7a30a306f4aee8bfa4fbeca27e96658587

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp314-cp314t-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 11.2 MB
  • Tags: CPython 3.14t, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b4de5fee46a78027fc8d05b6b43bcf65ebcb509660db0048baceb9ab15d1b1d
MD5 08fbb7cccbed6ce8c89c2343c70933f0
BLAKE2b-256 8bba4b843a16bfa35306f1937eb64a56e76193b32bfcaf29e3335b8b30324ce1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp314-cp314t-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 11.7 MB
  • Tags: CPython 3.14t, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fd89a03b2047f347b916a6e933230a75dd431f6e074fba3c706bd794996c23f5
MD5 3262e87a7b41988fb97ecd95516a15d0
BLAKE2b-256 38d53f8700af93f09923b9e5a974d17fa081f9c4efc2357ff035c62df9271c9a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp39-abi3-win_arm64.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: CPython 3.9+, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 a698f46fae0418c2c1319fb6f825791230f411d268ad6e6fb3d557107a9ed0b2
MD5 fe1c1bdd8bfe2eb47936dd932aad3b78
BLAKE2b-256 352c81eeb736e97f7b81c81fe10ea9eb0534f164f9231e8baf00bfe4e876824f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 11.5 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b7010adc2e12f6e9310fc32b0893dbf1694bba87f79526f0c0b159c05f5f562a
MD5 e0477135e0cab8e7ab89987dae04ab26
BLAKE2b-256 869e5aa3b577bdf5a6137805c6398a2e02fe85d97fcf1f09ece85a976f0d4e31

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp39-abi3-win32.whl
  • Upload date:
  • Size: 9.8 MB
  • Tags: CPython 3.9+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 b5bb376c4af2a22355360d2415e393b31c7fa16da5c98c80459fb79ac5511f75
MD5 b7a04f53a39581fcde8caebe7fe3947c
BLAKE2b-256 e1025b6445a91e6b14fded14b06d723a22401eee8fd6463c1baeeeec22cdc678

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-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? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 16ac64776ca505bdae5f35f6ce560d4dd9ae2c8fca8761beea659b3c115cf423
MD5 b7262dcb2272291f73d48284ca9d2efc
BLAKE2b-256 dee232a4f02467dbbd4fcdebb25aa5e89a3929464d48b63f124c431495920914

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-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? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f1dbe3dddfdb86f8fafcdb201c6a64413a2e669daae2385928c1b16f8a2daf12
MD5 8d43747ce38e4d2a987299918e0107f9
BLAKE2b-256 f62af5f63ae0717fb69756b6b897956c538c6c9ae5f888f6afe24c219c506c98

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-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? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 8dccd54dbb6d8536c78c6e9caa1ee5ab714bcb218c2b54b8762464c7b39f5bde
MD5 a24996a3002383411aff8fafff445ba1
BLAKE2b-256 c443beb33693fdfbcce9993bf7ac49bee506fac294ecd6b143ffc323710fb4fb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp39-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 12.5 MB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 46b4991dee21055b33f09b5d2d71d966c02d5ff896ef06b39726a7d3486db79d
MD5 15b39b2347814bc16a9082b5fb1ef170
BLAKE2b-256 fab534531de1e4a44c0c858d50aff80abd93b8f8fc890cf5af8c1ebca773cbf5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 12.5 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f34d29a8dbb3c67bfe04dc8e53b14b315c4fc31963e95480c6b80df378cd8b91
MD5 2538fd241ae311d7f000b6b0c351c52b
BLAKE2b-256 521a5cfbf8055689566e0b6a750a0eb0b71cb43dfa0cd6bb0ce61ffa8cf2930b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 12.2 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 4457b8a3a62549bfd308cf7ac894f391a52cd2d6f93957a86dd6cbfc9f058e6f
MD5 b0fe17d37da88ae6362f39e54587104f
BLAKE2b-256 7b7cbc185334d2464543dbbc9a3431b4a0a7d8e50d39563cfb882a7dd2d81add

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 13.7 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 106fea5cde7a3063c0ed4fcdb41b166f9ecd7fc2993d661bda3e427d80cfc994
MD5 17ed1341e6332d827bed57412be1d77a
BLAKE2b-256 cd60732d45fc55b812af10f814c3c9fe2bc3d4e754dff789eea7b83926da9b91

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-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? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 87e96f01d8b97ea5f95ba557dda28b9eaed73a41f8f19c9feb9f5e03443395c5
MD5 5f702d5dceb127cf2ab224e5bac671c8
BLAKE2b-256 07847fe393f0edc1883bcb70fa2e783153b714ceca42f4489bd69187fbe3511f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 12.0 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c394f5f3619d0ec3d343d84b0c539518fe481e3d20d5c3bbaa14690e059af546
MD5 588dc142f3628ee921f29b0daa7d62ba
BLAKE2b-256 6add48abc91f32225bd1bb517fdb95ce7f6d4298d0fa810c80eac859a536d4c3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-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? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cd9f89d702c94d37137f44c94abe8f7944adaab9dbce603bbbf45f74b1350124
MD5 6b7308689ad4daaa955a6496201cc40f
BLAKE2b-256 29e2c6229b78dc26b8db7c8c65f2beffec1974ece9831ffa7c6336d131b3d6aa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 11.2 MB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cb195b2b53e0617991b6fa2a4aa783113e70230c3ba29c5763b6960b0ba70190
MD5 f9f79bfbe76939ac2125de6e8295ac3b
BLAKE2b-256 fb1aacccfa01729560de760fd71021cee48996a070814b3fa0b0637415ee8c91

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quebec-0.3.9-cp39-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 11.7 MB
  • Tags: CPython 3.9+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.9-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 83595e08ffdea92d722a46582e7e12a599b8cbecf1aa8afdf207ec9a64c337b8
MD5 aedf6e70f132f734e2cda72db7597d95
BLAKE2b-256 f74404f35cd8d1457d5637b024cd111f2cc4b76061d75c8e91bd7c643ed05927

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