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 onlyaws
is 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 toTrue
also adds the uploaded data to your local registery.force
[OPTIONAL]:bool
- Ifkey
is already in use,force
must be set toTrue
in order to force the overwriting of the already stored object.persist
[OPTIONAL]:bool
- If set toTrue
ensures 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 toTrue
downloads the dataset from cloud service ignoring local version.persist
[OPTIONAL]:bool
- If set toTrue
ensures the file will not be deleted unless manually requested.memory_only
[OPTIONAL]:bool
- is set toTrue
only loads the data into memory and does not keep a local version unless already available.
Output
obj
:object
stored object.meta
:object
store 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 toTrue
will delete local file.remote
[OPTIONAL]:bool
- if set toTrue
will 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
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 |