passagemath-highs 10.8.1rc3__cp311-cp311-win_arm64.whl

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.
@@ -0,0 +1,3 @@
1
+ # sage_setup: distribution = sagemath-highs
2
+
3
+ from sage.all__sagemath_highs import *
@@ -0,0 +1,2 @@
1
+ Version: 1.12.0
2
+ Arguments: ['C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-7_fpt6e_\\cp311-win_arm64\\build\\venv\\Scripts\\delvewheel', 'repair', '-vv', '--custom-patch', '-w', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-7_fpt6e_\\cp311-win_arm64\\repaired_wheel', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-7_fpt6e_\\cp311-win_arm64\\built_wheel\\passagemath_highs-10.8.1rc3-cp311-cp311-win_arm64.whl']
@@ -0,0 +1,98 @@
1
+ Metadata-Version: 2.4
2
+ Name: passagemath-highs
3
+ Version: 10.8.1rc3
4
+ Summary: passagemath: Linear and mixed integer linear optimization backend using HiGHS
5
+ Author-email: The Sage Developers <sage-support@googlegroups.com>
6
+ Maintainer: Matthias Köppe, passagemath contributors
7
+ License-Expression: GPL-2.0-or-later
8
+ Project-URL: release notes, https://github.com/passagemath/passagemath/releases
9
+ Project-URL: repo (upstream), https://github.com/sagemath/sage
10
+ Project-URL: repo, https://github.com/passagemath/passagemath
11
+ Project-URL: documentation, https://passagemath.org/docs/latest
12
+ Project-URL: homepage (upstream), https://www.sagemath.org
13
+ Project-URL: discourse, https://passagemath.discourse.group
14
+ Project-URL: tracker (upstream), https://github.com/sagemath/sage/issues
15
+ Project-URL: tracker, https://github.com/passagemath/passagemath/issues
16
+ Classifier: Development Status :: 6 - Mature
17
+ Classifier: Intended Audience :: Education
18
+ Classifier: Intended Audience :: Science/Research
19
+ Classifier: Operating System :: POSIX
20
+ Classifier: Operating System :: POSIX :: Linux
21
+ Classifier: Operating System :: MacOS :: MacOS X
22
+ Classifier: Operating System :: Microsoft :: Windows
23
+ Classifier: Programming Language :: Python :: 3 :: Only
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Programming Language :: Python :: Implementation :: CPython
29
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
30
+ Requires-Python: <3.15,>=3.11
31
+ Description-Content-Type: text/x-rst
32
+ Requires-Dist: passagemath-objects==10.8.1rc3
33
+ Requires-Dist: memory_allocator<0.2
34
+ Requires-Dist: cysignals!=1.12.4; sys_platform == "win32"
35
+ Requires-Dist: cysignals!=1.12.0,>=1.11.2
36
+ Provides-Extra: test
37
+ Requires-Dist: passagemath-repl; extra == "test"
38
+ Requires-Dist: passagemath-polyhedra; extra == "test"
39
+
40
+ =========================================================================================================
41
+ passagemath: Linear and mixed integer linear optimization backend using HiGHS
42
+ =========================================================================================================
43
+
44
+ `passagemath <https://github.com/passagemath/passagemath>`__ is open
45
+ source mathematical software in Python, released under the GNU General
46
+ Public Licence GPLv2+.
47
+
48
+ It is a fork of `SageMath <https://www.sagemath.org/>`__, which has been
49
+ developed 2005-2025 under the motto “Creating a Viable Open Source
50
+ Alternative to Magma, Maple, Mathematica, and MATLAB”.
51
+
52
+ The passagemath fork uses the motto "Creating a Free Passage Between the
53
+ Scientific Python Ecosystem and Mathematical Software Communities."
54
+ It was created in October 2024 with the following goals:
55
+
56
+ - providing modularized installation with pip,
57
+ - establishing first-class membership in the scientific Python
58
+ ecosystem,
59
+ - giving `clear attribution of upstream
60
+ projects <https://groups.google.com/g/sage-devel/c/6HO1HEtL1Fs/m/G002rPGpAAAJ>`__,
61
+ - providing independently usable Python interfaces to upstream
62
+ libraries,
63
+ - offering `platform portability and integration testing
64
+ services <https://github.com/passagemath/passagemath/issues/704>`__
65
+ to upstream projects,
66
+ - inviting collaborations with upstream projects,
67
+ - `building a professional, respectful, inclusive
68
+ community <https://groups.google.com/g/sage-devel/c/xBzaINHWwUQ>`__,
69
+ - `empowering Sage users to participate in the scientific Python ecosystem
70
+ <https://github.com/passagemath/passagemath/issues/248>`__ by publishing packages,
71
+ - developing a port to `Pyodide <https://pyodide.org/en/stable/>`__ for
72
+ serverless deployment with Javascript,
73
+ - developing a native Windows port.
74
+
75
+ `Full documentation <https://passagemath.org/docs/latest/html/en/index.html>`__ is
76
+ available online.
77
+
78
+ passagemath attempts to support and provides binary wheels suitable for
79
+ all major Linux distributions and recent versions of macOS.
80
+
81
+ Binary wheels for native Windows (x86_64) are are available for a subset of
82
+ the passagemath distributions. Use of the full functionality of passagemath
83
+ on Windows currently requires the use of Windows Subsystem for Linux (WSL)
84
+ or virtualization.
85
+
86
+ The supported Python versions in the passagemath 10.6.x series are 3.10.x-3.14.x.
87
+
88
+
89
+ About this pip-installable distribution package
90
+ -----------------------------------------------
91
+
92
+ This pip-installable distribution ``passagemath-highs`` provides
93
+ a backend for linear and mixed integer linear optimization backend using HiGHS.
94
+
95
+ It can be installed as an extra of the distribution
96
+ `sagemath-polyhedra <https://pypi.org/project/sagemath-polyhedra>`_::
97
+
98
+ $ pip install "passagemath-polyhedra[highs]"
@@ -0,0 +1,18 @@
1
+ passagemath_highs/__init__.py,sha256=j-ySlGJ35ph_SvQiy8imvRf0TnNIBndbo5lT9FkFLWk,84
2
+ passagemath_highs-10.8.1rc3.dist-info/DELVEWHEEL,sha256=aPjtVf1NnPWIOmpvdjrH357TRG8pv5ZkuT6B-eJifeg,439
3
+ passagemath_highs-10.8.1rc3.dist-info/METADATA,sha256=ok2n_kcgbh2eWOlGJY8J8O5iqWzVIx1q6YKRi3A74qo,4838
4
+ passagemath_highs-10.8.1rc3.dist-info/RECORD,,
5
+ passagemath_highs-10.8.1rc3.dist-info/top_level.txt,sha256=IVCULt9wDQQVPNL3iGfQ70mJWxVcG3aYfXnTPS42jRU,24
6
+ passagemath_highs-10.8.1rc3.dist-info/WHEEL,sha256=TOjiMEtMTiOoNo52-JwlzxjAMyEcfIYPAPYpb7au-Ok,102
7
+ passagemath_highs.libs/libc++-ed3f98626a61fdd3abff58323519007d.dll,sha256=7T-YYmph_dOr_1gyNRkAfc69vIh7JwqRNQgz1rbTtZI,1618432
8
+ passagemath_highs.libs/libhighs-025266193de3fbea5edd48a6000281c8.dll,sha256=lpDh9p90ZfFgxtHzt3d1jOW8e0bZupv5hn4SPKDCT08,80320000
9
+ passagemath_highs.libs/zlib1-bad03dcdb8eadc9f49b21b64350515f3.dll,sha256=utA9zbjq3J9JshtkNQUV8w6Sy_5FaGOdxvsJiB-rEeU,334336
10
+ sage/all__sagemath_highs.py,sha256=KGtpFWihwhr4Ed5inZS-EWpRN8ULE1ydQu89epgxfXU,364
11
+ sage/libs/all__sagemath_highs.py,sha256=NtkqRf9NEKOrhpmxBCoGH6G2stbT-7JFA3VtfvB6NZo,44
12
+ sage/libs/highs/highs_c_api.pxd,sha256=pXKup7EtKBb9lSjqfNh2RNhTS17VaV_kwh55PONfM9g,7826
13
+ sage/libs/highs/__init__.py,sha256=IMs6A-zEFdlyRl8aK79XuGNoPRniepUo7rk8LuLfabM,105
14
+ sage/numerical/all__sagemath_highs.py,sha256=NtkqRf9NEKOrhpmxBCoGH6G2stbT-7JFA3VtfvB6NZo,44
15
+ sage/numerical/backends/all__sagemath_highs.py,sha256=NtkqRf9NEKOrhpmxBCoGH6G2stbT-7JFA3VtfvB6NZo,44
16
+ sage/numerical/backends/highs_backend.cp311-win_arm64.pyd,sha256=7ETx4deVCrrzfQEgmG_wh8n9i3HjjnFhtDkJ2ZxutFM,286208
17
+ sage/numerical/backends/highs_backend.pxd,sha256=Nue1huPS8YGO2a0uTUtEPCUAPK0ADaFF6X-SfxglMB0,1530
18
+ sage/numerical/backends/highs_backend.pyx,sha256=XGtJorSktX33zQ0buTtVwfMXgtKIzkxWadqdQj55quA,94670
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: false
4
+ Tag: cp311-cp311-win_arm64
5
+
@@ -0,0 +1,3 @@
1
+
2
+ passagemath_highs
3
+ sage
@@ -0,0 +1,11 @@
1
+ # sage_setup: distribution = sagemath-highs
2
+ # start delvewheel patch
3
+ def _delvewheel_patch_1_12_0():
4
+ import os
5
+ if os.path.isdir(libs_dir := os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, 'passagemath_highs.libs'))):
6
+ os.add_dll_directory(libs_dir)
7
+
8
+
9
+ _delvewheel_patch_1_12_0()
10
+ del _delvewheel_patch_1_12_0
11
+ # end delvewheel patch
@@ -0,0 +1 @@
1
+ # sage_setup: distribution = sagemath-highs
@@ -0,0 +1,2 @@
1
+ # sage_setup: distribution = sagemath-highs
2
+ """Cython declarations for the HiGHS optimization solver."""
@@ -0,0 +1,200 @@
1
+ # sage_setup: distribution = sagemath-highs
2
+ # distutils: libraries = HIGHS_LIBRARIES
3
+ # distutils: extra_compile_args = HIGHS_CFLAGS
4
+ # distutils: include_dirs = HIGHS_INCDIR
5
+ # distutils: library_dirs = HIGHS_LIBDIR
6
+ # distutils: extra_link_args = HIGHS_LIBEXTRA
7
+ #
8
+ # Cython declarations for the HiGHS C API.
9
+ #
10
+ # This wraps the public header highs/interfaces/highs_c_api.h.
11
+ # The HiGHS headers rely on relative includes within the "highs" include tree,
12
+ # so consumers must compile with -I$includedir/highs (typically provided by
13
+ # pkg-config via `highs.get_compile_args()` in Meson).
14
+
15
+ cdef extern from "highs/interfaces/highs_c_api.h":
16
+ ctypedef int HighsInt
17
+
18
+ # Status constants
19
+ const HighsInt kHighsStatusError
20
+ const HighsInt kHighsStatusOk
21
+ const HighsInt kHighsStatusWarning
22
+
23
+ # Variable type constants
24
+ const HighsInt kHighsVarTypeContinuous
25
+ const HighsInt kHighsVarTypeInteger
26
+ const HighsInt kHighsVarTypeSemiContinuous
27
+ const HighsInt kHighsVarTypeSemiInteger
28
+
29
+ # Objective sense constants
30
+ const HighsInt kHighsObjSenseMinimize
31
+ const HighsInt kHighsObjSenseMaximize
32
+
33
+ # Model status constants
34
+ const HighsInt kHighsModelStatusNotset
35
+ const HighsInt kHighsModelStatusLoadError
36
+ const HighsInt kHighsModelStatusModelError
37
+ const HighsInt kHighsModelStatusPresolveError
38
+ const HighsInt kHighsModelStatusSolveError
39
+ const HighsInt kHighsModelStatusPostsolveError
40
+ const HighsInt kHighsModelStatusModelEmpty
41
+ const HighsInt kHighsModelStatusOptimal
42
+ const HighsInt kHighsModelStatusInfeasible
43
+ const HighsInt kHighsModelStatusUnboundedOrInfeasible
44
+ const HighsInt kHighsModelStatusUnbounded
45
+ const HighsInt kHighsModelStatusObjectiveBound
46
+ const HighsInt kHighsModelStatusObjectiveTarget
47
+ const HighsInt kHighsModelStatusTimeLimit
48
+ const HighsInt kHighsModelStatusIterationLimit
49
+ const HighsInt kHighsModelStatusUnknown
50
+ const HighsInt kHighsModelStatusSolutionLimit
51
+ const HighsInt kHighsModelStatusInterrupt
52
+
53
+ # Basis status constants
54
+ const HighsInt kHighsBasisStatusLower
55
+ const HighsInt kHighsBasisStatusBasic
56
+ const HighsInt kHighsBasisStatusUpper
57
+ const HighsInt kHighsBasisStatusZero
58
+ const HighsInt kHighsBasisStatusNonbasic
59
+
60
+ # Core functions
61
+ void* Highs_create() nogil
62
+ void Highs_destroy(void* highs) nogil
63
+ HighsInt Highs_run(void* highs) nogil
64
+
65
+ # Model building
66
+ HighsInt Highs_addCol(
67
+ void* highs,
68
+ double cost,
69
+ double lower,
70
+ double upper,
71
+ HighsInt num_nz,
72
+ const HighsInt* index,
73
+ const double* value,
74
+ ) nogil
75
+ HighsInt Highs_addRow(
76
+ void* highs,
77
+ double lower,
78
+ double upper,
79
+ HighsInt num_nz,
80
+ const HighsInt* index,
81
+ const double* value,
82
+ ) nogil
83
+ HighsInt Highs_addCols(
84
+ void* highs,
85
+ HighsInt num_new_col,
86
+ const double* costs,
87
+ const double* lower,
88
+ const double* upper,
89
+ HighsInt num_new_nz,
90
+ const HighsInt* starts,
91
+ const HighsInt* indices,
92
+ const double* values,
93
+ ) nogil
94
+ HighsInt Highs_addRows(
95
+ void* highs,
96
+ HighsInt num_new_row,
97
+ const double* lower,
98
+ const double* upper,
99
+ HighsInt num_new_nz,
100
+ const HighsInt* starts,
101
+ const HighsInt* indices,
102
+ const double* values,
103
+ ) nogil
104
+
105
+ # Objective
106
+ HighsInt Highs_changeObjectiveSense(void* highs, HighsInt sense) nogil
107
+ HighsInt Highs_changeColCost(void* highs, HighsInt col, double cost) nogil
108
+ HighsInt Highs_changeObjectiveOffset(void* highs, double offset) nogil
109
+
110
+ # Bounds
111
+ HighsInt Highs_changeColBounds(void* highs, HighsInt col, double lower, double upper) nogil
112
+ HighsInt Highs_changeRowBounds(void* highs, HighsInt row, double lower, double upper) nogil
113
+
114
+ # Integrality
115
+ HighsInt Highs_changeColIntegrality(void* highs, HighsInt col, HighsInt integrality) nogil
116
+ HighsInt Highs_getColIntegrality(const void* highs, HighsInt col, HighsInt* integrality) nogil
117
+
118
+ # Solution queries
119
+ HighsInt Highs_getSolution(
120
+ void* highs,
121
+ double* col_value,
122
+ double* col_dual,
123
+ double* row_value,
124
+ double* row_dual,
125
+ ) nogil
126
+ HighsInt Highs_getBasis(void* highs, HighsInt* col_status, HighsInt* row_status) nogil
127
+
128
+ # Info queries
129
+ HighsInt Highs_getModelStatus(const void* highs) nogil
130
+ HighsInt Highs_getNumCol(const void* highs) nogil
131
+ HighsInt Highs_getNumRow(const void* highs) nogil
132
+ HighsInt Highs_getNumNz(const void* highs) nogil
133
+ double Highs_getInfinity(const void* highs) nogil
134
+ double Highs_getObjectiveValue(const void* highs) nogil
135
+ HighsInt Highs_getDoubleInfoValue(const void* highs, const char* info, double* value) nogil
136
+ HighsInt Highs_getIntInfoValue(const void* highs, const char* info, HighsInt* value) nogil
137
+ HighsInt Highs_getObjectiveSense(const void* highs, HighsInt* sense) nogil
138
+ HighsInt Highs_getObjectiveOffset(const void* highs, double* offset) nogil
139
+
140
+ # Get columns/rows data
141
+ HighsInt Highs_getColsByRange(
142
+ const void* highs,
143
+ HighsInt from_col,
144
+ HighsInt to_col,
145
+ HighsInt* num_col,
146
+ double* costs,
147
+ double* lower,
148
+ double* upper,
149
+ HighsInt* num_nz,
150
+ HighsInt* matrix_start,
151
+ HighsInt* matrix_index,
152
+ double* matrix_value,
153
+ ) nogil
154
+ HighsInt Highs_getRowsByRange(
155
+ const void* highs,
156
+ HighsInt from_row,
157
+ HighsInt to_row,
158
+ HighsInt* num_row,
159
+ double* lower,
160
+ double* upper,
161
+ HighsInt* num_nz,
162
+ HighsInt* matrix_start,
163
+ HighsInt* matrix_index,
164
+ double* matrix_value,
165
+ ) nogil
166
+
167
+ # Name functions
168
+ HighsInt Highs_passColName(void* highs, HighsInt col, const char* name) nogil
169
+ HighsInt Highs_passRowName(void* highs, HighsInt row, const char* name) nogil
170
+
171
+ # Options
172
+ HighsInt Highs_setBoolOptionValue(void* highs, const char* option, HighsInt value) nogil
173
+ HighsInt Highs_setIntOptionValue(void* highs, const char* option, HighsInt value) nogil
174
+ HighsInt Highs_setDoubleOptionValue(void* highs, const char* option, double value) nogil
175
+ HighsInt Highs_setStringOptionValue(void* highs, const char* option, const char* value) nogil
176
+ HighsInt Highs_getBoolOptionValue(const void* highs, const char* option, HighsInt* value) nogil
177
+ HighsInt Highs_getIntOptionValue(const void* highs, const char* option, HighsInt* value) nogil
178
+ HighsInt Highs_getDoubleOptionValue(const void* highs, const char* option, double* value) nogil
179
+ HighsInt Highs_getStringOptionValue(const void* highs, const char* option, char* value) nogil
180
+
181
+ # Write/read model
182
+ HighsInt Highs_writeModel(void* highs, const char* filename) nogil
183
+ HighsInt Highs_readModel(void* highs, const char* filename) nogil
184
+
185
+ # Basis functions
186
+ HighsInt Highs_setBasic(void* highs, HighsInt* col_status, HighsInt* row_status) nogil
187
+ HighsInt Highs_setBasis(void* highs, const HighsInt* col_status, const HighsInt* row_status) nogil
188
+
189
+ # Delete functions
190
+ HighsInt Highs_deleteRowsByRange(void* highs, HighsInt from_row, HighsInt to_row) nogil
191
+ HighsInt Highs_deleteColsByRange(void* highs, HighsInt from_col, HighsInt to_col) nogil
192
+ HighsInt Highs_deleteRowsBySet(void* highs, HighsInt num_set_entries, const HighsInt* set) nogil
193
+ HighsInt Highs_deleteColsBySet(void* highs, HighsInt num_set_entries, const HighsInt* set) nogil
194
+
195
+ # Change coefficient
196
+ HighsInt Highs_changeCoeff(void* highs, HighsInt row, HighsInt col, double value) nogil
197
+
198
+ # Names (not declared nogil since they work with strings)
199
+ HighsInt Highs_getColName(const void* highs, HighsInt col, char* name)
200
+ HighsInt Highs_getRowName(const void* highs, HighsInt row, char* name)
@@ -0,0 +1 @@
1
+ # sage_setup: distribution = sagemath-highs
@@ -0,0 +1 @@
1
+ # sage_setup: distribution = sagemath-highs
@@ -0,0 +1,34 @@
1
+ # sage_setup: distribution = sagemath-highs
2
+ #*****************************************************************************
3
+ # Copyright (C) 2025 SageMath Developers
4
+ #
5
+ # This program is free software: you can redistribute it and/or modify
6
+ # it under the terms of the GNU General Public License as published by
7
+ # the Free Software Foundation, either version 2 of the License, or
8
+ # (at your option) any later version.
9
+ # http://www.gnu.org/licenses/
10
+ #*****************************************************************************
11
+
12
+ from sage.numerical.backends.generic_backend cimport GenericBackend
13
+
14
+ cdef class HiGHSBackend(GenericBackend):
15
+ cdef void* highs
16
+ cdef str prob_name
17
+ cdef dict col_name_var
18
+ cdef dict row_name_var
19
+ cdef dict row_data_cache
20
+ cdef int numcols
21
+ cdef int numrows
22
+ cdef void _get_col_bounds(self, int col, double* lb, double* ub) except *
23
+ cdef void _get_row_bounds(self, int row, double* lb, double* ub) except *
24
+ cpdef __copy__(self)
25
+ cpdef get_row_prim(self, int i)
26
+ cpdef double get_row_dual(self, int i) except? -1
27
+ cpdef double get_col_dual(self, int j) except? -1
28
+ cpdef int get_row_stat(self, int i) except? -1
29
+ cpdef int get_col_stat(self, int j) except? -1
30
+ cpdef set_row_stat(self, int i, int stat)
31
+ cpdef set_col_stat(self, int j, int stat)
32
+ cpdef int warm_up(self) noexcept
33
+ cpdef int add_variable_with_type(self, int vtype, lower_bound=*, upper_bound=*,
34
+ obj=*, name=*) except -1