fast-querydict
A fast, entity-agnostic parser for application/x-www-form-urlencoded request
bodies, built for Django. One pass over the raw bytes yields both the flat data
(ready to become a real django.http.QueryDict) and, optionally, the generic
html-json-forms nesting of the same
body.
import fast_querydict
grouped, nested = fast_querydict.parse(request.body, build_json=True)
# grouped -> {"units": ["a", "b"], "id": ["9"], ...} raw, first-seen order
# nested -> {"units": [{"capacity": "100"}], "id": "9", ...} or None
groupedis{key: [value, ...]}with raw values (percent- and+-decoded, not trimmed) in first-seen key order — exactly the internal storage of aQueryDict, so Python can adopt it with a singledict.update.nestedis the html-json-forms nesting (a[0][b]→{"a": [{"b": …}]}), with single scalar values trimmed and""nulled, orNonewhenbuild_jsonis false.
See projects/fast_post.py in the GEM project DB for the Django glue: a
QueryDict subclass carrying .json, and a pre-CSRF middleware that builds it
lazily on first request.POST access.
Build / develop
cd fast_querydict
cargo test # pure-Rust logic tests (no Python needed)
maturin develop --release # build + install into the active venv
The Python side imports it opportunistically and falls back to Django's own parser if it is missing or fails to import, so it is safe to ship without it.
Publish
Wheels are built and uploaded to PyPI by the publish-fast-querydict GitHub
Actions workflow (manylinux wheels + sdist via PyO3/maturin-action, uploaded
with maturin upload — the same approach as jsonlinesrust/flatterer). It is
manual / click-to-deploy: Actions → publish-fast-querydict → Run workflow.
One-time setup: add a PyPI API token as the repo secret PYPI_API_TOKEN. Bump
version in Cargo.toml before publishing a new release.
Consumers then install the prebuilt wheel — no Rust toolchain needed at deploy:
pip install fast-querydict
Metadata
Release files for fast-querydict 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| fast_querydict-0.1.0.tar.gz | 6.7 kB | Without provenance | Details |
Built distributions (wheels)
Total release size: 3.7 MB
Release files / fast_querydict-0.1.0.tar.gz
| Download URL | fast_querydict-0.1.0.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d881b8e23adebbe0f8685736b65a2112d272bf8ec71fe0851b9d6119886f020d
|
|
BLAKE2b-256 checksum How to use checksums |
1a55f3222efed818637819e9861938d3b5c1427828af999434701ca389087844
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | fast_querydict-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 224.0 kB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
3f6773c48a2be891580e4a075713c3000d30596a1eaf5685b7a108c7cdfc327b
|
|
BLAKE2b-256 checksum How to use checksums |
9bfc99b69a31873dfb012f5a66a61f728d7cf2dd0c9e6af7d3d0ca3dfff9704e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | fast_querydict-0.1.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 219.6 kB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
a8d10765bdeb249f235ef6333ebfb844a97c535d4523279dd0d0cd6b491e0add
|
|
BLAKE2b-256 checksum How to use checksums |
c9c298d6759f460021a73ac1be064553eb872b04a292b4a8b8a4cb75363e45d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | fast_querydict-0.1.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 220.0 kB |
| Tags | CPython 3.15 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
dde2f073b77a902afbb6e7a2854615b820d3c77ad6a0013173afe1def575b397
|
|
BLAKE2b-256 checksum How to use checksums |
138cd0cc6d515be77978a7478fcd05759bd87966b404e3b77d968409e83c7c6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | fast_querydict-0.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 219.6 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
a3018ce6b2e713862dcb0e4125d0c6c60f641a0d0723b58ec0dc45ee1dd46ff3
|
|
BLAKE2b-256 checksum How to use checksums |
a9bf1e194bce5dfdbb27328008fe01c735390bc8b4040d19fdfdae9073a49e4a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp314-cp314-win_amd64.whl
| Download URL | fast_querydict-0.1.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 115.5 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f88d130ef2741d06793925b5c3337aad6ea04dd08d69e7412df8614dac4c4e79
|
|
BLAKE2b-256 checksum How to use checksums |
a5c829c5371c1640ae4573656cc8cd9cfe4cd77790bf9b8b2ff4794abefd2a82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp314-cp314-win32.whl
| Download URL | fast_querydict-0.1.0-cp314-cp314-win32.whl |
|---|---|
| Size | 112.1 kB |
| Tags | CPython 3.14 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
5ca5d21bc9458d255159ae10f0aec55c77c05b362c034c89e75f681a3f9c404d
|
|
BLAKE2b-256 checksum How to use checksums |
939d6a8ffca5ca6a56974c6828a265c557842470b736f0e0686cfd9e4f2d94b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | fast_querydict-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 219.9 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
702c09f5ead4e8b195e7e4e7b134324ae5455b0aacf4dcc9841f16f1b2f01c62
|
|
BLAKE2b-256 checksum How to use checksums |
f9fc4094398ddb3cc61be40b8d3236435c387d08293b5d8edd2bb60ccd3b02b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | fast_querydict-0.1.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 193.6 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7bbfb88e767a3755bd4d905d437964dfa3993a55c80b425f558588b3bfbdf4e1
|
|
BLAKE2b-256 checksum How to use checksums |
c667313852fab72bb430beb62cd8c56d18c2bf179177f835047ce2fc2e900ee7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp313-cp313-win_amd64.whl
| Download URL | fast_querydict-0.1.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 115.9 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
12d566190271aaf097aac6f6c98912f5a9e108f55e8e7bed40fa4665afc20786
|
|
BLAKE2b-256 checksum How to use checksums |
f4294a17c8d1a34fa093f5da5512327dff30fae9c227f1cb4b34e04fb622349f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | fast_querydict-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 220.0 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
22b568a624d2d1c18a1901a87fc16fd58496d4bf7f0d6486536b16fea8193295
|
|
BLAKE2b-256 checksum How to use checksums |
3e19babc09b609ec65336158675893e7dcac04f23d7bcec119af7ba6c1207e2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | fast_querydict-0.1.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 193.6 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
dde395c58f5f5e0c62ef1249c500a081d543a0073bfa44f8995efe63e168e001
|
|
BLAKE2b-256 checksum How to use checksums |
1150ce446cc14c769835fb4a1f611f18f54c422a23e3b4b6466ae07d78a1a6c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp312-cp312-win_amd64.whl
| Download URL | fast_querydict-0.1.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 116.2 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
39192825198757d5da4c143de44502bc715a0f184d6eb03796ffe17d7b0a4607
|
|
BLAKE2b-256 checksum How to use checksums |
72b08b2ac7b4eb48b8cec1127dca8e65402f3f671a20686c5e8be82a574aeb38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | fast_querydict-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 220.3 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
74437a33c566c0b3872549c20615d3f8cdf6f0aaf3c5e087cd0f7866dbf69edc
|
|
BLAKE2b-256 checksum How to use checksums |
be400db0c9ddf6686c53f4aa6f5f4a3d785eca90869dbd97bcb995f6e47f937e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | fast_querydict-0.1.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 194.0 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
be02319052045eb8ba2ad45e50bdceced129e04d5539a5067064d7222c9f6964
|
|
BLAKE2b-256 checksum How to use checksums |
3fbb2312e352779cd159af9b3dbb0a54f9ff782896a0c1c659027f5198ef7591
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp311-cp311-win_amd64.whl
| Download URL | fast_querydict-0.1.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 118.0 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a8e28fdea53bacd467bb36fad52ea2ef590edead1f1b176b07fee2d8c276ae29
|
|
BLAKE2b-256 checksum How to use checksums |
a48cad94c3f4febbf5b3773ebd80c9752658276795d0eb134480450856d52d86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | fast_querydict-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 222.7 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
e87cb30d78b69d60b1a99e72494dbcff237f71c1d2afc98a0c778ffde050f687
|
|
BLAKE2b-256 checksum How to use checksums |
f0d3b98d8d86c0756c10fc56d476823977a693ab0feaeba368b2e14add0a3bdd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | fast_querydict-0.1.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 195.8 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b79a8cce527cf5a392bab517580b29584105b21c8a568bf4b3faabf5b67493c7
|
|
BLAKE2b-256 checksum How to use checksums |
50d1cfc85d4d74d8ea66854579c8fc7ffe4dbbc25123c217193b3f731424c68f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp310-cp310-win_amd64.whl
| Download URL | fast_querydict-0.1.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 117.8 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1209d54b94c940b9c900c481f600ef29f4a29dc8a157f38e757a30f18e3ff033
|
|
BLAKE2b-256 checksum How to use checksums |
b0b4c96dd5a788a9621be5b46d765e861ddd034fe816f363b3a57857e8a54a5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | fast_querydict-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 222.4 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
a0dc395d1c9e23a589793a8a934df4388515896d4aaff6b8f33f4c0ef96a0c8d
|
|
BLAKE2b-256 checksum How to use checksums |
b9aa737639b4d1e2db5f714d0399c2a24db2bdc089bf177537fb3e0775c4f26a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / fast_querydict-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | fast_querydict-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 223.0 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
98feeb1a340630382bd7f908a5391a94adc93211c491354486ec88b411b1d17e
|
|
BLAKE2b-256 checksum How to use checksums |
6f1f5666ce8b493878af358b1253e298531879e25231ec4cca9de022c3bfc21b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Security for fast-querydict 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.