Streaming parser for multipart/form-data
Project description
streaming_form_data
provides a Python parser for parsing
multipart/form-data
input chunks (the most commonly used encoding when
submitting data over HTTP through HTML forms).
Installation
$ pip install streaming-form-data
In case you prefer cloning the Github repository and installing manually, please
note that master
is the development branch, so stable
is what
you should be working with.
Usage
>>> from streaming_form_data import StreamingFormDataParser
>>> from streaming_form_data.targets import ValueTarget, FileTarget, NullTarget
>>>
>>> headers = {'Content-Type': 'multipart/form-data; boundary=boundary'}
>>>
>>> parser = StreamingFormDataParser(headers=headers)
>>>
>>> parser.register('name', ValueTarget())
>>> parser.register('file', FileTarget('/tmp/file.txt'))
>>> parser.register('discard-me', NullTarget())
>>>
>>> parser.data_received(chunk)
Documentation
Up-to-date documentation is available on Read the Docs.
Development
Please make sure you have Python 3.4+ installed.
Git clone the repository -
git clone https://github.com/siddhantgoel/streaming-form-data
Install the packages required for development -
make local
That’s basically it. You should now be able to run the test suite -
py.test
.
Please note that tests/test_parser_stress.py
stress tests the parser
with large inputs, which can take a while. As an alternative, pass the filename
as an argument to py.test
to run tests selectively.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for streaming_form_data-1.3.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8639948804f26065dfe38daa0e48cc645bda4589f171b8ba035f9cd77dae0e77 |
|
MD5 | 3b00b7405c5f15b434cc61a2b8cef4f3 |
|
BLAKE2b-256 | b5000f6df319e2716a93af0e276bdd422a525dc1ca2c507c7632a70045a270d6 |