Changelog¶
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.
Version 2.2.0 (2024-07-23)¶
Added:
audeer.script_dir()
which returns the directory of the file where it was called, or the current working directory when called in an interactive session
Version 2.1.1 (2024-07-15)¶
Fixed: make estimation of remaining time in
audeer.progress_bar()
less erratic
Version 2.1.0 (2024-07-05)¶
Added:
audeer.unique()
, which returns unique values in the order they appear in a sequenceAdded:
maximum_refresh_time
argument toaudeer.progress_bar()
andaudeer.run_tasks()
, which can be used to force an update interval of the progress barFixed: documentation of return value of
audeer.run_tasks()
Version 2.0.0 (2024-01-25)¶
Added:
follow_symlink
keyword argument toaudeer.path()
with default valueFalse
Added:
follow_symlink
keyword argument toaudeer.rmdir()
with default valueTrue
Changed:
audeer.path()
does no longer usesos.path.realpath()
, butos.path.abspath()
. This means it does no longer convert symlinks to the real path, but returns the path to the symlink. This provides a speed up ofaudeer.path()
up to 6x as it no longer requires a disk operation. The old behavior ofaudeer.path()
can be achieved by callingaudeer.path(..., follow_symlink=True)
. The output of the following functions is also affected by this change if a symlink is part of their input path:audeer.common_directory()
,audeer.download_url()
,audeer.list_dir_names()
,audeer.list_file_names()
,audeer.mkdir()
,audeer.touch()
Changed: the
files
argument ofaudeer.create_archive()
can no longer include symbolic links that are located outside ofroot
Fixed:
audeer.basename_wo_ext()
,audeer.file_extension()
, andaudeer.replace_file_extension()
are no longer affected by existing files and symlinks, but rely only on the provided input string
Version 1.21.0 (2023-12-06)¶
Added:
audeer.move()
which can move files and folders and should be used instead ofaudeer.move_file()
Added:
*paths
argument toaudeer.mkdir()
,audeer.rmdir()
, andaudeer.touch()
. Instead of writingaudeer.mkdir(os.path.join("a", "b"))
, you can now writeaudeer.mkdir("a", "b")
Version 1.20.2 (2023-11-28)¶
Added: support for Python 3.12
Fixed: avoid deprecation warning by replacing
pkg_resources
internally withimportlib.metadata
Removed: support for Python 3.7
Version 1.20.1 (2023-05-04)¶
Fixed: add missing changelog entry for version 1.20.0 stating that the return values of
audeer.extract_archive()
andaudeer.extract_archives()
have changed under Windows due to a bug fix
Version 1.20.0 (2023-05-02)¶
Added:
audeer.md5()
to calculate MD5 checksum of a file or folderAdded:
short
argument toaudeer.is_uid()
. IfTrue
it checks for a short UID likead855840
Added: examples to the API documentation of
audeer.create_archive()
,audeer.extract_archive()
,audeer.extract_archives()
Changed:
audeer.list_file_names()
raises aNotADirectoryError
if the providedpath
argument is a non-existing folder or a folder that is part of a search pattern that does not existsChanged:
audeer.create_archive()
supports nowNone
asfiles
argument, which will automatically include all files underroot
Changed:
audeer.create_archive()
now raises aFileNotFoundError
ifroot
or a file infiles
cannot be found,NotADirectoryError
ifroot
is not a directory,RuntimeError
if a file infiles
is not located belowroot
Changed:
audeer.extract_archive()
andaudeer.extract_archives()
now raise aFileNotFoundError
if an archive cannot be found,IsADirectoryError
if an archive is a directory,NotADirectoryError
ifdestination
is not a directoryFixed:
audeer.replace_file_extension()
now adds the new file extension to the filename if no original file extension was present instead of replacing the filenameFixed:
audeer.replace_file_extension()
now returns the original filename when an empty new file extension is provided instead of adding"."
at the end of the filenameFixed:
audeer.extract_archive()
andaudeer.extract_archives()
now return normalized relative paths also under WindowsFixed: add raises section to API documentation of
audeer.list_file_names()
Fixed: add raises section to API documentation of
audeer.StrictVersion
Version 1.19.0 (2022-12-19)¶
Added:
hidden
argument toaudeer.list_dir_names()
to include hidden folders in resultsAdded:
remove_from_kwargs
argument toaudeer.deprecated_keyword_argument()
to indicate if the keyword marked as deprecated should be removed fromkwargs
. Default isTrue
Added:
ext
argument toaudeer.replace_file_extension()
Added: support for Python 3.10
Added: support for Python 3.11
Changed: split API documentation into sub-pages for each function/class
Fixed: add raises section to docstring of
audeer.list_dir_names()
Version 1.18.0 (2022-03-04)¶
Added:
audeer.path()
as replacement foraudeer.safe_path()
Added:
*paths
argument toaudeer.safe_path()
to join pathsAdded:
recursive
argument toaudeer.list_dir_names()
Added:
recursive
argument toaudeer.list_file_names()
Added:
audeer.StrictVersion()
Added:
audeer.LooseVersion()
Added:
audeer.install_package()
Added:
audeer.move_file()
Added:
audeer.touch()
Deprecated:
audeer.safe_path()
Fixed: add test for MacOS
Version 1.17.2 (2022-01-03)¶
Added: Python 3.9 support
Removed: Python 3.6 support
Version 1.17.1 (2021-11-25)¶
Added:
verbose
argument toaudeer.create_archive()
Version 1.17.0 (2021-11-19)¶
Added:
audeer.rmdir()
Version 1.16.0 (2021-06-01)¶
Added:
audeer.download_url()
Version 1.15.0 (2021-05-21)¶
Changed: default value of
num_workers
argument foraudeer.tun_tasks()
changed fromNone
to1
Version 1.14.0 (2021-04-26)¶
Added:
audeer.replace_file_extension()
Version 1.13.1 (2021-04-15)¶
Added: usage example to
audeer.progress_bar()
Version 1.13.0 (2021-04-14)¶
Added:
basenames
argument toaudeer.list_dir_names()
Added:
basenames
argument toaudeer.list_file_names()
Version 1.12.0 (2021-02-22)¶
Added:
audeer.create_archive()
Version 1.11.0 (2021-02-09)¶
Added:
audeer.deprecated_default_value()
Added:
audeer.is_semantic_version()
Added:
audeer.sort_versions()
Version 1.10.0 (2021-01-29)¶
Added:
audeer.git_repo_version()
Added:
audeer.git_repo_tags()
Version 1.9.0 (2021-01-21)¶
Added:
audeer.list_dir_names()
Version 1.8.0 (2020-12-03)¶
Added:
audeer.is_uid()
Version 1.7.0 (2020-12-02)¶
Added:
audeer.deprecated_keyword_argument()
decoratorChanged:
audeer.deprecated()
raises now aUserWarning
instead ofDeprecationWarning
Version 1.6.7 (2020-11-18)¶
Changed: return member filenames of archives in
audeer.extract_archive()
andaudeer.extract_archives()
Version 1.6.6 (2020-10-27)¶
Fixed: multi-line statements in GitHub releases
Version 1.6.5 (2020-10-27)¶
Fixed: long description in
setup.cfg
, which is included on pypi.orgFixed: multi-line statements in GitHub releases
Version 1.6.4 (2020-10-23)¶
Added: run tests on Windows
Removed: deprecated
audb.run_worker_threads()
from docs and code coverageFixed: “Edit on Github” link in docs
Version 1.6.3 (2020-10-22)¶
Fixed: release instructions for GitHub
Version 1.6.2 (2020-10-21)¶
Changed: host documentation on GitHub pages
Version 1.6.1 (2020-10-20)¶
Fixed: license specification in Python package
Version 1.6.0 (2020-10-20)¶
Added: first public release on GitHub
Version 1.5.1 (2020-09-28)¶
Fixed: return actual path for symbolic links with
audeer.safe_path()
by usingos.path.realpath()
instead ofos.path.abspath()
Fixed: clean up test scripts and remove obsolete
tests/test_audeer.py
Version 1.5.0 (2020-09-22)¶
Added:
audeer.common_directory()
Version 1.4.0 (2020-09-21)¶
Added:
audeer.run_tasks()
Version 1.3.0 (2020-09-08)¶
Added:
audeer.uid()
Version 1.2.3 (2020-09-01)¶
Changed: use
url
andproject_urls
insetup.cfg
Version 1.2.2 (2020-08-28)¶
Changed: switch home page of package to documentation page
Version 1.2.1 (2020-08-18)¶
- Changed:
audb.extract_archive()
raises
RuntimeError
for broken archives
- Changed:
Version 1.2.0 (2020-08-14)¶
Added:
audb.extract_archive()
Added:
audb.extract_archives()
Added: Python 3.8 support
Removed: Python 3.5 support
Version 1.1.2 (2020-06-12)¶
Fixed: wrong homepage link in
setup.cfg
Version 1.1.1 (2020-05-20)¶
Added:
mode
argument toaudeer.mkdir()
Version 1.1.0 (2020-04-08)¶
Added:
audeer.to_list()
Added: code coverage
Removed: deprecated
audeer.generate_dir()
Removed: deprecated
audeer.basename()
Version 1.0.7 (2020-02-19)¶
Fixed: CI again token for automatic package publishing
Version 1.0.6 (2020-02-19)¶
Fixed: CI token for automatic package publishing
Version 1.0.5 (2020-02-19)¶
Fixed: make
audeer.mkdir()
multiprocessing safe
Version 1.0.4 (2020-02-07)¶
Fixed: republish due to broken package
Version 1.0.3 (2020-02-07)¶
Added: more docstring examples
Changed: add extra development section in docs
Version 1.0.2 (2020-02-07)¶
Added: automatic Python package publishing
Fixed: another link to
audeer.configfile
Version 1.0.1 (2020-02-06)¶
Fixed: link to
audeer.configfile
Version 1.0.0 (2020-02-06)¶
Added:
audeer.format_display_message()
Added:
audeer.progress_bar()
Added:
audeer.deprecated()
Added:
audeer.run_worker_threads()
Added:
audeer.safe_path
Changed: introduce
audeer.core
structureChanged: rename
audeer.generate_dir()
toaudeer.mkdir()
Changed: rename
audeer.basename
toaudeer.basename_wo_ext
Removed: all config related code is moved to
audeer.configfile
Removed: Python 2.7 support
Version 0.9.3 (2019-08-16)¶
Changed: update installation commands in doc
Changed: update documentation building commands in doc
Version 0.9.2 (2019-08-16)¶
Fixed: Gitlab CI tests for Python 3.7
Version 0.9.1 (2019-08-13)¶
Added: tests for documentation
Added: documentation deployed as Gitlab pages
Fixed: inclusion of changelog in doc
Version 0.9.0 (2019-06-27)¶
Added: Gitlab CI tests for Python 2.7, 3.6, 3.7
Added: flake8 PEP8 tests
Changed: switch to new internal PyPI server
Changed: switch to use
yaml.safe_load
Fixed:
generate_dir
for Python 2.7Removed:
audeer.wav
in favor of audiofile
Version 0.7.2 (2019-03-05)¶
Added: missing requirement toml to
doc/requirements.txt
Version 0.7.1 (2019-03-05)¶
Fixed: URL to sphinx-audeering-theme in
doc/requirements.txt
Version 0.7.0 (2019-03-01)¶
Added:
always_2d
option towav.read
Removed:
wav.to_mono
Version 0.6.2 (2019-02-21)¶
Added: support for subdirectories in
generate_dir
Changed: speedup
wav
operationsDeprecated:
wav.to_mono
Version 0.6.1 (2019-02-08)¶
Fixed: samples and duration for uncommon audio formats
Version 0.6.0 (2019-02-08)¶
Added: support for a lot more audio formats in
wav
Version 0.5.0 (2019-02-05)¶
Added:
util.flatten_list
Changed: improve documentation
Version 0.4.0 (2019-01-07)¶
Added: MP3 support (not for writing)
Changed: make
[channels, samples]
default audio shapeChanged: switch to
sox
for audio file info
Version 0.3.0 (2018-11-16)¶
Changed: make Python 2.7 compatible
Changed: restructure config module
Version 0.2.0 (2018-11-12)¶
Added:
config
module
Version 0.1.1 (2018-10-29)¶
Fixed: automatic version discovery
Version 0.1.0 (2018-10-29)¶
Added:
wav
andutil
moduleAdded: Initial release