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-11-18)¶
Added:
audbackend.checksum()
for calculating MD5 sum of files. For parquet files it considers the"hash"
metadata entry instead, if it is presentChanged: retry to re-establish connection to backend two times before finally failing
Removed: deprecated functions
audbackend.access()
,audbackend.create()
,audbackend.delete()
,audbackend.register()
Fixed: storing of checksum on S3/MinIO backends
Version 2.1.0 (2024-10-31)¶
Added:
audbackend.backend.Minio
backend to access MinIO and S3 storagesAdded: support for Python 3.12 (without Artifactory backend)
Removed: support for Python 3.8
Version 2.0.1 (2024-05-14)¶
Added: support for Python 3.11
Fixed: ensure execution time of
audbackend.interface.Maven.ls()
is independent of repository size on all backends
Version 2.0.0 (2024-05-10)¶
Added:
audbackend.interface
sub-module including an backend interface base classaudbackend.interface.Base
, and the three interfacesaudbackend.interface.Maven
,audbackend.interface.Unversioned
,audbackend.interface.Versioned
Added:
audbackend.backend
sub-module including the backend base classaudbackend.backend.Base
, and the two backendsaudbackend.backend.Artifactory
,audbackend.backend.FileSystem
Added:
audbackend.backend.*.copy_file()
andaudbackend.interface.*.copy_file()
methods to copy a file on the backendAdded:
audbackend.backend.*.move_file()
andaudbackend.interface.*.move_file()
methods to move a file on the backendAdded:
validate=False
argument to thecopy_file()
,get_archive()
,get_file()
,move_file()
,put_archive()
,put_file()
methods inaudbackend.backend.*
andaudbackend.interface.*
. IfTrue
the checksum of the resulting file is checkedAdded:
audbackend.backend.*.create()
andaudbackend.backend.*.delete()
class methods to create or delete a repository on a backendAdded:
audbackend.backend.*.open()
andaudbackend.backend.*.close()
methods to connect to a backend, or disconnect from a backendAdded:
audbackend.backend.Artifactory.get_authentication()
to get the current Artifactory username, password from the configuration file/environment variableAdded:
authentication
argument toaudbackend.backend.Artifactory
andaudbackend.backend.Base
Added:
audbackend.backend.Artifactory.path()
returning anartifactory.ArtifactoryPath
objectAdded:
audbackend.backend.Artifactory.authentication
attribute, holding the current authentication object, e.g. user, password tupleFixed: all backend methods now raise a
ValueError
, if a backend path ends on"/"
with the exception ofls()
,split()
andjoin()
, as those methods support sub-paths as argumentDeprecated:
audbackend.create()
, useaudbackend.backend.*.create()
insteadDeprecated:
audbackend.delete()
, useaudbackend.backend.*.delete()
insteadDeprecated:
audbackend.register()
, as we no longer use alias names for backendsDeprecated:
audbackend.access()
, instantiate and open a backend insteadDeprecated:
audbackend.Repository
, as we no longer use alias names for backendsRemoved:
audbackend.Artifactory
andaudbackend.FileSystem
, useaudbackend.backend.Artifactory
andaudbackend.backend.FileSystem
insteadRemoved:
audbackend.available()
Version 1.0.2 (2024-02-13)¶
Added: support for accessing remote and virtual repositories on Artifactory
Fixed: match the
pattern
argument ofaudbackend.Backend.ls()
to file basenamesFixed: typo in raises section of the docstring of
audbackend.exists()
Version 1.0.1 (2023-10-18)¶
Added:
regex
argument toaudbackend.Backend._use_legacy_file_structure()
to support providing regex pattern in theextensions
argumentChanged: depend on
dohq-artifactory>=0.9.0
Version 1.0.0 (2023-10-16)¶
Added:
audbackend.Backend.access()
,audbackend.Backend.available()
,audbackend.Backend.date()
,audbackend.Backend.delete()
,audbackend.Backend.owner()
Added:
audbackend.FileSystem._use_legacy_file_structure()
to support file structure of existing repositoriesAdded:
audbackend.BackendError
class to capture errors raised by backendAdded:
pattern
argument toaudbackend.Backend.ls()
Added: docstring examples and usage section
Changed:
audbackend.create()
raises error if repository exists (audbackend.access()
should be used instead)Changed:
audbackend.Backend.get_archive()
andaudbackend.Backend.put_archive()
support same archive types asaudeer.create_archive()
Changed:
audbackend.Backend.get_file()
skips operation if file with same checksum exists on local file systemChanged:
audbackend.Backend.get_file()
uses a temporary directory to avoid corrupted files if operation is interruptedChanged:
audbackend.Backend.get_file()
andaudbackend.Backend.put_file()
raiseIsADirectoryError
Changed:
audbackend.put_archive()
raisesNotADirectoryError
Changed: make
files
an optional argument ofaudbackend.Backend.put_archive()
Changed:
audbackend.Backend.put_file()
passes checksum to implementation to avoid re-calculationChanged:
audbackend.Backend.join()
andaudbackend.Backend.split()
check for invalid charactersChanged:
audbackend.Backend.ls()
returns list of(path, ext, version)
Changed:
audbackend.Backend.ls()
accepts full pathChanged: calculate checksum with
audeer.md5()
Changed: file structure on
audbackend.FileSystem
andaudbackend.Artifactory
from/sub/file/1.0.0/file-1.0.0.txt
to/sub/1.0.0/file.txt
Changed: remove
ext
argumentChanged: path on backend must start with
"/"
Changed: version must be non-empty and may not contain invalid characters
Changed: option to install only specific backends and their dependencies
Removed:
audbackend.Backend.glob()
,audbackend.Backend.path()
Removed: support for
Python 3.7
Removed: dependency on
audfactory
Version 0.3.18 (2023-02-17)¶
Fixed: support
dohq_artifactory.exception.ArtifactoryException
which was introduced indohq_artifactory>=0.8
and is raised instead of a HTTP request error
Version 0.3.17 (2023-02-13)¶
Added: support for Python 3.10
Changed: depend on
audfactory>=1.0.10
Version 0.3.16 (2022-10-13)¶
Added: argument
tmp_root
toaudbackend.Backend.get_archive()
andaudbackend.Backend.put_archive()
Version 0.3.15 (2022-04-01)¶
Changed: depend on
audfactory>=1.0.8
to change a critical bug when looking for available versions of an artifact
Version 0.3.14 (2022-02-24)¶
Changed: check for path name before creating archive in
audbackend.Backend.put_archive()
Version 0.3.13 (2022-01-03)¶
Added: Python 3.9 support
Removed: Python 3.6 support
Version 0.3.12 (2021-09-28)¶
Added:
verbose
argument toBackend.get_archive()
,Backend.get_file()
,Backend.put_archive()
,Backend.put_file()
Version 0.3.11 (2021-09-28)¶
Fixed: catch 403 Error for Artifactory backend paths
Version 0.3.10 (2021-08-05)¶
Added:
audbackend.Backend.ls()
Version 0.3.9 (2021-07-22)¶
Fixed: ignore empty strings in
backend.join()
Version 0.3.8 (2021-07-13)¶
Added:
Repository
Version 0.3.7 (2021-07-13)¶
Added:
Repository
Version 0.3.6 (2021-06-17)¶
Changed: link to
audfactory
documentation for Artifactory authenticationChanged: split up source code into several files
Version 0.3.5 (2021-05-11)¶
Added: argument
folder
toBackend.glob()
Version 0.3.4 (2021-05-06)¶
Added: support files without extension and file extensions with dot(s)
Version 0.3.3 (2021-03-29)¶
Fixed:
audbackend.Artifactory.exists()
for cases of missing permissions
Version 0.3.2 (2021-03-29)¶
Fixed: use
audfactory >=1.0.3
as it fixesversions()
for paths with missing user permissions
Version 0.3.1 (2021-03-26)¶
Changed: adjust Python package keywords to
artifactory
,filesystem
Fixed: contribution section in documentation now provides correct links and explains Artifactory server access for running tests
Version 0.3.0 (2021-03-26)¶
Added: open source release on Github
Changed: use
audfactory
>=1.0.0Changed: use public Artifactory server for tests
Version 0.2.0 (2021-02-22)¶
Added:
audbackend.FileSystem
backendChanged: rename package to
audbackend
Changed: include
repository
argument in the init methods of the backends
Version 0.1.1 (2021-02-19)¶
Fixed: missing
__init__
file inaudb_artifactory.core
Version 0.1.0 (2021-02-19)¶
Added: Initial release
Added:
audb_artifactory.Artifactory