{ "info": { "author": "", "author_email": "David Levy , David Levy ", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# asyncio wrapper of aerospike python client library #\n\n\n\n\n \"Latest\n\n\n\n\"Contributors\"\n\n \"Package\n\n\n\n\nThis project is work in progress. please do not use it in production yet. \n\n\n\n\nThis project provides a simple way to use aerospike with asyncio. \n\nThis project is based on [Aerospike python client library docs](https://aerospike-python-client.readthedocs.io/en/latest/index.html) \n[Docs](https://github.com/aerospike/aerospike-client-python)\n\n## installation ##\n\n```bash\npip install aio-aerospike-python\n```\n\n\n## Quick start ##\nstart docker compose \n\n```bash\ndocker compose up -d \n```\n\n```python\nfrom aio_aerospike_python import AioAerospikeClient\nimport asyncio\nconfig = {\n 'hosts': [('0.0.0.0', 3000)]\n}\nclient = AioAerospikeClient(config)\nprint(client.is_connected())\nasync def put_some_data(limit:int):\n for i in range(limit):\n key = (\"test\",\"test\",i)\n data = {\"a\":i}\n await client.put(key,data)\n\n\nasync def read_data(limit:int):\n for i in range(limit):\n key = (\"test\",\"test\",i)\n r = await client.get(key)\n print(r)\n\n\nloop = asyncio.get_event_loop()\nloop.run_until_complete(put_some_data(33))\nloop.run_until_complete(read_data(33))\n\nclient.close()\n```\n\nNow lets test it with concurrency\n```python\nfrom aio_aerospike_python import AioAerospikeClient\nfrom aio_aerospike_python import exception\nfrom aerospike_helpers import expressions as exp\nimport aerospike\n\n\nimport asyncio\nconfig = {\n 'hosts': [('0.0.0.0', 3000)]\n}\n\nclient = AioAerospikeClient(config)\nprint(client.is_connected())\n\n\nasync def put_some_data(limit: int):\n for i in range(limit):\n key = (\"test\", \"test\", i)\n data = {\"a\": i}\n await client.put(key, data)\n\n\nasync def read_data(limit: int):\n keys = [(\"test\", \"test\", i) for i in range(limit) ]\n # print(keys)\n r = await client.get_many(keys)\n print(r)\n\n\nasync def use_query(mina: int, maxa: int):\n query = client.query(\"test\", \"test\")\n expr = expr = exp.And(\n exp.LT(exp.IntBin(\"a\"), maxa),\n exp.GT(exp.IntBin(\"a\"), mina)\n ).compile()\n scan_policy = {\"expressions\": expr}\n results = await query.results(scan_policy)\n print(\"query results ===\")\n for r in results:\n print(r)\n\n\nasync def use_scan(mina: int, maxa: int):\n scan = client.query(\"test\", \"test\")\n expr = exp.And(\n exp.LT(exp.IntBin(\"a\"), maxa),\n exp.GT(exp.IntBin(\"a\"), mina)\n ).compile()\n scan_policy = {\"expressions\": expr}\n results = await scan.results(scan_policy)\n print(\"scan results ===\")\n for r in results:\n print(r)\n\n\n\nasync def test_append(key=(\"test\",\"test\",3), bin=\"a\", val=\"test\", meta=None, policy=None):\n await client.put(key=key, bins={\"vv\":\"test_\"})\n await client.append(key=key, bin=\"vv\", val=\"append\", meta=meta, policy=policy)\n r = await client.get(key=key)\n key, _, bin = r\n print(\"append\")\n print(r)\n\nasync def main():\n L = await asyncio.gather(\n put_some_data(700),\n read_data(50),\n use_query(10, 20),\n use_scan(40, 45),\n test_append()\n )\n\nasyncio.run(main())\n```\n\n\n## License ##\n\nThe AIO Aerospike Python Client is made available under the terms of the Apache License, Version 2, as stated in the file LICENSE.\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "aio-aerospike-python", "package_url": "https://pypi.org/project/aio-aerospike-python/", "platform": null, "project_url": "https://pypi.org/project/aio-aerospike-python/", "project_urls": { "Bug Tracker": "https://github.com/datacontinuo/aio_aerospike_python/issues", "Homepage": "https://github.com/datacontinuo/aio_aerospike_python" }, "release_url": "https://pypi.org/project/aio-aerospike-python/0.0.5/", "requires_dist": null, "requires_python": ">=3.7", "summary": "Asyncio wrapper of the Aerospike python client", "version": "0.0.5", "yanked": false, "yanked_reason": null }, "last_serial": 16620437, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "blake2b_256": "d4b4ddeea4ffa683f5b42c1c1186219c43014106b7e5e01b9b7b9c2b9e88d18d", "md5": "f5523e28878b6da7984e88e9d4d7d201", "sha256": "5556f9ff8cfe55096ebf548670fc50000a6b1ccb1ca316f4a605e990058c98fd" }, "downloads": -1, "filename": "aio_aerospike_python-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f5523e28878b6da7984e88e9d4d7d201", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 16533, "upload_time": "2023-01-28T07:39:53", "upload_time_iso_8601": "2023-01-28T07:39:53.235736Z", "url": "https://files.pythonhosted.org/packages/d4/b4/ddeea4ffa683f5b42c1c1186219c43014106b7e5e01b9b7b9c2b9e88d18d/aio_aerospike_python-0.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "68069df872e25db2738f8cd470281bc21dcaeba6b5f5d6cd879686220f1800c7", "md5": "a00d0143c222c31372c02650388db207", "sha256": "fb8aa182ed7ab84284bf6c49fd95c84e46bc97758fc556e8058048ac29b62f0d" }, "downloads": -1, "filename": "aio_aerospike_python-0.0.1.tar.gz", "has_sig": false, "md5_digest": "a00d0143c222c31372c02650388db207", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16417, "upload_time": "2023-01-28T07:39:55", "upload_time_iso_8601": "2023-01-28T07:39:55.686825Z", "url": "https://files.pythonhosted.org/packages/68/06/9df872e25db2738f8cd470281bc21dcaeba6b5f5d6cd879686220f1800c7/aio_aerospike_python-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "blake2b_256": "0fb008b5ea921f2a0b3a706424f7f0219e6f35f732bda3bb4ed93e0d435c06c4", "md5": "ece67d2232613e25b6eeb26f01f6af9c", "sha256": "e2f516c639123bfa5098ac7ab408e06e3691f940711e221a62fc1de143911130" }, "downloads": -1, "filename": "aio_aerospike_python-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ece67d2232613e25b6eeb26f01f6af9c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 16518, "upload_time": "2023-01-28T07:41:58", "upload_time_iso_8601": "2023-01-28T07:41:58.563289Z", "url": "https://files.pythonhosted.org/packages/0f/b0/08b5ea921f2a0b3a706424f7f0219e6f35f732bda3bb4ed93e0d435c06c4/aio_aerospike_python-0.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "b890833ca7e494bb6988f4e609cfd01764f5b6c19357908b39b23664add5dc1e", "md5": "a57508c50094dc2a10378d14f482fce9", "sha256": "5a0534f53470c3d20970bdface9b1fa274af2f548c9403a457eca706ce79fadb" }, "downloads": -1, "filename": "aio_aerospike_python-0.0.2.tar.gz", "has_sig": false, "md5_digest": "a57508c50094dc2a10378d14f482fce9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16388, "upload_time": "2023-01-28T07:42:02", "upload_time_iso_8601": "2023-01-28T07:42:02.252396Z", "url": "https://files.pythonhosted.org/packages/b8/90/833ca7e494bb6988f4e609cfd01764f5b6c19357908b39b23664add5dc1e/aio_aerospike_python-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": "", "digests": { "blake2b_256": "75924bed4fe0c95d949b6e0aebf00d5a1424417cc20a37225d670c94e1dbe8fb", "md5": "aead00ec710beb026b1409eec4796d00", "sha256": "9e8d6ea42b46e1100f54c976347fd3b56e9ab6c879438ac1331f3e5a5c2df6f5" }, "downloads": -1, "filename": "aio_aerospike_python-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "aead00ec710beb026b1409eec4796d00", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 16613, "upload_time": "2023-01-30T07:03:56", "upload_time_iso_8601": "2023-01-30T07:03:56.001301Z", "url": "https://files.pythonhosted.org/packages/75/92/4bed4fe0c95d949b6e0aebf00d5a1424417cc20a37225d670c94e1dbe8fb/aio_aerospike_python-0.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "639adaf9ee1c08a55fd85e042f5e87b3dd102816143696537f7a54a46b4bc50c", "md5": "ec2d33ce3535ac9a0993a68c3f27f569", "sha256": "404195ae3ae321108b619f9eb53d5f2a2fbcf137720d349be073fe2a93c66e7f" }, "downloads": -1, "filename": "aio_aerospike_python-0.0.3.tar.gz", "has_sig": false, "md5_digest": "ec2d33ce3535ac9a0993a68c3f27f569", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16521, "upload_time": "2023-01-30T07:03:58", "upload_time_iso_8601": "2023-01-30T07:03:58.459786Z", "url": "https://files.pythonhosted.org/packages/63/9a/daf9ee1c08a55fd85e042f5e87b3dd102816143696537f7a54a46b4bc50c/aio_aerospike_python-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.4": [ { "comment_text": "", "digests": { "blake2b_256": "484066066fb15cd21312f3dffa5cf67d602363819f2a139a443e486e331475e3", "md5": "2f9d6a70a71698fe0343cb63191f0ebc", "sha256": "9430023cb04feb9195253e9b6eb21048d073477fb82c7297a963b3d46eaeb85c" }, "downloads": -1, "filename": "aio_aerospike_python-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "2f9d6a70a71698fe0343cb63191f0ebc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 17293, "upload_time": "2023-01-30T09:15:48", "upload_time_iso_8601": "2023-01-30T09:15:48.249990Z", "url": "https://files.pythonhosted.org/packages/48/40/66066fb15cd21312f3dffa5cf67d602363819f2a139a443e486e331475e3/aio_aerospike_python-0.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "97f1c34064bf181e84c2681aee7eb08ae0eb20dc72be521296b28cba4406da4f", "md5": "d08e28c5738b16b11639def95149164c", "sha256": "503016001ab79e34872195bb21d5f36701f762016b377ad9404cecb883d5b63d" }, "downloads": -1, "filename": "aio_aerospike_python-0.0.4.tar.gz", "has_sig": false, "md5_digest": "d08e28c5738b16b11639def95149164c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16581, "upload_time": "2023-01-30T09:15:49", "upload_time_iso_8601": "2023-01-30T09:15:49.843444Z", "url": "https://files.pythonhosted.org/packages/97/f1/c34064bf181e84c2681aee7eb08ae0eb20dc72be521296b28cba4406da4f/aio_aerospike_python-0.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.5": [ { "comment_text": "", "digests": { "blake2b_256": "1d2379623d5882741cad851363ef91181a8264529edc0fec2c980ba37ee471e6", "md5": "c5fd6b0aeeb8c18e7e51b2172a364a13", "sha256": "e65ffc57cf64d2d8d4a369527b2a882458392dd04c3922519fd5e0bfef9ad311" }, "downloads": -1, "filename": "aio_aerospike_python-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "c5fd6b0aeeb8c18e7e51b2172a364a13", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 16950, "upload_time": "2023-01-30T15:02:20", "upload_time_iso_8601": "2023-01-30T15:02:20.711269Z", "url": "https://files.pythonhosted.org/packages/1d/23/79623d5882741cad851363ef91181a8264529edc0fec2c980ba37ee471e6/aio_aerospike_python-0.0.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "df3ff60a1ff3105e34f3c7b81ed219d2a3f5699cec3ea99f9717e83839052920", "md5": "354d32db6afa218416a26e0647267dd9", "sha256": "715cfe07c1cebb8bdd415514a9763158ad45b77fe13a7d724a4f5562a0d538f0" }, "downloads": -1, "filename": "aio_aerospike_python-0.0.5.tar.gz", "has_sig": false, "md5_digest": "354d32db6afa218416a26e0647267dd9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16643, "upload_time": "2023-01-30T15:02:21", "upload_time_iso_8601": "2023-01-30T15:02:21.908823Z", "url": "https://files.pythonhosted.org/packages/df/3f/f60a1ff3105e34f3c7b81ed219d2a3f5699cec3ea99f9717e83839052920/aio_aerospike_python-0.0.5.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "blake2b_256": "1d2379623d5882741cad851363ef91181a8264529edc0fec2c980ba37ee471e6", "md5": "c5fd6b0aeeb8c18e7e51b2172a364a13", "sha256": "e65ffc57cf64d2d8d4a369527b2a882458392dd04c3922519fd5e0bfef9ad311" }, "downloads": -1, "filename": "aio_aerospike_python-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "c5fd6b0aeeb8c18e7e51b2172a364a13", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 16950, "upload_time": "2023-01-30T15:02:20", "upload_time_iso_8601": "2023-01-30T15:02:20.711269Z", "url": "https://files.pythonhosted.org/packages/1d/23/79623d5882741cad851363ef91181a8264529edc0fec2c980ba37ee471e6/aio_aerospike_python-0.0.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "df3ff60a1ff3105e34f3c7b81ed219d2a3f5699cec3ea99f9717e83839052920", "md5": "354d32db6afa218416a26e0647267dd9", "sha256": "715cfe07c1cebb8bdd415514a9763158ad45b77fe13a7d724a4f5562a0d538f0" }, "downloads": -1, "filename": "aio_aerospike_python-0.0.5.tar.gz", "has_sig": false, "md5_digest": "354d32db6afa218416a26e0647267dd9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16643, "upload_time": "2023-01-30T15:02:21", "upload_time_iso_8601": "2023-01-30T15:02:21.908823Z", "url": "https://files.pythonhosted.org/packages/df/3f/f60a1ff3105e34f3c7b81ed219d2a3f5699cec3ea99f9717e83839052920/aio_aerospike_python-0.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }