Skip to content

The Modernisation Release - 2020-07-10

Compare
Choose a tag to compare
@ashleysommer ashleysommer released this 10 Jul 14:36
· 447 commits to master since this release

Removed

Announcement

  • Python 3.5 support is removed. PySHACL now requires Python 3.6 or above.
    • Routine tests are run using Python 3.6.11, 3.7.8, and 3.8.2.
    • Python 3.9 might work but is not yet supported.

Added

  • Python 3.6-compatible type hinting is added throughout the codebase
  • MyPy library is used to run type checking during testing process
  • Flake8 linting is added to enforce PEP8
  • isort is added to enforce imports linting
  • Black is added to keep formatting consistent across releases

Changed

  • PySHACL is no longer a setuptools-based project with a setup.py and requirements.txt file.
  • PySHACL is now a PEP518 & PEP517 project, it uses pyproject.toml and poetry to manage
    dependencies, build and install.
  • For best compatibility when installing from PyPI with pip, upgrade to pip v18.1.0 or above.
    • If you're on Ubuntu 16.04 or 18.04, you will need to run sudo pip3 install --upgrade pip
  • Editor Line Length for PySHACL code is now set to 119 as opposed to 79 chars.