Skip to main content

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 used
  • service: Type of cloud storage used (Currently only aws 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 to True also adds the uploaded data to your local registery.
  • force [OPTIONAL]: bool - If key is already in use, force must be set to True in order to force the overwriting of the already stored object.
  • persist [OPTIONAL]: bool - If set to True 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 to True downloads the dataset from cloud service ignoring local version.
  • persist [OPTIONAL]: bool - If set to True ensures the file will not be deleted unless manually requested.
  • memory_only [OPTIONAL]: bool - is set to True 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 to True will delete local file.
  • remote [OPTIONAL]: bool - if set to True 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]

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)

Source distribution for daman 0.2.0
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)

Table of built distributions (wheels) for daman 0.2.0
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page