fabiocaccamo/python-fsutil

View on GitHub
CHANGELOG.md

Summary

Maintainability
Test Coverage
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.14.1](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.14.1) - 2024-03-19
-   Add `mypy` to `pre-commit`.
-   Add `transform_filepath` method. #12 #13
-   Fix `join_filename` return value when `basename` or `extension` are empty.
-   Fix `pyproject` `Ruff` conf warnings.
-   Bump requirements and `pre-commit` hooks.

## [0.13.1](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.13.1) - 2024-01-24
-   Fix permissions inheritance from existing file when using `write_file` with `atomic=True`. #94
-   Bump requirements and `pre-commit` hooks.

## [0.13.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.13.0) - 2023-12-19
-   Add `get_permissions` and `set_permissions` methods.
-   Fix permissions lost when using `write_file` with `atomic=True`. #94
-   Improve `write_file` with `atomic=True` atomicity. #91
-   Remove tests duplicated code.

## [0.12.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.12.0) - 2023-12-11
-   Add possibility to write files atomically (`fsutil.write_file(path, content, atomic=True)`). #91

## [0.11.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.11.0) - 2023-11-01
-   Add `Python 3.12` support. (#84)
-   Add `tar` files operations support. #48 (#87)
-   Switch from `setup.cfg` to `pyproject.toml`.
-   Replace `flake8` with `Ruff`.
-   Fix `tox` test command.
-   Upgrade syntax for `Python >= 3.8`.
-   Reformat tests code.
-   Set `Black` pre-commit hook `line-length` option value.
-   Add `fix-future-annotations` `pre-commit` hook.
-   Bump requirements and `pre-commit` hooks.

## [0.10.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.10.0) - 2023-02-01
-   Rename default branch from `master` to `main`.
-   Move `flake8` config to `setup.cfg`.
-   Increase `flake8` checks.
-   Add `mypy` to CI (strict mode).
-   Add `pre-commit` to CI.
-   Force keyword arguments .
-   Remove unused import.
-   Add type hints. #18
-   Bump requirements and `pre-commit` hooks.

## [0.9.3](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.9.3) - 2023-01-12
-   Remove `tests/` from dist.

## [0.9.2](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.9.2) - 2023-01-11
-   Fix `FileNotFoundError` when calling `make_dirs_for_file` with filename only.
-   Pin test requirements.
-   Bump test requirements.

## [0.9.1](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.9.1) - 2023-01-02
-   Fix `OSError` when downloading multiple files to the same temp dir.

## [0.9.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.9.0) - 2023-01-02
-   Drop old code targeting `Python < 3.8`.
-   Add `get_unique_name` method.
-   Add `replace_file` method.
-   Add `replace_dir` method.
-   Add `get_dir_hash` method. #10
-   Add support to `pathlib.Path` path arguments. #14
-   Add default value for `pattern` argument in `search_dirs` and `search_files` methods.
-   Add more assertions on path args.
-   Increase tests coverage.
-   Add `setup.cfg` (`setuptools` declarative syntax) generated using `setuptools-py2cfg`.
-   Add `pyupgrade` to `pre-commit` config.
-   Fix duplicated test name.
-   Remove unused variable in tests.

## [0.8.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.8.0) - 2022-12-09
-   Add `Python 3.11` support.
-   Drop `Python < 3.8` support. #17
-   Add `pypy` to CI.
-   Add `pre-commit`.
-   Add default json encoder to `write_file_json` for encoding also `datetime` and `set` objects by default.
-   Replace `str.format` with `f-strings`.
-   Make `dirpath` argument optional in `download_file` method.
-   Fix `download_file` `NameError` when `requests` is not installed.
-   Increase tests coverage.
-   Bump requirements and GitHub actions versions.

## [0.7.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.7.0) - 2022-09-13
-   Add `read_file_lines_count` method.
-   Update `read_file_lines` method with two new arguments: `line_start` and `line_end` *(for specifying the lines-range to read)*.

## [0.6.1](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.6.1) - 2022-05-20
-   Fixed `create_zip_file` content directory structure.

## [0.6.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.6.0) - 2022-01-25
-   Added `read_file_json` and `write_file_json` methods.
-   Removed `requests` requirement *(it's optional now)*.

## [0.5.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.5.0) - 2021-05-03
-   Added `get_parent_dir` method.
-   Updated `join_path` to force concatenation even with absolute paths.
-   Updated `join_path` to return a normalized path.
-   Updated `join_filepath` method to use `join_path`.

## [0.4.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.4.0) - 2020-12-23
-   Added `delete_dir_content` method (alias for `remove_dir_content` method).
-   Added `download_file` method.
-   Added `read_file_from_url` method.
-   Added `remove_dir_content` and method.

## [0.3.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.3.0) - 2020-11-04
-   Added `create_zip_file` method.
-   Added `extract_zip_file` method.
-   Added `get_dir_creation_date` method.
-   Added `get_dir_creation_date_formatted` method.
-   Added `get_dir_last_modified_date` method.
-   Added `get_dir_last_modified_date_formatted` method.
-   Added `get_file_creation_date` method.
-   Added `get_file_creation_date_formatted` method.
-   Added `get_file_last_modified_date` method.
-   Added `get_file_last_modified_date_formatted` method.
-   Added `read_file_lines` method.
-   Refactored tests.

## [0.2.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.2.0) - 2020-10-29
-   Added `convert_size_bytes_to_string` method.
-   Added `convert_size_string_to_bytes` method.
-   Added `get_dir_size` method.
-   Added `get_dir_size_formatted` method.
-   Added `get_file_size` method.
-   Added `get_file_size_formatted`.
-   Renamed `get_path` to `join_path`.
-   Renamed `get_hash` to `get_file_hash`.
-   Fixed `clean_dir` method and added relative tests.
-   Improved code quality and tests coverage.

## [0.1.0](https://github.com/fabiocaccamo/python-fsutil/releases/tag/0.1.0) - 2020-10-27
-   Released `python-fsutil`