Pytil

Latest version: v7.0.0

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

Scan your dependencies

Page 1 of 2

7.0.0

-----
- Backwards incompatible changes:

- Remove ``path.tsv_lines``: use ``parse.tsv`` instead.
- Remove ``algorithms.spread_points_in_hypercube``: it simply returned opints
on a grid, which can be achieved with numpy.meshgrid, e.g. 3D grid::

import numpy as np
side = np.linspace(0, 1, ceil(n**(1/3)))
points = np.array(np.meshgrid(side, side, side)).reshape(3,-1).T

- Rename ``path.assert_mode`` to ``test.assert_file_mode``
- Rename ``path.assert_equals`` to ``test.assert_file_equals``

- Enhancements/additions:

- Add ``test.assert_dir_equals``
- Add ``various.join_multiline``
- Add ``test.assert_xlsx_equals``
- Add ``parse.csv``
- Add ``parse.tsv``
- Add ``write.csv``
- Add ``write.tsv``

6.0.0

-----
- Backwards incompatible changes:

- Remove ``asyncio.stubborn_gather``: More often than not, when you need this,
you should look into a full blown pipeline framework such as Nextflow
instead.

- Remove ``click.assert_runs``: It is usually simpler to use pytest's
isolation and output capturing than to use this function

- Remove ``click.argument``: Click's arguments are required by default, you
can simply use the real click.argument directly.

- Remove ``dict.assign``: Esoteric and easily replaced by: ``destination.clear();
destination.update(source)``.

- Remove ``function.compose``: Compose can be found in other PyPI packages,
e.g. in Toolz: ``toolz.functoolz.compose``.

- Remove ``http.download``: `urllib.request.urlretrieve` can be used instead,
though the filename suggested by the server is not used. Only the extension of
the downloaded file will match that of the server.

- Remove ``inspect.call_args``: Esoteric, can achieve something very
similar with::

args = inspect.signature(f).bind_partial(*args, **kwargs)
args.apply_defaults()
dict(args.arguments)

- Remove ``iterable.sliding_window``: Use `more_itertools.windowed` instead.
Drop in replacement.

- Remove ``iterable.partition``: If your data is sorted by key, you can just
use `itertools.groupby` as drop in replacement. Else, you can use
``toolz.itertoolz.groupby``, but arg order is swapped and element order may not be
preserved.

- Remove ``iterable.flatten``: Use `more_itertools.collapse` instead.
``flatten(a, b)`` becomes ``collapse(a, levels=b)``.

- Remove ``path.write``: Use `pathlib.Path.write_text` instead. However, you
are now responsible for creating any missing ancestor directories
(`os.makedirs`). The use of mode can be replaced by ``p.touch();
p.chmod(mode); p.write_text()`` or a variation depending on your use case.

- Remove ``path.read``: Use `pathlib.Path.read_text` instead.

- Remove ``pymysql.patch``: Instead of globally patching it, use the ``conv``
argument when creating a pymysql Connection.

- `algorithms.multi_way_partitioning` now returns a frozenbag instead of a bag.

- `multi_dict.MultiDict.invert` now returns a MultiDict instead of a dict.

- Enhancements/additions:

- Add `difflib.line_diff`
- Add `numpy.ArrayLike`
- Add `path.TemporaryDirectory`
- Add `path.is_descendant`
- Add `path.is_descendant_or_self`
- Add `path.sorted_lines`
- Add ``path.tsv_lines``
- Add `pkg_resources.resource_copy`
- Add ``test.assert_dir_unchanged``
- Add ``test.assert_lines_equal``
- Add ``test.assert_xml_equals``
- Add ``test.reset_loggers``
- ``test.assert_text_equals``: Show diff when not equal

- Fixes:

- Fix package: Add missing data files and dependencies
- Fix formatting of ``test.assert_matches``, ``test.assert_search_matches``:
forgot newline after ``Actual:``

5.0.0

-----

Major backwards incompatible change: Renamed root package, pypi name and
project to pytil.

4.1.2

-----
Announce rename to pytil.

4.1.1

-----
- Fixes:

- add missing keys to ``extras_require``: ``hashlib``, ``multi_dict``,
``test``

4.1.0

-----
- Backwards incompatible changes: None

- Enhancements/additions:

- ``click.assert_runs``: pass on extra args to click's ``invoke()``
- ``path.chmod``, ``path.remove``: ignore disappearing children instead of
raising
- Add ``exceptions.exc_info``: exc_info tuple as seen in function parameters
in the ``traceback`` standard module
- Add ``extras_require['all']`` to ``setup.py``: union of all extra
dependencies

- Fixes:

- ``path.chmod``: do not follow symlinks
- ``iterable.flatten``: removed debug prints: ``+``, ``-``

- Internal / implementation details:

- use simple project structure instead of Chicken Turtle Project
- ``pytest-catchlog`` instead of ``pytest-capturelog``
- ``extras_require['dev']``: test dependencies were missing
- ``test_http`` created ``existing_file`` in working dir instead of in test
dir

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.