rina-pp-pyb


Namerina-pp-pyb JSON
Version 0.9.23 PyPI version JSON
download
home_page
Summaryosu! difficulty and pp calculation for all modes
upload_time2023-10-24 16:56:50
maintainer
docs_urlNone
authorMax Ohn <ohn.m@hotmail.de>, Aoba Suzukaze <aoba@rina.place>
requires_python>=3.7
licenseMIT
keywords osu pp stars performance difficulty
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # rosu-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 rosu-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 rosu_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 rosu-pp-py
```
or
```
$ pip install git+https://github.com/MaxOhn/rosu-pp-py
```

## Learn More
- [rosu-pp documentation](https://docs.rs/rosu-pp/latest/rosu_pp/)
- [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": "",
    "name": "rina-pp-pyb",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "osu,pp,stars,performance,difficulty",
    "author": "Max Ohn <ohn.m@hotmail.de>, Aoba Suzukaze <aoba@rina.place>",
    "author_email": "Max Ohn <ohn.m@hotmail.de>, Aoba Suzukaze <aoba@rina.place>",
    "download_url": "https://files.pythonhosted.org/packages/94/75/2aef65ca53022afa770d7b6583f49841d449dd2dc3c7102d87f81f4cc067/rina_pp_pyb-0.9.23.tar.gz",
    "platform": null,
    "description": "# rosu-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 rosu-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 rosu_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 rosu-pp-py\n```\nor\n```\n$ pip install git+https://github.com/MaxOhn/rosu-pp-py\n```\n\n## Learn More\n- [rosu-pp documentation](https://docs.rs/rosu-pp/latest/rosu_pp/)\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": "0.9.23",
    "project_urls": null,
    "split_keywords": [
        "osu",
        "pp",
        "stars",
        "performance",
        "difficulty"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "285e92a5fe09adbcd0dfbb0e1010da0cf3ac354ec63613c3f4bbd198d6bf68b9",
                "md5": "a684fa7f9d3642f6ba493eccb0e4749b",
                "sha256": "1b88a774afa5d65278d8254f641dc1917bd71e4ba86b02ac5ca940c858105d68"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp310-cp310-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a684fa7f9d3642f6ba493eccb0e4749b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 439790,
            "upload_time": "2023-10-24T16:56:00",
            "upload_time_iso_8601": "2023-10-24T16:56:00.840766Z",
            "url": "https://files.pythonhosted.org/packages/28/5e/92a5fe09adbcd0dfbb0e1010da0cf3ac354ec63613c3f4bbd198d6bf68b9/rina_pp_pyb-0.9.23-cp310-cp310-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "acf5d3258b20a2d55e4e5b1ae8231bb9147ff12901c240cfa4c3e5606bd2e695",
                "md5": "50687d3b41a71520fafe5b5f85ea7881",
                "sha256": "88f061390155ba9d4d32a0c6b0bcd9b06c70012820df015da0c8cc8012c6ccdd"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "50687d3b41a71520fafe5b5f85ea7881",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 844813,
            "upload_time": "2023-10-24T16:56:03",
            "upload_time_iso_8601": "2023-10-24T16:56:03.312196Z",
            "url": "https://files.pythonhosted.org/packages/ac/f5/d3258b20a2d55e4e5b1ae8231bb9147ff12901c240cfa4c3e5606bd2e695/rina_pp_pyb-0.9.23-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0938a844258d88ea7282ae50f5a5d2a1eb15b53eaff9300ba0fa7e0eba484d4d",
                "md5": "552bdb2b2992c74084ef2e5960c0796f",
                "sha256": "930b69396d03d327ce01c612960a0fbaa9a3b6e058eaca9f59eac7c04b58cde4"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "552bdb2b2992c74084ef2e5960c0796f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 469892,
            "upload_time": "2023-10-24T16:56:05",
            "upload_time_iso_8601": "2023-10-24T16:56:05.682260Z",
            "url": "https://files.pythonhosted.org/packages/09/38/a844258d88ea7282ae50f5a5d2a1eb15b53eaff9300ba0fa7e0eba484d4d/rina_pp_pyb-0.9.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "75be00cf021a73d715d67688d3f2ef5048ad7f6460e47fcc6b468d8ade6efc56",
                "md5": "7f08d8ee6a85f50fda540628a034ac5c",
                "sha256": "421b19f367e573cc21d607ba3b85b9741469f401fbda15653a6b09e36ec4cf72"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "7f08d8ee6a85f50fda540628a034ac5c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 483492,
            "upload_time": "2023-10-24T16:56:07",
            "upload_time_iso_8601": "2023-10-24T16:56:07.570968Z",
            "url": "https://files.pythonhosted.org/packages/75/be/00cf021a73d715d67688d3f2ef5048ad7f6460e47fcc6b468d8ade6efc56/rina_pp_pyb-0.9.23-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4a9a093f5fcb2048982da166e449a36969dc23744f77f37fbd7b7e55302b67c0",
                "md5": "011e3445ebf819ac2d6a3f0162768bf8",
                "sha256": "e6c52c7b786f64c6e2c7f375172a5ffed60540debf68fc8a5b1b5ffc2b268d11"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp310-none-win32.whl",
            "has_sig": false,
            "md5_digest": "011e3445ebf819ac2d6a3f0162768bf8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 332128,
            "upload_time": "2023-10-24T16:56:09",
            "upload_time_iso_8601": "2023-10-24T16:56:09.129031Z",
            "url": "https://files.pythonhosted.org/packages/4a/9a/093f5fcb2048982da166e449a36969dc23744f77f37fbd7b7e55302b67c0/rina_pp_pyb-0.9.23-cp310-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e1b8c29624412c1803c0c55366ca00a3695bbc8b3d4552f23b6ce5cfe7dc303a",
                "md5": "5dfa4ae96cdbfe77937db3fae9f4c770",
                "sha256": "6a5d5ec8b64fd689d2f589383cafdb38e73e4204bcb0f109d064c2d9c343a078"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp310-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5dfa4ae96cdbfe77937db3fae9f4c770",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 343871,
            "upload_time": "2023-10-24T16:56:10",
            "upload_time_iso_8601": "2023-10-24T16:56:10.505641Z",
            "url": "https://files.pythonhosted.org/packages/e1/b8/c29624412c1803c0c55366ca00a3695bbc8b3d4552f23b6ce5cfe7dc303a/rina_pp_pyb-0.9.23-cp310-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41d2a4c2fbb9b4e804bcc0ece7d2f12cfad755743c910f22d1d75cea9c8dbbb4",
                "md5": "ef2674bd6ec70ac52e16e8e382065bd0",
                "sha256": "b5d1fe4a9c780f8a5dd2c63de1c1e189062ed3a93c2e162699c7e2ded2f2e913"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp311-cp311-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ef2674bd6ec70ac52e16e8e382065bd0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 439789,
            "upload_time": "2023-10-24T16:56:11",
            "upload_time_iso_8601": "2023-10-24T16:56:11.905485Z",
            "url": "https://files.pythonhosted.org/packages/41/d2/a4c2fbb9b4e804bcc0ece7d2f12cfad755743c910f22d1d75cea9c8dbbb4/rina_pp_pyb-0.9.23-cp311-cp311-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6b693a6dea177c62e4d14514a71f7c7227398da783734bd8fc7a4ec110afb69a",
                "md5": "050455810a2f9437f7760c667fe1d9b9",
                "sha256": "fb59302c927f8fc6715ce315450524f7c1310f56bfbb4ef79edf4913769ff4f4"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "050455810a2f9437f7760c667fe1d9b9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 844813,
            "upload_time": "2023-10-24T16:56:13",
            "upload_time_iso_8601": "2023-10-24T16:56:13.280332Z",
            "url": "https://files.pythonhosted.org/packages/6b/69/3a6dea177c62e4d14514a71f7c7227398da783734bd8fc7a4ec110afb69a/rina_pp_pyb-0.9.23-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "012d3b5d463bf4d9e3e7f311b23ea5d6bc658f70ef7ce06a779862ce0ff81f73",
                "md5": "6b2dd5ec424c34ae6448b18657e6838c",
                "sha256": "6bf44d72fd94df08bc70b8d81aa827ca7a5b0c0e3e6bdf230a4a83d2f78137c0"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6b2dd5ec424c34ae6448b18657e6838c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 469891,
            "upload_time": "2023-10-24T16:56:14",
            "upload_time_iso_8601": "2023-10-24T16:56:14.924261Z",
            "url": "https://files.pythonhosted.org/packages/01/2d/3b5d463bf4d9e3e7f311b23ea5d6bc658f70ef7ce06a779862ce0ff81f73/rina_pp_pyb-0.9.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f2ad0a9dc9f9bccaac4c3b785f14a0e42b8e87e20a1e47bb53908e2fc25d91e0",
                "md5": "08ee9e9424702e6efff0ca102fb37dac",
                "sha256": "81e3c1fcb0581fb2ce35a4a6fe431e9b16b5627cc9091945131e46b88e6834cf"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "08ee9e9424702e6efff0ca102fb37dac",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 483491,
            "upload_time": "2023-10-24T16:56:16",
            "upload_time_iso_8601": "2023-10-24T16:56:16.574872Z",
            "url": "https://files.pythonhosted.org/packages/f2/ad/0a9dc9f9bccaac4c3b785f14a0e42b8e87e20a1e47bb53908e2fc25d91e0/rina_pp_pyb-0.9.23-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "65809d1cb765b8e0d2b313e6a1db0f962d61712c5b715fa1a13128fee858649c",
                "md5": "54251eb3f45a7c1eb9556afb6f683b40",
                "sha256": "22f09810f9073c9695a690f93ffb69e0cc05412308c2eca0131c3182e887ab61"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp311-none-win32.whl",
            "has_sig": false,
            "md5_digest": "54251eb3f45a7c1eb9556afb6f683b40",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 332138,
            "upload_time": "2023-10-24T16:56:18",
            "upload_time_iso_8601": "2023-10-24T16:56:18.056351Z",
            "url": "https://files.pythonhosted.org/packages/65/80/9d1cb765b8e0d2b313e6a1db0f962d61712c5b715fa1a13128fee858649c/rina_pp_pyb-0.9.23-cp311-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cd21e5eceb68ca718931efc50c4489981a353ef9ab770a6be12ab434966be5bc",
                "md5": "a5c1d2ac280ebcc70bc91e463dd8b70b",
                "sha256": "05f27c5c3072894e8a43067016563f34468f7e699d3471567327b6a42195a92c"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp311-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a5c1d2ac280ebcc70bc91e463dd8b70b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 343877,
            "upload_time": "2023-10-24T16:56:19",
            "upload_time_iso_8601": "2023-10-24T16:56:19.464800Z",
            "url": "https://files.pythonhosted.org/packages/cd/21/e5eceb68ca718931efc50c4489981a353ef9ab770a6be12ab434966be5bc/rina_pp_pyb-0.9.23-cp311-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "002728c7f49c71320bc7c6a1d6ab639c5d39f351b15347be39de5099d81c7aee",
                "md5": "3888ff0cb9675d52857e998d80ff8231",
                "sha256": "5033bb96048065b682dc328fbbf07a263d280ac0bfb814793f7931eba1f7be8f"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp37-cp37m-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3888ff0cb9675d52857e998d80ff8231",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 440147,
            "upload_time": "2023-10-24T16:56:21",
            "upload_time_iso_8601": "2023-10-24T16:56:21.259468Z",
            "url": "https://files.pythonhosted.org/packages/00/27/28c7f49c71320bc7c6a1d6ab639c5d39f351b15347be39de5099d81c7aee/rina_pp_pyb-0.9.23-cp37-cp37m-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4894962289e52875fa4e6200c519636a79e1bafc4bec4aadcb96f55b5868ed50",
                "md5": "46d8de5a1308505ace1711633de3166c",
                "sha256": "75ec49e16e2c5479394c844e0a1e557de56720b7fd7d7e5b26d159af2a70a66d"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "46d8de5a1308505ace1711633de3166c",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 845410,
            "upload_time": "2023-10-24T16:56:22",
            "upload_time_iso_8601": "2023-10-24T16:56:22.966915Z",
            "url": "https://files.pythonhosted.org/packages/48/94/962289e52875fa4e6200c519636a79e1bafc4bec4aadcb96f55b5868ed50/rina_pp_pyb-0.9.23-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ebe7bf8129f8dfd2ad63345d592f280bbdb894f5a83a9be6be6e0264890619d6",
                "md5": "2aec60455a518f7e284b33e775a361bd",
                "sha256": "76811352213a82f94a89703e1b89db9ebda8ead3c656a4b59384caa49863ad46"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2aec60455a518f7e284b33e775a361bd",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 470117,
            "upload_time": "2023-10-24T16:56:26",
            "upload_time_iso_8601": "2023-10-24T16:56:26.208583Z",
            "url": "https://files.pythonhosted.org/packages/eb/e7/bf8129f8dfd2ad63345d592f280bbdb894f5a83a9be6be6e0264890619d6/rina_pp_pyb-0.9.23-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "64fb333a128426a3f80cdecafecddea57ce4a3bfddb28c88b8bdd56f45a70025",
                "md5": "29f1021bc34116da78c3820eb31cff6b",
                "sha256": "85456c352a89f451d165cfec395b16237f09706c73eb7d77e626ac140d781910"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "29f1021bc34116da78c3820eb31cff6b",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 483914,
            "upload_time": "2023-10-24T16:56:28",
            "upload_time_iso_8601": "2023-10-24T16:56:28.223484Z",
            "url": "https://files.pythonhosted.org/packages/64/fb/333a128426a3f80cdecafecddea57ce4a3bfddb28c88b8bdd56f45a70025/rina_pp_pyb-0.9.23-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "84a5ff7956af03e5ae0c869baa7afadb227e3cbdcf883094d5e5dd6317da1152",
                "md5": "1ced3c1f455c77fd122f4ab8ebbbc5ac",
                "sha256": "7435ab6ea76b85f553bb136e7ca814e966430eafac94023eb4c127a873c34804"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp37-none-win32.whl",
            "has_sig": false,
            "md5_digest": "1ced3c1f455c77fd122f4ab8ebbbc5ac",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 332295,
            "upload_time": "2023-10-24T16:56:30",
            "upload_time_iso_8601": "2023-10-24T16:56:30.045568Z",
            "url": "https://files.pythonhosted.org/packages/84/a5/ff7956af03e5ae0c869baa7afadb227e3cbdcf883094d5e5dd6317da1152/rina_pp_pyb-0.9.23-cp37-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96894d7c3a3df7a382bbf52899e0eda250478ba5f1f52097248b6eb27dc5e6ff",
                "md5": "a198094e583d53fa7ce24609d5471931",
                "sha256": "4d59e095a6aaa54122f5b3fcbfecf5d5b0285099834d3701d514ff66a4c65297"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp37-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a198094e583d53fa7ce24609d5471931",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 343851,
            "upload_time": "2023-10-24T16:56:31",
            "upload_time_iso_8601": "2023-10-24T16:56:31.654755Z",
            "url": "https://files.pythonhosted.org/packages/96/89/4d7c3a3df7a382bbf52899e0eda250478ba5f1f52097248b6eb27dc5e6ff/rina_pp_pyb-0.9.23-cp37-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5d6bc9f17774332be8f3c88dbe33c5a8f14a9e3ca68b3450b3d882c8e2cbc0ba",
                "md5": "89fcc50ab65efd5d268f59ada5301b55",
                "sha256": "c85450d9fe18c9412160422b15709d8ae2591c36f5d1c6b6c21b7b5ae663740e"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp38-cp38-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "89fcc50ab65efd5d268f59ada5301b55",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 439983,
            "upload_time": "2023-10-24T16:56:33",
            "upload_time_iso_8601": "2023-10-24T16:56:33.097174Z",
            "url": "https://files.pythonhosted.org/packages/5d/6b/c9f17774332be8f3c88dbe33c5a8f14a9e3ca68b3450b3d882c8e2cbc0ba/rina_pp_pyb-0.9.23-cp38-cp38-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3bb76a20c716ad0c61e52beb4c335e8daa44feba29e696355ea91518fc1af675",
                "md5": "d0dd917c493b5ae6a67c37ce24c2db08",
                "sha256": "19375571fa44d77aa2063393c1a97fcd2a72671525026ec1e760fd65f102fd2e"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "d0dd917c493b5ae6a67c37ce24c2db08",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 845341,
            "upload_time": "2023-10-24T16:56:34",
            "upload_time_iso_8601": "2023-10-24T16:56:34.632547Z",
            "url": "https://files.pythonhosted.org/packages/3b/b7/6a20c716ad0c61e52beb4c335e8daa44feba29e696355ea91518fc1af675/rina_pp_pyb-0.9.23-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bcb6aa19f894dde8d01286132948b76b01167b2a5aa2c79770fcf13b61bec3bc",
                "md5": "b274a10a986a5f637ec3682e7175bff6",
                "sha256": "014efb28cfc48ecfab0157c0923050cbcb03897a2d7f47f7ad10f9f2c60a69e0"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b274a10a986a5f637ec3682e7175bff6",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 470033,
            "upload_time": "2023-10-24T16:56:36",
            "upload_time_iso_8601": "2023-10-24T16:56:36.286257Z",
            "url": "https://files.pythonhosted.org/packages/bc/b6/aa19f894dde8d01286132948b76b01167b2a5aa2c79770fcf13b61bec3bc/rina_pp_pyb-0.9.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "81c8c676bae15d8f08c161b0f279bf23ffdbcc24922fb3ab67de8408234f86ae",
                "md5": "a02346631c3a685cc3975030ae2865bf",
                "sha256": "a519f3766777565896a65ef5eabf7a5a7790ef9326efa2f6ac034cf007d825b2"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "a02346631c3a685cc3975030ae2865bf",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 483834,
            "upload_time": "2023-10-24T16:56:37",
            "upload_time_iso_8601": "2023-10-24T16:56:37.676238Z",
            "url": "https://files.pythonhosted.org/packages/81/c8/c676bae15d8f08c161b0f279bf23ffdbcc24922fb3ab67de8408234f86ae/rina_pp_pyb-0.9.23-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4f98b109d1f4a12f63a593f3be0474ab05a9d33f035b0dde56ec05acf425873a",
                "md5": "c9a016c10943a2fabf0321369b2fbdae",
                "sha256": "17f22b035f7e163d45b6aeda26808972486b9d21ff160a0724e9f59ed3c5ce86"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp38-none-win32.whl",
            "has_sig": false,
            "md5_digest": "c9a016c10943a2fabf0321369b2fbdae",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 332282,
            "upload_time": "2023-10-24T16:56:39",
            "upload_time_iso_8601": "2023-10-24T16:56:39.168449Z",
            "url": "https://files.pythonhosted.org/packages/4f/98/b109d1f4a12f63a593f3be0474ab05a9d33f035b0dde56ec05acf425873a/rina_pp_pyb-0.9.23-cp38-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a6bc4c49d38522791b253460d80f4bd31432b7a66d1de2cb48e63c6af2adae71",
                "md5": "65bd17cb2872a807e6f4baf597e17c2c",
                "sha256": "b14d710936885e633f9688132926c83a5e12c6ee11bdbfe61c9d593a9bdb6c86"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp38-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "65bd17cb2872a807e6f4baf597e17c2c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 343731,
            "upload_time": "2023-10-24T16:56:40",
            "upload_time_iso_8601": "2023-10-24T16:56:40.653555Z",
            "url": "https://files.pythonhosted.org/packages/a6/bc/4c49d38522791b253460d80f4bd31432b7a66d1de2cb48e63c6af2adae71/rina_pp_pyb-0.9.23-cp38-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "61de3da90f11a1b93c4ec7680bf7e45eaba73d379ccd7fd97b77701b1a2fed85",
                "md5": "9f6f827498b759100db5fef9c5afa24b",
                "sha256": "ed1f41106cc28240efa5cb74eb5f3f668e1d7fef38bc8e5c9ed779ee2d4e1ea6"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp39-cp39-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9f6f827498b759100db5fef9c5afa24b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 439920,
            "upload_time": "2023-10-24T16:56:42",
            "upload_time_iso_8601": "2023-10-24T16:56:42.335483Z",
            "url": "https://files.pythonhosted.org/packages/61/de/3da90f11a1b93c4ec7680bf7e45eaba73d379ccd7fd97b77701b1a2fed85/rina_pp_pyb-0.9.23-cp39-cp39-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1ab43fa8cf2bce9a2594905a5fedc5492a0780b4f9336ae39ae4be898c32a2a3",
                "md5": "cea81903fda90a96a5d9e9117c7e61cb",
                "sha256": "04e37a6f9a665b164ac751deb37e17c65a4f0ac105d5961117263af81ee8aac0"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "cea81903fda90a96a5d9e9117c7e61cb",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 845041,
            "upload_time": "2023-10-24T16:56:43",
            "upload_time_iso_8601": "2023-10-24T16:56:43.878298Z",
            "url": "https://files.pythonhosted.org/packages/1a/b4/3fa8cf2bce9a2594905a5fedc5492a0780b4f9336ae39ae4be898c32a2a3/rina_pp_pyb-0.9.23-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "190e12ed86e9eff25136dfac867cb74d48ee73d58c9a1a1b83e22a4443622d9e",
                "md5": "b8718f008a255dff50bb7a694414e09d",
                "sha256": "9c4a222dccd921c266a20b083e3b7188d34eae7cf733357c9f6536d06b70fe4c"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b8718f008a255dff50bb7a694414e09d",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 470014,
            "upload_time": "2023-10-24T16:56:45",
            "upload_time_iso_8601": "2023-10-24T16:56:45.188921Z",
            "url": "https://files.pythonhosted.org/packages/19/0e/12ed86e9eff25136dfac867cb74d48ee73d58c9a1a1b83e22a4443622d9e/rina_pp_pyb-0.9.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "932dd76e7512f91d35fb3fec5226ccfed2ad5bc38a8bb3cb5461923a1d497d2b",
                "md5": "283ba2b900f3e421f0609e4150939341",
                "sha256": "8acff16fd20da7f6cc5db4fc60ae9d4d02197aaa2048073a5e4410fbb537349f"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "283ba2b900f3e421f0609e4150939341",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 483541,
            "upload_time": "2023-10-24T16:56:46",
            "upload_time_iso_8601": "2023-10-24T16:56:46.666873Z",
            "url": "https://files.pythonhosted.org/packages/93/2d/d76e7512f91d35fb3fec5226ccfed2ad5bc38a8bb3cb5461923a1d497d2b/rina_pp_pyb-0.9.23-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "112b3c87b35809260ac138c555bdd5d02c61950025202eddbb181a3f67db80c8",
                "md5": "ba5a3634a331c4b3e7fa6bfe1719d907",
                "sha256": "ab5e2a1f51f1a0766f31ca046e61d9233e77f72a7fd00f62ed96edb8813b6ad6"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp39-none-win32.whl",
            "has_sig": false,
            "md5_digest": "ba5a3634a331c4b3e7fa6bfe1719d907",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 332044,
            "upload_time": "2023-10-24T16:56:48",
            "upload_time_iso_8601": "2023-10-24T16:56:48.059018Z",
            "url": "https://files.pythonhosted.org/packages/11/2b/3c87b35809260ac138c555bdd5d02c61950025202eddbb181a3f67db80c8/rina_pp_pyb-0.9.23-cp39-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ec39ea5679d95e5efb1abc97717fae2bb291922946802cd573abe917da671d22",
                "md5": "846d8689e947667c7b517a8856701939",
                "sha256": "528f8a344f141ec1129825e283ae18f78b1004dd2c02dcb1a8c3da57fdaf9c4d"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23-cp39-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "846d8689e947667c7b517a8856701939",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 343794,
            "upload_time": "2023-10-24T16:56:49",
            "upload_time_iso_8601": "2023-10-24T16:56:49.522546Z",
            "url": "https://files.pythonhosted.org/packages/ec/39/ea5679d95e5efb1abc97717fae2bb291922946802cd573abe917da671d22/rina_pp_pyb-0.9.23-cp39-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "94752aef65ca53022afa770d7b6583f49841d449dd2dc3c7102d87f81f4cc067",
                "md5": "ca94248c2c1fe40bfe91282acc6b6665",
                "sha256": "a380b73146a86d58d61a30da95bd87df2a4912ae7c353ae21c3ccdc884230f74"
            },
            "downloads": -1,
            "filename": "rina_pp_pyb-0.9.23.tar.gz",
            "has_sig": false,
            "md5_digest": "ca94248c2c1fe40bfe91282acc6b6665",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 25833,
            "upload_time": "2023-10-24T16:56:50",
            "upload_time_iso_8601": "2023-10-24T16:56:50.998877Z",
            "url": "https://files.pythonhosted.org/packages/94/75/2aef65ca53022afa770d7b6583f49841d449dd2dc3c7102d87f81f4cc067/rina_pp_pyb-0.9.23.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-24 16:56:50",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "rina-pp-pyb"
}
        
Elapsed time: 0.13594s