lapcpp 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.
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/benchmark_batch.yaml +1 -1
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/benchmark_single.yaml +1 -1
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/benchmark_tracking.yaml +1 -1
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/integration.yaml +2 -2
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/native.yaml +1 -1
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/prepublish.yaml +3 -3
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/publish.yaml +2 -2
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/tests.yaml +3 -2
- {lapcpp-1.0.0 → lapcpp-1.1.0}/CHANGELOG.md +9 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/CONTRIBUTING.md +1 -1
- {lapcpp-1.0.0/lapcpp.egg-info → lapcpp-1.1.0}/PKG-INFO +1 -1
- {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp/__init__.py +1 -1
- {lapcpp-1.0.0 → lapcpp-1.1.0/lapcpp.egg-info}/PKG-INFO +1 -1
- {lapcpp-1.0.0 → lapcpp-1.1.0}/src/_lapjv/_lapjv.cpp +152 -152
- {lapcpp-1.0.0 → lapcpp-1.1.0}/src/_lapjv/solver.cpp +72 -25
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/constraints/numpy-armv7-build.txt +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/README.md +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/check_dist.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/check_wheel.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/conftest.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/install_numpy_compat.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/pytest.ini +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/requirements.txt +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/test_benchmarks.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/test_editable_install.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/test_setup.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/LICENSE +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/MANIFEST.in +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/NOTICE +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/README.md +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/benchmarks/README.md +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/benchmarks/_common.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/benchmarks/benchmark_batch.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/benchmarks/benchmark_single.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/benchmarks/benchmark_tracking.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/benchmarks/ci_run.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/docs/api.md +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/examples/basic.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp/__init__.pyi +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp/_lapjv.pyi +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp/py.typed +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp.egg-info/SOURCES.txt +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp.egg-info/dependency_links.txt +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp.egg-info/requires.txt +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp.egg-info/top_level.txt +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/pyproject.toml +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/setup.cfg +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/setup.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/src/_lapjv/LICENSE +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/src/_lapjv/_lapjv.pyx +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/src/_lapjv/completion.cpp +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/src/_lapjv/lapjv.h +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/LICENSE +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/README.md +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/assignment_checks.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/check_native_errors.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/check_scipy_free.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/conftest.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/cost_eps.csv.gz +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/lapjv_cases.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/native/CMakeLists.txt +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/native/faults.h +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/native/test_solver.cpp +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/regression_cases.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_batch_paths.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_core.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_cross_package.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_edge_cases.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_lapjv.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_package.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_regressions.py +0 -0
- {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/typing/return_types.py +0 -0
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
23
23
|
strategy:
|
|
24
24
|
fail-fast: false
|
|
25
25
|
matrix:
|
|
26
|
-
os: [ubuntu-
|
|
26
|
+
os: [ubuntu-24.04, windows-latest, macos-latest]
|
|
27
27
|
python: ['3.9', '3.15']
|
|
28
28
|
runs-on: ${{ matrix.os }}
|
|
29
29
|
steps:
|
|
@@ -69,7 +69,7 @@ jobs:
|
|
|
69
69
|
strategy:
|
|
70
70
|
fail-fast: false
|
|
71
71
|
matrix:
|
|
72
|
-
os: [ubuntu-
|
|
72
|
+
os: [ubuntu-24.04, windows-latest, macos-latest]
|
|
73
73
|
python: ['3.9', '3.15']
|
|
74
74
|
runs-on: ${{ matrix.os }}
|
|
75
75
|
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:
|
|
@@ -36,11 +36,11 @@ jobs:
|
|
|
36
36
|
platform: win_arm64
|
|
37
37
|
msvc_arch: arm64
|
|
38
38
|
- name: manylinux-x86_64
|
|
39
|
-
os: ubuntu-
|
|
39
|
+
os: ubuntu-24.04
|
|
40
40
|
arch: x86_64
|
|
41
41
|
platform: manylinux_x86_64
|
|
42
42
|
- name: musllinux-x86_64
|
|
43
|
-
os: ubuntu-
|
|
43
|
+
os: ubuntu-24.04
|
|
44
44
|
arch: x86_64
|
|
45
45
|
platform: musllinux_x86_64
|
|
46
46
|
- name: manylinux-aarch64
|
|
@@ -117,7 +117,7 @@ jobs:
|
|
|
117
117
|
if-no-files-found: error
|
|
118
118
|
compression-level: 0
|
|
119
119
|
sdist:
|
|
120
|
-
runs-on: ubuntu-
|
|
120
|
+
runs-on: ubuntu-24.04
|
|
121
121
|
steps:
|
|
122
122
|
- uses: actions/checkout@v7
|
|
123
123
|
- 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/lapcpp
|
|
@@ -13,7 +13,8 @@ jobs:
|
|
|
13
13
|
strategy:
|
|
14
14
|
fail-fast: false
|
|
15
15
|
matrix:
|
|
16
|
-
|
|
16
|
+
# Pin Ubuntu 24.04 so Python 3.9 remains available as runner defaults change.
|
|
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
|
|
@@ -56,7 +57,7 @@ jobs:
|
|
|
56
57
|
build/build-results.xml
|
|
57
58
|
numpy_compat:
|
|
58
59
|
name: NumPy ${{ matrix.numpy }} / Python ${{ matrix.python }}
|
|
59
|
-
runs-on: ubuntu-
|
|
60
|
+
runs-on: ubuntu-24.04
|
|
60
61
|
strategy:
|
|
61
62
|
fail-fast: false
|
|
62
63
|
matrix:
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.1.0 - 2026-10-26
|
|
4
|
+
|
|
5
|
+
- Bound row-reduction initialization on large rectangular required and finite-limit
|
|
6
|
+
assignments to reduce congestion overhead.
|
|
7
|
+
- Use exact inline finite checks and stabilize minimum-scan code placement in
|
|
8
|
+
native MSVC x64 builds.
|
|
9
|
+
- Preserve public APIs, precision options, and rejection semantics. Performance
|
|
10
|
+
changes depend on the workload.
|
|
11
|
+
|
|
3
12
|
## 1.0.0 - 2026-10-23
|
|
4
13
|
|
|
5
14
|
First stable release.
|
|
@@ -78,7 +78,7 @@ solver families. Preserve the LAPX and original upstream attribution in `NOTICE`
|
|
|
78
78
|
manual runs of the five-candidate comparison, with JSON artifacts.
|
|
79
79
|
|
|
80
80
|
Set up the PyPI Trusted Publisher for this repository, `publish.yaml`, environment
|
|
81
|
-
`pypi`, before publishing. Tag `v1.
|
|
81
|
+
`pypi`, before publishing. Tag `v1.1.0` only when releasing version 1.1.0. The
|
|
82
82
|
manual prepublish workflow creates artifacts without uploading them to PyPI.
|
|
83
83
|
Benchmark workflows accept counterpart and LAPX repository refs. LAPX defaults
|
|
84
84
|
to the `v0.11.1` release; record all
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Native C++ 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 C++ linear assignment solvers with implicit rejection and batch solving.'
|
|
7
7
|
__homepage__ = 'https://github.com/rathaROG/lapcpp'
|