streaming-form-data


Namestreaming-form-data JSON
Version 1.19.1 PyPI version JSON
download
home_pageNone
SummaryStreaming parser for multipart/form-data
upload_time2025-01-10 18:33:21
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords cython form-data forms http multipart streaming web
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Streaming multipart/form-data parser

[![image](https://img.shields.io/pypi/v/streaming-form-data.svg)](https://pypi.python.org/pypi/streaming-form-data)
[![image](https://img.shields.io/pypi/pyversions/streaming-form-data.svg)](https://pypi.python.org/pypi/streaming-form-data)
[![Downloads](https://static.pepy.tech/badge/streaming-form-data)](https://pepy.tech/project/streaming-form-data)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

`streaming_form_data` provides a Python parser for parsing `multipart/form-data`
input chunks (the encoding used when submitting data over HTTP through HTML
forms).

## Testimonials

> [_this speeds up file uploads to my Flask app by **more than factor 10**_](https://github.com/pallets/werkzeug/issues/875#issuecomment-429287766)

> [_Thanks a lot for your fix with streaming-form-data. I can finally upload gigabyte sized files at good speed and without memory filling up!_](https://github.com/pallets/werkzeug/issues/875#issuecomment-530020990)

> [_huge thanks to @siddhantgoel with his "streaming-form-data" that saves me from the slow file reads I get with @FastAPI!_](https://twitter.com/bebenzrr/status/1654952147132248064)

## Installation

```bash
$ pip install streaming-form-data
```

In case you prefer cloning the Github repository and installing manually, please
note that `main` is the development branch, so `stable` is what you should be
working with.

## Usage

```python
>>> from streaming_form_data import StreamingFormDataParser
>>> from streaming_form_data.targets import FileTarget, NullTarget, GCSTarget, S3Target, ValueTarget
>>>
>>> headers = {"Content-Type": "multipart/form-data; boundary=boundary"}
>>>
>>> parser = StreamingFormDataParser(headers=headers)
>>>
>>> parser.register("name", ValueTarget())
>>> parser.register("file-local", FileTarget("/path/to/file.txt"))
>>> parser.register("file-s3", S3Target("s3://bucket/path/to/key"))
>>> parser.register("file-gcs", GCSTarget("gs://bucket/path/to/key"))
>>> parser.register("discard-me", NullTarget())
>>>
>>> for chunk in request.body:
...     parser.data_received(chunk)
...
>>>
```

## Documentation

Up-to-date documentation is available on [Read the Docs].

## Development

Please make sure you have Python 3.9+, [uv], and [task] installed.

Since this package includes a C extension, please make sure you have a working C
compiler available. On Debian-based distros this usually means installing the
`build-essentials` package.

1. Git clone the repository:
   `git clone https://github.com/siddhantgoel/streaming-form-data`

2. Install the packages required for development: `uv sync`

4. That's basically it. You should now be able to run the test suite: `task test`

Note that if you make any changes to Cython files (`.pyx, .pxd, .pxi`), you'll need to
re-compile (`task compile`) and re-install `streaming_form_data` before you can test
your changes.

[Read the Docs]: https://streaming-form-data.readthedocs.io
[task]: https://taskfile.dev
[uv]: https://docs.astral.sh/uv/

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "streaming-form-data",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "cython, form-data, forms, http, multipart, streaming, web",
    "author": null,
    "author_email": "Siddhant Goel <me@sgoel.dev>",
    "download_url": "https://files.pythonhosted.org/packages/f9/fa/a9975245eefac04421a219e8007f9a4ae156b701b94baffb4d15af43304d/streaming_form_data-1.19.1.tar.gz",
    "platform": null,
    "description": "# Streaming multipart/form-data parser\n\n[![image](https://img.shields.io/pypi/v/streaming-form-data.svg)](https://pypi.python.org/pypi/streaming-form-data)\n[![image](https://img.shields.io/pypi/pyversions/streaming-form-data.svg)](https://pypi.python.org/pypi/streaming-form-data)\n[![Downloads](https://static.pepy.tech/badge/streaming-form-data)](https://pepy.tech/project/streaming-form-data)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n\n`streaming_form_data` provides a Python parser for parsing `multipart/form-data`\ninput chunks (the encoding used when submitting data over HTTP through HTML\nforms).\n\n## Testimonials\n\n> [_this speeds up file uploads to my Flask app by **more than factor 10**_](https://github.com/pallets/werkzeug/issues/875#issuecomment-429287766)\n\n> [_Thanks a lot for your fix with streaming-form-data. I can finally upload gigabyte sized files at good speed and without memory filling up!_](https://github.com/pallets/werkzeug/issues/875#issuecomment-530020990)\n\n> [_huge thanks to @siddhantgoel with his \"streaming-form-data\" that saves me from the slow file reads I get with @FastAPI!_](https://twitter.com/bebenzrr/status/1654952147132248064)\n\n## Installation\n\n```bash\n$ pip install streaming-form-data\n```\n\nIn case you prefer cloning the Github repository and installing manually, please\nnote that `main` is the development branch, so `stable` is what you should be\nworking with.\n\n## Usage\n\n```python\n>>> from streaming_form_data import StreamingFormDataParser\n>>> from streaming_form_data.targets import FileTarget, NullTarget, GCSTarget, S3Target, ValueTarget\n>>>\n>>> headers = {\"Content-Type\": \"multipart/form-data; boundary=boundary\"}\n>>>\n>>> parser = StreamingFormDataParser(headers=headers)\n>>>\n>>> parser.register(\"name\", ValueTarget())\n>>> parser.register(\"file-local\", FileTarget(\"/path/to/file.txt\"))\n>>> parser.register(\"file-s3\", S3Target(\"s3://bucket/path/to/key\"))\n>>> parser.register(\"file-gcs\", GCSTarget(\"gs://bucket/path/to/key\"))\n>>> parser.register(\"discard-me\", NullTarget())\n>>>\n>>> for chunk in request.body:\n...     parser.data_received(chunk)\n...\n>>>\n```\n\n## Documentation\n\nUp-to-date documentation is available on [Read the Docs].\n\n## Development\n\nPlease make sure you have Python 3.9+, [uv], and [task] installed.\n\nSince this package includes a C extension, please make sure you have a working C\ncompiler available. On Debian-based distros this usually means installing the\n`build-essentials` package.\n\n1. Git clone the repository:\n   `git clone https://github.com/siddhantgoel/streaming-form-data`\n\n2. Install the packages required for development: `uv sync`\n\n4. That's basically it. You should now be able to run the test suite: `task test`\n\nNote that if you make any changes to Cython files (`.pyx, .pxd, .pxi`), you'll need to\nre-compile (`task compile`) and re-install `streaming_form_data` before you can test\nyour changes.\n\n[Read the Docs]: https://streaming-form-data.readthedocs.io\n[task]: https://taskfile.dev\n[uv]: https://docs.astral.sh/uv/\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Streaming parser for multipart/form-data",
    "version": "1.19.1",
    "project_urls": {
        "Documentation": "https://streaming-form-data.readthedocs.io",
        "Homepage": "https://github.com/siddhantgoel/streaming-form-data",
        "Repository": "https://github.com/siddhantgoel/streaming-form-data"
    },
    "split_keywords": [
        "cython",
        " form-data",
        " forms",
        " http",
        " multipart",
        " streaming",
        " web"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1687fc50208e2c62086a18cd8ecef5426b530e3c7e4da4384c0f44e6842c3c4e",
                "md5": "2a89a08bdabd556048c52fe0a7855dea",
                "sha256": "48e660c077e91a9c98a64660a14cf6e469e1dfa7fd2240f75201970660457c0a"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "2a89a08bdabd556048c52fe0a7855dea",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 204127,
            "upload_time": "2025-01-10T18:32:20",
            "upload_time_iso_8601": "2025-01-10T18:32:20.554859Z",
            "url": "https://files.pythonhosted.org/packages/16/87/fc50208e2c62086a18cd8ecef5426b530e3c7e4da4384c0f44e6842c3c4e/streaming_form_data-1.19.1-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "97323b09164623f0ebb52da4c8059fb2043a71fbae3b2b94f7aae61ed437fb50",
                "md5": "2cfc2803cc04c1fc3f59d6118bddd1e7",
                "sha256": "d94547c5f75bb97292ab74386f2bda15f30e8a58fff614f75a999bb0ee220227"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "2cfc2803cc04c1fc3f59d6118bddd1e7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 572770,
            "upload_time": "2025-01-10T18:32:23",
            "upload_time_iso_8601": "2025-01-10T18:32:23.283889Z",
            "url": "https://files.pythonhosted.org/packages/97/32/3b09164623f0ebb52da4c8059fb2043a71fbae3b2b94f7aae61ed437fb50/streaming_form_data-1.19.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "379c95b07bc058a0a947ac35f89b469a2d4352d5e67a54690a36044065c1dd9e",
                "md5": "a1379800a6a2a3a3148738e31c91eeb8",
                "sha256": "2362523b821812942c167bdaa171ab71d709bc5e3fd3c7eb3ed144b1ce854041"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a1379800a6a2a3a3148738e31c91eeb8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 595867,
            "upload_time": "2025-01-10T18:32:24",
            "upload_time_iso_8601": "2025-01-10T18:32:24.432375Z",
            "url": "https://files.pythonhosted.org/packages/37/9c/95b07bc058a0a947ac35f89b469a2d4352d5e67a54690a36044065c1dd9e/streaming_form_data-1.19.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "71b1040e8d4f5b2ca99ccae56acddd6d669d30ee286c45e159d203ab7465fad6",
                "md5": "053b8007cf996a0951b882a86e692f74",
                "sha256": "68e9f498a16afb9998c9820103f9d233a8dff4c8745330f6be1921a3c9130a42"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp310-cp310-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "053b8007cf996a0951b882a86e692f74",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 566335,
            "upload_time": "2025-01-10T18:32:25",
            "upload_time_iso_8601": "2025-01-10T18:32:25.651631Z",
            "url": "https://files.pythonhosted.org/packages/71/b1/040e8d4f5b2ca99ccae56acddd6d669d30ee286c45e159d203ab7465fad6/streaming_form_data-1.19.1-cp310-cp310-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "efceeeac581e32336f445713815509fab5022294797ab6497a8d1ff47add42c2",
                "md5": "07c56daf0457c1bed0b233d3b6345f1f",
                "sha256": "44b2df23cce2319e2f15382dc90fd87b84d1afb50a2093f87f4e877d7d6d9b49"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "07c56daf0457c1bed0b233d3b6345f1f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 578715,
            "upload_time": "2025-01-10T18:32:27",
            "upload_time_iso_8601": "2025-01-10T18:32:27.099962Z",
            "url": "https://files.pythonhosted.org/packages/ef/ce/eeac581e32336f445713815509fab5022294797ab6497a8d1ff47add42c2/streaming_form_data-1.19.1-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "afa8ee54c38de9a63a7a18dbb7ad059886a74c5999a2494ea07a031fa66ca386",
                "md5": "d2f2f5d2fb8dcd7dd014313bd03de659",
                "sha256": "69f6572b659a82c489e47e190a61bc02c818320343a8a52c27b61f22a7c4767f"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "d2f2f5d2fb8dcd7dd014313bd03de659",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 193078,
            "upload_time": "2025-01-10T18:32:28",
            "upload_time_iso_8601": "2025-01-10T18:32:28.330746Z",
            "url": "https://files.pythonhosted.org/packages/af/a8/ee54c38de9a63a7a18dbb7ad059886a74c5999a2494ea07a031fa66ca386/streaming_form_data-1.19.1-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4feae8445a391f1ebc3622ce0b945e4c097eea6e46da3fc98724c66dbab266f4",
                "md5": "2756f538bbee873c4845ffdcb399949e",
                "sha256": "bd1e79a149c3a3e164e0c4d78186b5f14d24cfe47b953ef91b4c657113dbd62b"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2756f538bbee873c4845ffdcb399949e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 201978,
            "upload_time": "2025-01-10T18:32:30",
            "upload_time_iso_8601": "2025-01-10T18:32:30.659889Z",
            "url": "https://files.pythonhosted.org/packages/4f/ea/e8445a391f1ebc3622ce0b945e4c097eea6e46da3fc98724c66dbab266f4/streaming_form_data-1.19.1-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "77a2f0f87b8f0ce993666b592ed4ca105bbca7215a8077fa5611959a3932e0a5",
                "md5": "352ae18dde3dc98dcf74bc75011c5f84",
                "sha256": "086de5959bcb760e20b684ccd08d7e4347198db252950e18af066f296d8c7601"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "352ae18dde3dc98dcf74bc75011c5f84",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 204776,
            "upload_time": "2025-01-10T18:32:31",
            "upload_time_iso_8601": "2025-01-10T18:32:31.796101Z",
            "url": "https://files.pythonhosted.org/packages/77/a2/f0f87b8f0ce993666b592ed4ca105bbca7215a8077fa5611959a3932e0a5/streaming_form_data-1.19.1-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a202ba4b3f2280d3100570f98bfc2aeeefe6ce5d72e8d3584b827e3111f85857",
                "md5": "0be2fd9faba05b49220c6a2306d72911",
                "sha256": "5359f74b41725dd8daea8d496d6bd54a4088ea978d72ab10c485d24d25056302"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "0be2fd9faba05b49220c6a2306d72911",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 613965,
            "upload_time": "2025-01-10T18:32:34",
            "upload_time_iso_8601": "2025-01-10T18:32:34.068370Z",
            "url": "https://files.pythonhosted.org/packages/a2/02/ba4b3f2280d3100570f98bfc2aeeefe6ce5d72e8d3584b827e3111f85857/streaming_form_data-1.19.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "47bfe4d45de22040e1042cbf6e385d73424e491c1d5f1f2e668b400034ba0e41",
                "md5": "597a5785e2f445565bf51eb30b006d8d",
                "sha256": "854c49b3b7d7edf12aa6ed900a482faf001be62487eb4d9fe50ffa0a633b9bbe"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "597a5785e2f445565bf51eb30b006d8d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 638293,
            "upload_time": "2025-01-10T18:32:37",
            "upload_time_iso_8601": "2025-01-10T18:32:37.198211Z",
            "url": "https://files.pythonhosted.org/packages/47/bf/e4d45de22040e1042cbf6e385d73424e491c1d5f1f2e668b400034ba0e41/streaming_form_data-1.19.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a6cddce3e047e136a8eac53a0139dd54038ec9517313ff545f52be1f670b81ac",
                "md5": "767042bc317d80881153d2a04cf2fae2",
                "sha256": "52aa5053e65b70d0f6513735dee138bd8f84e4883bb134f626d5c2d768bf7af5"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp311-cp311-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "767042bc317d80881153d2a04cf2fae2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 612622,
            "upload_time": "2025-01-10T18:32:38",
            "upload_time_iso_8601": "2025-01-10T18:32:38.536199Z",
            "url": "https://files.pythonhosted.org/packages/a6/cd/dce3e047e136a8eac53a0139dd54038ec9517313ff545f52be1f670b81ac/streaming_form_data-1.19.1-cp311-cp311-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c1b2839ed731d6ca69e080bbe2096982d932c33cb2aac87dc6258aa9bc76d5b1",
                "md5": "5c4a47c1b895d051e1f55df6be505a73",
                "sha256": "2405931aa2d230cdb0eebe1b923263b229ec77eb0c612a27d275f1add69b295b"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5c4a47c1b895d051e1f55df6be505a73",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 634200,
            "upload_time": "2025-01-10T18:32:41",
            "upload_time_iso_8601": "2025-01-10T18:32:41.017500Z",
            "url": "https://files.pythonhosted.org/packages/c1/b2/839ed731d6ca69e080bbe2096982d932c33cb2aac87dc6258aa9bc76d5b1/streaming_form_data-1.19.1-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2e8735af5d77f38d868c6824fab0706b1cb8ecfda57a323875f7b9a9ff3964d2",
                "md5": "e39eb196f239b02bc9ac538536081aca",
                "sha256": "1e0cc696c19178fee7384584a7402992fa87df256c7b19a83d8635368fbd1f04"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "e39eb196f239b02bc9ac538536081aca",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 192926,
            "upload_time": "2025-01-10T18:32:42",
            "upload_time_iso_8601": "2025-01-10T18:32:42.370952Z",
            "url": "https://files.pythonhosted.org/packages/2e/87/35af5d77f38d868c6824fab0706b1cb8ecfda57a323875f7b9a9ff3964d2/streaming_form_data-1.19.1-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0981c4e18bf34dba7f870bacabbb4118b7122ad3c55e29741f221a7ce2ad5c24",
                "md5": "90fe735c8eb1ea51be2d70aa22687451",
                "sha256": "a19fd631333d2b26f775c12acd22f1a6dc300769dfbbf1f3cf34f06379acaa0b"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "90fe735c8eb1ea51be2d70aa22687451",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 202387,
            "upload_time": "2025-01-10T18:32:43",
            "upload_time_iso_8601": "2025-01-10T18:32:43.328367Z",
            "url": "https://files.pythonhosted.org/packages/09/81/c4e18bf34dba7f870bacabbb4118b7122ad3c55e29741f221a7ce2ad5c24/streaming_form_data-1.19.1-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1984aa1d9d8e895aa833e960185b0ecc092e85fe0a30210b0380b7a784392244",
                "md5": "797de1b92f620e30ae3a735dcc91cb81",
                "sha256": "fba31c6d6abfca18e2a66c2708bba8b1187e3f91f5a88799012ba7bd1cb37e92"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "797de1b92f620e30ae3a735dcc91cb81",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 204979,
            "upload_time": "2025-01-10T18:32:44",
            "upload_time_iso_8601": "2025-01-10T18:32:44.342533Z",
            "url": "https://files.pythonhosted.org/packages/19/84/aa1d9d8e895aa833e960185b0ecc092e85fe0a30210b0380b7a784392244/streaming_form_data-1.19.1-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b7f588e86cd2051d242707d0231e66e20f8e798ca7e8b1ae71e54328c6928878",
                "md5": "6841346a05e38d2bfd40423ad5a1c88a",
                "sha256": "1517923a04bc053eb45f1d2ff46749d9b1686b149e94a9fdeff01e0af9a0cea4"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "6841346a05e38d2bfd40423ad5a1c88a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 598878,
            "upload_time": "2025-01-10T18:32:45",
            "upload_time_iso_8601": "2025-01-10T18:32:45.435619Z",
            "url": "https://files.pythonhosted.org/packages/b7/f5/88e86cd2051d242707d0231e66e20f8e798ca7e8b1ae71e54328c6928878/streaming_form_data-1.19.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1ab31aa0e864b324f282d253ee02b36a8592735f963306c9006884130ebf8416",
                "md5": "2285bd111b93e3225551fd4dcf92218d",
                "sha256": "25e72d665fb67d20344cdb8916ed87774cbfebdad66f398fa8a78cfae8aaadfc"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2285bd111b93e3225551fd4dcf92218d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 626590,
            "upload_time": "2025-01-10T18:32:48",
            "upload_time_iso_8601": "2025-01-10T18:32:48.325767Z",
            "url": "https://files.pythonhosted.org/packages/1a/b3/1aa0e864b324f282d253ee02b36a8592735f963306c9006884130ebf8416/streaming_form_data-1.19.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2abcc2603d7d23f010e9b63fb286585d8ebdfaed70e4e594b6366eb73745c1dd",
                "md5": "043b976658dea67cb6179e2e99efb50a",
                "sha256": "3ab95e9e161b71fe02e321a5199e437c597a2ae3cb76f9ea6c36854b224dbc9b"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp312-cp312-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "043b976658dea67cb6179e2e99efb50a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 607265,
            "upload_time": "2025-01-10T18:32:49",
            "upload_time_iso_8601": "2025-01-10T18:32:49.480940Z",
            "url": "https://files.pythonhosted.org/packages/2a/bc/c2603d7d23f010e9b63fb286585d8ebdfaed70e4e594b6366eb73745c1dd/streaming_form_data-1.19.1-cp312-cp312-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c6db7d043ac521df46908a6377b544d91cfff4da0b757d4dd5e96f9a963e1682",
                "md5": "85ed4415cea3c6bc0639e0845d22a206",
                "sha256": "a7d8f0c615bee7dc869aeaae3c85d6c1fc52b26559dee9a64e779bfc9ddcd633"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "85ed4415cea3c6bc0639e0845d22a206",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 622404,
            "upload_time": "2025-01-10T18:32:50",
            "upload_time_iso_8601": "2025-01-10T18:32:50.915126Z",
            "url": "https://files.pythonhosted.org/packages/c6/db/7d043ac521df46908a6377b544d91cfff4da0b757d4dd5e96f9a963e1682/streaming_form_data-1.19.1-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "115850d15ce55c2e369aa4b1506b01cff2154c479cbf799904d6a938a67d9783",
                "md5": "0174d1bf81289beef4a31820fb751c94",
                "sha256": "a80087937fb8b5da1d9155e921b250f2a217dd7eddc8dd34e83c6aa51eb19899"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "0174d1bf81289beef4a31820fb751c94",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 192286,
            "upload_time": "2025-01-10T18:32:53",
            "upload_time_iso_8601": "2025-01-10T18:32:53.046099Z",
            "url": "https://files.pythonhosted.org/packages/11/58/50d15ce55c2e369aa4b1506b01cff2154c479cbf799904d6a938a67d9783/streaming_form_data-1.19.1-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "729fcf8f9bb8a522bf185f9fa1d8b636eb7c42ada2c8e5fa15657f0ed033b5f6",
                "md5": "4815120b7e01a1d7a2dcfd5ede473f56",
                "sha256": "9f33cbad01fd27e235513f4a718f63f47ffb3cb9f9557eaf733d00803b96e968"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4815120b7e01a1d7a2dcfd5ede473f56",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 202540,
            "upload_time": "2025-01-10T18:32:54",
            "upload_time_iso_8601": "2025-01-10T18:32:54.273948Z",
            "url": "https://files.pythonhosted.org/packages/72/9f/cf8f9bb8a522bf185f9fa1d8b636eb7c42ada2c8e5fa15657f0ed033b5f6/streaming_form_data-1.19.1-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f36131c8ed1175a52b4a5703c946aa296269f080834f7effc4fcd5d376090ec7",
                "md5": "8366b51b999b28c69fcca46b876c532a",
                "sha256": "0045fe880e8ed522c94b4cafaa68defa6c53fdaa2858c01457447ef747fefdaa"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "8366b51b999b28c69fcca46b876c532a",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 203835,
            "upload_time": "2025-01-10T18:32:56",
            "upload_time_iso_8601": "2025-01-10T18:32:56.778104Z",
            "url": "https://files.pythonhosted.org/packages/f3/61/31c8ed1175a52b4a5703c946aa296269f080834f7effc4fcd5d376090ec7/streaming_form_data-1.19.1-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "35e325f7c67b51c7679b6d403397834ae661a43eaf4e9ca6046dbcddaba6892f",
                "md5": "e158b407ca8c558d0f181e44f678f796",
                "sha256": "4aaf86d518a479ae2e23486b5193cc3a7823bfcbc68db0c21af86200079329eb"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "e158b407ca8c558d0f181e44f678f796",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 596070,
            "upload_time": "2025-01-10T18:32:59",
            "upload_time_iso_8601": "2025-01-10T18:32:59.114437Z",
            "url": "https://files.pythonhosted.org/packages/35/e3/25f7c67b51c7679b6d403397834ae661a43eaf4e9ca6046dbcddaba6892f/streaming_form_data-1.19.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "67eb47f58ffb4509b817116534424527c2ced03058887536917646850df25fde",
                "md5": "48bae67f5fa8c97b22d360f54c4268fb",
                "sha256": "1fa2491f3c4fe7f280ed40b45bba0b616740dc7c9090a5948f73de52cb5802c1"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "48bae67f5fa8c97b22d360f54c4268fb",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 620886,
            "upload_time": "2025-01-10T18:33:01",
            "upload_time_iso_8601": "2025-01-10T18:33:01.485292Z",
            "url": "https://files.pythonhosted.org/packages/67/eb/47f58ffb4509b817116534424527c2ced03058887536917646850df25fde/streaming_form_data-1.19.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bce99af04c3838298791755719120091231a79bf4fe9952ed0033c2e89e0d9c7",
                "md5": "5d934ff8c211e1ffd6d0f5b3f2676dfe",
                "sha256": "77cfa3f8067481b5cfbcfd8a772e0626ca88906308d1e78c59e9e72e4a1e05ea"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp313-cp313-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "5d934ff8c211e1ffd6d0f5b3f2676dfe",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 602576,
            "upload_time": "2025-01-10T18:33:02",
            "upload_time_iso_8601": "2025-01-10T18:33:02.668261Z",
            "url": "https://files.pythonhosted.org/packages/bc/e9/9af04c3838298791755719120091231a79bf4fe9952ed0033c2e89e0d9c7/streaming_form_data-1.19.1-cp313-cp313-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e1cfb732e4a9cea5aa3397f8fb73f53dbb34f7a7ad48ef4baf51b470e6fd396c",
                "md5": "73d5a222ad908be0ed5bc084a7fb0c49",
                "sha256": "b9e64cb7a5ba2519d607d09e2f1cd9f36fb03b0e44aebedb21982624e1eb71e3"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "73d5a222ad908be0ed5bc084a7fb0c49",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 620679,
            "upload_time": "2025-01-10T18:33:05",
            "upload_time_iso_8601": "2025-01-10T18:33:05.379477Z",
            "url": "https://files.pythonhosted.org/packages/e1/cf/b732e4a9cea5aa3397f8fb73f53dbb34f7a7ad48ef4baf51b470e6fd396c/streaming_form_data-1.19.1-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1954c494c1d7d6b87868b1ab98d7eb8f202a717618172718df18bce0e45178e0",
                "md5": "5d68beecd9ed68a3d9da4ee870a01bd4",
                "sha256": "65b6e9a6a65a5992d9aa734874f0d1124330ec346d9c073b7f00925dfb1601f1"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "5d68beecd9ed68a3d9da4ee870a01bd4",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 191975,
            "upload_time": "2025-01-10T18:33:06",
            "upload_time_iso_8601": "2025-01-10T18:33:06.528120Z",
            "url": "https://files.pythonhosted.org/packages/19/54/c494c1d7d6b87868b1ab98d7eb8f202a717618172718df18bce0e45178e0/streaming_form_data-1.19.1-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5d53a709d8925a0e48bc4904f12e1f619b0295042c06d66aacaa213f7a18a927",
                "md5": "85aa1f3bf0f6698078f4712da1baa029",
                "sha256": "e2dee016f1db735cd91e97421340cd3799f9fd46b1e39e4a11d6215c7cbe1edc"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "85aa1f3bf0f6698078f4712da1baa029",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 201927,
            "upload_time": "2025-01-10T18:33:07",
            "upload_time_iso_8601": "2025-01-10T18:33:07.600095Z",
            "url": "https://files.pythonhosted.org/packages/5d/53/a709d8925a0e48bc4904f12e1f619b0295042c06d66aacaa213f7a18a927/streaming_form_data-1.19.1-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "af74bf0f5804460dfb60d9fb50201bfc1f7429f4f215dc15574f34f15bdc6f6c",
                "md5": "c0af6ca70f5b732e5e97a55024238de0",
                "sha256": "2828033a0a90f77a358c994d45d57df59fb0ff5f575dcd1c4405186944d66804"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c0af6ca70f5b732e5e97a55024238de0",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 204538,
            "upload_time": "2025-01-10T18:33:10",
            "upload_time_iso_8601": "2025-01-10T18:33:10.022917Z",
            "url": "https://files.pythonhosted.org/packages/af/74/bf0f5804460dfb60d9fb50201bfc1f7429f4f215dc15574f34f15bdc6f6c/streaming_form_data-1.19.1-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "67318d6f7c3895102e4c4f7a9969c46805cde858d34d13f7d8fa045db4d31943",
                "md5": "88e3375c2df99a31fdccaaf7ac49430c",
                "sha256": "c839977a5124e9188d2f3cd222fb18eb41b25c2c4557cc9c5f9eb79dd9a22176"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "88e3375c2df99a31fdccaaf7ac49430c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 574085,
            "upload_time": "2025-01-10T18:33:12",
            "upload_time_iso_8601": "2025-01-10T18:33:12.498233Z",
            "url": "https://files.pythonhosted.org/packages/67/31/8d6f7c3895102e4c4f7a9969c46805cde858d34d13f7d8fa045db4d31943/streaming_form_data-1.19.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "722d746c184cc9168a93a8407a3cab1ea153538e7b836667d3998d0bd358d56f",
                "md5": "c5a0d2ab260dd5a679745bf59a5d99e5",
                "sha256": "eedf0a67b2f0dbb9040be3b06a0d5e1a5a8060b2154e854f33b11b6273ef0e57"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c5a0d2ab260dd5a679745bf59a5d99e5",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 599095,
            "upload_time": "2025-01-10T18:33:14",
            "upload_time_iso_8601": "2025-01-10T18:33:14.313658Z",
            "url": "https://files.pythonhosted.org/packages/72/2d/746c184cc9168a93a8407a3cab1ea153538e7b836667d3998d0bd358d56f/streaming_form_data-1.19.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "15595f90c421efc86d6f894f8aef8efe90f752bbe631672c86f156811af80544",
                "md5": "f47e6f41fd54810485ff447a322e848a",
                "sha256": "223318891ab07e25a93ac46a6cb02c2992bc71e323987e39f3c8d5740569ddbb"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp39-cp39-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "f47e6f41fd54810485ff447a322e848a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 565369,
            "upload_time": "2025-01-10T18:33:15",
            "upload_time_iso_8601": "2025-01-10T18:33:15.936556Z",
            "url": "https://files.pythonhosted.org/packages/15/59/5f90c421efc86d6f894f8aef8efe90f752bbe631672c86f156811af80544/streaming_form_data-1.19.1-cp39-cp39-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6cb09f74e9544c72b2af98402d60c5a26df6cb9d76a95a398642821b66bc949d",
                "md5": "82b239836b359badda807aabdeb8bac5",
                "sha256": "891f39f66def01a0afd34258df68b34354d9214e2091e5bc6fc652cba747fbe8"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "82b239836b359badda807aabdeb8bac5",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 581218,
            "upload_time": "2025-01-10T18:33:18",
            "upload_time_iso_8601": "2025-01-10T18:33:18.383019Z",
            "url": "https://files.pythonhosted.org/packages/6c/b0/9f74e9544c72b2af98402d60c5a26df6cb9d76a95a398642821b66bc949d/streaming_form_data-1.19.1-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37e9098a3bd75959cade1c9e86cc00140c7e8b4cddd2f33ddf669510a29202cd",
                "md5": "b691a03d3e13c0ec6633fdfc9d5d7a2c",
                "sha256": "447597b6f720a3527d8f0fbcd61b5691bf8b2b566a92ff99ec09c9ef75a7e179"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "b691a03d3e13c0ec6633fdfc9d5d7a2c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 193352,
            "upload_time": "2025-01-10T18:33:19",
            "upload_time_iso_8601": "2025-01-10T18:33:19.569474Z",
            "url": "https://files.pythonhosted.org/packages/37/e9/098a3bd75959cade1c9e86cc00140c7e8b4cddd2f33ddf669510a29202cd/streaming_form_data-1.19.1-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5a99dae7052a58757a579b1fd58a41dfe8c422d4e50fba35f00c692e947e6c03",
                "md5": "4bfb7ba9b6cb6e4c5222f75727648e26",
                "sha256": "e94c1edd267137d46dd3277cc5b722c3594bf83a19ba3a6a805a5c266a26399f"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4bfb7ba9b6cb6e4c5222f75727648e26",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 202204,
            "upload_time": "2025-01-10T18:33:20",
            "upload_time_iso_8601": "2025-01-10T18:33:20.645452Z",
            "url": "https://files.pythonhosted.org/packages/5a/99/dae7052a58757a579b1fd58a41dfe8c422d4e50fba35f00c692e947e6c03/streaming_form_data-1.19.1-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f9faa9975245eefac04421a219e8007f9a4ae156b701b94baffb4d15af43304d",
                "md5": "f5ebc217c67828601301b928346a044f",
                "sha256": "8172dd509a42ac0d1033deb1d13acb68f0cbae7e1492257d13af0922bdc4dd9b"
            },
            "downloads": -1,
            "filename": "streaming_form_data-1.19.1.tar.gz",
            "has_sig": false,
            "md5_digest": "f5ebc217c67828601301b928346a044f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 136147,
            "upload_time": "2025-01-10T18:33:21",
            "upload_time_iso_8601": "2025-01-10T18:33:21.763275Z",
            "url": "https://files.pythonhosted.org/packages/f9/fa/a9975245eefac04421a219e8007f9a4ae156b701b94baffb4d15af43304d/streaming_form_data-1.19.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-10 18:33:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "siddhantgoel",
    "github_project": "streaming-form-data",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "streaming-form-data"
}
        
Elapsed time: 0.46742s