# akatsuki-pp-py
Difficulty and performance calculation for all [osu!](https://osu.ppy.sh/) modes.
This is a python binding to the Rust library [rosu-pp](https://github.com/MaxOhn/rosu-pp) which was bootstrapped through [PyO3](https://github.com/PyO3/PyO3).
Since all the heavy lifting is done by Rust, rosu-pp-py comes with a very fast performance.
Check out rosu-pp's [README](https://github.com/MaxOhn/rosu-pp/blob/main/README.md) for more info.
## Exposed types
The library exposes the following classes:
- `Calculator`: Contains various parameters to calculate strains or map, difficulty, or performance attributes
- `Beatmap`: Contains a parsed beatmap
- [`BeatmapAttributes`](https://github.com/MaxOhn/rosu-pp-py/blob/81e1d6f28064b832661a4940a3896a2089f76b6b/rosu_pp_py.pyi#L199-L231): Contains various attributes about the map itself
- [`DifficultyAttributes`](https://github.com/MaxOhn/rosu-pp-py/blob/81e1d6f28064b832661a4940a3896a2089f76b6b/rosu_pp_py.pyi#L234-L284): Contains various attributes about the difficulty based on the mode
- [`PerformanceAttributes`](https://github.com/MaxOhn/rosu-pp-py/blob/81e1d6f28064b832661a4940a3896a2089f76b6b/rosu_pp_py.pyi#L287-L313): Contains various attributes about the performance and difficulty based on the mode
- [`Strains`](https://github.com/MaxOhn/rosu-pp-py/blob/81e1d6f28064b832661a4940a3896a2089f76b6b/rosu_pp_py.pyi#L316-L346): Contains strain values for each skill based on the mode
Additionally, the following error types are exposed:
- `ParseError`: Failed to parse a beatmap
- `KwargsError`: Invalid kwargs were provided
## How to use akatsuki-pp-py
1) The first step is to create a new `Beatmap` instance by providing appropriate kwargs.
Either of the kwargs `path`, `content`, or `bytes` **must** be given. The kwargs `ar`, `cs`, `hp`, and `od` are optional.
With the setters `set_ar`, `set_cs`, `set_hp`, and `set_od` you can specify custom attributes.
```py
map = Beatmap(path = "/path/to/file.osu", ar = 9.87)
map.set_od(1.23)
with open("/path/to/file.osu", "rb") as file:
map = Beatmap(bytes = file.read())
with open("/path/to/file.osu") as file:
map = Beatmap(content = file.read())
```
2) Next, you need to create an instance of `Calculator` by providing the appropriate kwargs again.
Any of the following kwargs are allowed: `mode`, `mods`, `acc`, `n_geki`, `n_katu`, `n300`, `n100`, `n50`, `n_misses`, `combo`, `passed_objects`, `clock_rate`, and `difficulty`.
Each of these also have a setter method e.g. `set_n_misses`.
```py
calc = Calculator(mode = 2, acc = 98.76)
calc.set_mods(8 + 64) # HDDT
```
3) The last step is to call any of the methods `map_attributes`, `difficulty`, `performance`, or `strains` on the calculator and provide them a `Beatmap`.
## Example
```py
from akatsuki_pp_py import Beatmap, Calculator
map = Beatmap(path = "./maps/100.osu")
calc = Calculator(mods = 8)
# Calculate an SS on HD
max_perf = calc.performance(map)
# The mods are still set to HD
calc.set_acc(99.11)
calc.set_n_misses(1)
calc.set_combo(200)
# A good way to speed up the calculation is to provide
# the difficulty attributes of a previous calculation
# so that they don't need to be recalculated.
# **Note** that this should only be done if neither
# the map, mode, mods, nor passed objects amount changed.
calc.set_difficulty(max_perf.difficulty)
curr_perf = calc.performance(map)
print(f'PP: {curr_perf.pp}/{max_perf.pp} | Stars: {max_perf.difficulty.stars}')
map_attrs = calc.map_attributes(map)
print(f'BPM: {map_attrs.bpm}')
strains = calc.strains(map)
print(f'Maximum aim strain: {max(strains.aim)}')
```
## Installing rosu-pp-py
Installing rosu-pp-py requires a [supported version of Python and Rust](https://github.com/PyO3/PyO3#usage).
Once [Python](https://www.python.org/downloads/) and [Rust](https://www.rust-lang.org/learn/get-started) and ready to go, you can install the project with pip:
```sh
$ pip install akatsuki-pp-py
```
or
```
$ pip install git+https://github.com/osuAkatsuki/akatsuki-pp-py
```
## Learn More
- [Rust documentation](https://www.rust-lang.org).
- [PyO3 documentation](https://pyo3.rs/).
- [Python documentation](https://docs.python.org/3/).
Raw data
{
"_id": null,
"home_page": null,
"name": "akatsuki-pp-py",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "osu, pp, stars, performance, difficulty",
"author": "Max Ohn <ohn.m@hotmail.de>, tsunyoku <tsunyoku@gmail.com>",
"author_email": "Max Ohn <ohn.m@hotmail.de>, tsunyoku <tsunyoku@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/ec/35/c8c3b7fb9a3543833f547a091c2620735df6b6099359ea55199311eafcd2/akatsuki_pp_py-1.0.5.tar.gz",
"platform": null,
"description": "# akatsuki-pp-py\n\nDifficulty and performance calculation for all [osu!](https://osu.ppy.sh/) modes.\n\nThis is a python binding to the Rust library [rosu-pp](https://github.com/MaxOhn/rosu-pp) which was bootstrapped through [PyO3](https://github.com/PyO3/PyO3).\nSince all the heavy lifting is done by Rust, rosu-pp-py comes with a very fast performance.\nCheck out rosu-pp's [README](https://github.com/MaxOhn/rosu-pp/blob/main/README.md) for more info.\n\n## Exposed types\n\nThe library exposes the following classes:\n\n- `Calculator`: Contains various parameters to calculate strains or map, difficulty, or performance attributes\n- `Beatmap`: Contains a parsed beatmap\n- [`BeatmapAttributes`](https://github.com/MaxOhn/rosu-pp-py/blob/81e1d6f28064b832661a4940a3896a2089f76b6b/rosu_pp_py.pyi#L199-L231): Contains various attributes about the map itself\n- [`DifficultyAttributes`](https://github.com/MaxOhn/rosu-pp-py/blob/81e1d6f28064b832661a4940a3896a2089f76b6b/rosu_pp_py.pyi#L234-L284): Contains various attributes about the difficulty based on the mode\n- [`PerformanceAttributes`](https://github.com/MaxOhn/rosu-pp-py/blob/81e1d6f28064b832661a4940a3896a2089f76b6b/rosu_pp_py.pyi#L287-L313): Contains various attributes about the performance and difficulty based on the mode\n- [`Strains`](https://github.com/MaxOhn/rosu-pp-py/blob/81e1d6f28064b832661a4940a3896a2089f76b6b/rosu_pp_py.pyi#L316-L346): Contains strain values for each skill based on the mode\n\nAdditionally, the following error types are exposed:\n- `ParseError`: Failed to parse a beatmap\n- `KwargsError`: Invalid kwargs were provided\n\n## How to use akatsuki-pp-py\n\n1) The first step is to create a new `Beatmap` instance by providing appropriate kwargs.\nEither of the kwargs `path`, `content`, or `bytes` **must** be given. The kwargs `ar`, `cs`, `hp`, and `od` are optional.\nWith the setters `set_ar`, `set_cs`, `set_hp`, and `set_od` you can specify custom attributes.\n```py\nmap = Beatmap(path = \"/path/to/file.osu\", ar = 9.87)\nmap.set_od(1.23)\n\nwith open(\"/path/to/file.osu\", \"rb\") as file:\n map = Beatmap(bytes = file.read())\n\nwith open(\"/path/to/file.osu\") as file:\n map = Beatmap(content = file.read())\n```\n\n2) Next, you need to create an instance of `Calculator` by providing the appropriate kwargs again.\nAny of the following kwargs are allowed: `mode`, `mods`, `acc`, `n_geki`, `n_katu`, `n300`, `n100`, `n50`, `n_misses`, `combo`, `passed_objects`, `clock_rate`, and `difficulty`.\nEach of these also have a setter method e.g. `set_n_misses`.\n```py\ncalc = Calculator(mode = 2, acc = 98.76)\ncalc.set_mods(8 + 64) # HDDT\n```\n\n3) The last step is to call any of the methods `map_attributes`, `difficulty`, `performance`, or `strains` on the calculator and provide them a `Beatmap`.\n\n## Example\n\n```py\nfrom akatsuki_pp_py import Beatmap, Calculator\n\nmap = Beatmap(path = \"./maps/100.osu\")\ncalc = Calculator(mods = 8)\n\n# Calculate an SS on HD\nmax_perf = calc.performance(map)\n\n# The mods are still set to HD\ncalc.set_acc(99.11)\ncalc.set_n_misses(1)\ncalc.set_combo(200)\n\n# A good way to speed up the calculation is to provide\n# the difficulty attributes of a previous calculation\n# so that they don't need to be recalculated.\n# **Note** that this should only be done if neither\n# the map, mode, mods, nor passed objects amount changed.\ncalc.set_difficulty(max_perf.difficulty)\n\ncurr_perf = calc.performance(map)\nprint(f'PP: {curr_perf.pp}/{max_perf.pp} | Stars: {max_perf.difficulty.stars}')\n\nmap_attrs = calc.map_attributes(map)\nprint(f'BPM: {map_attrs.bpm}')\n\nstrains = calc.strains(map)\nprint(f'Maximum aim strain: {max(strains.aim)}')\n```\n\n## Installing rosu-pp-py\n\nInstalling rosu-pp-py requires a [supported version of Python and Rust](https://github.com/PyO3/PyO3#usage).\n\nOnce [Python](https://www.python.org/downloads/) and [Rust](https://www.rust-lang.org/learn/get-started) and ready to go, you can install the project with pip:\n\n```sh\n$ pip install akatsuki-pp-py\n```\nor\n```\n$ pip install git+https://github.com/osuAkatsuki/akatsuki-pp-py\n```\n\n## Learn More\n- [Rust documentation](https://www.rust-lang.org).\n- [PyO3 documentation](https://pyo3.rs/).\n- [Python documentation](https://docs.python.org/3/).\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "osu! difficulty and pp calculation for all modes",
"version": "1.0.5",
"project_urls": null,
"split_keywords": [
"osu",
" pp",
" stars",
" performance",
" difficulty"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "024dabce330c8ac3d3f448567546aee7c6a5fc5afed9d595785bdd19a01644fd",
"md5": "b132e3eb88771badbcb65d221a696214",
"sha256": "6b518b0adf89960b37b52302fda3b8dc20fbf015630de0aa1bbc19d11299d129"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"has_sig": false,
"md5_digest": "b132e3eb88771badbcb65d221a696214",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 846777,
"upload_time": "2024-09-02T16:44:56",
"upload_time_iso_8601": "2024-09-02T16:44:56.232366Z",
"url": "https://files.pythonhosted.org/packages/02/4d/abce330c8ac3d3f448567546aee7c6a5fc5afed9d595785bdd19a01644fd/akatsuki_pp_py-1.0.5-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9e33d04d8f1fa61a4ae11fcd6e1a6630785d3b53c59333889afc1e468b451eaa",
"md5": "6ccbbdc18a59986b3d5c4d032d668622",
"sha256": "1495ac93c753699348e30ec1fdeda68cf652103a07a87b445a405d2014064797"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp310-cp310-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "6ccbbdc18a59986b3d5c4d032d668622",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 437160,
"upload_time": "2024-09-02T16:44:57",
"upload_time_iso_8601": "2024-09-02T16:44:57.719624Z",
"url": "https://files.pythonhosted.org/packages/9e/33/d04d8f1fa61a4ae11fcd6e1a6630785d3b53c59333889afc1e468b451eaa/akatsuki_pp_py-1.0.5-cp310-cp310-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0ebebc50ca466acafb77ac563d23d6da99bf393093ef00756932d05c4cc96660",
"md5": "daf435c60c3bd9778029f3aa33472932",
"sha256": "89c10f32b638237d720d014fe9f7184a2f5316bcb7276044156483622cad684c"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "daf435c60c3bd9778029f3aa33472932",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 454962,
"upload_time": "2024-09-02T16:44:59",
"upload_time_iso_8601": "2024-09-02T16:44:59.066444Z",
"url": "https://files.pythonhosted.org/packages/0e/be/bc50ca466acafb77ac563d23d6da99bf393093ef00756932d05c4cc96660/akatsuki_pp_py-1.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9549fef901df23fc290831f71da7b57f08db395a71be74fef8108200279cc0d9",
"md5": "87323b2a2e422853b4b9df06e5a419d8",
"sha256": "f7118aea0a3fc827e0c26b8d3e8436e16945d6f58e6f842e5264e1f06abe96a8"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "87323b2a2e422853b4b9df06e5a419d8",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 467172,
"upload_time": "2024-09-02T16:45:00",
"upload_time_iso_8601": "2024-09-02T16:45:00.477045Z",
"url": "https://files.pythonhosted.org/packages/95/49/fef901df23fc290831f71da7b57f08db395a71be74fef8108200279cc0d9/akatsuki_pp_py-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c4c4a2ddbaa7627f44829d9a0873c025d5b10e99061accadc3c03a08d711e469",
"md5": "9da3a5f1b0f48c5da6b21799a174ca8e",
"sha256": "546ff2202c843e8497816d7dc5f3e98ddf3496ee11930eac535b2a1822048bd0"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl",
"has_sig": false,
"md5_digest": "9da3a5f1b0f48c5da6b21799a174ca8e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 474985,
"upload_time": "2024-09-02T16:45:01",
"upload_time_iso_8601": "2024-09-02T16:45:01.607494Z",
"url": "https://files.pythonhosted.org/packages/c4/c4/a2ddbaa7627f44829d9a0873c025d5b10e99061accadc3c03a08d711e469/akatsuki_pp_py-1.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ed2c838ef653f0cf358d26baa67b75ada17b705380b6325393fc995ce32a94a7",
"md5": "04a163debb64fecab3317f948697867a",
"sha256": "68172e9225a81c344c2ab2e5bd305ec57500d0df7b4ad18f549d881b782965a8"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp310-none-win32.whl",
"has_sig": false,
"md5_digest": "04a163debb64fecab3317f948697867a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 342457,
"upload_time": "2024-09-02T16:45:02",
"upload_time_iso_8601": "2024-09-02T16:45:02.855677Z",
"url": "https://files.pythonhosted.org/packages/ed/2c/838ef653f0cf358d26baa67b75ada17b705380b6325393fc995ce32a94a7/akatsuki_pp_py-1.0.5-cp310-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9dd687e5808ef1fdcf12c44912c516107d9f02f036b852ac64c41755c54be267",
"md5": "f080d72cb248abb3acace243690b1132",
"sha256": "7503c0ef2ce8767051039c9ae89e00644fd4ff43eee06734c51ae5dbbbfe9998"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp310-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "f080d72cb248abb3acace243690b1132",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 361031,
"upload_time": "2024-09-02T16:45:04",
"upload_time_iso_8601": "2024-09-02T16:45:04.187332Z",
"url": "https://files.pythonhosted.org/packages/9d/d6/87e5808ef1fdcf12c44912c516107d9f02f036b852ac64c41755c54be267/akatsuki_pp_py-1.0.5-cp310-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9bda94389cd3d6a15ebdfd9eed6e9acb20eb771b522d3d01176477496d114a2d",
"md5": "cddb988d2e77d1a051931cd5c4556c19",
"sha256": "747cd1ebd257a369d32e0db0169e1ee1af06f1e6d59db2d7b64dafa64b4cacc5"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"has_sig": false,
"md5_digest": "cddb988d2e77d1a051931cd5c4556c19",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 846775,
"upload_time": "2024-09-02T16:45:05",
"upload_time_iso_8601": "2024-09-02T16:45:05.525553Z",
"url": "https://files.pythonhosted.org/packages/9b/da/94389cd3d6a15ebdfd9eed6e9acb20eb771b522d3d01176477496d114a2d/akatsuki_pp_py-1.0.5-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cbdb4187b90591db5299c1d7585f8da9b797bc9eeaa1efb99efa97889f317bc0",
"md5": "b6ec437a8e75b57434683870b7121705",
"sha256": "0272cf6789f3413a9db10b617e4628cf110184b8eec6506d2d60a99ee4b8de31"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp311-cp311-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "b6ec437a8e75b57434683870b7121705",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 437159,
"upload_time": "2024-09-02T16:45:08",
"upload_time_iso_8601": "2024-09-02T16:45:08.416108Z",
"url": "https://files.pythonhosted.org/packages/cb/db/4187b90591db5299c1d7585f8da9b797bc9eeaa1efb99efa97889f317bc0/akatsuki_pp_py-1.0.5-cp311-cp311-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a5895e676921ef8986928ecd1b01fb273e6dd881523f24f3d7fb2efc7a42e8bc",
"md5": "58d47161775e1081205644a9d0b3d6ab",
"sha256": "1913382468a4ac18a76ab32462ce0a74c03d5e0a6719199f34dbff5cd4ef37be"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "58d47161775e1081205644a9d0b3d6ab",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 454962,
"upload_time": "2024-09-02T16:45:09",
"upload_time_iso_8601": "2024-09-02T16:45:09.734773Z",
"url": "https://files.pythonhosted.org/packages/a5/89/5e676921ef8986928ecd1b01fb273e6dd881523f24f3d7fb2efc7a42e8bc/akatsuki_pp_py-1.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7bdb58a78baff6ea677131160a5d6794b5ab3b28bbec71e03302bea0188deed3",
"md5": "3fdac881ae46b3e7a514d7134845d177",
"sha256": "e348cb33cb5028512f8d6834c0ffbd113bb17978040664fa067f08f2774d44b7"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "3fdac881ae46b3e7a514d7134845d177",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 467171,
"upload_time": "2024-09-02T16:45:11",
"upload_time_iso_8601": "2024-09-02T16:45:11.110563Z",
"url": "https://files.pythonhosted.org/packages/7b/db/58a78baff6ea677131160a5d6794b5ab3b28bbec71e03302bea0188deed3/akatsuki_pp_py-1.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4f63698087dfa8597c604ffc896284572d084a0c27b9ebb3ff6584a1f8de4782",
"md5": "ca56e10b4f8a570570f2d67f1de32f1f",
"sha256": "8a5f9b943a6cc97ce041586fdcc87227920fb74ce8a0867076a0a635a2ba3277"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl",
"has_sig": false,
"md5_digest": "ca56e10b4f8a570570f2d67f1de32f1f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 474984,
"upload_time": "2024-09-02T16:45:12",
"upload_time_iso_8601": "2024-09-02T16:45:12.352596Z",
"url": "https://files.pythonhosted.org/packages/4f/63/698087dfa8597c604ffc896284572d084a0c27b9ebb3ff6584a1f8de4782/akatsuki_pp_py-1.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fdfd9817b089d1d40637715426309579ea97a58965f7c1ef224f56f6f0f2007f",
"md5": "7b0e2a8917c9ce69b11e67385efdb34d",
"sha256": "73ed5b0287f3b4c83e14e83a1238382677b5d185572e45e83474f60ab2d38af2"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp311-none-win32.whl",
"has_sig": false,
"md5_digest": "7b0e2a8917c9ce69b11e67385efdb34d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 342465,
"upload_time": "2024-09-02T16:45:13",
"upload_time_iso_8601": "2024-09-02T16:45:13.392293Z",
"url": "https://files.pythonhosted.org/packages/fd/fd/9817b089d1d40637715426309579ea97a58965f7c1ef224f56f6f0f2007f/akatsuki_pp_py-1.0.5-cp311-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ebe81f2fe55ab438124f906bdd9fdfca59eab4e53e26c6b60d65fd32dae417a0",
"md5": "f6e95cabb8134a8bc8e61787f357a9fe",
"sha256": "f9951ddc1b79a56f55592f8205c36c687e50c4b5a96fb71e0931d347fad99c23"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp311-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "f6e95cabb8134a8bc8e61787f357a9fe",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 361035,
"upload_time": "2024-09-02T16:45:14",
"upload_time_iso_8601": "2024-09-02T16:45:14.498957Z",
"url": "https://files.pythonhosted.org/packages/eb/e8/1f2fe55ab438124f906bdd9fdfca59eab4e53e26c6b60d65fd32dae417a0/akatsuki_pp_py-1.0.5-cp311-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "20864babeee5cd5ef2148b5b880cb9b4178d4cb4a7e7e07cf576d51051ee0677",
"md5": "75303640255d039c8cecc25bcd03c8ce",
"sha256": "605744ea0d7ea94606a26211756645e37128368878d6dcb698d0efe412816c70"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp37-cp37m-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"has_sig": false,
"md5_digest": "75303640255d039c8cecc25bcd03c8ce",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 847467,
"upload_time": "2024-09-02T16:45:15",
"upload_time_iso_8601": "2024-09-02T16:45:15.688564Z",
"url": "https://files.pythonhosted.org/packages/20/86/4babeee5cd5ef2148b5b880cb9b4178d4cb4a7e7e07cf576d51051ee0677/akatsuki_pp_py-1.0.5-cp37-cp37m-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f2e7795a45adb44b02ecf09751fb971261c06c5dd8035211f2dde8e0fda42dfb",
"md5": "48286ec868aea7b244e09362e1fad273",
"sha256": "99c6cd10cb467415fbff27d4c1bf779f5f7d8af5438ad7b8ee07b9c6bba08b82"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp37-cp37m-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "48286ec868aea7b244e09362e1fad273",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 437527,
"upload_time": "2024-09-02T16:45:16",
"upload_time_iso_8601": "2024-09-02T16:45:16.791434Z",
"url": "https://files.pythonhosted.org/packages/f2/e7/795a45adb44b02ecf09751fb971261c06c5dd8035211f2dde8e0fda42dfb/akatsuki_pp_py-1.0.5-cp37-cp37m-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5e661d54077016d49991dfa378b131a8b442b34ddc4e4e4da542e9be35adbedb",
"md5": "ce1d1e0f05cd87444f847b01505d1bf1",
"sha256": "7751efd54b3a94b1ccbd332412cdf6145e1a0bf8e3eaf479e0524017ec15f419"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "ce1d1e0f05cd87444f847b01505d1bf1",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 455422,
"upload_time": "2024-09-02T16:45:17",
"upload_time_iso_8601": "2024-09-02T16:45:17.885180Z",
"url": "https://files.pythonhosted.org/packages/5e/66/1d54077016d49991dfa378b131a8b442b34ddc4e4e4da542e9be35adbedb/akatsuki_pp_py-1.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "37bb10fbe9bb456ea252a15d387c1ba8a29a2dece110ddcbd844ebdb7047fa08",
"md5": "468daf79954a64c52679e0a6bfe86a8f",
"sha256": "16d203212272e58cc179a677124ceef2b021d9f2134183f3f5bdfc2a7590603a"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "468daf79954a64c52679e0a6bfe86a8f",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 467797,
"upload_time": "2024-09-02T16:45:18",
"upload_time_iso_8601": "2024-09-02T16:45:18.939203Z",
"url": "https://files.pythonhosted.org/packages/37/bb/10fbe9bb456ea252a15d387c1ba8a29a2dece110ddcbd844ebdb7047fa08/akatsuki_pp_py-1.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7137b2068fed39d6dfa4a5fd760f83622c4f91422c94efc2f8659f338ed964e5",
"md5": "d9757c44c8365bd3d2eac2b8074215c9",
"sha256": "e35b77b5e4b222af3c4fcdb643f4231af1074dc09a773e501c75f46fe66c94e9"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl",
"has_sig": false,
"md5_digest": "d9757c44c8365bd3d2eac2b8074215c9",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 475315,
"upload_time": "2024-09-02T16:45:20",
"upload_time_iso_8601": "2024-09-02T16:45:20.086484Z",
"url": "https://files.pythonhosted.org/packages/71/37/b2068fed39d6dfa4a5fd760f83622c4f91422c94efc2f8659f338ed964e5/akatsuki_pp_py-1.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a620c1d3cb14e5b5c93580e89ec13b961e6669b9216b5e96c08fd44136a8b46a",
"md5": "0835ba636759ffe51d2dcba7ee91d836",
"sha256": "d4645c3d20df462fa7775de6a2cd4ff1d25fbbf562a0b21d3dd53eda6227872d"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp37-none-win32.whl",
"has_sig": false,
"md5_digest": "0835ba636759ffe51d2dcba7ee91d836",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 342768,
"upload_time": "2024-09-02T16:45:22",
"upload_time_iso_8601": "2024-09-02T16:45:22.348487Z",
"url": "https://files.pythonhosted.org/packages/a6/20/c1d3cb14e5b5c93580e89ec13b961e6669b9216b5e96c08fd44136a8b46a/akatsuki_pp_py-1.0.5-cp37-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4ed8535b677885c305fe79bf1fa7d3209e07d3b01f2561c2ce4420c57052f8e3",
"md5": "d0d759f1fb6c42fb114c4f7dc10c5901",
"sha256": "c0e28e3767c73960a58904ef3ed1a798a3832bcc88f112387b219778fd828e29"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp37-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "d0d759f1fb6c42fb114c4f7dc10c5901",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 361216,
"upload_time": "2024-09-02T16:45:23",
"upload_time_iso_8601": "2024-09-02T16:45:23.813779Z",
"url": "https://files.pythonhosted.org/packages/4e/d8/535b677885c305fe79bf1fa7d3209e07d3b01f2561c2ce4420c57052f8e3/akatsuki_pp_py-1.0.5-cp37-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0dce4a2e01dfb67a044209c3c51b451fec89b4e6e020d193341a1f5a25499b44",
"md5": "ff779d5bd51f1c67326b9954ede09386",
"sha256": "e0024c7bc2b2d7966f7bd33e9cb4f588d2c7698257c6b626adb458bdcc315a04"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp38-cp38-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"has_sig": false,
"md5_digest": "ff779d5bd51f1c67326b9954ede09386",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 847605,
"upload_time": "2024-09-02T16:45:24",
"upload_time_iso_8601": "2024-09-02T16:45:24.868218Z",
"url": "https://files.pythonhosted.org/packages/0d/ce/4a2e01dfb67a044209c3c51b451fec89b4e6e020d193341a1f5a25499b44/akatsuki_pp_py-1.0.5-cp38-cp38-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "11cfebe2ffc1ea8029d6bf359880e6f53ab1b09498330b75e2355edf6a9134da",
"md5": "6a31b95daa7217a27522ae3f0e7d04bf",
"sha256": "fc59ca5c521c45959284a3d1b41d2ba62fe350ac1df0563d7c9bc989ed44217d"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp38-cp38-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "6a31b95daa7217a27522ae3f0e7d04bf",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 437552,
"upload_time": "2024-09-02T16:45:26",
"upload_time_iso_8601": "2024-09-02T16:45:26.042809Z",
"url": "https://files.pythonhosted.org/packages/11/cf/ebe2ffc1ea8029d6bf359880e6f53ab1b09498330b75e2355edf6a9134da/akatsuki_pp_py-1.0.5-cp38-cp38-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "64a6b349c6262b13eec55c69ddb75b863e3ef53a38e015ee6785b2dd9990cfe9",
"md5": "2323415f27b112221519cf6d3c4bd9d8",
"sha256": "b89782c87a9a623dcdcb4ad59319d12ee0c5308d1ecf9d087e7d50f969a21cc1"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "2323415f27b112221519cf6d3c4bd9d8",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 455361,
"upload_time": "2024-09-02T16:45:27",
"upload_time_iso_8601": "2024-09-02T16:45:27.254933Z",
"url": "https://files.pythonhosted.org/packages/64/a6/b349c6262b13eec55c69ddb75b863e3ef53a38e015ee6785b2dd9990cfe9/akatsuki_pp_py-1.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6073c57c01f2470b8ba473a9b22d72b5e5c56856f44ab648ddbc27da83fe2607",
"md5": "9b35ab06323b2c5aa444ce31243b70bb",
"sha256": "5b2b14cd8df72811a9bf6c2173601584315131b4a7b54037ac753e0d0a4bd16b"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "9b35ab06323b2c5aa444ce31243b70bb",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 467619,
"upload_time": "2024-09-02T16:45:28",
"upload_time_iso_8601": "2024-09-02T16:45:28.427414Z",
"url": "https://files.pythonhosted.org/packages/60/73/c57c01f2470b8ba473a9b22d72b5e5c56856f44ab648ddbc27da83fe2607/akatsuki_pp_py-1.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2ef9bb60dba5e24304d3463e667adf8e92831fb755705166350fa532bc03e480",
"md5": "21586271430d7b23f60c98b57643ab83",
"sha256": "92b211192a6e80f16e0ae46030d1aaa8ec64acee275d3f77ab537e3ceb3ef5ad"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl",
"has_sig": false,
"md5_digest": "21586271430d7b23f60c98b57643ab83",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 475396,
"upload_time": "2024-09-02T16:45:29",
"upload_time_iso_8601": "2024-09-02T16:45:29.556191Z",
"url": "https://files.pythonhosted.org/packages/2e/f9/bb60dba5e24304d3463e667adf8e92831fb755705166350fa532bc03e480/akatsuki_pp_py-1.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "43f326bee1bb2b9c3b229b4c07036c6be91f5bbbba1eaeae5c3d40c67e44e10c",
"md5": "a9ca5304e984ed4eac8505ef8f32161d",
"sha256": "6a3bbee78b93d99a4fbaecf1a1cfca2f040193ecad1bddcf24b2e052285cf239"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp38-none-win32.whl",
"has_sig": false,
"md5_digest": "a9ca5304e984ed4eac8505ef8f32161d",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 342701,
"upload_time": "2024-09-02T16:45:30",
"upload_time_iso_8601": "2024-09-02T16:45:30.956041Z",
"url": "https://files.pythonhosted.org/packages/43/f3/26bee1bb2b9c3b229b4c07036c6be91f5bbbba1eaeae5c3d40c67e44e10c/akatsuki_pp_py-1.0.5-cp38-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8db5b16a8e898d164e4e70ca3ae3bc7cae4d3f7eb0522642e461be6aa7f45663",
"md5": "973696d950b53fdaf5a862df0f8e650a",
"sha256": "b74a727c18dd86cc665563a6146b960427c3d25b0b96b9767ad5a274bfef0c4a"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp38-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "973696d950b53fdaf5a862df0f8e650a",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 361328,
"upload_time": "2024-09-02T16:45:32",
"upload_time_iso_8601": "2024-09-02T16:45:32.290939Z",
"url": "https://files.pythonhosted.org/packages/8d/b5/b16a8e898d164e4e70ca3ae3bc7cae4d3f7eb0522642e461be6aa7f45663/akatsuki_pp_py-1.0.5-cp38-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e02164cff3ec6dc8dbbf2a58116dd18037fbac58faa7187b90322b8fc307f6ec",
"md5": "b0824a19044d153c57e384221229b73d",
"sha256": "28e45d694df23d99a770f535b52e8e40972ada2cc4379c6c43df67949504c888"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"has_sig": false,
"md5_digest": "b0824a19044d153c57e384221229b73d",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 846841,
"upload_time": "2024-09-02T16:45:33",
"upload_time_iso_8601": "2024-09-02T16:45:33.351243Z",
"url": "https://files.pythonhosted.org/packages/e0/21/64cff3ec6dc8dbbf2a58116dd18037fbac58faa7187b90322b8fc307f6ec/akatsuki_pp_py-1.0.5-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e6abf5c5c748d64831751a5b513d580ab3447232cdc78b5dcf2e25adcb8e1568",
"md5": "68e23be23c15ca1605bbce121e552a66",
"sha256": "6ccf1d16e19c6f1e8829b7bb86841621ba30881e0bd41b2dd6d8b698495f6f12"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp39-cp39-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "68e23be23c15ca1605bbce121e552a66",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 437156,
"upload_time": "2024-09-02T16:45:34",
"upload_time_iso_8601": "2024-09-02T16:45:34.542963Z",
"url": "https://files.pythonhosted.org/packages/e6/ab/f5c5c748d64831751a5b513d580ab3447232cdc78b5dcf2e25adcb8e1568/akatsuki_pp_py-1.0.5-cp39-cp39-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "14cff34dfc9c14bbed283bb94ea4ba07e80c67376b3060dd9aa2fa1ca2f0aed8",
"md5": "07eb210a52cd146377719196f6dd5864",
"sha256": "faaa58b19353bff70563b4fc731f51bcd55f55df0b37ec702af669730b0368cb"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "07eb210a52cd146377719196f6dd5864",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 455155,
"upload_time": "2024-09-02T16:45:35",
"upload_time_iso_8601": "2024-09-02T16:45:35.605699Z",
"url": "https://files.pythonhosted.org/packages/14/cf/f34dfc9c14bbed283bb94ea4ba07e80c67376b3060dd9aa2fa1ca2f0aed8/akatsuki_pp_py-1.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e9a836a5c85dc828663a57c91713ed75a09ee1b07f2f533deb8d7468ecc3d82f",
"md5": "64e200f99146db0c14770414d8143f21",
"sha256": "5e6bc462806480cbc1883052f3933746eb1b8631a4acf3ecf3d1802d44165aaf"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "64e200f99146db0c14770414d8143f21",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 467175,
"upload_time": "2024-09-02T16:45:37",
"upload_time_iso_8601": "2024-09-02T16:45:37.028514Z",
"url": "https://files.pythonhosted.org/packages/e9/a8/36a5c85dc828663a57c91713ed75a09ee1b07f2f533deb8d7468ecc3d82f/akatsuki_pp_py-1.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f3abe01e0dacabe42087b93c1b49e25fa2b15ab75110f80c99a0b091697879dc",
"md5": "034eb124264d119e9591cd318c9de5b9",
"sha256": "334a6e7cb19dd820c6536b971f17be2d23718001fc1675ebdf9a9d83474c0b22"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl",
"has_sig": false,
"md5_digest": "034eb124264d119e9591cd318c9de5b9",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 475098,
"upload_time": "2024-09-02T16:45:38",
"upload_time_iso_8601": "2024-09-02T16:45:38.402540Z",
"url": "https://files.pythonhosted.org/packages/f3/ab/e01e0dacabe42087b93c1b49e25fa2b15ab75110f80c99a0b091697879dc/akatsuki_pp_py-1.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a72bd58b9e9e81fcaf8bf566a22b10ab5309630b3f6e74d155f3beb777fdc8cb",
"md5": "aecb1fc4b7d176d7e8ed4591f67be494",
"sha256": "a33b2f5954823fab8316ac8b5da8e633b9c944346ba2c441353624c0c884619c"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp39-none-win32.whl",
"has_sig": false,
"md5_digest": "aecb1fc4b7d176d7e8ed4591f67be494",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 342423,
"upload_time": "2024-09-02T16:45:39",
"upload_time_iso_8601": "2024-09-02T16:45:39.437841Z",
"url": "https://files.pythonhosted.org/packages/a7/2b/d58b9e9e81fcaf8bf566a22b10ab5309630b3f6e74d155f3beb777fdc8cb/akatsuki_pp_py-1.0.5-cp39-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e2e077011bac4da44df5fdf27caf453a71d62976135fba21c47c0eef835aa862",
"md5": "2aaca9113f82ba6181a3287db3035195",
"sha256": "1d16cd61dc763ef8f6d6e10427e71c3c923608474969914f376685a0701600af"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5-cp39-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "2aaca9113f82ba6181a3287db3035195",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 361108,
"upload_time": "2024-09-02T16:45:40",
"upload_time_iso_8601": "2024-09-02T16:45:40.487921Z",
"url": "https://files.pythonhosted.org/packages/e2/e0/77011bac4da44df5fdf27caf453a71d62976135fba21c47c0eef835aa862/akatsuki_pp_py-1.0.5-cp39-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ec35c8c3b7fb9a3543833f547a091c2620735df6b6099359ea55199311eafcd2",
"md5": "209201e0aeec7a6413ea0d51dca5aec4",
"sha256": "6368629844d9f1edea8cbc86c3310449150ba7af6e1a3c70cc7053cf29021394"
},
"downloads": -1,
"filename": "akatsuki_pp_py-1.0.5.tar.gz",
"has_sig": false,
"md5_digest": "209201e0aeec7a6413ea0d51dca5aec4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 18098,
"upload_time": "2024-09-02T16:45:41",
"upload_time_iso_8601": "2024-09-02T16:45:41.541287Z",
"url": "https://files.pythonhosted.org/packages/ec/35/c8c3b7fb9a3543833f547a091c2620735df6b6099359ea55199311eafcd2/akatsuki_pp_py-1.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-02 16:45:41",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "akatsuki-pp-py"
}