Access to all MiniZinc functionality directly from Python
This release concerned mostly some of the internals of the Python package, and its dependency management. The little external changes are listed below.
Driver.executable
property to safely access the location
of the executable used by the Driver
object.CLIDriver
and CLIInstance
, and the move of find_driver
to
Driver.find
.__version__
field to the package to abide by the PEP
recommendations.np.array
and
any type that falls under np.generic
).available_solvers
method to the Driver
objects to explicitly
report the available solvers according to the current environment.Solver.lookup
now has an extra refresh
argument to signal whether
the driver should refresh the found solver configurations.--intermediate-solutions
flag when -i
or -a
is supported by
the solver.#pop
rules.
The parser was manually edited to work correctly, but we can no longer
generate is automatically unless the bug in upstream Iro is resolved.-O0
flag to the CLI when optimisation_level
is set
to zero.ann
to str
in Python in
accordance with the JSON output format.CLIInstance
.-v
flag) in CLIInstance
.enum.Enum
class.IntEnum
members. (Lists
are still not correctly represented).check_solution
will now correctly handle solution values of an enumerated
type defined in MiniZinc.check_solution
has been split into two separate functions. The
check_result
function allows the user to check the correctness of a
Result
object and the new check_solution
function can check the
correctness of an individual solution in the form of a data class object or a
dictionary.Model.add_file
no longer has its parse_data
flag enabled by default.ImportError
before LarkError
during Model.add_file()
since
LarkError
will not exist if the import failed.