fsrs-rs-python 0.8.1__tar.gz → 0.9.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/.github/workflows/CI.yml +38 -33
  2. fsrs_rs_python-0.9.2/.github/workflows/autofix.yml +43 -0
  3. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/.github/workflows/lint.yml +7 -9
  4. fsrs_rs_python-0.9.2/Cargo.lock +873 -0
  5. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/Cargo.toml +7 -5
  6. fsrs_rs_python-0.9.2/PKG-INFO +7 -0
  7. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/README.md +2 -0
  8. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/examples/simulate.py +2 -1
  9. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/examples/train_csv.py +53 -13
  10. fsrs_rs_python-0.9.2/fsrs_rs_python.pyi +165 -0
  11. fsrs_rs_python-0.9.2/src/lib.rs +589 -0
  12. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/src/simulator_config.rs +31 -55
  13. fsrs_rs_python-0.8.1/Cargo.lock +0 -3796
  14. fsrs_rs_python-0.8.1/PKG-INFO +0 -40
  15. fsrs_rs_python-0.8.1/fsrs_rs_python.pyi +0 -79
  16. fsrs_rs_python-0.8.1/src/lib.rs +0 -244
  17. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/.github/FUNDING.yml +0 -0
  18. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/.github/dependabot.yml +0 -0
  19. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/.gitignore +0 -0
  20. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/.idx/dev.nix +0 -0
  21. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/.ruff.toml +0 -0
  22. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/examples/example.py +0 -0
  23. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/examples/migrate.py +0 -0
  24. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/examples/optimize.py +0 -0
  25. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/examples/schedule.py +0 -0
  26. {fsrs_rs_python-0.8.1 → fsrs_rs_python-0.9.2}/pyproject.toml +0 -0
@@ -1,4 +1,4 @@
1
- # This file is autogenerated by maturin v1.7.8
1
+ # This file is autogenerated by maturin v1.13.3
2
2
  # To update, run
3
3
  #
4
4
  # maturin generate-ci github
@@ -37,19 +37,19 @@ jobs:
37
37
  - runner: ubuntu-22.04
38
38
  target: ppc64le
39
39
  steps:
40
- - uses: actions/checkout@v4
41
- - uses: actions/setup-python@v5
40
+ - uses: actions/checkout@v6
41
+ - uses: actions/setup-python@v6
42
42
  with:
43
- python-version: 3.x
43
+ python-version: "3.9"
44
44
  - name: Build wheels
45
45
  uses: PyO3/maturin-action@v1
46
46
  with:
47
47
  target: ${{ matrix.platform.target }}
48
48
  args: --release --out dist --find-interpreter
49
- sccache: 'true'
49
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
50
50
  manylinux: auto
51
51
  - name: Upload wheels
52
- uses: actions/upload-artifact@v4
52
+ uses: actions/upload-artifact@v6
53
53
  with:
54
54
  name: wheels-linux-${{ matrix.platform.target }}
55
55
  path: dist
@@ -68,19 +68,19 @@ jobs:
68
68
  - runner: ubuntu-22.04
69
69
  target: armv7
70
70
  steps:
71
- - uses: actions/checkout@v4
72
- - uses: actions/setup-python@v5
71
+ - uses: actions/checkout@v6
72
+ - uses: actions/setup-python@v6
73
73
  with:
74
- python-version: 3.x
74
+ python-version: "3.9"
75
75
  - name: Build wheels
76
76
  uses: PyO3/maturin-action@v1
77
77
  with:
78
78
  target: ${{ matrix.platform.target }}
79
79
  args: --release --out dist --find-interpreter
80
- sccache: 'true'
80
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
81
81
  manylinux: musllinux_1_2
82
82
  - name: Upload wheels
83
- uses: actions/upload-artifact@v4
83
+ uses: actions/upload-artifact@v6
84
84
  with:
85
85
  name: wheels-musllinux-${{ matrix.platform.target }}
86
86
  path: dist
@@ -92,22 +92,27 @@ jobs:
92
92
  platform:
93
93
  - runner: windows-latest
94
94
  target: x64
95
+ python_arch: x64
95
96
  - runner: windows-latest
96
97
  target: x86
98
+ python_arch: x86
99
+ - runner: windows-11-arm
100
+ target: aarch64
101
+ python_arch: arm64
97
102
  steps:
98
- - uses: actions/checkout@v4
99
- - uses: actions/setup-python@v5
103
+ - uses: actions/checkout@v6
104
+ - uses: actions/setup-python@v6
100
105
  with:
101
- python-version: 3.x
102
- architecture: ${{ matrix.platform.target }}
106
+ python-version: "3.13"
107
+ architecture: ${{ matrix.platform.python_arch }}
103
108
  - name: Build wheels
104
109
  uses: PyO3/maturin-action@v1
105
110
  with:
106
111
  target: ${{ matrix.platform.target }}
107
112
  args: --release --out dist --find-interpreter
108
- sccache: 'true'
113
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
109
114
  - name: Upload wheels
110
- uses: actions/upload-artifact@v4
115
+ uses: actions/upload-artifact@v6
111
116
  with:
