# Apache Fory™ Python
Fory is a blazingly-fast multi-language serialization framework powered by just-in-time compilation and zero-copy.
## Build Fory Python
```bash
cd python
# Uninstall numpy first so that when we install pyarrow, it will install the correct numpy version automatically.
# For Python versions less than 3.13, numpy 2 is not currently supported.
pip uninstall -y numpy
# Install necessary environment for Python < 3.13.
pip install pyarrow==15.0.0 Cython wheel pytest
# For Python 3.13, pyarrow 18.0.0 is available and requires numpy version greater than 2.
# pip install pyarrow==18.0.0 Cython wheel pytest
pip install -v -e .
```
If the last steps fails with an error like `libarrow_python.dylib: No such file or directory`,
you are probably suffering from bazel's aggressive caching; the sought library is longer at the
temporary directory it was the last time bazel ran. To remedy this run
> bazel clean --expunge
In this situation, you might also find it fruitful to run bazel yourself before pip:
> bazel build -s //:cp_fory_so
### Environment Requirements
- python 3.8+
## Testing
```bash
cd python
pytest -v -s .
```
## Code Style
```bash
cd python
pip install ruff
ruff format python
```
## Debug
```bash
cd python
python setup.py develop
```
- Use `cython --cplus -a pyfory/_serialization.pyx` to produce an annotated HTML file of the source code. Then you can
analyze interaction between Python objects and Python's C API.
- Read more: <https://cython.readthedocs.io/en/latest/src/userguide/debugging.html>
```bash
FORY_DEBUG=true python setup.py build_ext --inplace
# For linux
cygdb build
```
## Debug with lldb
```bash
lldb
(lldb) target create -- python
(lldb) settings set -- target.run-args "-c" "from pyfory.tests.test_serializer import test_enum; test_enum()"
(lldb) run
(lldb) bt
```
Raw data
{
"_id": null,
"home_page": null,
"name": "pyfory",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": "\"https://github.com/chaokunyang\" <shawn.ck.yang@gmail.com>",
"keywords": "fory, serialization, multi-language, fast, row-format, jit, codegen, polymorphic, zero-copy",
"author": null,
"author_email": "chaokunyang <shawn.ck.yang@gmail.com>",
"download_url": null,
"platform": null,
"description": "# Apache Fory\u2122 Python\n\nFory is a blazingly-fast multi-language serialization framework powered by just-in-time compilation and zero-copy.\n\n## Build Fory Python\n\n```bash\ncd python\n# Uninstall numpy first so that when we install pyarrow, it will install the correct numpy version automatically.\n# For Python versions less than 3.13, numpy 2 is not currently supported.\npip uninstall -y numpy\n# Install necessary environment for Python < 3.13.\npip install pyarrow==15.0.0 Cython wheel pytest\n# For Python 3.13, pyarrow 18.0.0 is available and requires numpy version greater than 2.\n# pip install pyarrow==18.0.0 Cython wheel pytest\npip install -v -e .\n```\n\nIf the last steps fails with an error like `libarrow_python.dylib: No such file or directory`,\nyou are probably suffering from bazel's aggressive caching; the sought library is longer at the\ntemporary directory it was the last time bazel ran. To remedy this run\n\n> bazel clean --expunge\n\nIn this situation, you might also find it fruitful to run bazel yourself before pip:\n\n> bazel build -s //:cp_fory_so\n\n### Environment Requirements\n\n- python 3.8+\n\n## Testing\n\n```bash\ncd python\npytest -v -s .\n```\n\n## Code Style\n\n```bash\ncd python\npip install ruff\nruff format python\n```\n\n## Debug\n\n```bash\ncd python\npython setup.py develop\n```\n\n- Use `cython --cplus -a pyfory/_serialization.pyx` to produce an annotated HTML file of the source code. Then you can\n analyze interaction between Python objects and Python's C API.\n- Read more: <https://cython.readthedocs.io/en/latest/src/userguide/debugging.html>\n\n```bash\nFORY_DEBUG=true python setup.py build_ext --inplace\n# For linux\ncygdb build\n```\n\n## Debug with lldb\n\n```bash\nlldb\n(lldb) target create -- python\n(lldb) settings set -- target.run-args \"-c\" \"from pyfory.tests.test_serializer import test_enum; test_enum()\"\n(lldb) run\n(lldb) bt\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Apache Fory\u2122 is a blazingly fast multi-language serialization framework powered by jit and zero-copy",
"version": "0.12.0",
"project_urls": null,
"split_keywords": [
"fory",
" serialization",
" multi-language",
" fast",
" row-format",
" jit",
" codegen",
" polymorphic",
" zero-copy"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4b3839f3afc68337110d4ee71d4d6d664ece357e7244c4c2d7ea29af02b4288f",
"md5": "892976e87b69dc99bb310064cda04c9a",
"sha256": "44eed356a3e740d3d9c65d603e5b07960cebf538a3a7be9c5433f5f74fd9344e"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp310-cp310-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "892976e87b69dc99bb310064cda04c9a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 815451,
"upload_time": "2025-08-18T09:50:12",
"upload_time_iso_8601": "2025-08-18T09:50:12.931277Z",
"url": "https://files.pythonhosted.org/packages/4b/38/39f3afc68337110d4ee71d4d6d664ece357e7244c4c2d7ea29af02b4288f/pyfory-0.12.0-cp310-cp310-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cdb25d8b08db4ecd6ef6384abcaf410dfa3601c8d8974c964a741653efc1952d",
"md5": "3770a9eda5e919aeafb516a9c8c884a9",
"sha256": "c4291baeff1a49ed236c4c8c18d324347dec548f96f3301226985c4e2e1335a3"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp310-cp310-macosx_14_0_universal2.whl",
"has_sig": false,
"md5_digest": "3770a9eda5e919aeafb516a9c8c884a9",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 756165,
"upload_time": "2025-08-18T09:50:14",
"upload_time_iso_8601": "2025-08-18T09:50:14.525066Z",
"url": "https://files.pythonhosted.org/packages/cd/b2/5d8b08db4ecd6ef6384abcaf410dfa3601c8d8974c964a741653efc1952d/pyfory-0.12.0-cp310-cp310-macosx_14_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8f9d2861ba66348b9f1ae5d453e6a4e093fe2aa351b0cd29f1c3ff0fbf64eb7d",
"md5": "3c70fcdd65c939e79132658ab238da07",
"sha256": "cedd3042f652d611d07257d06a90ffafae9063419f1bfe7ce1a08538cae91713"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "3c70fcdd65c939e79132658ab238da07",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 983326,
"upload_time": "2025-08-18T09:50:15",
"upload_time_iso_8601": "2025-08-18T09:50:15.700316Z",
"url": "https://files.pythonhosted.org/packages/8f/9d/2861ba66348b9f1ae5d453e6a4e093fe2aa351b0cd29f1c3ff0fbf64eb7d/pyfory-0.12.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e4eced5e23cd5a82deb833cd503068213011ef89097c02edb6a59cb8aab70bf4",
"md5": "4325b7441f9e5432c8e172077d0c6a81",
"sha256": "70f90345828dc7b676f9e634a6692acfff92a1afaa20d79c621662eac8db0875"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "4325b7441f9e5432c8e172077d0c6a81",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 1014854,
"upload_time": "2025-08-18T09:50:16",
"upload_time_iso_8601": "2025-08-18T09:50:16.946728Z",
"url": "https://files.pythonhosted.org/packages/e4/ec/ed5e23cd5a82deb833cd503068213011ef89097c02edb6a59cb8aab70bf4/pyfory-0.12.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "40d0b9b4b2a96c3eab20f93bd5a23ba1df353aebc8bfc3b75d53a787ec2161f1",
"md5": "31b3b524d77c8f1e87b2b4be294bbfbd",
"sha256": "23766bd3fcf15230b477bd16371a83d4bd79012bba3cf465e01fc415feeb9963"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "31b3b524d77c8f1e87b2b4be294bbfbd",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 712105,
"upload_time": "2025-08-18T09:50:18",
"upload_time_iso_8601": "2025-08-18T09:50:18.509190Z",
"url": "https://files.pythonhosted.org/packages/40/d0/b9b4b2a96c3eab20f93bd5a23ba1df353aebc8bfc3b75d53a787ec2161f1/pyfory-0.12.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d2f723c9ef683b3b3ab00dfce3fdda3c91b7451bf96855a2c5ff701d976dd0eb",
"md5": "6784994887748a4a4f0c330e97f47204",
"sha256": "ae96bd916b5dfc1a8d4eb8a73e1c740551012d8251ef09d95a5181fe4d504170"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp311-cp311-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "6784994887748a4a4f0c330e97f47204",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 828900,
"upload_time": "2025-08-18T09:50:19",
"upload_time_iso_8601": "2025-08-18T09:50:19.771272Z",
"url": "https://files.pythonhosted.org/packages/d2/f7/23c9ef683b3b3ab00dfce3fdda3c91b7451bf96855a2c5ff701d976dd0eb/pyfory-0.12.0-cp311-cp311-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f5fa6c830b4810cce8e8297832bfea8df61fc34d54dd1e2f37951e8cc239f4ce",
"md5": "efc61d04f6fdef47a3b2be17bf5f0dc9",
"sha256": "58b8476907a90c761320d3e31fb3c7228f731e63f287516004029dc371d3f6a4"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp311-cp311-macosx_14_0_universal2.whl",
"has_sig": false,
"md5_digest": "efc61d04f6fdef47a3b2be17bf5f0dc9",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 768520,
"upload_time": "2025-08-18T09:50:21",
"upload_time_iso_8601": "2025-08-18T09:50:21.288423Z",
"url": "https://files.pythonhosted.org/packages/f5/fa/6c830b4810cce8e8297832bfea8df61fc34d54dd1e2f37951e8cc239f4ce/pyfory-0.12.0-cp311-cp311-macosx_14_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f4abac6c259feb8b66c4e1312f43607c065df53379ec0eaf6108329599240fb5",
"md5": "4e5176fe38f862e915509e7c4d4491d4",
"sha256": "3677c25359a2eb1a5a2aa21cc807f18362da82dcfde195159e8e179787d91802"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "4e5176fe38f862e915509e7c4d4491d4",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 999760,
"upload_time": "2025-08-18T09:50:22",
"upload_time_iso_8601": "2025-08-18T09:50:22.822801Z",
"url": "https://files.pythonhosted.org/packages/f4/ab/ac6c259feb8b66c4e1312f43607c065df53379ec0eaf6108329599240fb5/pyfory-0.12.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bb8d83e49982230995a4442c47c165518d5205f2735fa2b3e4ccbace03a39a84",
"md5": "38b3cc0fe969c66e7d963693b08710da",
"sha256": "d877f725f3daeaec6791abd57a9b881a1368c093c20efdbb02d52223752c6234"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "38b3cc0fe969c66e7d963693b08710da",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 1030245,
"upload_time": "2025-08-18T09:50:24",
"upload_time_iso_8601": "2025-08-18T09:50:24.360222Z",
"url": "https://files.pythonhosted.org/packages/bb/8d/83e49982230995a4442c47c165518d5205f2735fa2b3e4ccbace03a39a84/pyfory-0.12.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b97e320bb8e2794d0d299d594eaea7dba16cb06cab7202af067cea580bd27307",
"md5": "c1a49a6dfcd3e84d2a68f6817e9bc373",
"sha256": "45ce18b1f1dd9b0bde9f69c1af6e6249791c5a2b9640598c62f40db680e6ffeb"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "c1a49a6dfcd3e84d2a68f6817e9bc373",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 712543,
"upload_time": "2025-08-18T09:50:25",
"upload_time_iso_8601": "2025-08-18T09:50:25.885105Z",
"url": "https://files.pythonhosted.org/packages/b9/7e/320bb8e2794d0d299d594eaea7dba16cb06cab7202af067cea580bd27307/pyfory-0.12.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "38ae8ce91898b95995eebb825c5be974ba5eaf3d5fc1f5c22575034495d1bf84",
"md5": "9eceb011dac156534de02f8b9a762a65",
"sha256": "b8b65d88071384373aad5cf3ae23de359bd4ddc3701cf46566ec34d077a798c0"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "9eceb011dac156534de02f8b9a762a65",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 829285,
"upload_time": "2025-08-18T09:50:27",
"upload_time_iso_8601": "2025-08-18T09:50:27.457576Z",
"url": "https://files.pythonhosted.org/packages/38/ae/8ce91898b95995eebb825c5be974ba5eaf3d5fc1f5c22575034495d1bf84/pyfory-0.12.0-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bd455b43bcad4829d6b5d21382e964d0dc278da622047646453ba862b990d5a5",
"md5": "081ddc67b6132719e14ec329fa39405a",
"sha256": "41eddb9624db0c0aa3b7988f5239c3d3f1c36bbd8ab0d6d9255d3158278c4b99"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp312-cp312-macosx_14_0_universal2.whl",
"has_sig": false,
"md5_digest": "081ddc67b6132719e14ec329fa39405a",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 762246,
"upload_time": "2025-08-18T09:50:28",
"upload_time_iso_8601": "2025-08-18T09:50:28.582237Z",
"url": "https://files.pythonhosted.org/packages/bd/45/5b43bcad4829d6b5d21382e964d0dc278da622047646453ba862b990d5a5/pyfory-0.12.0-cp312-cp312-macosx_14_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "aee7a036b37add18933387c5df1de4f9b26ab95b164a6fa2d7bcbdcffa9de370",
"md5": "35ad69b034b88dcd0509bf1b80030684",
"sha256": "cc67e17b5deb69cd709bcf6e55e9097654dd1568470f54bad238477c9995ef3f"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "35ad69b034b88dcd0509bf1b80030684",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 994437,
"upload_time": "2025-08-18T09:50:29",
"upload_time_iso_8601": "2025-08-18T09:50:29.797130Z",
"url": "https://files.pythonhosted.org/packages/ae/e7/a036b37add18933387c5df1de4f9b26ab95b164a6fa2d7bcbdcffa9de370/pyfory-0.12.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "abbc873769b828012129c854d2f2799af9a310425bf6f13ea895694816686f34",
"md5": "87c1ca3b639a24e0740be823d9cea7d2",
"sha256": "7af6423e8c694dc9fee5d4903afc3bd3ebc6c4e955f8bdc36caac19f5bda566d"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "87c1ca3b639a24e0740be823d9cea7d2",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 1033044,
"upload_time": "2025-08-18T09:50:30",
"upload_time_iso_8601": "2025-08-18T09:50:30.987930Z",
"url": "https://files.pythonhosted.org/packages/ab/bc/873769b828012129c854d2f2799af9a310425bf6f13ea895694816686f34/pyfory-0.12.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2e104f564b2a67843e72e03c3e31d322c7af2e7cded5e7b240de4d4c2b116a82",
"md5": "48bfefd318fac6e08726c0cb9bf3a6e9",
"sha256": "62bcbda4041b9310f5c65eba512d0687e6a173c90b6a96b722efb6f8412a244b"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "48bfefd318fac6e08726c0cb9bf3a6e9",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 672979,
"upload_time": "2025-08-18T09:50:32",
"upload_time_iso_8601": "2025-08-18T09:50:32.244151Z",
"url": "https://files.pythonhosted.org/packages/2e/10/4f564b2a67843e72e03c3e31d322c7af2e7cded5e7b240de4d4c2b116a82/pyfory-0.12.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "502e38a684bb5d10a49e3bd0f71c00fe2330afc2cfb1c17fdd403a54d7b7d3d5",
"md5": "2098b032a9daf3960d42feb2ddcbc8c4",
"sha256": "c870aebd062c20a6a226196091b0922710600e4c675e7b1f97a865bef22eb245"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp313-cp313-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "2098b032a9daf3960d42feb2ddcbc8c4",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 826248,
"upload_time": "2025-08-18T09:50:33",
"upload_time_iso_8601": "2025-08-18T09:50:33.419811Z",
"url": "https://files.pythonhosted.org/packages/50/2e/38a684bb5d10a49e3bd0f71c00fe2330afc2cfb1c17fdd403a54d7b7d3d5/pyfory-0.12.0-cp313-cp313-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5e9ee9e9b4975afbfa98d4c089a833e9426073a5c9b87f1f0df92fea8a68b8e2",
"md5": "4ae4c47a2f2d41a6075446853f294b66",
"sha256": "571ef893e347b61d89c868f3396cde6f0c64009158509df7d811568afd460c1a"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp313-cp313-macosx_14_0_universal2.whl",
"has_sig": false,
"md5_digest": "4ae4c47a2f2d41a6075446853f294b66",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 759315,
"upload_time": "2025-08-18T09:50:35",
"upload_time_iso_8601": "2025-08-18T09:50:35.013957Z",
"url": "https://files.pythonhosted.org/packages/5e/9e/e9e9b4975afbfa98d4c089a833e9426073a5c9b87f1f0df92fea8a68b8e2/pyfory-0.12.0-cp313-cp313-macosx_14_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "539953a872370cd77b1d51b0fab86a78d6fb2a53b9ce273ab9cac8b7162c5c27",
"md5": "1b7609f51de80fc0c606c4a79b637762",
"sha256": "cdeb190dfdc1863f562e0c94c5f1767f4eff3c9a5b94e6b03c7eaa44033a1106"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "1b7609f51de80fc0c606c4a79b637762",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 992679,
"upload_time": "2025-08-18T09:50:36",
"upload_time_iso_8601": "2025-08-18T09:50:36.249509Z",
"url": "https://files.pythonhosted.org/packages/53/99/53a872370cd77b1d51b0fab86a78d6fb2a53b9ce273ab9cac8b7162c5c27/pyfory-0.12.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "579c72df31aaa1e8757832c0f7ee32ff003754bc4a39601ccede0ceb2103c2f8",
"md5": "6e921c0b7fb471670f8430cf6b764efb",
"sha256": "16645cf4382cd05f6fe4477392c6afd4ee559d4a956ea0286d102b7fc3568774"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "6e921c0b7fb471670f8430cf6b764efb",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 1031706,
"upload_time": "2025-08-18T09:50:37",
"upload_time_iso_8601": "2025-08-18T09:50:37.451004Z",
"url": "https://files.pythonhosted.org/packages/57/9c/72df31aaa1e8757832c0f7ee32ff003754bc4a39601ccede0ceb2103c2f8/pyfory-0.12.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e60b9a2abf9d53fb88fc33f1ac0f0b6c77bc9712d421f0087f8e3be911cc9aab",
"md5": "954417fa37c27b1a70995c26905e094e",
"sha256": "c42f390d0d89075abe8db1b829d612eb8ff85951ea72369bc9baf4e8049d091b"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "954417fa37c27b1a70995c26905e094e",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 673433,
"upload_time": "2025-08-18T09:50:38",
"upload_time_iso_8601": "2025-08-18T09:50:38.882640Z",
"url": "https://files.pythonhosted.org/packages/e6/0b/9a2abf9d53fb88fc33f1ac0f0b6c77bc9712d421f0087f8e3be911cc9aab/pyfory-0.12.0-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9e806ddf3b2da8550c0ff04012201d085112d28f75bb04af1e2771f9b7a4b8dd",
"md5": "af56ab940ae216ae0b4263d7b20bdf71",
"sha256": "fdcf396a1f24effc5355d97e12b510cb14719371c7c0c500d24abd405b268360"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp38-cp38-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "af56ab940ae216ae0b4263d7b20bdf71",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 828056,
"upload_time": "2025-08-18T09:50:40",
"upload_time_iso_8601": "2025-08-18T09:50:40.117461Z",
"url": "https://files.pythonhosted.org/packages/9e/80/6ddf3b2da8550c0ff04012201d085112d28f75bb04af1e2771f9b7a4b8dd/pyfory-0.12.0-cp38-cp38-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8fdb2b5d94a5c4d517efde974ceed9d38926a40b0da3f6bd5446d0d35fae6ddb",
"md5": "8a63e009f6ae0bb7411db84496895350",
"sha256": "59ab8a1985af82014822acbb8b43a2b54537827bbef99c0ca1cb0ba007690701"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp38-cp38-macosx_14_0_universal2.whl",
"has_sig": false,
"md5_digest": "8a63e009f6ae0bb7411db84496895350",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 766231,
"upload_time": "2025-08-18T09:50:41",
"upload_time_iso_8601": "2025-08-18T09:50:41.800805Z",
"url": "https://files.pythonhosted.org/packages/8f/db/2b5d94a5c4d517efde974ceed9d38926a40b0da3f6bd5446d0d35fae6ddb/pyfory-0.12.0-cp38-cp38-macosx_14_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8a9915151bcc2c0fa01006c5721b9d93412d99c84b038f27fc0d2a5af9b21ddb",
"md5": "0accde93ab9dab87a8474c397789213a",
"sha256": "3a8f38dde93e82d46d9902433017218c292798a5258d6997e78b5bdb6540e86d"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp38-cp38-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "0accde93ab9dab87a8474c397789213a",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 22653097,
"upload_time": "2025-08-18T09:50:43",
"upload_time_iso_8601": "2025-08-18T09:50:43.515167Z",
"url": "https://files.pythonhosted.org/packages/8a/99/15151bcc2c0fa01006c5721b9d93412d99c84b038f27fc0d2a5af9b21ddb/pyfory-0.12.0-cp38-cp38-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "529f4007f8cb18433e39e228f87f1568a2bae1679d54b5ab723bd74d9dc431c9",
"md5": "0ea40707776f2fceaa6f13d4a0ef35aa",
"sha256": "1c058f0918e4936a7db911aa1ce579d99a73bf1144e1104c919bbdf06f0fa274"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp38-cp38-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "0ea40707776f2fceaa6f13d4a0ef35aa",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 24578879,
"upload_time": "2025-08-18T09:50:45",
"upload_time_iso_8601": "2025-08-18T09:50:45.801067Z",
"url": "https://files.pythonhosted.org/packages/52/9f/4007f8cb18433e39e228f87f1568a2bae1679d54b5ab723bd74d9dc431c9/pyfory-0.12.0-cp38-cp38-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1d82a9bf07ff9f5534b2e16db28bbed790ea838fa21e45d51512ae8eff090c48",
"md5": "bcf8d729bb49094e818f87f29699fd24",
"sha256": "1ee3ed4581c69aef1164c831d4ccb00cb4ce4ed926befde431537b2f8f6563f6"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "bcf8d729bb49094e818f87f29699fd24",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 715505,
"upload_time": "2025-08-18T09:50:48",
"upload_time_iso_8601": "2025-08-18T09:50:48.160385Z",
"url": "https://files.pythonhosted.org/packages/1d/82/a9bf07ff9f5534b2e16db28bbed790ea838fa21e45d51512ae8eff090c48/pyfory-0.12.0-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3f449cbca123fd84ccb7e89c725289cf991779cf321715b4b052e86139c015e3",
"md5": "ecf7db1878c5f4af84641f49a187d221",
"sha256": "ea9596debdb15618048e6048fe8aa48856414f442572d398dca174a61c058d46"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp39-cp39-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "ecf7db1878c5f4af84641f49a187d221",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 817402,
"upload_time": "2025-08-18T09:50:49",
"upload_time_iso_8601": "2025-08-18T09:50:49.427747Z",
"url": "https://files.pythonhosted.org/packages/3f/44/9cbca123fd84ccb7e89c725289cf991779cf321715b4b052e86139c015e3/pyfory-0.12.0-cp39-cp39-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b5ba77b1dfca2d1a9f077cac6032d4bc928575eb8969b72a7002219da383eb84",
"md5": "8ffc637061639fc29a4af79a5e3d7e31",
"sha256": "fa8881e271bb466ef7a641184590f4b038ef96e43b5cfebbb141409cc470b73c"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp39-cp39-macosx_14_0_universal2.whl",
"has_sig": false,
"md5_digest": "8ffc637061639fc29a4af79a5e3d7e31",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 757771,
"upload_time": "2025-08-18T09:50:50",
"upload_time_iso_8601": "2025-08-18T09:50:50.836537Z",
"url": "https://files.pythonhosted.org/packages/b5/ba/77b1dfca2d1a9f077cac6032d4bc928575eb8969b72a7002219da383eb84/pyfory-0.12.0-cp39-cp39-macosx_14_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d4c343d786da11a8a7ea5eac51dd7606c1d65c35ab196d95125d2eeb5a3f42d7",
"md5": "c04f2773586268d338f59495f001aedc",
"sha256": "7b32244cd6b12dc3a5a73da6718b3863e212c29ba06a341b69e7d1c30be3bcc3"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "c04f2773586268d338f59495f001aedc",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 985017,
"upload_time": "2025-08-18T09:50:52",
"upload_time_iso_8601": "2025-08-18T09:50:52.063613Z",
"url": "https://files.pythonhosted.org/packages/d4/c3/43d786da11a8a7ea5eac51dd7606c1d65c35ab196d95125d2eeb5a3f42d7/pyfory-0.12.0-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9aedd0ea064940ae900a762ba3cf43d4d0e953d9727cd6dbd817d2a7c7985a7b",
"md5": "aae06247c4f040bc4a494549427d5a03",
"sha256": "a4d42f907aafc92a9da674d22163ebeea0d94b056a3c058b291b0d2b6546678b"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "aae06247c4f040bc4a494549427d5a03",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 1016951,
"upload_time": "2025-08-18T09:50:53",
"upload_time_iso_8601": "2025-08-18T09:50:53.736833Z",
"url": "https://files.pythonhosted.org/packages/9a/ed/d0ea064940ae900a762ba3cf43d4d0e953d9727cd6dbd817d2a7c7985a7b/pyfory-0.12.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "71f8bea8791192601f6e24e8d6cffc9219d37724f8e4b5db4694b39196701d94",
"md5": "17c8ecf0ad49ce9fb577a5ac040eb408",
"sha256": "d31728a5652aeede1d5451831a878eb1b2211f2ba39a784ed9f81b171a2397ca"
},
"downloads": -1,
"filename": "pyfory-0.12.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "17c8ecf0ad49ce9fb577a5ac040eb408",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 713895,
"upload_time": "2025-08-18T09:50:55",
"upload_time_iso_8601": "2025-08-18T09:50:55.116623Z",
"url": "https://files.pythonhosted.org/packages/71/f8/bea8791192601f6e24e8d6cffc9219d37724f8e4b5db4694b39196701d94/pyfory-0.12.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-18 09:50:12",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pyfory"
}