Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 847f9c5175 | |||
| d6aaa9d5df | |||
| 5692dc1548 | |||
| 4b2f5f5ba7 | |||
| 068f538643 | |||
| b1b647d1ea | |||
| fdd668da2b | |||
| 618c33486d | |||
| cc222094b6 | |||
| c881e301a4 | |||
| 56d7543627 | |||
| 8b7da57138 | |||
| eb6f8e9946 | |||
| 326007bfd0 | |||
| 1908302278 | |||
| b7793f64c7 | |||
| 3930184b32 | |||
| 994388be72 | |||
| 7a1f968b2b | |||
| 795f95dc0e | |||
| 7edcaeeb46 | |||
| a51f2ed966 | |||
| 8f06a746d4 |
@@ -9,28 +9,27 @@ on:
|
||||
jobs:
|
||||
macos:
|
||||
runs-on: macos-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python_version: ['3.7', '3.8', '3.9', '3.10', '3.11']
|
||||
steps:
|
||||
- name: Checkout project
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Python setup
|
||||
uses: actions/setup-python@v2
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: 3.9
|
||||
python-version: ${{ matrix.python_version }}
|
||||
architecture: x64
|
||||
|
||||
|
||||
- name: Rust setup
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
profile: minimal
|
||||
default: true
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Build wheels - x86_64
|
||||
uses: messense/maturin-action@v1
|
||||
uses: PyO3/maturin-action@v1
|
||||
with:
|
||||
target: x86_64
|
||||
args: --release --out dist
|
||||
args: --release --out dist --sdist
|
||||
|
||||
- name: Install built wheel - x86_64
|
||||
run: |
|
||||
@@ -38,10 +37,10 @@ jobs:
|
||||
python -c "import akatsuki_pp_py"
|
||||
|
||||
- name: Build wheels - universal2
|
||||
uses: messense/maturin-action@v1
|
||||
uses: PyO3/maturin-action@v1
|
||||
with:
|
||||
args: --release --universal2 --out dist --no-sdist
|
||||
|
||||
args: --release --universal2 --out dist
|
||||
|
||||
- name: Install built wheel - universal2
|
||||
run: |
|
||||
pip install akatsuki_pp_py --no-index --find-links dist --force-reinstall
|
||||
@@ -57,29 +56,26 @@ jobs:
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python_version: ['3.7', '3.8', '3.9', '3.10', '3.11']
|
||||
target: [x64, x86]
|
||||
steps:
|
||||
- name: Checkout project
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Python setup
|
||||
uses: actions/setup-python@v2
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: 3.9
|
||||
python-version: ${{ matrix.python_version }}
|
||||
architecture: ${{ matrix.target }}
|
||||
|
||||
- name: Rust setup
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
profile: minimal
|
||||
default: true
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Build wheels
|
||||
uses: messense/maturin-action@v1
|
||||
uses: PyO3/maturin-action@v1
|
||||
with:
|
||||
target: ${{ matrix.target }}
|
||||
args: --release --out dist --no-sdist
|
||||
args: --release --out dist
|
||||
|
||||
- name: Install built wheel
|
||||
run: |
|
||||
@@ -93,26 +89,27 @@ jobs:
|
||||
path: dist
|
||||
|
||||
linux:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
target: [x86_64, i686]
|
||||
python_version: ['3.7', '3.8', '3.9', '3.10', '3.11']
|
||||
target: [x86_64, i686, aarch64]
|
||||
steps:
|
||||
- name: Checkout project
|
||||
uses: actions/checkout@v3
|
||||
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Python setup
|
||||
uses: actions/setup-python@v2
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: 3.9
|
||||
python-version: ${{ matrix.python_version }}
|
||||
architecture: x64
|
||||
|
||||
- name: Build wheels
|
||||
uses: messense/maturin-action@v1
|
||||
uses: PyO3/maturin-action@v1
|
||||
with:
|
||||
target: ${{ matrix.target }}
|
||||
manylinux: auto
|
||||
args: --release --out dist --no-sdist
|
||||
args: --release --out dist -i ${{ matrix.python_version }}
|
||||
|
||||
- name: Install built wheel
|
||||
if: matrix.target == 'x86_64'
|
||||
@@ -129,6 +126,9 @@ jobs:
|
||||
release:
|
||||
name: Release
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python_version: ['3.7', '3.8', '3.9', '3.10', '3.11']
|
||||
needs: [ macos, windows, linux ]
|
||||
steps:
|
||||
- name: Get artifacts
|
||||
@@ -137,9 +137,9 @@ jobs:
|
||||
name: wheels
|
||||
|
||||
- name: Python setup
|
||||
uses: actions/setup-python@v2
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: 3.9
|
||||
python-version: ${{ matrix.python_version }}
|
||||
|
||||
- name: Publish to PyPi
|
||||
env:
|
||||
|
||||
Generated
+3
-3
@@ -4,12 +4,12 @@ version = 3
|
||||
|
||||
[[package]]
|
||||
name = "akatsuki-pp"
|
||||
version = "0.9.3"
|
||||
source = "git+https://github.com/osuAkatsuki/akatsuki-pp-rs#4140dc70840044d9d4313731ce04c5793098ed62"
|
||||
version = "0.9.6"
|
||||
source = "git+https://github.com/osuAkatsuki/akatsuki-pp-rs?rev=5c97207f25cf9fd07252dca1ba68d785e2147ce1#5c97207f25cf9fd07252dca1ba68d785e2147ce1"
|
||||
|
||||
[[package]]
|
||||
name = "akatsuki-pp-py"
|
||||
version = "0.9.3"
|
||||
version = "1.0.1"
|
||||
dependencies = [
|
||||
"akatsuki-pp",
|
||||
"pyo3",
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "akatsuki-pp-py"
|
||||
version = "0.9.3"
|
||||
version = "1.0.2"
|
||||
description = "osu! difficulty and pp calculation for all modes"
|
||||
authors = ["Max Ohn <ohn.m@hotmail.de>", "tsunyoku <tsunyoku@gmail.com>"]
|
||||
license = "MIT"
|
||||
@@ -12,7 +12,7 @@ crate-type = ["cdylib"]
|
||||
|
||||
[dependencies]
|
||||
pyo3 = { version = "0.17", features = ["extension-module", "macros"] }
|
||||
akatsuki-pp = { git = "https://github.com/osuAkatsuki/akatsuki-pp-rs", rev = "61cb1564b4fdbffb21748b35f58805327dc4aac4" }
|
||||
akatsuki-pp = { git = "https://github.com/osuAkatsuki/akatsuki-pp-rs", rev = "d6b4cbb90d12e06fa7b9405d87b9922e08522775" }
|
||||
|
||||
[profile.release]
|
||||
lto = "fat"
|
||||
|
||||
+167
-1
@@ -1,3 +1,6 @@
|
||||
from typing import Optional
|
||||
from typing import List
|
||||
|
||||
class Beatmap:
|
||||
"""
|
||||
A class containing a parsed beatmap.
|
||||
@@ -25,7 +28,8 @@ class Beatmap:
|
||||
Throws an exception if the map could not be parsed or an invalid kwarg was given
|
||||
"""
|
||||
|
||||
def __init__(self, **kwargs) -> None: ...
|
||||
def __init__(self, **kwargs) -> None:
|
||||
...
|
||||
|
||||
def set_ar(self, ar: float) -> None:
|
||||
"""
|
||||
@@ -230,6 +234,45 @@ class BeatmapAttributes:
|
||||
Amount of spinners
|
||||
"""
|
||||
|
||||
@property
|
||||
def ar(self) -> float: ...
|
||||
|
||||
@property
|
||||
def cs(self) -> float: ...
|
||||
|
||||
@property
|
||||
def hp(self) -> float: ...
|
||||
|
||||
@property
|
||||
def od(self) -> float: ...
|
||||
|
||||
@property
|
||||
def ar_hit_window(self) -> float: ...
|
||||
|
||||
@property
|
||||
def od_hit_window(self) -> float: ...
|
||||
|
||||
@property
|
||||
def clock_rate(self) -> float: ...
|
||||
|
||||
@property
|
||||
def bpm(self) -> float: ...
|
||||
|
||||
@property
|
||||
def mode(self) -> int: ...
|
||||
|
||||
@property
|
||||
def version(self) -> int: ...
|
||||
|
||||
@property
|
||||
def n_circles(self) -> int: ...
|
||||
|
||||
@property
|
||||
def n_sliders(self) -> int: ...
|
||||
|
||||
@property
|
||||
def n_spinners(self) -> int: ...
|
||||
|
||||
|
||||
class DifficultyAttributes:
|
||||
"""
|
||||
@@ -283,6 +326,69 @@ class DifficultyAttributes:
|
||||
Amount of tiny droplets (C)
|
||||
"""
|
||||
|
||||
@property
|
||||
def mode(self) -> int: ...
|
||||
|
||||
@property
|
||||
def stars(self) -> float: ...
|
||||
|
||||
@property
|
||||
def max_combo(self) -> int: ...
|
||||
|
||||
@property
|
||||
def aim(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def speed(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def flashlight(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def slider_factor(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def speed_note_count(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def ar(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def od(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def n_circles(self) -> Optional[int]: ...
|
||||
|
||||
@property
|
||||
def n_sliders(self) -> Optional[int]: ...
|
||||
|
||||
@property
|
||||
def n_spinners(self) -> Optional[int]: ...
|
||||
|
||||
@property
|
||||
def stamina(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def color(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def rhythm(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def peak(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def hit_window(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def n_fruits(self) -> Optional[int]: ...
|
||||
|
||||
@property
|
||||
def n_droplets(self) -> Optional[int]: ...
|
||||
|
||||
@property
|
||||
def n_tiny_droplets(self) -> Optional[int]: ...
|
||||
|
||||
|
||||
class PerformanceAttributes:
|
||||
"""
|
||||
@@ -312,6 +418,33 @@ class PerformanceAttributes:
|
||||
Difficulty based portion of the performance points (T, M)
|
||||
"""
|
||||
|
||||
@property
|
||||
def mode(self) -> int: ...
|
||||
|
||||
@property
|
||||
def pp(self) -> float: ...
|
||||
|
||||
@property
|
||||
def difficulty(self) -> DifficultyAttributes: ...
|
||||
|
||||
@property
|
||||
def pp_acc(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def pp_aim(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def pp_speed(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def pp_flashlight(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def effective_miss_count(self) -> Optional[float]: ...
|
||||
|
||||
@property
|
||||
def pp_difficulty(self) -> Optional[float]: ...
|
||||
|
||||
|
||||
class Strains:
|
||||
"""
|
||||
@@ -344,3 +477,36 @@ class Strains:
|
||||
`'strains': Optional[List[float]]`
|
||||
Strain values (M)
|
||||
"""
|
||||
|
||||
@property
|
||||
def mode(self) -> int: ...
|
||||
|
||||
@property
|
||||
def section_len(self) -> float: ...
|
||||
|
||||
@property
|
||||
def aim(self) -> Optional[List[float]]: ...
|
||||
|
||||
@property
|
||||
def aim_no_sliders(self) -> Optional[List[float]]: ...
|
||||
|
||||
@property
|
||||
def speed(self) -> Optional[List[float]]: ...
|
||||
|
||||
@property
|
||||
def flashlight(self) -> Optional[List[float]]: ...
|
||||
|
||||
@property
|
||||
def color(self) -> Optional[List[float]]: ...
|
||||
|
||||
@property
|
||||
def stamina(self) -> Optional[List[float]]: ...
|
||||
|
||||
@property
|
||||
def rhythm(self) -> Optional[List[float]]: ...
|
||||
|
||||
@property
|
||||
def movement(self) -> Optional[List[float]]: ...
|
||||
|
||||
@property
|
||||
def strains(self) -> Optional[List[float]]: ...
|
||||
|
||||
+6
-3
@@ -1,10 +1,10 @@
|
||||
[build-system]
|
||||
requires = ["maturin>=0.12,<0.13", "setuptools", "setuptools-rust", "wheel"]
|
||||
requires = ["maturin>=0.14,<0.15"]
|
||||
build-backend = "maturin"
|
||||
|
||||
[project]
|
||||
name = "akatsuki-pp-py"
|
||||
version = "0.9.3"
|
||||
version = "1.0.2"
|
||||
requires-python = ">=3.7"
|
||||
description = "osu! difficulty and pp calculation for all modes"
|
||||
classifiers = [
|
||||
@@ -17,7 +17,10 @@ classifiers = [
|
||||
"Programming Language :: Python :: Implementation :: PyPy",
|
||||
]
|
||||
packages = [{ include = "akatsuki_pp_py" }]
|
||||
authors = [{ name = "Max Ohn", email = "ohn.m@hotmail.de" }, { name = "tsunyoku", email = "tsunyoku@gmail.com" }]
|
||||
authors = [
|
||||
{ name = "Max Ohn", email = "ohn.m@hotmail.de" },
|
||||
{ name = "tsunyoku", email = "tsunyoku@gmail.com" },
|
||||
]
|
||||
readme = "README.md"
|
||||
license = { file = "LICENSE" }
|
||||
repository = "https://github.com/osuAkatsuki/akatsuki-pp-py"
|
||||
|
||||
Reference in New Issue
Block a user