Skip to content

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 16 Aug 17:45
· 164 commits to main since this release

Added

  • py.typed marker, so the Typing :: Typed classifier is honored by type
    checkers (PEP 561).

Changed

  • The duho dependency is now >=0.3.2,<0.4. It was unbounded, so a fresh
    install of 0.1.0 resolved a duho the parser cannot build against and every
    pkgforge invocation failed.
  • sniff_format() reads only the 16 bytes it inspects instead of the whole
    file.

Fixed

  • --exclude with an absolute pattern now works for every source of a
    multi-source install. The parsed statements were rewritten in place when
    bound to a source root, so the second source re-prefixed an already-rebased
    pattern (/a/** -> /src2/src1/a/**) and silently excluded nothing.
  • An exclude statement that does not apply no longer vetoes the statements
    after it. A directory that failed a recursive (**) pattern returned a
    definite "keep" instead of falling through, making the outcome depend on
    statement order (-X '**/*.pyc' -X '(?type:directory)**/tmp' never reached
    the second statement).
  • install -x with a stdin source (-) raises a clear
    cannot infer compression from stdin; pass -x TYPE instead of an
    AttributeError.
  • install -x given a path as its kind is rejected with an explanation.
    -x takes an optional argument, so install -x SRC DST parses SRC as the
    compression kind; with further sources the positionals silently shifted along
    by one and the source path was then run as a decompressor command.

Notes

  • duho 0.4 and newer are not supported. From 0.4.0 the argument model rejects
    Install.source's Union[List[Path], Path] and the parser fails to build,
    so the cap above is what makes this release installable; supporting 0.4+
    requires re-declaring source and exclude against that model.
  • On the supported duho range, --exclude passed through the command line
    parses to a nested list and install then fails; the exclude fixes above
    are reachable through the Python API.

Full Changelog: v0.1.0...v0.1.1