Release Notes

Check below for new features added in each release. Please note that release notes were not recorded before version 0.5.0.


Features in the 0.6.x series of releases are focused on expanding functionality to include expression satisfiability and transformations.






  • Add is_valid_identifier helper method for checking if symbol names are valid
  • Add checking of valid symbol names to BooleanExpression and TruthTable initalization logic, with corresponding new exception type InvalidIdentifierError
  • Add boolean_variables_factory helper for generating more intuitive collections of symbol inputs
  • Update __iter__ in TruthTable to yield inputs as a namedtuple-like object rather than a plain tuple
  • Re-organize User Guide into different sections instead of one long page
  • Remove PyPy support, due to addition of C-extensions
  • Add OS X builds to Travis
  • Include both 32-bit and 64-bit builds on AppVeyor
  • Add initial wrapper around PicoSAT library for future satisfiability interface; namely, the sat_one method
  • Add automated deployment to PyPI on tagged commits from CI services


Features in the 0.5.x series of releases were focused on expanding the top-level interface and improving optimizations under the hood. See below for specific features and fixes.



  • Added the Release Notes section to the project’s documentation (how fitting for this page)
  • Publically exposed the input_combos method in the TruthTable class
  • Added test coverage for the CPython 3.6, PyPy, and PyPy3 runtimes
  • Migrated all documentation to from Napoleon docstrings to standard Sphinx docstrings
  • Added doctest tests to the documentation
  • Added type-checking to the BooleanExpression class’s initialization
  • Fixed a bug in the handling of empty expressions in the CLI


Unfortunately, release notes were not kept before the 0.5.0 release.