querystring-parser
QueryString parser for Python/Django that correctly handles nested dictionaries
What it is and what it does
querystring-parser converts URL-encoded query strings and form data into nested Python dictionaries, transforming bracket notation (like `section[0]['words'][2]=value`) into actual nested dict structures. Standard Django QueryDict leaves such notation as literal string keys; this package recursively parses them into the intended hierarchy.
The package has no runtime dependencies and installs cleanly. It is classified as Mature and supports both Python 2.7 and Python 3, though development stopped in 2019. The repository remains unarchived and receives occasional commits, but no new releases have been published since 2019-07-22, making it a stable but unmaintained tool.
Use it for:
- Convert complex HTML form submissions with nested field names into usable nested dicts for backend processing.
- Parse API query parameters that use bracket notation into proper nested structures for easier data access.
- Handle Django form data where frontend frameworks generate bracket-notation keys that need to become actual nested objects.
- Transform URL-encoded data from JavaScript frameworks that serialize nested objects into query strings.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses URL query strings and POST data into properly nested Python dictionaries, handling bracket notation like `section[0]['words'][2]` that standard Django QueryDict leaves as flat string keys.
Yes, if you need to parse nested query strings in a Django or Python web project and are comfortable with unmaintained code. The package is stable, has no known vulnerabilities, carries permissive licensing, and solves a specific problem well. However, do not install if you require active maintenance, security updates, or support for Python versions released after 2019.
Install
querystring-parser on PyPI
pip
pip install querystring-parseruv
uv add querystring-parserpoetry
poetry add querystring-parserInstalling querystring-parser
Before you install
Low install friction with no runtime dependencies. Maintenance is dormant—last release was 2019-07-22 and last commit 2024-02-29, so the package is stable but receives no active development or security updates.
License in practice
MIT License (permissive) allows free use, modification, and distribution with minimal restrictions, making it safe to adopt in most projects without legal concern.
Quickstart
from querystring_parser import parser
post_dict = parser.parse(request.POST.urlencode())
Verify before relying
- Whether the package handles modern Python versions beyond 3.x declaration (last release 2019, no explicit version ceiling stated).
- Performance characteristics on very large or deeply nested query strings in production scenarios.
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 2,580 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,643,491/month — #2,264 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: querystring_parser-1.2.4-py2.py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
fast-query-parsersParses query strings and URL-encoded form data…
permissive · top 15,000 on PyPI
dictknifedictknife provides utility functions for…
permissive · top 15,000 on PyPI
flatdictFlattens nested dictionaries into single-level…
permissive · top 5,000 on PyPI
super-collectionsConverts nested JSON and YAML data into Python…
permissive · top 5,000 on PyPI
odProvides shorthand syntax to create OrderedDict…
permissive · top 15,000 on PyPI
json-flattenConverts nested JSON objects into flat…
permissive · top 15,000 on PyPI
attrdictProvides dictionary-like objects that allow…
permissive · top 5,000 on PyPI
jsonasobj2Converts JSON data into Python objects with…
permissive · top 15,000 on PyPI
partialjsonParses incomplete or malformed JSON strings…
permissive · top 15,000 on PyPI
magicattrProvides nested attribute access and…
permissive · top 5,000 on PyPI