Client
- class deker.client.Client(uri='', *, executor=None, workers=None, write_lock_timeout=60, write_lock_check_interval=1, loglevel='ERROR', memory_limit=0, skip_collection_create_memory_check=False, **kwargs)
 Bases:
SelfLoggerMixinDeker
Client- is the first object user starts with.It is used for creating and getting
Collectionsand provides connection/path to Deker collections’ storage by uri. Local collection uri shall contain file:// schema and path to the collections storage on local machine. Connection to the storage is provided by a client-based context, which remains open while the Client is open, and vice-versa: while the context is open - the Client is open too.Clienthas a context manager which opens and closes context itself:with Client("file://...") as client: ~some important job here~
Anyway you may use
Clientdirectly:client = Client("file://...") ~some important job here~ client.close()
As long as
Clienthas a context manager, its instance is reusable:client = Client("file://...") ~some important job here~ client.close() with client: ~some important job here~ with client: ~some important job here~
Properties
is_closedis_openmeta-versionroot_path
API methods
create_collection: creates a newCollectionon the storage and returns its object instance to work with. Requires:collection unique name
an instance of ArraySchema or VArraySchema
chunking and compression options (optional); default is
Nonetype of a storage adapter (optional); default is
HDF5StorageAdapter
get_collection: returns an object ofCollectionby a given name if such exists, otherwise -Nonecheck_integrity: checks the integrity of embedded storage database at different levels;Either performs all checks and prints found errors or exit on the first error. The final report may be saved to file.
calculate_storage_size: calculates size of the whole storage or of a definedCollection;close: closesClientand its contextclear_locks: clears all current locks within the storage or a definedCollection__enter__: opensClientcontext manager__exit__: automatically closesClientcontext manager on its exit__iter__: iterates over all the collections within the provided uri-path, yieldsCollectioninstances.
- __exit__(exc_type, exc_val, exc_tb)
 - Parameters
 exc_type (Any) –
exc_val (Any) –
exc_tb (Any) –
- Return type
 None
- __init__(uri='', *, executor=None, workers=None, write_lock_timeout=60, write_lock_check_interval=1, loglevel='ERROR', memory_limit=0, skip_collection_create_memory_check=False, **kwargs)
 Deker client constructor.
- Parameters
 uri (str) – uri to Deker storage
executor (Optional[ThreadPoolExecutor]) – external ThreadPoolExecutor instance (optional)
workers (Optional[int]) – number of threads for Deker
write_lock_timeout (int) – An amount of seconds during which a parallel writing process waits for release of the locked file
write_lock_check_interval (int) – An amount of time (in seconds) during which a parallel writing process sleeps between checks for locks
loglevel (str) – Level of Deker loggers
memory_limit (Union[int, str]) –
Limit of memory allocation per one array/subset in bytes or in human representation of kilobytes, megabytes or gigabytes, e.g.
"100K","512M","4G". Human representations will be converted into bytes. If result is<= 0- total RAM + total swap is usedNote
This parameter is used for early runtime break in case of potential memory overflow
skip_collection_create_memory_check (bool) – If we don’t want to check size during collection creation
kwargs (Any) – a wildcard, reserved for any extra parameters
- Return type
 None
- __iter__()
 Iterate over all collections in the storage.
- Return type
 Generator[Collection, None, None]
- calculate_storage_size(collection_name='')
 Get the size of the storage or of a certain collection in bytes or converted to human representation.
Warning
Size calculation may take a long time. Maybe you’d like to have some coffee while it’s working.
- Parameters
 collection_name (str) – Name of a
Collection. If not passed, the whole storage will be counted.- Return type
 
- check_integrity(level=1, stop_on_error=True, to_file=False, collection=None)
 Run storage integrity check at one of 4 levels.
checks
Collectionsintegrity. If no collection name was passed, iterates over all theCollectionsand initialises them one by onechecks
Arrays/VArraysinitialization and lockfileschecks if
Arrays/VArrayspaths are valid, including symlinkschecks if stored data is consistent with file-by-file one point reading
- Parameters
 collection (Optional[str]) – Name of a
Collection. If passed - checks only passed collection, else checks every collection in the storagelevel (int) – Check-level
stop_on_error (bool) – Flag to stop on first path or data error
to_file (Union[bool, Path, str]) – Dump errors in file; accepts
True/Falseor a path to file. IfTrue- dump errors into a default filename in the current directory; if apathto file is passed - dump errors to the file with a specified name and path.
- Return type
 None
- clear_locks(collection_name=None)
 Clear the readlocks of Arrays and/or VArrays.
- Parameters
 collection_name (Optional[str]) – Name of a
Collection. If passed - clears locks only in the provided collection, else clears locks in every collection in the storage- Return type
 None
- close()
 Close client.
- Return type
 None
- collection_from_dict(collection_data)
 Create a new
Collectionin the database from collection metadata dictionary.- Parameters
 collection_data (dict) – Dictionary with collection metadata
- Return type
 
- create_collection(name, schema, collection_options=None, storage_adapter_type=None)
 Create a new
Collectionin the database.- Parameters
 name (str) – Name of new
Collectionschema (Union[ArraySchema, VArraySchema]) –
ArrayorVArrayschemacollection_options (Optional[BaseCollectionOptions]) – Options for compression and chunks (if applicable)
storage_adapter_type (Optional[str]) – Type of an adapter, which works with files; default is
HDF5StorageAdapter
- Return type
 
- get_collection(name)
 Get
Collectionfrom database by its name.- Parameters
 name (str) – Name of a
Collection- Return type
 Optional[Collection]
- property is_closed: bool
 Check client status.
- property is_open: bool
 Check client status.
- property meta_version: str
 Get actual metadata version, provided by local adapters.
- property root_path: Path
 Get root path to the current storage.
- Parameters
 uri (str) –
executor (Optional[ThreadPoolExecutor]) –
workers (Optional[int]) –
write_lock_timeout (int) –
write_lock_check_interval (int) –
loglevel (str) –
memory_limit (Union[int, str]) –
skip_collection_create_memory_check (bool) –
kwargs (Any) –