112
117
  name: wheels-windows-${{ matrix.platform.target }}
113
118
  path: dist
@@ -117,23 +122,23 @@ jobs:
117
122
  strategy:
118
123
  matrix:
119
124
  platform:
120
- - runner: macos-13
125
+ - runner: macos-15-intel
121
126
  target: x86_64
122
- - runner: macos-14
127
+ - runner: macos-latest
123
128
  target: aarch64
124
129
  steps:
125
- - uses: actions/checkout@v4
126
- - uses: actions/setup-python@v5
130
+ - uses: actions/checkout@v6
131
+ - uses: actions/setup-python@v6
127
132
  with:
128
- python-version: 3.x
133
+ python-version: "3.9"
129
134
  - name: Build wheels
130
135
  uses: PyO3/maturin-action@v1
131
136
  with:
132
137
  target: ${{ matrix.platform.target }}
133
138
  args: --release --out dist --find-interpreter
134
- sccache: 'true'
139
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
135
140
  - name: Upload wheels
136
- uses: actions/upload-artifact@v4
141
+ uses: actions/upload-artifact@v6
137
142
  with:
138
143
  name: wheels-macos-${{ matrix.platform.target }}
139
144
  path: dist
@@ -141,14 +146,14 @@ jobs:
141
146
  sdist:
142
147
  runs-on: ubuntu-latest
143
148
  steps:
144
- - uses: actions/checkout@v4
149
+ - uses: actions/checkout@v6
145
150
  - name: Build sdist
146
151
  uses: PyO3/maturin-action@v1
147
152
  with:
148
153
  command: sdist
149
154
  args: --out dist
150
155
  - name: Upload sdist
151
- uses: actions/upload-artifact@v4
156
+ uses: actions/upload-artifact@v6
152
157
  with:
153
158
  name: wheels-sdist
154
159
  path: dist
@@ -166,16 +171,16 @@ jobs:
166
171
  # Used to generate artifact attestation
167
172
  attestations: write
168
173
  steps:
169
- - uses: actions/download-artifact@v4
174
+ - uses: actions/download-artifact@v7
170
175
  - name: Generate artifact attestation
171
- uses: actions/attest-build-provenance@v1
176
+ uses: actions/attest@v4
172
177
  with:
173
178
  subject-path: 'wheels-*/*'
179
+ - name: Install uv
180
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
181
+ uses: astral-sh/setup-uv@v7
174
182
  - name: Publish to PyPI
175
183
  if: ${{ startsWith(github.ref, 'refs/tags/') }}
176
- uses: PyO3/maturin-action@v1
184
+ run: uv publish 'wheels-*/*'
177
185
  env:
178
- MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
179
- with:
180
- command: upload
181
- args: --non-interactive --skip-existing wheels-*/*
186
+ UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,43 @@
1
+ name: autofix.ci
2
+ on:
3
+ workflow_call:
4
+ pull_request:
5
+ push:
6
+ branches: [ "main" ]
7
+ permissions:
8
+ contents: read
9
+
10
+ env:
11
+ rust_clippy: stable # MSRV
12
+
13
+ jobs:
14
+ autofix:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Install uv
20
+ uses: astral-sh/setup-uv@v5
21
+ with:
22
+ enable-cache: true
23
+ - run: uvx ruff check --fix-only .
24
+ - run: uvx ruff format .
25
+
26
+ - uses: actions/cache@v4
27
+ with:
28
+ path: |
29
+ ~/.cargo/bin/
30
+ ~/.cargo/registry/index/
31
+ ~/.cargo/registry/cache/
32
+ ~/.cargo/git/db/
33
+ target/
34
+ key: autofix-${{ hashFiles('**/Cargo.lock') }}
35
+
36
+ - run: rustup toolchain install ${{ env.rust_clippy }} --profile minimal --component rustfmt --component clippy
37
+ - run: rustup default ${{ env.rust_clippy }}
38
+
39
+ - run: cargo clippy --fix --workspace --allow-dirty
40
+ - run: cargo fmt --all
41
+
42
+
43
+ - uses: autofix-ci/action@551dded8c6cc8a1054039c8bc0b8b48c51dfc6ef
@@ -14,20 +14,18 @@ jobs:
14
14
  steps:
15
15
  - uses: actions/checkout@v4
16
16
 
17
- - name: Set up Python
18
- uses: actions/setup-python@v5
17
+ - name: Install uv
18
+ uses: astral-sh/setup-uv@v5
19
19
  with:
20
- python-version: '3.9'
21
- cache: pip
22
-
20
+ enable-cache: true
21
+
23
22
  - name: Install dependencies
24
23
  run: |
25
- python -m pip install --upgrade pip
26
- pip install mypy ruff
24
+ uv python install
27
25
 
28
26
  # Update output format to enable automatic inline annotations.
29
27
  - name: Run Ruff
30
- run: ruff check --output-format=github . && ruff format --check
28
+ run: uvx ruff check --output-format=github . && uvx ruff format --check
31
29
 
32
30
  - name: Run Mypy
33
- run: mypy .
31
+ run: uv tool install ty && ty check .