{
"info": {
"author": "Dobromir Marinov",
"author_email": "dobromir@swim.it",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3"
],
"description": "# Swim System Python Implementation\n[](https://badge.fury.io/py/swimai)\n[](https://travis-ci.com/swimos/swim-system-python)\n[](https://codecov.io/gh/swimos/swim-system-python)\n[](LICENSE)\n[](CODE_OF_CONDUCT.md)\n[](https://gitter.im/swimos/community)\n
\n\nThe **Swim System** Python implementation provides a standalone set of\nframeworks for building massively real-time streaming WARP clients.\n\nThe **Swim Python Client** is a streaming API client for linking to lanes \nof stateful Web Agents using the WARP protocol, enabling massively \nreal-time applications that continuously synchronize all shared states \nwith ping latency. WARP is like pub-sub without the broker, \nenabling every state of a Web API to be streamed, without \ninterference from billions of queues.\n
\n## Installation\n`pip install swimai`\n## Usage\n```python\n# Setting the value of a value lane on a remote agent.\nimport time\n\nfrom swimai import SwimClient\n\nwith SwimClient() as swim_client:\n host_uri = 'ws://localhost:9001'\n node_uri = '/unit/foo'\n lane_uri = 'info'\n\n value_downlink = swim_client.downlink_value()\n value_downlink.set_host_uri('ws://localhost:9001')\n value_downlink.set_node_uri('/unit/foo')\n value_downlink.set_lane_uri('info')\n value_downlink.open()\n\n new_value = 'Hello from Python!'\n value_downlink.set(new_value)\n\n print('Stopping the client in 2 seconds')\n time.sleep(2)\n```\n## Development\n\n### Dependencies\n##### Code dependencies\n`pip install -r requirements.txt`\n##### Development tools dependencies\n`pip install -r requirements-dev.txt`\n### Run unit tests\n##### Basic:\n1) Install async test package: `pip install aiounittest`\n2) Run tests: `python -m unittest`\n\n##### With coverage:\n1) Install async test package: `pip install aiounittest`\n2) Install coverage package: `pip install coverage`\n3) Generate report: `coverage run --source=swimai -m unittest`\n4) View report: `coverage report -m`\n\n### Run Lint\n##### Manual\n1) Install lint package: `pip install flake8`\n2) Run checks: `flake8`\n##### Automatic (before commit)\n1) Install commit hook package: `pip install pre-commit`\n2) Run hook installation: `pre-commit install`\n### Build package\n##### Building source distribution\n1) Run: `python setup.py sdist`\n##### Building wheel\n1) Install wheel package: `pip install wheel`\n2) Run: `python setup.py sdist`\n\n\n\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/swimos/swim-system-python",
"keywords": "swim client",
"license": "",
"maintainer": "",
"maintainer_email": "",
"name": "swimai",
"package_url": "https://pypi.org/project/swimai/",
"platform": "",
"project_url": "https://pypi.org/project/swimai/",
"project_urls": {
"Homepage": "https://github.com/swimos/swim-system-python"
},
"release_url": "https://pypi.org/project/swimai/1.2.0a0/",
"requires_dist": [
"websockets"
],
"requires_python": "",
"summary": "Standalone Python framework for building massively real-time streaming WARP clients.",
"version": "1.2.0a0",
"yanked": false,
"yanked_reason": null
},
"last_serial": 10265601,
"releases": {
"0.0.1.dev1": [
{
"comment_text": "",
"digests": {
"md5": "5fb2a85679a23f3e2461ccba55acdb40",
"sha256": "ded0280110843f23a68540da5a5717b9932e9147e8bd40fbd0b6e9b513408d18"
},
"downloads": -1,
"filename": "swimai-0.0.1.dev1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5fb2a85679a23f3e2461ccba55acdb40",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 18089,
"upload_time": "2019-10-21T14:59:16",
"upload_time_iso_8601": "2019-10-21T14:59:16.582780Z",
"url": "https://files.pythonhosted.org/packages/b3/8e/ce87e3eb1f5e2d2a58afa26849e8554eb98a319dc8648e8bf261a7f71f85/swimai-0.0.1.dev1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "39bf2460d338cd366b22579a535356ae",
"sha256": "0d2670810e9caace5fea2feef319abb17de24eaa849cf6b925b7a9d9bb92c50d"
},
"downloads": -1,
"filename": "swimai-0.0.1.dev1.tar.gz",
"has_sig": false,
"md5_digest": "39bf2460d338cd366b22579a535356ae",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10846,
"upload_time": "2019-10-21T14:59:20",
"upload_time_iso_8601": "2019-10-21T14:59:20.600011Z",
"url": "https://files.pythonhosted.org/packages/53/e7/bc80f23c42fe7cd3faf00710634843960ca6b240c6f9e5240aa6b111d54e/swimai-0.0.1.dev1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.0.1.dev2": [
{
"comment_text": "",
"digests": {
"md5": "8af04d623f03fcab7743bad5fe6ff3f3",
"sha256": "59c2b70d10a79f16387a2dc7cc1080415dcb2b5f8729b6c00049fed9375ae8d5"
},
"downloads": -1,
"filename": "swimai-0.0.1.dev2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8af04d623f03fcab7743bad5fe6ff3f3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 20329,
"upload_time": "2019-10-23T15:02:22",
"upload_time_iso_8601": "2019-10-23T15:02:22.394999Z",
"url": "https://files.pythonhosted.org/packages/04/0a/8cb5fb4cd6e6c284745ef704f402f549dae0b769ce4e66968f2bad08238c/swimai-0.0.1.dev2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "2a7fab55bb5c708fd2c1689a2d2cf5a2",
"sha256": "ae765cb8388330f9f87dfca02cda5e2f121ccc49a3ae3c804c2aecf9a6bf31b6"
},
"downloads": -1,
"filename": "swimai-0.0.1.dev2.tar.gz",
"has_sig": false,
"md5_digest": "2a7fab55bb5c708fd2c1689a2d2cf5a2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12793,
"upload_time": "2019-10-23T15:02:23",
"upload_time_iso_8601": "2019-10-23T15:02:23.906851Z",
"url": "https://files.pythonhosted.org/packages/69/5f/74a0860d0d592ad3eeff460c2466ffda3876e223dc577199f7d9a455d7c6/swimai-0.0.1.dev2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.0.2.dev1": [
{
"comment_text": "",
"digests": {
"md5": "cc093307917eaed651612193aef765d4",
"sha256": "4af398011aabaee35c9e46056e41827076bd09280a0590856ed0a0c9f6578098"
},
"downloads": -1,
"filename": "swimai-0.0.2.dev1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cc093307917eaed651612193aef765d4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 20093,
"upload_time": "2019-10-24T09:36:18",
"upload_time_iso_8601": "2019-10-24T09:36:18.430434Z",
"url": "https://files.pythonhosted.org/packages/a9/f7/a1e561a0f9e7a0b0b4b5d37d807eb35d8e7e4635fcdf4689c3c55003d0e7/swimai-0.0.2.dev1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "eff5b76e7e13cea7a98bebc68fd586dc",
"sha256": "06acd24027026bfcbdc264be602271c8f8d06430ede1728d117f08dce0ceb427"
},
"downloads": -1,
"filename": "swimai-0.0.2.dev1.tar.gz",
"has_sig": false,
"md5_digest": "eff5b76e7e13cea7a98bebc68fd586dc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12746,
"upload_time": "2019-10-24T09:36:19",
"upload_time_iso_8601": "2019-10-24T09:36:19.742891Z",
"url": "https://files.pythonhosted.org/packages/ee/0c/53d1a713e3c5808c971909532c63a77d5742ca6483f72f35a3c8220d655f/swimai-0.0.2.dev1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.0.2.dev2": [
{
"comment_text": "",
"digests": {
"md5": "5b8bbd0ee5d45bdf7cd25d91d33cd337",
"sha256": "f23b564643dff1f6271026ff1c6c8c27a5599630111ec783cfaf25d35e83beb0"
},
"downloads": -1,
"filename": "swimai-0.0.2.dev2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5b8bbd0ee5d45bdf7cd25d91d33cd337",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 20089,
"upload_time": "2019-10-24T09:59:05",
"upload_time_iso_8601": "2019-10-24T09:59:05.830778Z",
"url": "https://files.pythonhosted.org/packages/29/83/22da29d2c6d2fb1067a77f04f0826f586889cf6e163a287286214be8194f/swimai-0.0.2.dev2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "0cf9c25bcdb824bd147812104e3c21c6",
"sha256": "6a6f56d61af9b959d85905f3589fee8d33b3a901cc29f3e9d2d9901b007c5470"
},
"downloads": -1,
"filename": "swimai-0.0.2.dev2.tar.gz",
"has_sig": false,
"md5_digest": "0cf9c25bcdb824bd147812104e3c21c6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12651,
"upload_time": "2019-10-24T09:59:06",
"upload_time_iso_8601": "2019-10-24T09:59:06.844830Z",
"url": "https://files.pythonhosted.org/packages/77/bf/17f4a55fca680af0f7e3f11fca1ee78273881b5f470f627285a8d843ed8b/swimai-0.0.2.dev2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.0.3.dev1": [
{
"comment_text": "",
"digests": {
"md5": "4a43124e74950f6a51569c3d55c67174",
"sha256": "f0c1b1172a875c7e6bad6d741001cdfacb2786bbb68735395d8dafe2cc4e834f"
},
"downloads": -1,
"filename": "swimai-0.0.3.dev1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4a43124e74950f6a51569c3d55c67174",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 25386,
"upload_time": "2019-10-30T13:15:55",
"upload_time_iso_8601": "2019-10-30T13:15:55.046660Z",
"url": "https://files.pythonhosted.org/packages/87/2f/a42827dcff37a95d3877fc997878d19b20f941bce809ef3344482f0da62e/swimai-0.0.3.dev1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "80f2d0c26cc08eccec417eebc1bc9e43",
"sha256": "9c80364f1db895c08f86ddb1cd0faf9610a46346bbec226dff234487cf09ea30"
},
"downloads": -1,
"filename": "swimai-0.0.3.dev1.tar.gz",
"has_sig": false,
"md5_digest": "80f2d0c26cc08eccec417eebc1bc9e43",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16504,
"upload_time": "2019-10-30T13:15:56",
"upload_time_iso_8601": "2019-10-30T13:15:56.232651Z",
"url": "https://files.pythonhosted.org/packages/59/1f/cd16f9858c9182fb70c6911c7fbe2f22f362cefb60ef2e624afb1f053251/swimai-0.0.3.dev1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1.0.dev1": [
{
"comment_text": "",
"digests": {
"md5": "6a68e99159528436615bc975f7f4154b",
"sha256": "a808eba6fb4a31132120c4c16028350fbf319910693de44fb21e701ba29925b6"
},
"downloads": -1,
"filename": "swimai-0.1.0.dev1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6a68e99159528436615bc975f7f4154b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 33779,
"upload_time": "2019-11-05T13:52:01",
"upload_time_iso_8601": "2019-11-05T13:52:01.524552Z",
"url": "https://files.pythonhosted.org/packages/7c/c7/bd528bc42bc581b3dc0a81280cf8511099480fff4a89c912ecdb49287de3/swimai-0.1.0.dev1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "e4842597876f4ba7d65142cd706ba67c",
"sha256": "15e23f5ced42de242b62ddd976bc5a941333c8b44031ded462dd7710a910e770"
},
"downloads": -1,
"filename": "swimai-0.1.0.dev1.tar.gz",
"has_sig": false,
"md5_digest": "e4842597876f4ba7d65142cd706ba67c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 24085,
"upload_time": "2019-11-05T13:52:02",
"upload_time_iso_8601": "2019-11-05T13:52:02.531179Z",
"url": "https://files.pythonhosted.org/packages/72/70/c36f0d519d5c70055a38f63d637d159dfd47fe74e1b58a13c0dd11726c9d/swimai-0.1.0.dev1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1.1.dev1": [
{
"comment_text": "",
"digests": {
"md5": "bf3171d9442b29e71caddcae09df50a3",
"sha256": "354fb3d031b4478107822dd02adc6097a374fbd31bcfb9d1055ac8e259c2c105"
},
"downloads": -1,
"filename": "swimai-0.1.1.dev1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bf3171d9442b29e71caddcae09df50a3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 66012,
"upload_time": "2019-12-20T14:58:30",
"upload_time_iso_8601": "2019-12-20T14:58:30.395839Z",
"url": "https://files.pythonhosted.org/packages/64/73/a0518147361be4d06588999d7516dba9048d6cbaea7363a13de775e4d97b/swimai-0.1.1.dev1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "d98676f6ecae31d771c20b208c375ce9",
"sha256": "e4167207c7170ccc8d9f4544f2114f06221d20706c2f5ac22a1bd81aa0d7ce15"
},
"downloads": -1,
"filename": "swimai-0.1.1.dev1.tar.gz",
"has_sig": false,
"md5_digest": "d98676f6ecae31d771c20b208c375ce9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 44651,
"upload_time": "2019-12-20T14:58:31",
"upload_time_iso_8601": "2019-12-20T14:58:31.679018Z",
"url": "https://files.pythonhosted.org/packages/ab/5b/da19a9ef177f8665043af313be9e5528a7cbc4096e1abdd2298a1d490bdc/swimai-0.1.1.dev1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"1.0.0a0": [
{
"comment_text": "",
"digests": {
"md5": "2955f77fbc7391d72dc63a14a4545770",
"sha256": "10239dd00caed2841778a2f34d6be5121a421cc1c224a901158bbf0352c17343"
},
"downloads": -1,
"filename": "swimai-1.0.0a0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2955f77fbc7391d72dc63a14a4545770",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 84119,
"upload_time": "2020-02-13T12:13:54",
"upload_time_iso_8601": "2020-02-13T12:13:54.977087Z",
"url": "https://files.pythonhosted.org/packages/36/7f/d883b23b6d3433b37d5668ed712c692dc0851863cacd2261e7fae41ef24e/swimai-1.0.0a0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"1.0.1a0": [
{
"comment_text": "",
"digests": {
"md5": "6f09344b2e35ae1232c5a763816560fa",
"sha256": "d4ac80d5c5c0f9da7d0451e94ca4544714e02bf70b9d4e606aa480168df84800"
},
"downloads": -1,
"filename": "swimai-1.0.1a0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6f09344b2e35ae1232c5a763816560fa",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 84117,
"upload_time": "2020-05-21T10:47:00",
"upload_time_iso_8601": "2020-05-21T10:47:00.226340Z",
"url": "https://files.pythonhosted.org/packages/fc/03/c469356709b58c0c5011b0d093a23dbc2aac69040d595649b33ad76718a6/swimai-1.0.1a0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "763daa84716a4c22335900251a0b1942",
"sha256": "a759c9c830c260fff46c274f02043ef2df84327908a2a8a455c0b1e15812f53c"
},
"downloads": -1,
"filename": "swimai-1.0.1a0.tar.gz",
"has_sig": false,
"md5_digest": "763daa84716a4c22335900251a0b1942",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 66943,
"upload_time": "2020-05-21T10:47:01",
"upload_time_iso_8601": "2020-05-21T10:47:01.390780Z",
"url": "https://files.pythonhosted.org/packages/91/5f/233ea83dfc9ba5cc3cafa50c92b72875c34adc0200accf0806112510913c/swimai-1.0.1a0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"1.1.0a0": [
{
"comment_text": "",
"digests": {
"md5": "f1543ac299864daef1f1bd5c523640d7",
"sha256": "0fde8f3de73532319609cac821fdf03f672d961df7970a2d9b9f33f27f8b1813"
},
"downloads": -1,
"filename": "swimai-1.1.0a0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f1543ac299864daef1f1bd5c523640d7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 83769,
"upload_time": "2020-08-27T11:27:45",
"upload_time_iso_8601": "2020-08-27T11:27:45.259092Z",
"url": "https://files.pythonhosted.org/packages/e6/b5/5c7285916448cb02a1b2a63fe7ba389fd93df542c79125e28d585ebfc922/swimai-1.1.0a0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "2a184729a5bd6a37e9b628a9091a0eee",
"sha256": "09ec0110d51ae6722f33170c9f145eab0c756662b4dfbc284ad9c352ab3e3484"
},
"downloads": -1,
"filename": "swimai-1.1.0a0.tar.gz",
"has_sig": false,
"md5_digest": "2a184729a5bd6a37e9b628a9091a0eee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 66661,
"upload_time": "2020-08-27T11:27:46",
"upload_time_iso_8601": "2020-08-27T11:27:46.329507Z",
"url": "https://files.pythonhosted.org/packages/5b/6f/a5d2e7ebbeb5a0cbaeae7820138fc4a86a2f8c43b8d756998fcb9dd4b926/swimai-1.1.0a0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"1.2.0a0": [
{
"comment_text": "",
"digests": {
"md5": "0f24d35d7f1fc3c817d2c1f1ede7511e",
"sha256": "77002c11135902721ee004634aeadb36785c73a7da1d1af8da2635221361dd1e"
},
"downloads": -1,
"filename": "swimai-1.2.0a0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0f24d35d7f1fc3c817d2c1f1ede7511e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 84011,
"upload_time": "2021-05-05T13:30:42",
"upload_time_iso_8601": "2021-05-05T13:30:42.987143Z",
"url": "https://files.pythonhosted.org/packages/c3/3b/2fc6c65348a1a056614cfc0ded0173c867645d3876bd6dd88a2e987c9829/swimai-1.2.0a0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "0d4c55396a5720e63bcf07f18873be0b",
"sha256": "0e2aa3c5aa42faa82856064fb5103cd6a154d78ff3a4888fb2d1075ec31ca9d9"
},
"downloads": -1,
"filename": "swimai-1.2.0a0.tar.gz",
"has_sig": false,
"md5_digest": "0d4c55396a5720e63bcf07f18873be0b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 66892,
"upload_time": "2021-05-05T13:30:44",
"upload_time_iso_8601": "2021-05-05T13:30:44.253009Z",
"url": "https://files.pythonhosted.org/packages/79/18/10f26a4c0fcb8fc163e34097160d8c8d9ea8548efaa1806051e87a529b8c/swimai-1.2.0a0.tar.gz",
"yanked": false,
"yanked_reason": null
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "0f24d35d7f1fc3c817d2c1f1ede7511e",
"sha256": "77002c11135902721ee004634aeadb36785c73a7da1d1af8da2635221361dd1e"
},
"downloads": -1,
"filename": "swimai-1.2.0a0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0f24d35d7f1fc3c817d2c1f1ede7511e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 84011,
"upload_time": "2021-05-05T13:30:42",
"upload_time_iso_8601": "2021-05-05T13:30:42.987143Z",
"url": "https://files.pythonhosted.org/packages/c3/3b/2fc6c65348a1a056614cfc0ded0173c867645d3876bd6dd88a2e987c9829/swimai-1.2.0a0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "0d4c55396a5720e63bcf07f18873be0b",
"sha256": "0e2aa3c5aa42faa82856064fb5103cd6a154d78ff3a4888fb2d1075ec31ca9d9"
},
"downloads": -1,
"filename": "swimai-1.2.0a0.tar.gz",
"has_sig": false,
"md5_digest": "0d4c55396a5720e63bcf07f18873be0b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 66892,
"upload_time": "2021-05-05T13:30:44",
"upload_time_iso_8601": "2021-05-05T13:30:44.253009Z",
"url": "https://files.pythonhosted.org/packages/79/18/10f26a4c0fcb8fc163e34097160d8c8d9ea8548efaa1806051e87a529b8c/swimai-1.2.0a0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"vulnerabilities": []
}