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.
Files changed (72) hide show
  1. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/benchmark_batch.yaml +1 -1
  2. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/benchmark_single.yaml +1 -1
  3. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/benchmark_tracking.yaml +1 -1
  4. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/integration.yaml +2 -2
  5. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/native.yaml +1 -1
  6. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/prepublish.yaml +3 -3
  7. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/publish.yaml +2 -2
  8. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/workflows/tests.yaml +3 -2
  9. {lapcpp-1.0.0 → lapcpp-1.1.0}/CHANGELOG.md +9 -0
  10. {lapcpp-1.0.0 → lapcpp-1.1.0}/CONTRIBUTING.md +1 -1
  11. {lapcpp-1.0.0/lapcpp.egg-info → lapcpp-1.1.0}/PKG-INFO +1 -1
  12. {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp/__init__.py +1 -1
  13. {lapcpp-1.0.0 → lapcpp-1.1.0/lapcpp.egg-info}/PKG-INFO +1 -1
  14. {lapcpp-1.0.0 → lapcpp-1.1.0}/src/_lapjv/_lapjv.cpp +152 -152
  15. {lapcpp-1.0.0 → lapcpp-1.1.0}/src/_lapjv/solver.cpp +72 -25
  16. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/constraints/numpy-armv7-build.txt +0 -0
  17. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/README.md +0 -0
  18. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/check_dist.py +0 -0
  19. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/check_wheel.py +0 -0
  20. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/conftest.py +0 -0
  21. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/install_numpy_compat.py +0 -0
  22. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/pytest.ini +0 -0
  23. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/requirements.txt +0 -0
  24. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/test_benchmarks.py +0 -0
  25. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/test_editable_install.py +0 -0
  26. {lapcpp-1.0.0 → lapcpp-1.1.0}/.github/tests/test_setup.py +0 -0
  27. {lapcpp-1.0.0 → lapcpp-1.1.0}/LICENSE +0 -0
  28. {lapcpp-1.0.0 → lapcpp-1.1.0}/MANIFEST.in +0 -0
  29. {lapcpp-1.0.0 → lapcpp-1.1.0}/NOTICE +0 -0
  30. {lapcpp-1.0.0 → lapcpp-1.1.0}/README.md +0 -0
  31. {lapcpp-1.0.0 → lapcpp-1.1.0}/benchmarks/README.md +0 -0
  32. {lapcpp-1.0.0 → lapcpp-1.1.0}/benchmarks/_common.py +0 -0
  33. {lapcpp-1.0.0 → lapcpp-1.1.0}/benchmarks/benchmark_batch.py +0 -0
  34. {lapcpp-1.0.0 → lapcpp-1.1.0}/benchmarks/benchmark_single.py +0 -0
  35. {lapcpp-1.0.0 → lapcpp-1.1.0}/benchmarks/benchmark_tracking.py +0 -0
  36. {lapcpp-1.0.0 → lapcpp-1.1.0}/benchmarks/ci_run.py +0 -0
  37. {lapcpp-1.0.0 → lapcpp-1.1.0}/docs/api.md +0 -0
  38. {lapcpp-1.0.0 → lapcpp-1.1.0}/examples/basic.py +0 -0
  39. {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp/__init__.pyi +0 -0
  40. {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp/_lapjv.pyi +0 -0
  41. {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp/py.typed +0 -0
  42. {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp.egg-info/SOURCES.txt +0 -0
  43. {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp.egg-info/dependency_links.txt +0 -0
  44. {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp.egg-info/requires.txt +0 -0
  45. {lapcpp-1.0.0 → lapcpp-1.1.0}/lapcpp.egg-info/top_level.txt +0 -0
  46. {lapcpp-1.0.0 → lapcpp-1.1.0}/pyproject.toml +0 -0
  47. {lapcpp-1.0.0 → lapcpp-1.1.0}/setup.cfg +0 -0
  48. {lapcpp-1.0.0 → lapcpp-1.1.0}/setup.py +0 -0
  49. {lapcpp-1.0.0 → lapcpp-1.1.0}/src/_lapjv/LICENSE +0 -0
  50. {lapcpp-1.0.0 → lapcpp-1.1.0}/src/_lapjv/_lapjv.pyx +0 -0
  51. {lapcpp-1.0.0 → lapcpp-1.1.0}/src/_lapjv/completion.cpp +0 -0
  52. {lapcpp-1.0.0 → lapcpp-1.1.0}/src/_lapjv/lapjv.h +0 -0
  53. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/LICENSE +0 -0
  54. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/README.md +0 -0
  55. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/assignment_checks.py +0 -0
  56. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/check_native_errors.py +0 -0
  57. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/check_scipy_free.py +0 -0
  58. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/conftest.py +0 -0
  59. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/cost_eps.csv.gz +0 -0
  60. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/lapjv_cases.py +0 -0
  61. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/native/CMakeLists.txt +0 -0
  62. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/native/faults.h +0 -0
  63. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/native/test_solver.cpp +0 -0
  64. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/regression_cases.py +0 -0
  65. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_batch_paths.py +0 -0
  66. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_core.py +0 -0
  67. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_cross_package.py +0 -0
  68. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_edge_cases.py +0 -0
  69. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_lapjv.py +0 -0
  70. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_package.py +0 -0
  71. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/test_regressions.py +0 -0
  72. {lapcpp-1.0.0 → lapcpp-1.1.0}/tests/typing/return_types.py +0 -0
@@ -21,7 +21,7 @@ jobs:
21
21
  strategy:
22
22
  fail-fast: false
23
23
  matrix:
24
- os: [ubuntu-latest, windows-latest, macos-latest]
24
+ os: [ubuntu-24.04, windows-latest, macos-latest]
25
25
  runs-on: ${{ matrix.os }}
26
26
  steps:
27
27
  - name: Check out lapcpp at the workflow revision
@@ -21,7 +21,7 @@ jobs:
21
21
  strategy:
22
22
  fail-fast: false
23
23
  matrix:
24
- os: [ubuntu-latest, windows-latest, macos-latest]
24
+ os: [ubuntu-24.04, windows-latest, macos-latest]
25
25
  runs-on: ${{ matrix.os }}
26
26
  steps:
27
27
  - name: Check out lapcpp at the workflow revision
@@ -21,7 +21,7 @@ jobs:
21
21
  strategy:
22
22
  fail-fast: false
23
23
  matrix:
24
- os: [ubuntu-latest, windows-latest, macos-latest]
24
+ os: [ubuntu-24.04, windows-latest, macos-latest]
25
25
  runs-on: ${{ matrix.os }}
26
26
  steps:
27
27
  - name: Check out lapcpp at the workflow revision
@@ -23,7 +23,7 @@ jobs:
23
23
  strategy:
24
24
  fail-fast: false
25
25
  matrix:
26
- os: [ubuntu-latest, windows-latest, macos-latest]
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-latest, windows-latest, macos-latest]
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-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest]
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-latest
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-latest
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-latest
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-latest
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-latest
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
- os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest]
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-latest
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.0.0` only when releasing version 1.0.0. The
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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lapcpp
3
- Version: 1.0.0
3
+ Version: 1.1.0
4
4
  Summary: Native C++ linear assignment solvers with implicit rejection and batch solving
5
5
  Home-page: https://github.com/rathaROG/lapcpp
6
6
  Author: Ratha SIV
@@ -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.0.0"
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'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lapcpp
3
- Version: 1.0.0
3
+ Version: 1.1.0
4
4
  Summary: Native C++ linear assignment solvers with implicit rejection and batch solving
5
5
  Home-page: https://github.com/rathaROG/lapcpp
6
6
  Author: Ratha SIV