Skip to main content

No project description provided

Project description

surf-archiver

The surf-archiver tool consists of two components:

  1. a CLI tool
  2. a remote client which can execute CLI installed on a remote machine

The CLI tool copies daily data from S3 supported storage, bundling it into a per experiment per day tar archives. Once completed it emits a message via RabbitMQ. The intended use case is for the CLI tool to installed on the Surf Data Archive and remotely triggered daily.

The tool copies data based on the S3 key. It is assumed that the keys have the following structure:

<SRC BUCKET>/<images|videos>/<EXPERIMENT-ID>/YYYYMMDD/*.tar

The resulting archive will be created at:

<DATA DIR>/<images|videos>/<EXPERIMENT-ID>/YYYY-MM-DD.tar

Installation of the CLI tool

The CLI tool can be installed via pipx.

In order to run the tool needs some configuration. It can be configured by via a yaml file:

bucket:             # S3 bucket data is pulled from
target_dir:         # Target directory data is stored in       
connction_url:      # RabbitMQ connection url
exchange_name:      # RabbitMQ Exchange name
log_file:           # log file path

By default the tool will look for this configuration in the ${HOME}/.surf-archiver. The tool will additionally look for these parameters in the shell environment. If they are defined here, they need to be prefixed by surf_archiver_.

In addition to the above, the following environment variables need to be set in order to connect to S3.

AWS_SECRET_KEY_ID=
AWS_ACCESS_KEY_ID=
AWS_ENDPOINT_URL=

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

surf_archiver-0.1.2.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

surf_archiver-0.1.2-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file surf_archiver-0.1.2.tar.gz.

File metadata

  • Download URL: surf_archiver-0.1.2.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/6.8.0-1021-azure

File hashes

Hashes for surf_archiver-0.1.2.tar.gz
Algorithm Hash digest
SHA256 153a096411ab725479b41fb1526a6ff418147fbe858a901b62da46ea5c11cf1c
MD5 6e31c482d92a800ca5736bcf6ca452a8
BLAKE2b-256 97604fac99e110c37902d7e8f68c9b86edbae6e74e3944f8c8d4424bc98b218e

See more details on using hashes here.

File details

Details for the file surf_archiver-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: surf_archiver-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/6.8.0-1021-azure

File hashes

Hashes for surf_archiver-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c223f390c54b9e58b3d824e963e1e0e68e0df8aa542afbb0f7a0861ce67e11c2
MD5 6f553e7e84cd5513cbc58ae97b371f71
BLAKE2b-256 caaad9700e49ca314a0e609ae76500c77aac73f484fb0f10cb7eedd180aad246

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page