All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased version are marked with Plan for ${version}
or Unreleased
.
Use f.readline()
instead of the single
with open(input_file, 'r') as f:
lines: list = f.readlines()
operation in the fpyutils.filelines.insert_string_at_line
function. This should decrease memory usage.
requirements-freeze.txt
file with pinned dependencies for the development environment, computed from the requirements.txt
and requirements-dev
files../README.md
.pkg_resources
because they are deprecated.OSError: [Errno 18] Invalid cross-device link
came up in Fedora, Arch Linux and WSL. Changing os.replace
to shutil.move
seems to fix the problem in Fedora and Arch Linux. See also md-toc issue #38.atomicwrites
is the Python requirement name) library dependency because of its deprecation in July 2022. Atomic writes are now done through temporary files without external libraries, as suggested by the author of python-atomicwrites.urllib.request
module.f.readline()
instead of f.readlines()
in the fpyutils.filelines.remove_line_interval
function. This should decrease memory usage.MANIFEST.in
and check-manifest
pre-commit hook configuration.fpyutils.notify.send_gotify_message
now returns a http.client.HTTPResponse
object instead of a requests.Response
object.setup.cfg
and pyproject.toml
. setup.py
is now a dummy file.setup.cfg
.venv
and pip
commands.setup.py sdist
, setup.py bdist_wheel
) with the build
module.int
variable max_occurrencies
in the fpyutils.filelines.get_line_matches
is now compared to an int
instead of a float
. If max_occurrencies
is set to 0 it is now overwritten with sys.maxsize
(2**63-1 == 9223372036854775807 on a 64-bit machine) instead of float(inf)
. This means that 2**63-1 are the maximum occurrencies possible.keep_all_lines
argument for the filelines.get_line_matches
function.fpyutils.filelines.get_line_matches
function now returns the matched lines or the whole line depending on the keep_all_lines
argument.fpyutils.filelines.insert_string_at_line
function now uses the newline
argument. This means that an input file is entirly re-written with the selected newline instead of using the pre-exsising one for the non-inserted lines. This prevents files from having mixed newlines.fpyutils.filelines.insert_string_at_line
function now uses os.linesep
instead of \n
as newline.newline
argument to the atomicwrites
method in fpyutils.filelines.insert_string_at_line
function fixes md-toc issue #33.fpyutils.yaml.load_configuration
yaml.py
back to software/fpyutils