A simple package that allows for the direct use of data stored and managed on a cloud storage service
Project description
daman
description
daman aims at providing a relatively simple solution to the challenge of sharing data between various multiple individuals/machines in the context of a python-development workflow. This solution relies on cloud storage and allows to control the amount of local disc space used for data management.
setup & configure
Install
This package is available through pip and can directly be installed as follows by running pip install daman.
cloud provider
AWS: S3 Bucket
Should your AWS account not yet configured on your current machine, retrieve the following information:
- access_key_id
- secret_access_key
using dm_aws
you can then simply running the following command:
dm_aws --access_key_id <access_key_id> --secret_access_key <secret_access_key>
manually
Alternatively you can create a file at ~/.aws/credentials and type in the following :
[default]
aws_access_key_id = <access_key_id>
aws_secret_access_key = <secret_access_key>
configure daman
To finalise the setup phase, it is required to run to provide the following information:
storage_name: Name of the bucket to be usedservice: Type of cloud storage used (Currently onlyawsis available).local_dir[Optional]: local directory to store data in. default is~/.daman/data/allocated_space[Optional]: Disc space to allocate to local directory. By default no limit is set.
dm_configure --storage_name <storage_name>
--service <service>
how to
upload
Currently it is only possible to push python object to daman data manager.
python: push
dm.push(
obj,
key=key,
meta=None,
local=True,
force=False,
persist=False)
Input
obj:object- Any pickle serialisable object.key:str- name under which to store the object. will be used to retrieve the object.meta[OPTIONAL]:object- Any pickle serialisable meta information to store with the object.local[OPTIONAL]:bool- If set toTruealso adds the uploaded data to your local registery.force[OPTIONAL]:bool- Ifkeyis already in use,forcemust be set toTruein order to force the overwriting of the already stored object.persist[OPTIONAL]:bool- If set toTrueensures the file will not be deleted unless manually requested.
Output - None
download
python: pull
obj, meta = dm.push(
key=key,
force=False,
persist=False)
Input
key:str- key under which the data is stored.force[OPTIONAL]:bool- when set toTruedownloads the dataset from cloud service ignoring local version.persist[OPTIONAL]:bool- If set toTrueensures the file will not be deleted unless manually requested.memory_only[OPTIONAL]:bool- is set toTrueonly loads the data into memory and does not keep a local version unless already available.
Output
obj:objectstored object.meta:objectstore meta data.
terminal: dm_pull
dm_pull --help
usage: dm_pull [-h] --key {} [--force] [--persist]
Sets up daman package.
optional arguments:
-h, --help show this help message and exit
--key {} key of the file to delete
--force When provided forces the download even when the file is already
available.
--persist When provided ensures that the downloaded file is always kept on
disc on manually deleted.
delete
python: delete
obj, meta = dm.delete(
key=key,
local=True,
remote=False)
Input
key:str- key under which the data to delete is stored.local[OPTIONAL]:bool- if set toTruewill delete local file.remote[OPTIONAL]:bool- if set toTruewill delete remote version of the requested key.
Output - None
terminal: dm_delete
dm_delete --help
Sets up daman package.
optional arguments:
-h, --help show this help message and exit
--key {} key of the file to delete
--remote When provided, deletes the requested file on the cloud service
as well.
usage: dm_delete [-h] --key {} [--remote]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file daman-0.2.0.tar.gz.
File metadata
- Download URL: daman-0.2.0.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88e535779f67cee70f17694de81da54637a4246841b24c205182fc0e24c15427
|
|
| MD5 |
7976d166b8b19dc144ad7b8dd6041bb9
|
|
| BLAKE2b-256 |
807f7e87655bd40c83c381f8035e84fec3316562e47ca8a5166a9a28697377d9
|
File details
Details for the file daman-0.2.0-py3-none-any.whl.
File metadata
- Download URL: daman-0.2.0-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9622b35ba31ee7c0393f0e75cca12ab66db1dc7b041be68e8d29c2fbb6b864c6
|
|
| MD5 |
ada87a5a9adce41a7e3b97f5a105287a
|
|
| BLAKE2b-256 |
455179526c95dff56ff77419e766240723ca8ab06c2db27e95183ba80f9f6f46
|