Skip to main content

A cli for managing data and user access for the cloud application rastless

Project description

Rastless-CLI

A cli for managing data and user access for the cloud application rastless

Table of Content

Installation

Requires: Python >=3.8, <4.0

$ pip install rastless-cli

RastLess has to be configured before you can check if everything works. Make sure that your aws account is configured and has access to DynamoDb and S3.

You can check if everything works correctly by running:

$ rastless check-aws-connection

If it is not working, make sure to configure the aws connection by configuring the aws cli. You need an Access ID and a Secret ID from aws to configure. Please check the official instructions for further help.

Developer Installation
$ pip install poetry
$ git clone https://github.com/EomapCompany/rastless-cli
$ cd rastless-cli
$ poetry install

Run tests

cd tests
poetry run pytest

Running the CLI

After installation you can run the ClI by using:

$ rastless --help

You can decide if you want to upload data to the production or development environment. By using the "dev" flag you upload it to development, without to production

# Example development
$ rastless --dev list-layers

# Example production
$ rastless list-layers

Commands Overview

Commands
add-colormap Add a SLD file
add-permission Add a role to one or multiple layers
check-aws-connection Check if cli can connect to aws
create-layer Create layer
create-timestep Create timestep entry and upload layer to S3 bucket
delete-colormap Remove a SLD file
delete-layer Delete a layer with all timestep entries
delete-permission Delete one or multiple permissions
list-layers List all layers

Accomplishing a running system

1. Check if you have access to the system

$ rastless check-aws-connection

2. Create a new layer

  • All inputs are strings. You have to take care, that the element exists in the database e.g. the colormap name.
  • Multiple permissions can be set by using multiple -pe flags
$ rastless create-layer -cl hypos -pr tur -t Turbidity -cm log75_C2S8_32bit -u FTU -b <rgb uuid> -d "Some description" -r 1 -pe user#marcel -pe role#hypos:full-access

It will return a new uuid which you need to store, in order to upload timesteps to the particular layer

3. Upload Timesteps for layer

$ rastless create-timestep -d 2020-01-01T15:00:00 -s SENT2 -l <layer uuid> -t daily -p deflate

Breaking changes

Version 0.3

The command "create-timestep" changed. Files need to be set as flag instead of normal input

  • Now it is possible to set multiple files per timestep by setting multiple file flags -f
  • To override a timestep which already exists you have to set the flag -o, otherwise you will be asked during uploading if you really want to override it
  • To append new files to an existing timestep you have to set the flag -a
  • Attention: If you append a file to an existing timestep and the filename already exists, it will be automatically overridden without further action
# Before. Filepath without flag
rastless create-timestep file1.tif -d 2020-01-01T15:00:00 -s Sent2 -layer-id 1234 -t daily -p deflate

# Now: Single file. Flag: -f
rastless create-timestep -f file1.tif -d 2020-01-01T15:00:00 -s Sent2 -layer-id 1234 -t daily -p deflate

# Now: Multi file. Flag: -f <file1> -f <file1>
rastless create-timestep -f file1.tif -f file2.tif -d 2020-01-01T15:00:00 -s Sent2 -layer-id 1234 -t daily -p deflate

# Now: Override existing timestep. Flag: -o
rastless create-timestep -f file1.tif -f file2.tif -d 2020-01-01T15:00:00 -s Sent2 -layer-id 1234 -t daily -p deflate -o

# Now: Append file to existing timestep. Flag: -a
rastless create-timestep -f file2.tif -d 2020-01-01T15:00:00 -layer-id 1234 -p deflate -a

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

rastless_cli-0.3.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

rastless_cli-0.3.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file rastless_cli-0.3.0.tar.gz.

File metadata

  • Download URL: rastless_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.6 Linux/5.15.0-52-generic

File hashes

Hashes for rastless_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 062cf3e75a5ebdf3edd275a8ef8688a205e612c8eee2ce8db4d16142bade34d8
MD5 dbca753e2a0eb0bf9563d9b3dfafb6d5
BLAKE2b-256 2729df46ca012c62b7d405f7b6145cff022dd31316f1d116269a463858f76681

See more details on using hashes here.

File details

Details for the file rastless_cli-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: rastless_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.6 Linux/5.15.0-52-generic

File hashes

Hashes for rastless_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 15c7864d89d24ca59ad526b3e0774ebcf8bec1012402f82d5ba19f69a07069e4
MD5 e48c512846f6ba769a7b77c826ed2a80
BLAKE2b-256 cbdcffce3875fdab3c0bc0afad0f296551b1dbbbe8ee5481b2f40c17305542e5

See more details on using hashes here.

Supported by

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