Recent Releases of clingo
clingo - v5.8.0
Packages
- The easiest way to obtain Python enabled clingo packages is using Anaconda. First install either Anaconda or Miniconda or Miniforge and then run:
conda create -n potassco -c conda-forge clingofor the latest stable package from the conda-forge channelconda create -n potassco -c potassco clingofor the latest stable package from the Potassco channelconda create -n potassco -c potassco/label/dev clingofor the latest development package from the Potassco channel- We recommend to use conda-forge together with Miniforge as it provides a wider range of packages targetting more platforms. Choose the Potassco channel if you are interested in the latest development packages.
- If you have and ARM-based Apple system and want to use conda-forge, run
pip install cffi --forcein thepotasscoenvironment to workaround a bug in libffi.
- Ubuntu users can install packages from our Ubuntu PPA.
- Clingo's Python module is available on PyPI.
- Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
- For Mac OS X, clingo packages are available in homebrew and macports.
Changes
- extend API to read/write aspif programs (#530)
- extend API to remove project and minimize statements (#527)
- fix cffi issues with python 3.12 (#486)
- fix comment enum in Python API (#507)
- bump cmake requirement to 3.10 (#541)
- update clasp fixing various issues (#528)
- C++
Published by rkaminsk 11 months ago
clingo - v5.7.1
Packages
- The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run:
conda install -c potassco clingo. - Ubuntu users can install packages from our Ubuntu PPA.
- Clingo's Python module is available on PyPI.
- Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
- For Mac OS X, clingo packages are available in homebrew and macports.
Changes
- fix comparison of theory elements (#485)
- fix manifest (#484)
- update cibw to also produce Python 3.12 wheels
- C++
Published by rkaminsk about 2 years ago
clingo - v5.7.0
Packages
- The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run:
conda install -c potassco clingo. - Ubuntu users can install packages from our Ubuntu PPA.
- Clingo's Python module is available on PyPI.
- Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
- For Mac OS X, clingo packages are available in homebrew and macports.
Changes
- add AST node for comments (#417)
- add function to change undo mode (#409)
- add function to access priorities to API (#406)
- add
Model::is_consequenceto API (#423) - add option to preserve facts (#457)
- improve hash table performance (#441)
- extend addtheoryatom method of backend (#461) (breaks backward compatibility of the API)
- add contribution guidelines (#465)
- fix
add_theory_atom_with_guardin Python API - fix AST bugs (#403)
- fix parsing of hexadecimal numbers (#421)
- fix assignment aggregates (#436)
- fix build scripts for Python 3.12 (#452)
- fix overflows in IESolver (#462)
- make sure
clingo_control_groundis re-entrant (#418) - update clasp and dependencies
- C++
Published by rkaminsk about 2 years ago
clingo - v5.6.2
Packages
- The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run:
conda install -c potassco clingo. - Ubuntu users can install packages from our Ubuntu PPA.
- Clingo's Python module is available on PyPI.
- Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
- For Mac OS X, clingo packages are available in homebrew and macports.
Changes
- fix AST comparison (#394)
- fix handling of n-ary comparisons in AST (#396)
- C++
Published by rkaminsk over 3 years ago
clingo - v5.6.1
Packages
- The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run:
conda install -c potassco clingo. - Ubuntu users can install packages from our Ubuntu PPA.
- Clingo's Python module is available on PyPI.
- Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
- For Mac OS X, clingo packages are available in homebrew and macports.
Changes
- fix symbolic atom iterator (#389)
- build wheels using cibuildwheel (#391, #392) (this adds additional architectures)
- C++
Published by rkaminsk over 3 years ago
clingo - v5.6.0
Packages
- The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run:
conda install -c potassco clingo. - Ubuntu users can install packages from our Ubuntu PPA.
- Clingo's Python module is available on PyPI.
- Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
- For Mac OS X, clingo packages are available in homebrew and macports.
Changes
- add support for parsing files in ASPIF format (#387) (breaks C API)
- add theory related functions to backend (#381)
- add support for comparisons with more than one relation (#368)
- extend safety by computing intervals from comparisons (#375)
- add and ground base part by default in Python API (#378)
- remove experimental CSP extensions (#367)
- require at least MSVC 15.0 to build on Windows
- large code refactoring (#376)
- replace internal hash set implementation by external one (#386)
- update to clasp version 3.3.9
- C++
Published by rkaminsk over 3 years ago
clingo - v5.5.2
Packages
- The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run:
conda install -c potassco clingo. - Ubuntu users can install packages from our Ubuntu PPA.
- Clingo's Python module is available on PyPI.
- Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
- For Mac OS X, clingo packages are available in homebrew and macports.
Changes
- fix
parse_filesin C++ API - fix adding clauses during enumeration (#359)
- fix incremental projection with backend (#362)
- update clasp
- C++
Published by rkaminsk almost 4 years ago
clingo - v5.5.1
Packages
- The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run:
conda install -c potassco clingo. - Ubuntu users can install packages from our Ubuntu PPA.
- Clingo's Python module is available on PyPI.
- Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
- For Mac OS X, clingo packages are available in homebrew and macports.
Changes
- extend theory class to get version information
- improve performance of
Model.symbol(#296) - tidy up
clingo.hhheader regarding C++17 deprecations (#344) - fix error handling while solving in Python API (#334)
- fix various other bugs
- C++
Published by rkaminsk over 4 years ago
clingo - v5.5.0
Packages
- The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run:
conda install -c potassco clingo. - Ubuntu users can install packages from our Ubuntu PPA.
- Clingo's Python module is available on PyPI.
- Packages for clingo are available for various Linux distributions including Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
- For Mac OS X, clingo packages are available in homebrew and macports.
Changes
- allow for using
notas a theory operator (#193) - improve parsing of disjunctions (#171)
- rename
max_sizetosizein APIs and remove previoussizemethod (breaks backward compatibility but makes things consistent) - refine cmake configuration variables (#283) (package maintainers might have to pay attention here)
- extend clingo API (#236, #231, #228, #227, #187, #171, #174, #183)
- add type annotations and add stub files for type checkers (#212)
- reimplement Python API using CFFI (#253) (breaks backward compatibility regarding the AST and some details)
- add
remove_watchandfreeze_literaltopropagate_init(#285) - add support for Lua 5.4
- add options to select specific Lua/Python versions
- add single-shot solving option (#269) (see installation instructions)
- rename
clingo.Tupletoclingo.Tuple_(to avoid name clashes withtyping.Tuple) - fix propagator initialization (#166)
- fix cleanup function and handling of theory (#169)
- fix shifting of disjunctions (in clasp) (#173)
- fix handling of pools in externals (#179)
- fix logger in Python API (#175)
- fix memory bugs regarding strings (#196)
- fix undo function (#191)
- fix adding literals in propagate init (#192)
- fix handling of undefined arithmetics (#218)
- fix incremental grounding (#248)
- fix/improve handling of classical negation (#268)
- update to clasp version 3.3.6 fixing various issues
- C++
Published by rkaminsk almost 5 years ago
clingo - v5.4.0
Packages
- The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run:
conda install -c potassco clingo. - Packages for clingo are available in the Linux distributions Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
- For Mac OS X, clingo packages are available in homebrew and macports.
Changes
- add extension to implement custom heuristics
- add const modifiers to C API
- add flags to external and const statements to match API functions
- fix python memleaks
- make compatible with msvc 15
- C ABI changes
- extended propagators
- C++ API changes
- unify usage of ProgramBuilder and Backend
- python API changes
TruthValue.{_True,_False}becomesTruthValue.{True_,False_}HeuristicType.{True,False}becomesTruthValue.{True_,False_}asyncand yield becomesasync_andyield_
- improve python API documentation
- use cmakes
find_pythonmodule - update to clasp version 3.3.5
- C++
Published by rkaminsk over 6 years ago
clingo - clingo version 5.3.0
Packages
- The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run:
conda install -c potassco clingo. - Packages for clingo are available in the Linux distributions Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
- For Mac OS X, clingo packages are available in homebrew and macports.
Changes
- change C API to use numeric instead of symbolic literals
- affects assumptions and assigning/releasing externals (breaks backward compatibility)
- added overloads to C++, python and lua API to support both numeric and symbolic version (preserves backward compatibility for most code)
- the python, C and C++ APIs now allow for customizing clingo by implementing a custom main function but reusing the rest of the application including the standard output
- add API function to detect conflicting programs
- add message logger to python and lua interface
- add support for primes in the beginning of identifiers and variable names
- add per solver registration of watches during propagator initialization
- add a directive to selectivel suppress undefined atom warnings
- add support for user defined statistics
- add toc functions for python API to be able to call C functions from python
- only create ground representations for requested program parts when grounding (#71)
- improve program observer (#19)
- support for binary, octal, and hexadecimal numbers (#65)
- the backend has to be opened/closed now
- release python's GIL while grounding (#82)
- TruthValue.{True,False} becomes TruthValue.{_True,_False} in python API
- improve API and it's documentation
- C++
Published by rkaminsk over 7 years ago
clingo - clingo version 5.2.3
Packages
- The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run:
conda install -c potassco clingo. - Packages for clingo are available in the Linux distributions Debian, Ubuntu, and Arch Linux. (For historic reasons, the clingo package is split into gringo and clasp on Ubuntu/Debian.)
- For Mac OS X, clingo packages are available in homebrew and macports.
Changes
- update to clasp version 3.3.4
- really fix --pre option
- fix link to potassco guide (#74)
- fix location printing (#78)
- fix linking problems (#79)
- fix modulo zero (#100)
- fix web builds (#103)
- fix addding clauses after a model has been found (#104)
- fix python program observer bindings (#105)
- expose exponentiation operator in APIs
- improve python docstrings (#101, #102)
- add option to build python and lua modules against an existing libclingo
- C++
Published by rkaminsk over 7 years ago
clingo - clingo version 5.2.2
Packages
- Packages for clingo are available in the Linux distributions Debian, Ubuntu, and Arch Linux (AUR).
- For Mac OS X, clingo packages are available in homebrew and macports.
- The easiest way to obtain Python enabled clingo packages is using Anaconda. Packages are available in the Potassco channel. First install either Anaconda or Miniconda and then run:
conda install -c potassco clingo.
Changes
- update to clasp version 3.3.3
- use GNUInstallDirs in cmake files to simplify packaging
- fix --pre option
- fix swapped clingo_assignment_size and clingo_assignment_max_size
- fix docstrings
- fix incremental mode
- fix sup and inf in python/lua bindings
- fix reified format term tuples
- fix wrong use of python API (causing trouble with python 3.6)
- fix compilation problems on 32bit linux (missing libatomic)
- C++
Published by rkaminsk over 8 years ago
clingo - clingo version 5.2.1
- update to clasp version 3.3.2
- fix handling of istop in incmode programs
- fix handling of undefined ** operations
- fix preprocessing of disjunctions with undefined operations (regression in clingo-5)
- fix segfault during preprocessing (regression in clingo-5)
- C++
Published by rkaminsk over 8 years ago
clingo - clingo version 5.2.0
- switch to MIT license
- improve compatibility with abstract gringo
- switch build system from scons to cmake
- improve windows compatibility
- make tests and examples python 3 compatible
- bison and re2c are no longer required to build source releases
- update to clasp 3.3.0
- the CLINGOPATH environment variable can be set to control from where to include files in logic programs
- propagators can add variables while solving now
- refactor interfaces (breaking backward compatibility)
- there is just one solve function now
- in the C API do not pass structs by value to callbacks because FFIs of some languages do not support this
- fix cleanup function
- numerous other bugfixes not listed here
- C++
Published by rkaminsk almost 9 years ago
clingo - clingo version 5.1.0
- update to clasp 3.2.1
- add interface to add variables during propagation
- add interface to inspect ground rules (C/C++ only)
- add experimental interface to access clasp facade (C/C++ only)
- fixed smodels output (--output=smodels)
- C++
Published by rkaminsk over 9 years ago
clingo - clingo version 5.0.0
- gringo is no longer released separately, instead it is part of this and upcoming clingo releases
- cleanup of python and lua API (breaks backwards compatibility)
- added new aspif output format replacing the old smodels format
- added input language support for clasp features
- #edge directives to add acyclicity constraints
- #project directives for enumeration of projected models
- #heuristic directives to steer clasp's search
- added theory atoms to write aggregate like constructs
- added stable C API documented with doxygen
- added experimental C++ API based on C API
- added theory propagator interface to clingo APIs
- added support for compilation with Visual Studio 2015
- improved data structures to reduce memory consumption on typical input
- updated to clasp version 3.2.0 + patches
- C++
Published by rkaminsk over 9 years ago