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]
Metadata
Release files for daman 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| daman-0.2.0.tar.gz | 11.2 kB | Without provenance | Details for daman-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| daman-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for daman-0.2.0-py3-none-any.whl |
Total release size: 25.6 kB
Release files / daman-0.2.0.tar.gz
| Download URL | daman-0.2.0.tar.gz |
|---|---|
| Size | 11.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
88e535779f67cee70f17694de81da54637a4246841b24c205182fc0e24c15427
|
|
BLAKE2b-256 checksum How to use checksums |
807f7e87655bd40c83c381f8035e84fec3316562e47ca8a5166a9a28697377d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / daman-0.2.0-py3-none-any.whl
| Download URL | daman-0.2.0-py3-none-any.whl |
|---|---|
| Size | 14.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9622b35ba31ee7c0393f0e75cca12ab66db1dc7b041be68e8d29c2fbb6b864c6
|
|
BLAKE2b-256 checksum How to use checksums |
455179526c95dff56ff77419e766240723ca8ab06c2db27e95183ba80f9f6f46
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Security for daman 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.