laprust 1.0.0__tar.gz → 1.1.0__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.
- {laprust-1.0.0 → laprust-1.1.0}/.github/workflows/benchmark_batch.yaml +1 -1
- {laprust-1.0.0 → laprust-1.1.0}/.github/workflows/benchmark_single.yaml +1 -1
- {laprust-1.0.0 → laprust-1.1.0}/.github/workflows/benchmark_tracking.yaml +1 -1
- {laprust-1.0.0 → laprust-1.1.0}/.github/workflows/integration.yaml +3 -2
- {laprust-1.0.0 → laprust-1.1.0}/.github/workflows/native.yaml +1 -1
- {laprust-1.0.0 → laprust-1.1.0}/.github/workflows/prepublish.yaml +3 -3
- {laprust-1.0.0 → laprust-1.1.0}/.github/workflows/publish.yaml +2 -2
- {laprust-1.0.0 → laprust-1.1.0}/.github/workflows/tests.yaml +3 -2
- {laprust-1.0.0 → laprust-1.1.0}/CHANGELOG.md +8 -0
- {laprust-1.0.0 → laprust-1.1.0}/CONTRIBUTING.md +1 -1
- {laprust-1.0.0/laprust.egg-info → laprust-1.1.0}/PKG-INFO +1 -1
- {laprust-1.0.0 → laprust-1.1.0}/laprust/__init__.py +1 -1
- {laprust-1.0.0 → laprust-1.1.0/laprust.egg-info}/PKG-INFO +1 -1
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/_lapjv.cpp +152 -152
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/src/rectangular.rs +9 -1
- {laprust-1.0.0 → laprust-1.1.0}/.github/constraints/numpy-armv7-build.txt +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/.github/tests/README.md +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/.github/tests/check_dist.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/.github/tests/check_wheel.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/.github/tests/conftest.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/.github/tests/install_numpy_compat.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/.github/tests/pytest.ini +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/.github/tests/requirements.txt +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/.github/tests/test_benchmarks.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/.github/tests/test_editable_install.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/.github/tests/test_setup.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/LICENSE +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/MANIFEST.in +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/NOTICE +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/README.md +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/benchmarks/README.md +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/benchmarks/_common.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/benchmarks/benchmark_batch.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/benchmarks/benchmark_single.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/benchmarks/benchmark_tracking.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/benchmarks/ci_run.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/docs/api.md +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/examples/basic.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/laprust/__init__.pyi +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/laprust/_lapjv.pyi +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/laprust/py.typed +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/laprust.egg-info/SOURCES.txt +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/laprust.egg-info/dependency_links.txt +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/laprust.egg-info/requires.txt +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/laprust.egg-info/top_level.txt +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/pyproject.toml +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/setup.cfg +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/setup.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/Cargo.lock +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/Cargo.toml +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/LICENSE +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/THIRD_PARTY_NOTICES +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/_lapjv.pyx +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/examples/profile.rs +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/lapjv.h +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/src/ffi.rs +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/src/ffi_tests.rs +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/src/lib.rs +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/src/profile.rs +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/src/square.rs +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/src/_lapjv/src/test_faults.rs +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/LICENSE +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/README.md +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/assignment_checks.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/check_native_errors.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/check_scipy_free.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/conftest.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/cost_eps.csv.gz +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/lapjv_cases.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/regression_cases.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/test_batch_paths.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/test_core.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/test_cross_package.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/test_edge_cases.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/test_lapjv.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/test_package.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/test_regressions.py +0 -0
- {laprust-1.0.0 → laprust-1.1.0}/tests/typing/return_types.py +0 -0
|
@@ -18,12 +18,13 @@ permissions:
|
|
|
18
18
|
concurrency:
|
|
19
19
|
group: integration-${{ github.ref }}-${{ github.workflow }}
|
|
20
20
|
cancel-in-progress: true
|
|
21
|
+
# Pin Ubuntu 24.04 LTS: setup-python has no Python 3.9 build for Ubuntu 26.04.
|
|
21
22
|
jobs:
|
|
22
23
|
cross_package:
|
|
23
24
|
strategy:
|
|
24
25
|
fail-fast: false
|
|
25
26
|
matrix:
|
|
26
|
-
os: [ubuntu-
|
|
27
|
+
os: [ubuntu-24.04, windows-latest, macos-latest]
|
|
27
28
|
python: ['3.9', '3.15']
|
|
28
29
|
runs-on: ${{ matrix.os }}
|
|
29
30
|
steps:
|
|
@@ -69,7 +70,7 @@ jobs:
|
|
|
69
70
|
strategy:
|
|
70
71
|
fail-fast: false
|
|
71
72
|
matrix:
|
|
72
|
-
os: [ubuntu-
|
|
73
|
+
os: [ubuntu-24.04, windows-latest, macos-latest]
|
|
73
74
|
python: ['3.9', '3.15']
|
|
74
75
|
runs-on: ${{ matrix.os }}
|
|
75
76
|
steps:
|
|
@@ -13,7 +13,7 @@ jobs:
|
|
|
13
13
|
strategy:
|
|
14
14
|
fail-fast: false
|
|
15
15
|
matrix:
|
|
16
|
-
os: [ubuntu-
|
|
16
|
+
os: [ubuntu-24.04, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest]
|
|
17
17
|
runs-on: ${{ matrix.os }}
|
|
18
18
|
timeout-minutes: 20
|
|
19
19
|
steps:
|
|
@@ -38,11 +38,11 @@ jobs:
|
|
|
38
38
|
msvc_arch: arm64
|
|
39
39
|
rust_target: aarch64-pc-windows-msvc
|
|
40
40
|
- name: manylinux-x86_64
|
|
41
|
-
os: ubuntu-
|
|
41
|
+
os: ubuntu-24.04
|
|
42
42
|
arch: x86_64
|
|
43
43
|
platform: manylinux_x86_64
|
|
44
44
|
- name: musllinux-x86_64
|
|
45
|
-
os: ubuntu-
|
|
45
|
+
os: ubuntu-24.04
|
|
46
46
|
arch: x86_64
|
|
47
47
|
platform: musllinux_x86_64
|
|
48
48
|
- name: manylinux-aarch64
|
|
@@ -124,7 +124,7 @@ jobs:
|
|
|
124
124
|
if-no-files-found: error
|
|
125
125
|
compression-level: 0
|
|
126
126
|
sdist:
|
|
127
|
-
runs-on: ubuntu-
|
|
127
|
+
runs-on: ubuntu-24.04
|
|
128
128
|
steps:
|
|
129
129
|
- uses: actions/checkout@v7
|
|
130
130
|
- uses: actions/setup-python@v7
|
|
@@ -6,7 +6,7 @@ permissions:
|
|
|
6
6
|
contents: read
|
|
7
7
|
jobs:
|
|
8
8
|
version:
|
|
9
|
-
runs-on: ubuntu-
|
|
9
|
+
runs-on: ubuntu-24.04
|
|
10
10
|
steps:
|
|
11
11
|
- uses: actions/checkout@v7
|
|
12
12
|
- uses: actions/setup-python@v7
|
|
@@ -26,7 +26,7 @@ jobs:
|
|
|
26
26
|
# Integration, native and sanitizer suites run on PRs or manual dispatch.
|
|
27
27
|
publish:
|
|
28
28
|
needs: build
|
|
29
|
-
runs-on: ubuntu-
|
|
29
|
+
runs-on: ubuntu-24.04
|
|
30
30
|
environment:
|
|
31
31
|
name: pypi
|
|
32
32
|
url: https://pypi.org/p/laprust
|
|
@@ -8,12 +8,13 @@ permissions:
|
|
|
8
8
|
concurrency:
|
|
9
9
|
group: tests-${{ github.ref }}
|
|
10
10
|
cancel-in-progress: true
|
|
11
|
+
# Pin Ubuntu 24.04 LTS: setup-python has no Python 3.9 build for Ubuntu 26.04.
|
|
11
12
|
jobs:
|
|
12
13
|
test:
|
|
13
14
|
strategy:
|
|
14
15
|
fail-fast: false
|
|
15
16
|
matrix:
|
|
16
|
-
os: [ubuntu-
|
|
17
|
+
os: [ubuntu-24.04, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest]
|
|
17
18
|
python: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14', '3.15']
|
|
18
19
|
exclude:
|
|
19
20
|
- os: windows-11-arm
|
|
@@ -60,7 +61,7 @@ jobs:
|
|
|
60
61
|
build/build-results.xml
|
|
61
62
|
numpy_compat:
|
|
62
63
|
name: NumPy ${{ matrix.numpy }} / Python ${{ matrix.python }}
|
|
63
|
-
runs-on: ubuntu-
|
|
64
|
+
runs-on: ubuntu-24.04
|
|
64
65
|
strategy:
|
|
65
66
|
fail-fast: false
|
|
66
67
|
matrix:
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.1.0 - 2026-10-26
|
|
4
|
+
|
|
5
|
+
- Bound row-reduction initialization on large rectangular inputs to improve
|
|
6
|
+
congested assignments, using separate budgets for required and finite-limit
|
|
7
|
+
solving while preserving the public API and assignment objective.
|
|
8
|
+
- Keep the rectangular core synchronized with LAPX's Rust and hybrid solvers.
|
|
9
|
+
- Performance gains depend on the workload; some small-input slowdowns remain.
|
|
10
|
+
|
|
3
11
|
## 1.0.0 - 2026-10-23
|
|
4
12
|
|
|
5
13
|
First stable release.
|
|
@@ -79,7 +79,7 @@ solver families. Preserve the LAPX and original upstream attribution in `NOTICE`
|
|
|
79
79
|
manual runs of the five-candidate comparison, with JSON artifacts.
|
|
80
80
|
|
|
81
81
|
Set up the PyPI Trusted Publisher for this repository, `publish.yaml`, environment
|
|
82
|
-
`pypi`, before publishing. Tag `v1.
|
|
82
|
+
`pypi`, before publishing. Tag `v1.1.0` only when releasing version 1.1.0. The
|
|
83
83
|
manual prepublish workflow creates artifacts without uploading them to PyPI.
|
|
84
84
|
Benchmark workflows accept counterpart and LAPX repository refs. LAPX defaults
|
|
85
85
|
to the `v0.11.1` release; record all
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Native Rust linear assignment solvers with implicit rejection and batch solving."""
|
|
2
2
|
from ._lapjv import lapjv, lapjv_batch
|
|
3
3
|
|
|
4
|
-
__version__ = "1.
|
|
4
|
+
__version__ = "1.1.0"
|
|
5
5
|
__author__ = 'Ratha SIV'
|
|
6
6
|
__description__ = 'Native Rust linear assignment solvers with implicit rejection and batch solving.'
|
|
7
7
|
__homepage__ = 'https://github.com/rathaROG/laprust'
|