Fast Params
Support Rails style QueryParams and FormData for Starlette and FastAPI.
you can also used it in other frameworks, if your params or forms follow this protocol.
@runtime_checkable
class MultiDict(Protocol):
def multi_items(self) -> list[tuple[str, Any]]: ...
Install
pip install fast-params
Usage
from fast_params import ParamParser
from starlette.datastructures import MultiDict
def test_parse_simple():
parser = ParamParser()
params = MultiDict({
"a": 1,
"b": 2
})
expect = {
"a": 1,
"b": 2
}
assert parser(params) == expect
def test_array():
parser = ParamParser()
params = MultiDict([
("a", 1),
("b[]", 2),
("c[d]", 3),
("c[f]", 4),
("f[d][]", 5),
("f[d][]", 6),
])
expect = {
"a": 1,
"b": [2],
"c": {
"d": 3,
"f": 4
},
"f": {
"d": [5, 6]
}
}
assert parser(params) == expect
Metadata
Release files for fast-params 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fast_params-0.1.1.tar.gz | 2.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fast_params-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.7 kB
Release files / fast_params-0.1.1.tar.gz
| Download URL | fast_params-0.1.1.tar.gz |
|---|---|
| Size | 2.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9842424abf76784f9378f57d83c68ff8f363fa97d37c920a9703e499b9e2ce94
|
|
BLAKE2b-256 checksum How to use checksums |
13af1c148bd3632e9617253314c54f367befee393928f945d44c99b08f7ef8b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.12.2 Darwin/23.4.0
|
Release files / fast_params-0.1.1-py3-none-any.whl
| Download URL | fast_params-0.1.1-py3-none-any.whl |
|---|---|
| Size | 2.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
59c43a23a84cccca60b3ac470ce6113212fdcf50f46fd907eda61d1c0add5ab5
|
|
BLAKE2b-256 checksum How to use checksums |
31f20d971be54f12a2bcdb43593f94ab0f27d208ea0ad210b9b3b7ea2238e87a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.12.2 Darwin/23.4.0
|