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