Tarski

Latest version: v0.8.2

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

Scan your dependencies

Page 1 of 2

0.8.2

Fixed
- Fixed pypi publishing workflow.

0.8.0

Changed
- Added support for `clingo`'s `pypi` distribution, avoiding the need to install it manually.
Some internal interfaces were changed, review these changes if your code is coupled to the ASP-based grounding
components (123). `clingo` now is an `extra` dependency of our package. Use `pip install tarski[clingo]`
to install tarski with it. The ASP-based grounding component will fall back to a "manually installed" `clingo`
in the `PATH` if the Python package is not present.
Added
- Temporal planning model:
- Added concept of post-condition (i.e. `at end` conditions) `Action` class
- Added concept of duration to `Action` class
- Added concept of grounding constraints to `Action` class
- Naive grounding features:
- Added method to exhaustively ground terms with subterms that are constants. For instance, the term `foo(x, a)`
where `x` is a variable and `a` is a constant can be now grounded taking into account that the second argument of
`foo` is already fixed to `a`.
- Error reporting and handling:
- `UndefinedTerm`: added name of term as an argument. This enables processing exception data, for instance,
to initialise such terms to some value like `infty` or force the failure to ground some structural element in
a domain, such as an action.
- _Experimental_ support for a SAS writer (work in progress).
- _Experimental_ ply-based PDDL parser (work in progress):
- Current implementation using `ply` package, version 3.11. Eventually will be refactored for `sly`. Plan is
eventually to parse correctly and generate instance structural elements for PDDL 3.1.
- Supported features:
- Instantaneous actions
- Durative actions
- Care has been taken so the parser allows the keyword `at` to be used as a predicate/function/type identifier
- Derived predicates
- Object fluents
- Metrics associated with IPC formulations of temporal planning
- Partial support:
- Conditional effects
- Quantified conditions in preconditions, conditional effects and derived predicates
- Arithmetic expressions and effects
- New formula visitor: `CollectEqualityAtoms`
- What it says on the tin: collects equality atoms that appear as subformulas of a given formula
- New optional `pip` dependency: `ply`
- `FirstOrderLanguage.is_subtype`: it is now checked if there is a path connecting two types in the type hierarchy. If
that is the case, this fact is recorded in the dictionary `indirect_ancestor_sorts`. Whenever a change is made
in the type hierarchy (e.g. adding a new sort or changing the parent of a sort), the cache is invalidated.
Removed
Fixed
- Fixed issue with `parse_atom` method and whitespace in the description of atoms (121)
- Fixed issue with printing of types in untyped domains (113)
- Use real instead of integer numbers by default when parsing with strict_with_requirements=False (114)
- Fixed issue with equality predicates trying to coerce the right hand side to a constant when the left hand side is
a term

0.7.0

Added
- Added some basic forward search capabilities (101).
- Import psutil module conditionally, to offer better support for non-Linux
platforms where it is not available (see discussion in 99).

Removed
- Removed support for `PySDD` and `sdd` extra, which was largely unused, and
hard to integrate into the CI testing.

Deprecated
- Model.set() is now deprecated

Fixed
- Fixed a bug in `check_hypergraph_acyclicity` reported by abcorrea.

0.6.0

Changed
- Switched license to the Apache Software Licence 2.0 (92)

Fixed
- Minor bugfixes and improvements.
- Better compliance with pylint warnings and errors.

0.5.1

Fixed
- Fixed some silly releasing mistakes... through a new release :-)

0.5.0

Added
- Improved documentation (still work in progress though).
- Added methods to simplify problems, actions, logical expressions based on evaluation
of static atoms and terms.
- Added method to compile away negated literals in action preconditions, action effect conditions
and goal, using the standard mechanism of creating additional predicates.
- Almost all benchmarks from the IPC competitions 2008, 2011, 2014, 2018 are now correctly parsed by Tarski.
The unit tests also make sure this keeps being true. The only domain that Tarski cannot parse
correctly is Tidybot, where "cart" is used both as type name and object name. This does not bode well with
the assumptions made in Tarski first-order languages. Problems from domains Floortile and GED need to be parsed
with caution as well, by using, respectively, the parser options `strict_with_requirements=False` and
`case_insensitive=True`, since the first one uses action costs without declaring them in the "requirements" section,
whereas the second one uses lowercase in the domain file, and uppercase in the instance file.
- Improved support for representation and parsing of action costs.
- Added methods to check applicability of an action in a state (model) and to progress a state through an action.
- Added some methods to the `fstrips.representation` module to check and compute delete-free relaxations of problems.
- Modularize Tarski dependencies so that the use and installation of numpy, scipy, etc. is optional.
- Generation of action schema CSPs.

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.