Repository¶
- class audmodel.Repository(name, host, backend)[source]¶
Repository object.
It stores all information needed to address a repository: the repository name, host, and the backend name. With
Repository.create_backend_interface()
it also provides a method to create a backend interface to access the repository.- Parameters
Examples
>>> Repository("data-local", "/data", "file-system") Repository('data-local', '/data', 'file-system')
backend_registry¶
- Repository.backend_registry = {'artifactory': <class 'audbackend.core.backend.artifactory.Artifactory'>, 'file-system': <class 'audbackend.core.backend.filesystem.FileSystem'>, 'minio': <class 'audbackend.core.backend.minio.Minio'>, 's3': <class 'audbackend.core.backend.minio.Minio'>}¶
Backend registry.
Holds mapping between registered backend names, and their corresponding backend classes. The
"artifactory"
backend is currently not available under Python >=3.12.
create_backend_interface()¶
- Repository.create_backend_interface()[source]¶
Create backend interface to access repository.
It wraps an
audbackend.interface.Maven
interface around the backend.The returned backend instance has not yet established a connection to the backend. To establish a connection, use the backend with a
with
statement, or use theopen()
andclose()
methods of the backend class. The backend is stored as the inside thebackend
attribute of the returned backend interface.- Return type
- Returns
interface to repository
- Raises
ValueError – if an artifactory backend is requested in Python>=3.12
ValueError – if a non-supported backend is requested
register()¶
- classmethod Repository.register(backend_name, backend_class)[source]¶
Register backend class.
Adds an entry to the dictionary stored in the class variable
Repository.backend_registry
, mapping a backend name to an actual backend class.- Parameters
Examples
>>> import audbackend >>> Repository.register("file-system", audbackend.backend.FileSystem)