Minizinc

Latest version: v0.9.0

Safety actively analyzes 681866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 3

0.2.3

-------------------

Changed
^^^^^^^
- Add text to the empty MiniZincError that occurs when MiniZinc exits with a non-zero
exit status

Fixed
^^^^^
- Close generated solver configuration before handing it to MiniZinc. This fixes the
usage of generated solver configurations on Windows.
- The DZN parser now constructs correct range objects. The parser was off by one due to
the exclusive upper bound in Python range objects.
- Rewrite MiniZinc fields that are keywords in Python. These names cannot be used
directly as members of a dataclass. Python keywords used in MiniZinc are rewritten to
``"mzn_" + {keyword}`` and a warning is thrown.

0.2.2

-------------------

Added
^^^^^
- Add output property to ``CLIInstance`` to expose the output interface given by
MiniZinc.

Changed
^^^^^^^
- Improved interaction with solution checker models. Solution checkers can
now be added to an Instance``/``Model`` and an ``check`` method will be
added to the generated solution objects.
- Change the Python packaging system back to setuptools due to the excessive
required dependencies of Poetry.

Fixed
^^^^^
- Fix the MiniZinc output parsing of sets of an enumerated type.
- Fix the TypeError that occurred when a hard timeout occurred.
- Allow trailing commas for sets and arrays in DZN files.

0.2.1

-------------------

Added
^^^^^
- Add support for other command line flags for ``CLIInstance.flatten()``
through the use of ``**kwargs``.
- Add initial ``Checker`` class to allow the usage of MiniZinc solution
checkers.

Changed
^^^^^^^
- The string method for ``Result`` will now refer to the string method of its
``Solution`` attribute.

Fixed
^^^^^
- Ensure the event loop selection on Windows to always selects
``ProactorEventLoop``. This ensures the usage on Windows when the python
version ``<= 3.8.0``.

0.2.0

-------------------

Added
^^^^^
- Support and testing for Python 3.8
- Logging of started processes and attributes of generated output items
- Export `Pygments <https://pygments.org>`_ Lexer for MiniZinc

Changed
^^^^^^^
- ``Driver.check_version`` now raises an ``ConfigurationError`` exception
when an incompatible function is detected; otherwise, the method not return a
value.
- Output classes generated by ``CLIIinstance.analyse()`` no longer contain
the `_output_item` `str` attribute when MiniZinc does not find a output item.
(New in MiniZinc 2.3.3)
- Improved parsing of non-standard (numerical) statistical information
provided by the solver.

Fixed
^^^^^
- ``CLIInstance.solutions()``: The separator detection is now OS independent.
The separator previously included a ``\n`` literal instead of ``\r\n`` on
Windows.
- Solve an issue in ``CLIInstance.solution()`` where a solution with a size
bigger than the buffer size would result in a ``LimitOverrunError`` exception.
- Correctly catch the ``asyncio.TimeoutError`` and kill the process when
reaching a hard timeout. (i.e., the solver and ``minizinc`` do not stop in
time)
- Check if file exists before opening file when an error occurs. (File might
have been part of a compiled solver)
- Ensure the ``objective`` attribute is only added to the generated solution
type once
- Remove '\r' characters from input when parsing statistics (Windows Specific).

0.1.0

---------------------

Initial release of MiniZinc Python. This release contains an initial
functionality to use MiniZinc directly from Python using an interface to the
``minizinc`` command line application. The exact functionality available in this
release is best described in the `documentation
<https://minizinc-python.readthedocs.io/en/0.1.0/>`_.


.. _0.9.0: https://github.com/MiniZinc/minizinc-python/compare/0.8.0...0.9.0
.. _0.8.0: https://github.com/MiniZinc/minizinc-python/compare/0.7.0...0.8.0
.. _0.7.0: https://github.com/MiniZinc/minizinc-python/compare/0.6.0...0.7.0
.. _0.6.0: https://github.com/MiniZinc/minizinc-python/compare/0.5.0...0.6.0
.. _0.5.0: https://github.com/MiniZinc/minizinc-python/compare/0.4.2...0.5.0
.. _0.4.2: https://github.com/MiniZinc/minizinc-python/compare/0.4.1...0.4.2
.. _0.4.1: https://github.com/MiniZinc/minizinc-python/compare/0.4.0...0.4.1
.. _0.4.0: https://github.com/MiniZinc/minizinc-python/compare/0.3.3...0.4.0
.. _0.3.3: https://github.com/MiniZinc/minizinc-python/compare/0.3.2...0.3.3
.. _0.3.2: https://github.com/MiniZinc/minizinc-python/compare/0.3.1...0.3.2
.. _0.3.1: https://github.com/MiniZinc/minizinc-python/compare/0.3.0...0.3.1
.. _0.3.0: https://github.com/MiniZinc/minizinc-python/compare/0.2.3...0.3.0
.. _0.2.3: https://github.com/MiniZinc/minizinc-python/compare/0.2.2...0.2.3
.. _0.2.2: https://github.com/MiniZinc/minizinc-python/compare/0.2.1...0.2.2
.. _0.2.1: https://github.com/MiniZinc/minizinc-python/compare/0.2.0...0.2.1
.. _0.2.0: https://github.com/MiniZinc/minizinc-python/compare/0.1.0...0.2.0
.. _0.1.0: https://github.com/MiniZinc/minizinc-python/compare/d14654d65eb747470e11c10747e6dd49baaab0b4...0.1.0
.. _Unreleased: https://github.com/MiniZinc/minizinc-python/compare/stable...develop

Page 3 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.