Skip to main content

Simple package for parsing querystrings into nested dictionaries and vice versa.

Project description

qstion

A querystring parsing and stringifying library with some added security. Library was based on this js library.

Usage

import qstion as qs

x = qs.parse('a=c')
assert x == {'a': 'c'}

x_str = qs.stringify(x)
assert x_str == 'a=c'

Documentation details

Full documentation reference: https://www.npmjs.com/package/qs Result of parsing can be returned as root object if needed, but default implementation is to return a dictionary.

Not supported

Parser:

  • plainObjects
  • ignoreQueryPrefix - always False, query is always considered without prefix
  • Strict null handling

Stringifier:

  • custom encoder and decoder functions
  • sorting of keys
  • filtering of keys

Additional support

  • parsing primitive values: int, float are represented as decimal.Decimal, bool-like values are represented as bool whatever the case they are in, however this can be processed strictly using primitive_strict option, null-like values are represented as None

Modifications:

Parser:

  • sparse arrays are represented as dictionaries with keys as indexes
  • undefined values are represented as strings 'undefined'
  • queries such as a without = are considered as non-value and thus are not included in the result

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

qstion-1.1.5.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

qstion-1.1.5-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file qstion-1.1.5.tar.gz.

File metadata

  • Download URL: qstion-1.1.5.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.5

File hashes

Hashes for qstion-1.1.5.tar.gz
Algorithm Hash digest
SHA256 01b9c3e19ccb6f2fb16870bd374766fd4c8c04bf3a0555f4d745b37d26559828
MD5 d3b53f6e1a83cdfd4c11082e8b6b0fde
BLAKE2b-256 610840ace19974f8d7ad7f422c2647ede37058cc785cc7832f3c5ea1b9d2caa5

See more details on using hashes here.

File details

Details for the file qstion-1.1.5-py3-none-any.whl.

File metadata

  • Download URL: qstion-1.1.5-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.5

File hashes

Hashes for qstion-1.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fd0d6d2cf2462c18282b4d075e8b59e73d211fd670e5b4498f028471638982e5
MD5 4d5669bcb810e7d7bed872c92e2b7ab6
BLAKE2b-256 12a4aa94637c23aa5637b050937387ffd76908933de51f9275666663498aad83

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page