Name | speedict JSON |
Version | 0.3.12 JSON |
download | |
home_page | |
Summary | Speedb Python Binding |
upload_time | 2023-11-11 08:30:01 |
maintainer | |
docs_url | None |
author | |
requires_python | |
license | |
keywords | speedb dbm dict key-value |
VCS | |
bugtrack_url | |
requirements | No requirements were recorded. |
Travis-CI | No Travis. |
coveralls test coverage | No coveralls. |
# SpeeDict **Key-value storage supporting any python object** ![CI](https://github.com/Congyuwang/RocksDict/actions/workflows/CI.yml/badge.svg) ![PyPI](https://img.shields.io/pypi/dm/rocksdict) ![PyPI](https://img.shields.io/pypi/wheel/rocksdict) [![Support python versions](https://img.shields.io/pypi/pyversions/rocksdict.svg)](https://pypi.org/project/rocksdict/) ## Introduction This library has two purposes. 1. As an on-disk key-value storage solution for Python. 2. As a SpeeDB interface. These two purposes operate in different modes: - **Default mode**, which allows storing `int`, `float`, `bool`, `str`, `bytes`, and other python objects (with `Pickle`). - **Raw mode** (`options=Options(raw_mode=True)`), which allows storing only `bytes`. ## Installation Wheels available, just `pip install speedict`. ## Examples ### A minimal example ```python from speedict import Rdict import numpy as np import pandas as pd path = str("./test_dict") # create a Rdict with default options at `path` db = Rdict(path) db[1.0] = 1 db["huge integer"] = 2343546543243564534233536434567543 db["good"] = True db["bytes"] = b"bytes" db["this is a list"] = [1, 2, 3] db["store a dict"] = {0: 1} db[b"numpy"] = np.array([1, 2, 3]) db["a table"] = pd.DataFrame({"a": [1, 2], "b": [2, 1]}) # reopen Rdict from disk db.close() db = Rdict(path) assert db[1.0] == 1 assert db["huge integer"] == 2343546543243564534233536434567543 assert db["good"] == True assert db["bytes"] == b"bytes" assert db["this is a list"] == [1, 2, 3] assert db["store a dict"] == {0: 1} assert np.all(db[b"numpy"] == np.array([1, 2, 3])) assert np.all(db["a table"] == pd.DataFrame({"a": [1, 2], "b": [2, 1]})) # iterate through all elements for k, v in db.items(): print(f"{k} -> {v}") # batch get: print(db[["good", "bad", 1.0]]) # [True, False, 1] # delete Rdict from dict db.close() Rdict.destroy(path) ``` ### An Example of Raw Mode This mode allows only bytes as keys and values. ```python from speedict import Rdict, Options PATH_TO_ROCKSDB = str("path") # open raw_mode, which allows only bytes db = Rdict(path=PATH_TO_ROCKSDB, options=Options(raw_mode=True)) db[b'a'] = b'a' db[b'b'] = b'b' db[b'c'] = b'c' db[b'd'] = b'd' for k, v in db.items(): print(f"{k} -> {v}") # close and delete db.close() Rdict.destroy(PATH_TO_ROCKSDB) ``` ## New Feature Since v0.3.3 Loading Options from RocksDict Path. ### Load Options and add A New ColumnFamily ```python from speedict import Options, Rdict path = str("./rocksdict_path") opts, cols = Options.load_latest(path) opts.create_missing_column_families(True) cols["bytes"] = Options() self.test_dict = Rdict(path, options=opts, column_families=cols) ``` ### Reopening RocksDB Reads DB Options Automatically ```python import shutil from speedict import Rdict, Options, SliceTransform, PlainTableFactoryOptions import os def db_options(): opt = Options() # create table opt.create_if_missing(True) # config to more jobs opt.set_max_background_jobs(os.cpu_count()) # configure mem-table to a large value (256 MB) opt.set_write_buffer_size(0x10000000) opt.set_level_zero_file_num_compaction_trigger(4) # configure l0 and l1 size, let them have the same size (1 GB) opt.set_max_bytes_for_level_base(0x40000000) # 256 MB file size opt.set_target_file_size_base(0x10000000) # use a smaller compaction multiplier opt.set_max_bytes_for_level_multiplier(4.0) # use 8-byte prefix (2 ^ 64 is far enough for transaction counts) opt.set_prefix_extractor(SliceTransform.create_max_len_prefix(8)) # set to plain-table opt.set_plain_table_factory(PlainTableFactoryOptions()) return opt # create DB db = Rdict("./some_path", db_options()) db[0] = 1 db.close() # automatic reloading all options on reopening db = Rdict("./some_path") assert db[0] == 1 # destroy db.close() Rdict.destroy("./some_path") ``` ## More Examples on BatchWrite, SstFileWrite, Snapshot, RocksDB Options, and etc. Go to [example](https://github.com/Congyuwang/RocksDict/tree/main/examples) folder. ## Limitations Currently, do not support merge operation and custom comparator. ## Full Documentation See [rocksdict documentation](https://congyuwang.github.io/RocksDict/rocksdict.html).
{ "_id": null, "home_page": "", "name": "speedict", "maintainer": "", "docs_url": null, "requires_python": "", "maintainer_email": "", "keywords": "speedb,dbm,dict,key-value", "author": "", "author_email": "", "download_url": "", "platform": null, "description": "# SpeeDict\n\n**Key-value storage supporting any python object**\n\n![CI](https://github.com/Congyuwang/RocksDict/actions/workflows/CI.yml/badge.svg)\n![PyPI](https://img.shields.io/pypi/dm/rocksdict)\n![PyPI](https://img.shields.io/pypi/wheel/rocksdict)\n[![Support python versions](https://img.shields.io/pypi/pyversions/rocksdict.svg)](https://pypi.org/project/rocksdict/)\n\n## Introduction\n\nThis library has two purposes.\n\n1. As an on-disk key-value storage solution for Python.\n2. As a SpeeDB interface.\n\nThese two purposes operate in different modes:\n\n- **Default mode**, which allows storing `int`, `float`, \n`bool`, `str`, `bytes`, and other python objects (with `Pickle`).\n\n- **Raw mode** (`options=Options(raw_mode=True)`),\nwhich allows storing only `bytes`.\n\n## Installation\n\nWheels available, just `pip install speedict`.\n\n## Examples\n\n### A minimal example\n\n```python\nfrom speedict import Rdict\nimport numpy as np\nimport pandas as pd\n\npath = str(\"./test_dict\")\n\n# create a Rdict with default options at `path`\ndb = Rdict(path)\ndb[1.0] = 1\ndb[\"huge integer\"] = 2343546543243564534233536434567543\ndb[\"good\"] = True\ndb[\"bytes\"] = b\"bytes\"\ndb[\"this is a list\"] = [1, 2, 3]\ndb[\"store a dict\"] = {0: 1}\ndb[b\"numpy\"] = np.array([1, 2, 3])\ndb[\"a table\"] = pd.DataFrame({\"a\": [1, 2], \"b\": [2, 1]})\n\n# reopen Rdict from disk\ndb.close()\ndb = Rdict(path)\nassert db[1.0] == 1\nassert db[\"huge integer\"] == 2343546543243564534233536434567543\nassert db[\"good\"] == True\nassert db[\"bytes\"] == b\"bytes\"\nassert db[\"this is a list\"] == [1, 2, 3]\nassert db[\"store a dict\"] == {0: 1}\nassert np.all(db[b\"numpy\"] == np.array([1, 2, 3]))\nassert np.all(db[\"a table\"] == pd.DataFrame({\"a\": [1, 2], \"b\": [2, 1]}))\n\n# iterate through all elements\nfor k, v in db.items():\n print(f\"{k} -> {v}\")\n\n# batch get:\nprint(db[[\"good\", \"bad\", 1.0]])\n# [True, False, 1]\n \n# delete Rdict from dict\ndb.close()\nRdict.destroy(path)\n```\n\n### An Example of Raw Mode\n\nThis mode allows only bytes as keys and values.\n\n```python\nfrom speedict import Rdict, Options\n\nPATH_TO_ROCKSDB = str(\"path\")\n\n# open raw_mode, which allows only bytes\ndb = Rdict(path=PATH_TO_ROCKSDB, options=Options(raw_mode=True))\n\ndb[b'a'] = b'a'\ndb[b'b'] = b'b'\ndb[b'c'] = b'c'\ndb[b'd'] = b'd'\n\nfor k, v in db.items():\n print(f\"{k} -> {v}\")\n\n# close and delete\ndb.close()\nRdict.destroy(PATH_TO_ROCKSDB)\n```\n\n## New Feature Since v0.3.3\n\nLoading Options from RocksDict Path.\n\n### Load Options and add A New ColumnFamily\n```python\nfrom speedict import Options, Rdict\npath = str(\"./rocksdict_path\")\n\nopts, cols = Options.load_latest(path)\nopts.create_missing_column_families(True)\ncols[\"bytes\"] = Options()\nself.test_dict = Rdict(path, options=opts, column_families=cols)\n```\n\n### Reopening RocksDB Reads DB Options Automatically\n\n```python\nimport shutil\n\nfrom speedict import Rdict, Options, SliceTransform, PlainTableFactoryOptions\nimport os\n\ndef db_options():\n opt = Options()\n # create table\n opt.create_if_missing(True)\n # config to more jobs\n opt.set_max_background_jobs(os.cpu_count())\n # configure mem-table to a large value (256 MB)\n opt.set_write_buffer_size(0x10000000)\n opt.set_level_zero_file_num_compaction_trigger(4)\n # configure l0 and l1 size, let them have the same size (1 GB)\n opt.set_max_bytes_for_level_base(0x40000000)\n # 256 MB file size\n opt.set_target_file_size_base(0x10000000)\n # use a smaller compaction multiplier\n opt.set_max_bytes_for_level_multiplier(4.0)\n # use 8-byte prefix (2 ^ 64 is far enough for transaction counts)\n opt.set_prefix_extractor(SliceTransform.create_max_len_prefix(8))\n # set to plain-table\n opt.set_plain_table_factory(PlainTableFactoryOptions())\n return opt\n\n\n# create DB\ndb = Rdict(\"./some_path\", db_options())\ndb[0] = 1\ndb.close()\n\n# automatic reloading all options on reopening\ndb = Rdict(\"./some_path\")\nassert db[0] == 1\n\n# destroy\ndb.close()\nRdict.destroy(\"./some_path\")\n```\n\n## More Examples on BatchWrite, SstFileWrite, Snapshot, RocksDB Options, and etc.\n\nGo to [example](https://github.com/Congyuwang/RocksDict/tree/main/examples) folder.\n\n## Limitations\n\nCurrently, do not support merge operation and custom comparator.\n\n## Full Documentation\n\nSee [rocksdict documentation](https://congyuwang.github.io/RocksDict/rocksdict.html).\n\n", "bugtrack_url": null, "license": "", "summary": "Speedb Python Binding", "version": "0.3.12", "project_urls": null, "split_keywords": [ "speedb", "dbm", "dict", "key-value" ], "urls": [ { "comment_text": "", "digests": { "blake2b_256": "ef44eb508a9aa5e2c1a25626fb2cf24588505c0c71ac938ad481147bdb2caa59", "md5": "7f0f9c3934da71a6a28484cbbb62c530", "sha256": "8a8b9bbcd2bae9dcf6e233b79adccae253adfb0ac30c908aaf059eb5eb4c1ba4" }, "downloads": -1, "filename": "speedict-0.3.12-cp310-cp310-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", "has_sig": false, "md5_digest": "7f0f9c3934da71a6a28484cbbb62c530", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 6969927, "upload_time": "2023-11-11T08:30:01", "upload_time_iso_8601": "2023-11-11T08:30:01.247548Z", "url": "https://files.pythonhosted.org/packages/ef/44/eb508a9aa5e2c1a25626fb2cf24588505c0c71ac938ad481147bdb2caa59/speedict-0.3.12-cp310-cp310-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "88bfcc506602798a6ee578e9ea54b06f12ac01f084be39b0615569447e49673f", "md5": "a56112987b68a05e46e983f25abf55b6", "sha256": "0ed7c5d713683dfaa49736363c647f2a627422efbad890f8531be2014e816666" }, "downloads": -1, "filename": "speedict-0.3.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "a56112987b68a05e46e983f25abf55b6", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 5215855, "upload_time": "2023-11-11T08:30:03", "upload_time_iso_8601": "2023-11-11T08:30:03.819811Z", "url": "https://files.pythonhosted.org/packages/88/bf/cc506602798a6ee578e9ea54b06f12ac01f084be39b0615569447e49673f/speedict-0.3.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "a65c86779993d2b71d67a07b120783cdcb24026b8fe0c118d3c475eadd68a5ce", "md5": "8fe6f6333f4a715ed82c038e105a9104", "sha256": "14c3f5618f131ac786a5e58dab7fc89e7c96e011eeef01fc191f3c9f08c08b2a" }, "downloads": -1, "filename": "speedict-0.3.12-cp310-cp310-manylinux_2_28_aarch64.whl", "has_sig": false, "md5_digest": "8fe6f6333f4a715ed82c038e105a9104", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 5037179, "upload_time": "2023-11-11T08:30:05", "upload_time_iso_8601": "2023-11-11T08:30:05.887461Z", "url": "https://files.pythonhosted.org/packages/a6/5c/86779993d2b71d67a07b120783cdcb24026b8fe0c118d3c475eadd68a5ce/speedict-0.3.12-cp310-cp310-manylinux_2_28_aarch64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "ab0182638ae1bff02885b567e9ba2b7c0a0cc5c68cd124d911fd35fc335cd56c", "md5": "77fe4bc9ca36b68f4f5b5700fbdcec3b", "sha256": "7ad77167e30e1974a190ff388fb4b2cd90913bc3fc58f55371484e5d8870f5a5" }, "downloads": -1, "filename": "speedict-0.3.12-cp310-cp310-manylinux_2_28_x86_64.whl", "has_sig": false, "md5_digest": "77fe4bc9ca36b68f4f5b5700fbdcec3b", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 5087091, "upload_time": "2023-11-11T08:30:07", "upload_time_iso_8601": "2023-11-11T08:30:07.663461Z", "url": "https://files.pythonhosted.org/packages/ab/01/82638ae1bff02885b567e9ba2b7c0a0cc5c68cd124d911fd35fc335cd56c/speedict-0.3.12-cp310-cp310-manylinux_2_28_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "3fd9466eecaa3348898348ac5c7bbfe2a86032301a43d1629a7fd8ea833ee464", "md5": "0be486d72e75efbef25e663dbbefb176", "sha256": "9d1c119e4624fb11557647007a875dac99cdce7af441c5539f9ca64434d53cf2" }, "downloads": -1, "filename": "speedict-0.3.12-cp310-none-win32.whl", "has_sig": false, "md5_digest": "0be486d72e75efbef25e663dbbefb176", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 2449258, "upload_time": "2023-11-11T08:30:09", "upload_time_iso_8601": "2023-11-11T08:30:09.587461Z", "url": "https://files.pythonhosted.org/packages/3f/d9/466eecaa3348898348ac5c7bbfe2a86032301a43d1629a7fd8ea833ee464/speedict-0.3.12-cp310-none-win32.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "69d14d23bd45af328e02374935458c385ab35954d4dd368fe22adaf2df61edfa", "md5": "a598ddeee6b8dc2b0c56cb8002746438", "sha256": "447f8177ea9b05f33f4928d8f87303cc285b49273c4e9bb3b7c24401a495e0ba" }, "downloads": -1, "filename": "speedict-0.3.12-cp310-none-win_amd64.whl", "has_sig": false, "md5_digest": "a598ddeee6b8dc2b0c56cb8002746438", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 2754871, "upload_time": "2023-11-11T08:30:10", "upload_time_iso_8601": "2023-11-11T08:30:10.963248Z", "url": "https://files.pythonhosted.org/packages/69/d1/4d23bd45af328e02374935458c385ab35954d4dd368fe22adaf2df61edfa/speedict-0.3.12-cp310-none-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "7e4b5972cec4eb277b4484ff774325a5a6841999fa4d4c131759b1e42b1bd0c9", "md5": "d84d05c727b1c199bab91fa14aa4e154", "sha256": "e7bdbb14d1ada7a9980d2ef93c2fe7c23ccbff449042d37f2aab59b73a775a12" }, "downloads": -1, "filename": "speedict-0.3.12-cp311-cp311-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", "has_sig": false, "md5_digest": "d84d05c727b1c199bab91fa14aa4e154", "packagetype": "bdist_wheel", "python_version": "cp311", "requires_python": null, "size": 6969953, "upload_time": "2023-11-11T08:30:13", "upload_time_iso_8601": "2023-11-11T08:30:13.189787Z", "url": "https://files.pythonhosted.org/packages/7e/4b/5972cec4eb277b4484ff774325a5a6841999fa4d4c131759b1e42b1bd0c9/speedict-0.3.12-cp311-cp311-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "126643af93a92af8beb02abf8714b0ea8a97e4a0f54a332e9817355903115148", "md5": "b9538b75b89fc212b4d48dcdf12f7571", "sha256": "820a856f94ed7fae6cf0df9a4e1d9273134e4f574bf81946a5f7ab8de6a43897" }, "downloads": -1, "filename": "speedict-0.3.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "b9538b75b89fc212b4d48dcdf12f7571", "packagetype": "bdist_wheel", "python_version": "cp311", "requires_python": null, "size": 5215892, "upload_time": "2023-11-11T08:30:15", "upload_time_iso_8601": "2023-11-11T08:30:15.041581Z", "url": "https://files.pythonhosted.org/packages/12/66/43af93a92af8beb02abf8714b0ea8a97e4a0f54a332e9817355903115148/speedict-0.3.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "09112430205cba51ed7b3729eef142a80048fad9be97e4bcc7e228651e2dd9d4", "md5": "f7b1bc2711c4419c8aa2a52131066ed0", "sha256": "e530421a1156d6648acfe3831f79f7a9956c06c9039d973cf8d205b8fc570208" }, "downloads": -1, "filename": "speedict-0.3.12-cp311-cp311-manylinux_2_28_aarch64.whl", "has_sig": false, "md5_digest": "f7b1bc2711c4419c8aa2a52131066ed0", "packagetype": "bdist_wheel", "python_version": "cp311", "requires_python": null, "size": 5037381, "upload_time": "2023-11-11T08:30:16", "upload_time_iso_8601": "2023-11-11T08:30:16.757817Z", "url": "https://files.pythonhosted.org/packages/09/11/2430205cba51ed7b3729eef142a80048fad9be97e4bcc7e228651e2dd9d4/speedict-0.3.12-cp311-cp311-manylinux_2_28_aarch64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "6df59a018c0c7a92e2578e0253b09e9aaf9d30dd28a4928060a551a1850addda", "md5": "1969bda5fe67fcff09a6f9825d0cf4c4", "sha256": "cdfa2cce2755d1bcfb955bf70adae1066565a4c3930d52c7dfede6fb07e37a53" }, "downloads": -1, "filename": "speedict-0.3.12-cp311-cp311-manylinux_2_28_x86_64.whl", "has_sig": false, "md5_digest": "1969bda5fe67fcff09a6f9825d0cf4c4", "packagetype": "bdist_wheel", "python_version": "cp311", "requires_python": null, "size": 5087128, "upload_time": "2023-11-11T08:30:18", "upload_time_iso_8601": "2023-11-11T08:30:18.909032Z", "url": "https://files.pythonhosted.org/packages/6d/f5/9a018c0c7a92e2578e0253b09e9aaf9d30dd28a4928060a551a1850addda/speedict-0.3.12-cp311-cp311-manylinux_2_28_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "8eaa2e2d39915125dea7ce945bc3654060501dea99075c10ae876e32837d423b", "md5": "2a15f44ce6cab0aa5bb565133f2ab1d6", "sha256": "fbf5cc085d9cd6eed7de55311970b6003367ccf476beb806fe5b82d9f0e2e123" }, "downloads": -1, "filename": "speedict-0.3.12-cp311-none-win32.whl", "has_sig": false, "md5_digest": "2a15f44ce6cab0aa5bb565133f2ab1d6", "packagetype": "bdist_wheel", "python_version": "cp311", "requires_python": null, "size": 2449272, "upload_time": "2023-11-11T08:30:20", "upload_time_iso_8601": "2023-11-11T08:30:20.745732Z", "url": "https://files.pythonhosted.org/packages/8e/aa/2e2d39915125dea7ce945bc3654060501dea99075c10ae876e32837d423b/speedict-0.3.12-cp311-none-win32.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "191d7dd7faf70f0a64235519ed984ae04798fd18da3d97b68cc5c6fd3dd860e2", "md5": "7cac1b1cf1f03e3542be7b2a0c99e55b", "sha256": "cf04e816ac9106fe48d5a8420a694accc25fa6afda0161c851ca8f62e107067f" }, "downloads": -1, "filename": "speedict-0.3.12-cp311-none-win_amd64.whl", "has_sig": false, "md5_digest": "7cac1b1cf1f03e3542be7b2a0c99e55b", "packagetype": "bdist_wheel", "python_version": "cp311", "requires_python": null, "size": 2754873, "upload_time": "2023-11-11T08:30:22", "upload_time_iso_8601": "2023-11-11T08:30:22.421547Z", "url": "https://files.pythonhosted.org/packages/19/1d/7dd7faf70f0a64235519ed984ae04798fd18da3d97b68cc5c6fd3dd860e2/speedict-0.3.12-cp311-none-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "b62a1a5e1e04a1a8ccb4679aa4aa0d786a6a706fb2b99d5b23f6bddf83f8dda3", "md5": "f9e7aeb79c4ba19061303c6cd2a06a99", "sha256": "349558a553c32ac3fd8d8c8f3783f1029ffff67036b27857c1be54e1dc99f94f" }, "downloads": -1, "filename": "speedict-0.3.12-cp312-cp312-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", "has_sig": false, "md5_digest": "f9e7aeb79c4ba19061303c6cd2a06a99", "packagetype": "bdist_wheel", "python_version": "cp312", "requires_python": null, "size": 6962644, "upload_time": "2023-11-11T08:30:24", "upload_time_iso_8601": "2023-11-11T08:30:24.359361Z", "url": "https://files.pythonhosted.org/packages/b6/2a/1a5e1e04a1a8ccb4679aa4aa0d786a6a706fb2b99d5b23f6bddf83f8dda3/speedict-0.3.12-cp312-cp312-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "5c3a8729cac4fac0b3af6e91c5c5a542bfb0268cbdf53d0fe6fde7417b49de6f", "md5": "d2de4747cd1ed8e786302b84ffe40b72", "sha256": "10ed33d39fb247a879c13ed472fbe347cbf08109e8d96716455beff0d6200b69" }, "downloads": -1, "filename": "speedict-0.3.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "d2de4747cd1ed8e786302b84ffe40b72", "packagetype": "bdist_wheel", "python_version": "cp312", "requires_python": null, "size": 5209187, "upload_time": "2023-11-11T08:30:26", "upload_time_iso_8601": "2023-11-11T08:30:26.101556Z", "url": "https://files.pythonhosted.org/packages/5c/3a/8729cac4fac0b3af6e91c5c5a542bfb0268cbdf53d0fe6fde7417b49de6f/speedict-0.3.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "152fa08ba64eaacb726aa715d2ab574be2adbe5f2cc3bca64d8f15422a778e08", "md5": "b74c8ee10385a570eb57f57bb1a75d4a", "sha256": "aaf83944fee9dc115506d5fb2bc24049f91a088da32272ab8e7e28684a6abfac" }, "downloads": -1, "filename": "speedict-0.3.12-cp312-cp312-manylinux_2_28_aarch64.whl", "has_sig": false, "md5_digest": "b74c8ee10385a570eb57f57bb1a75d4a", "packagetype": "bdist_wheel", "python_version": "cp312", "requires_python": null, "size": 5037384, "upload_time": "2023-11-11T08:30:27", "upload_time_iso_8601": "2023-11-11T08:30:27.532371Z", "url": "https://files.pythonhosted.org/packages/15/2f/a08ba64eaacb726aa715d2ab574be2adbe5f2cc3bca64d8f15422a778e08/speedict-0.3.12-cp312-cp312-manylinux_2_28_aarch64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "7cb05ae30606da3c0c49dff06317a56c4a32074da43d0d777311fc18ba98d2ad", "md5": "8bfc66c8df3ec4a11a5d0899a824d173", "sha256": "5ec1a786ed17cefc0c3205b6ce29e4acebef9a3af61777eb0fb22b4ad9ac13ea" }, "downloads": -1, "filename": "speedict-0.3.12-cp312-cp312-manylinux_2_28_x86_64.whl", "has_sig": false, "md5_digest": "8bfc66c8df3ec4a11a5d0899a824d173", "packagetype": "bdist_wheel", "python_version": "cp312", "requires_python": null, "size": 5083181, "upload_time": "2023-11-11T08:30:29", "upload_time_iso_8601": "2023-11-11T08:30:29.278061Z", "url": "https://files.pythonhosted.org/packages/7c/b0/5ae30606da3c0c49dff06317a56c4a32074da43d0d777311fc18ba98d2ad/speedict-0.3.12-cp312-cp312-manylinux_2_28_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "9fe7a500a6f19874809679f37139b6cc2b69e8063d7a329cd41b8100ff88214f", "md5": "a0f67d9c179ab00f2ab41897aee60da9", "sha256": "e6e05472e7eea5e4ead607831a62ea0d8617bd5a3debe85b8bb9c615b85fd9c4" }, "downloads": -1, "filename": "speedict-0.3.12-cp312-none-win32.whl", "has_sig": false, "md5_digest": "a0f67d9c179ab00f2ab41897aee60da9", "packagetype": "bdist_wheel", "python_version": "cp312", "requires_python": null, "size": 2446201, "upload_time": "2023-11-11T08:30:31", "upload_time_iso_8601": "2023-11-11T08:30:31.063461Z", "url": "https://files.pythonhosted.org/packages/9f/e7/a500a6f19874809679f37139b6cc2b69e8063d7a329cd41b8100ff88214f/speedict-0.3.12-cp312-none-win32.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "6d98f447e467fa7c76b6d0874458973310784539c458bb8e6b543c4073fbb72e", "md5": "1450313e6e7a5068d7ebd81dc986206c", "sha256": "532aedcf448007d293debfbcb3b95f0a89f5837faf0e0481e785f5cdeca38ab1" }, "downloads": -1, "filename": "speedict-0.3.12-cp312-none-win_amd64.whl", "has_sig": false, "md5_digest": "1450313e6e7a5068d7ebd81dc986206c", "packagetype": "bdist_wheel", "python_version": "cp312", "requires_python": null, "size": 2753445, "upload_time": "2023-11-11T08:30:32", "upload_time_iso_8601": "2023-11-11T08:30:32.341304Z", "url": "https://files.pythonhosted.org/packages/6d/98/f447e467fa7c76b6d0874458973310784539c458bb8e6b543c4073fbb72e/speedict-0.3.12-cp312-none-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "3900e6c7cbf55c86e7b88acedf24662209d4f24eba67653e796359585747f8ca", "md5": "962698c28e70d12dc3e412ff29d0496d", "sha256": "e9404b51e351a2357051bf7145463d95ee1ecfb6e8f9ce08c4e6b2f2be2e9282" }, "downloads": -1, "filename": "speedict-0.3.12-cp37-cp37m-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", "has_sig": false, "md5_digest": "962698c28e70d12dc3e412ff29d0496d", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 6970588, "upload_time": "2023-11-11T08:30:33", "upload_time_iso_8601": "2023-11-11T08:30:33.987316Z", "url": "https://files.pythonhosted.org/packages/39/00/e6c7cbf55c86e7b88acedf24662209d4f24eba67653e796359585747f8ca/speedict-0.3.12-cp37-cp37m-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "7583ea68ac22feaea5a89ed231cd02ce82c5006d99ab4ca1578d3be65be1837f", "md5": "808cc761f3a59f07b124a14f40849059", "sha256": "d12160a1d8ba132fe64ecda42a1930c9db003b62413bef07f2dc71ba4abba977" }, "downloads": -1, "filename": "speedict-0.3.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "808cc761f3a59f07b124a14f40849059", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 5216243, "upload_time": "2023-11-11T08:30:35", "upload_time_iso_8601": "2023-11-11T08:30:35.517081Z", "url": "https://files.pythonhosted.org/packages/75/83/ea68ac22feaea5a89ed231cd02ce82c5006d99ab4ca1578d3be65be1837f/speedict-0.3.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "6eb763985a92e8566160dd02f675b0b9cf2d779cb3b88d0b7e986320f00b2f83", "md5": "8e9537da23f2ebbbfa7db2c145d197db", "sha256": "f7f785898e286498936ac5b61bb2d53603986e45f5917f67f2a07d2ee5704f20" }, "downloads": -1, "filename": "speedict-0.3.12-cp37-cp37m-manylinux_2_28_aarch64.whl", "has_sig": false, "md5_digest": "8e9537da23f2ebbbfa7db2c145d197db", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 5037148, "upload_time": "2023-11-11T08:30:37", "upload_time_iso_8601": "2023-11-11T08:30:37.015067Z", "url": "https://files.pythonhosted.org/packages/6e/b7/63985a92e8566160dd02f675b0b9cf2d779cb3b88d0b7e986320f00b2f83/speedict-0.3.12-cp37-cp37m-manylinux_2_28_aarch64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "b2c1ecb3f3f9bbb55117dc5a0259de232d3d522b521092794fd35f712d640997", "md5": "efc721366e205cdbaa55e532c444a3b4", "sha256": "228e852d1e5359f6412829ad54fbb9a1eecee1d94753d4d348041a0b85ede187" }, "downloads": -1, "filename": "speedict-0.3.12-cp37-cp37m-manylinux_2_28_x86_64.whl", "has_sig": false, "md5_digest": "efc721366e205cdbaa55e532c444a3b4", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 5087213, "upload_time": "2023-11-11T08:30:38", "upload_time_iso_8601": "2023-11-11T08:30:38.902377Z", "url": "https://files.pythonhosted.org/packages/b2/c1/ecb3f3f9bbb55117dc5a0259de232d3d522b521092794fd35f712d640997/speedict-0.3.12-cp37-cp37m-manylinux_2_28_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "2270a43763b4bd271e1f654aaafc2672bd4df08b248fb4e2b328b2010b1aef63", "md5": "ba2fc5316858905bbf7e7b5ef0beac1c", "sha256": "7f12ef6f26cb23bba799ece8113c78a03dfbe9eb02f3112406d9be13789fb929" }, "downloads": -1, "filename": "speedict-0.3.12-cp37-none-win32.whl", "has_sig": false, "md5_digest": "ba2fc5316858905bbf7e7b5ef0beac1c", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 2449704, "upload_time": "2023-11-11T08:30:40", "upload_time_iso_8601": "2023-11-11T08:30:40.271749Z", "url": "https://files.pythonhosted.org/packages/22/70/a43763b4bd271e1f654aaafc2672bd4df08b248fb4e2b328b2010b1aef63/speedict-0.3.12-cp37-none-win32.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "5491cedc2a4d7adda8c5277f9b1ec52596921e8552423acb567bcdbfce7c36df", "md5": "64dfe508d85b207403aa50e9a37f1307", "sha256": "540d40c9e1806f96048218f33b201553758f233d057a51dd40d2937a892dcfd1" }, "downloads": -1, "filename": "speedict-0.3.12-cp37-none-win_amd64.whl", "has_sig": false, "md5_digest": "64dfe508d85b207403aa50e9a37f1307", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 2754678, "upload_time": "2023-11-11T08:30:41", "upload_time_iso_8601": "2023-11-11T08:30:41.881178Z", "url": "https://files.pythonhosted.org/packages/54/91/cedc2a4d7adda8c5277f9b1ec52596921e8552423acb567bcdbfce7c36df/speedict-0.3.12-cp37-none-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "40b480278c73dc78b22c79f9a5b1ad71a0d840b556ac362a28a1966a05e2e7b7", "md5": "54bffdbef238baa866ad200371085e70", "sha256": "4321e211c32b0f982a8a83e0d3416835d1a6b5d5b249bf497e0b93d27b972e19" }, "downloads": -1, "filename": "speedict-0.3.12-cp38-cp38-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", "has_sig": false, "md5_digest": "54bffdbef238baa866ad200371085e70", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 6970483, "upload_time": "2023-11-11T08:30:43", "upload_time_iso_8601": "2023-11-11T08:30:43.392638Z", "url": "https://files.pythonhosted.org/packages/40/b4/80278c73dc78b22c79f9a5b1ad71a0d840b556ac362a28a1966a05e2e7b7/speedict-0.3.12-cp38-cp38-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "b26b3fa0684fd868d586e0819549fededf3f8e554692cadd4cc974b6e187544e", "md5": "560b464bf1f30a7bff5388e9cc48f28b", "sha256": "220ea77095fe2f0b40fa371c0cdec8c68ec0d3bd7989bf3b142b450bdea1fd2a" }, "downloads": -1, "filename": "speedict-0.3.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "560b464bf1f30a7bff5388e9cc48f28b", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 5215245, "upload_time": "2023-11-11T08:30:45", "upload_time_iso_8601": "2023-11-11T08:30:45.472716Z", "url": "https://files.pythonhosted.org/packages/b2/6b/3fa0684fd868d586e0819549fededf3f8e554692cadd4cc974b6e187544e/speedict-0.3.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "3711a32e9ffc662a3cc5244a13b70b57241036e8b60ec51b1e424dfb89ecbac9", "md5": "1d8c3e2cdff0dbc9bdbe5bf1d4f876f9", "sha256": "086547048c06875cc0c87f4eb940ed64e34b1d001df460a95524d4460706656b" }, "downloads": -1, "filename": "speedict-0.3.12-cp38-cp38-manylinux_2_28_aarch64.whl", "has_sig": false, "md5_digest": "1d8c3e2cdff0dbc9bdbe5bf1d4f876f9", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 5037365, "upload_time": "2023-11-11T08:30:47", "upload_time_iso_8601": "2023-11-11T08:30:47.397771Z", "url": "https://files.pythonhosted.org/packages/37/11/a32e9ffc662a3cc5244a13b70b57241036e8b60ec51b1e424dfb89ecbac9/speedict-0.3.12-cp38-cp38-manylinux_2_28_aarch64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "55afbd2293156f7e095c3980adbc05eac800d257068cecf2ee5c3128524e6381", "md5": "6d2ee9ee61d326dd0a1d2157922ea2cb", "sha256": "1e1f603efd634fa584cbb1566e3be30755ad59aec687ff8510775c0c46cd8b48" }, "downloads": -1, "filename": "speedict-0.3.12-cp38-cp38-manylinux_2_28_x86_64.whl", "has_sig": false, "md5_digest": "6d2ee9ee61d326dd0a1d2157922ea2cb", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 5087157, "upload_time": "2023-11-11T08:30:48", "upload_time_iso_8601": "2023-11-11T08:30:48.875458Z", "url": "https://files.pythonhosted.org/packages/55/af/bd2293156f7e095c3980adbc05eac800d257068cecf2ee5c3128524e6381/speedict-0.3.12-cp38-cp38-manylinux_2_28_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "00fa348136887d35cd04670a82d5d676d877574ef910a2732cdd22ff76c8a2c1", "md5": "1ec59f3ec5348cc97b94bdd995ae4722", "sha256": "8537c4a95e9e66159c47cc3c731d9c0ba14e0154990cc9435d20609014d81e05" }, "downloads": -1, "filename": "speedict-0.3.12-cp38-none-win32.whl", "has_sig": false, "md5_digest": "1ec59f3ec5348cc97b94bdd995ae4722", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 2449342, "upload_time": "2023-11-11T08:30:50", "upload_time_iso_8601": "2023-11-11T08:30:50.850849Z", "url": "https://files.pythonhosted.org/packages/00/fa/348136887d35cd04670a82d5d676d877574ef910a2732cdd22ff76c8a2c1/speedict-0.3.12-cp38-none-win32.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "7528a7370e79c2fd103fca724c92d9e2d6291e3f389fd6717a50f6204ebd401f", "md5": "bce3f46b487d5bfa4a84bc9ef8601875", "sha256": "b8d2d589256e8ddf8e4bdba4c8197190d6666775165769622ca3949c7f13b447" }, "downloads": -1, "filename": "speedict-0.3.12-cp38-none-win_amd64.whl", "has_sig": false, "md5_digest": "bce3f46b487d5bfa4a84bc9ef8601875", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 2755039, "upload_time": "2023-11-11T08:30:52", "upload_time_iso_8601": "2023-11-11T08:30:52.247465Z", "url": "https://files.pythonhosted.org/packages/75/28/a7370e79c2fd103fca724c92d9e2d6291e3f389fd6717a50f6204ebd401f/speedict-0.3.12-cp38-none-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "6d1a41f809a3b433eac4a9275fa0997d3fd94dbc5853c94717ce78fcae56fc91", "md5": "cba7c32587137984edb373b11e8a9b35", "sha256": "73c8011367bb3367ad96117a0bf96889283a8fa6514247f5f34ae10cf5cb8ec2" }, "downloads": -1, "filename": "speedict-0.3.12-cp39-cp39-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", "has_sig": false, "md5_digest": "cba7c32587137984edb373b11e8a9b35", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 6970816, "upload_time": "2023-11-11T08:30:54", "upload_time_iso_8601": "2023-11-11T08:30:54.207642Z", "url": "https://files.pythonhosted.org/packages/6d/1a/41f809a3b433eac4a9275fa0997d3fd94dbc5853c94717ce78fcae56fc91/speedict-0.3.12-cp39-cp39-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "3497d6eed12c73bd960ca842645335d5f17eb69379ae8d1960649ea55152596e", "md5": "ea2630a9f9e3c5d7a731f8e65131526a", "sha256": "fcca71dbe3b7a368511ffd72bdef3ee7ad44c22f7c808133aa0b87e02608774e" }, "downloads": -1, "filename": "speedict-0.3.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "ea2630a9f9e3c5d7a731f8e65131526a", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 5216757, "upload_time": "2023-11-11T08:30:56", "upload_time_iso_8601": "2023-11-11T08:30:56.045832Z", "url": "https://files.pythonhosted.org/packages/34/97/d6eed12c73bd960ca842645335d5f17eb69379ae8d1960649ea55152596e/speedict-0.3.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "b6bde319dd5187b7d2a62eb7c802433240342266b4046259fc76cf5b04c16893", "md5": "ff4515bbb339d143651a91e62a35f7c0", "sha256": "7ab409d6ab915097ebaf42f3b581ab8efd56685d9854a23ade8a60ec2189e352" }, "downloads": -1, "filename": "speedict-0.3.12-cp39-cp39-manylinux_2_28_aarch64.whl", "has_sig": false, "md5_digest": "ff4515bbb339d143651a91e62a35f7c0", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 5037787, "upload_time": "2023-11-11T08:30:58", "upload_time_iso_8601": "2023-11-11T08:30:58.015623Z", "url": "https://files.pythonhosted.org/packages/b6/bd/e319dd5187b7d2a62eb7c802433240342266b4046259fc76cf5b04c16893/speedict-0.3.12-cp39-cp39-manylinux_2_28_aarch64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "93b9f9ab84082a16d5c60039c8487323423c6affc8f59202e529edc23606506e", "md5": "3ef316b8f5f89540b04421576b3e2318", "sha256": "70984623badd07fef80d076bc8c24c083d73e9288262899ba79bf822067740b9" }, "downloads": -1, "filename": "speedict-0.3.12-cp39-cp39-manylinux_2_28_x86_64.whl", "has_sig": false, "md5_digest": "3ef316b8f5f89540b04421576b3e2318", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 5087399, "upload_time": "2023-11-11T08:30:59", "upload_time_iso_8601": "2023-11-11T08:30:59.906838Z", "url": "https://files.pythonhosted.org/packages/93/b9/f9ab84082a16d5c60039c8487323423c6affc8f59202e529edc23606506e/speedict-0.3.12-cp39-cp39-manylinux_2_28_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "66882f50297cfe506fb682a6cf50556477859ba22f7f8db72fbffd2b77abc340", "md5": "3a75be6fc4ba7f86ee47ab076b133211", "sha256": "5331a5b9640d61ac76951f8ce3cc58313d3e20fbc338ba55aca32c82d592fe89" }, "downloads": -1, "filename": "speedict-0.3.12-cp39-none-win32.whl", "has_sig": false, "md5_digest": "3a75be6fc4ba7f86ee47ab076b133211", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 2449282, "upload_time": "2023-11-11T08:31:01", "upload_time_iso_8601": "2023-11-11T08:31:01.508775Z", "url": "https://files.pythonhosted.org/packages/66/88/2f50297cfe506fb682a6cf50556477859ba22f7f8db72fbffd2b77abc340/speedict-0.3.12-cp39-none-win32.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "60394dc4fb55f37947b6bf4526dd97f530678d33ed5008f572f6aa786f159a4e", "md5": "a0eda6aeb9b75fb05e9bca1f9f9b5ce0", "sha256": "52556bf1b8222dc1a06b8861fcf8ee3d437673ad2d25a535f2cf0f11ee1e0b5d" }, "downloads": -1, "filename": "speedict-0.3.12-cp39-none-win_amd64.whl", "has_sig": false, "md5_digest": "a0eda6aeb9b75fb05e9bca1f9f9b5ce0", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 2755302, "upload_time": "2023-11-11T08:31:03", "upload_time_iso_8601": "2023-11-11T08:31:03.135459Z", "url": "https://files.pythonhosted.org/packages/60/39/4dc4fb55f37947b6bf4526dd97f530678d33ed5008f572f6aa786f159a4e/speedict-0.3.12-cp39-none-win_amd64.whl", "yanked": false, "yanked_reason": null } ], "upload_time": "2023-11-11 08:30:01", "github": false, "gitlab": false, "bitbucket": false, "codeberg": false, "lcname": "speedict" }