Skip to main content

A cli entrypoint for the citros system.

Project description

cli

CITROS cli

Commands


initialization

analyze the ROS2 project and initialize the .citros folder with all the files needed to operate citros

citros init 
    [-d | --destination] <repository folder>

doctor

checks for problems in .citros folder and suggests fixes

citros doctor
    [-d | --destination] <repository folder>

Run

starts a simulation locally or on remote

citros run
    [-gh | --github] #iniate an action that will runs the simulation on github as a workflow. 

    [-c] #completions

    [-o] #destination folder defaults to .citros/runs

    [-D] #dockerized - we will run dockerzed version of the simulation (can run parallel simulations on the same machine)

    [-p] #parallelism ? do we need it or can we know how many cpu available and devide it by the requested number of cpus per cpu 8 (available cpu) / 2 (requested cpu) = 4 (number of parallel runs)

    [-r] #remote run

    [-s] #simulation name

    [-t] #time limit

    [-v] #verbose

    [-w] #workflow

Batch

all batch operations

#get the data for a batch run
citros batch get <id>

#lists all batches + status
citros batch list

# delete a batch run
citros batch delete <id> | <simulation>/<name>

Data access

This DB will be used wo store the indexed bags for the

# starts server to listen for data access requests.
citros data access
    [-p] #port
    [-v] #verbose
    [-D] #dockerized

# prints the available data (db status) size, mem, how many batches loaded, etc...
citros data status

# create a new DB instance 
# creates all permissions and tables needed for CITROS
citros data create
    [-n] #name of the DB
    [-p] #port of the DB
    [-u] #user of the DB
    [-P] #password of the DB
    [-v] #verbose
    [-D] #dockerized

# clean the DB from data that wasend used for more then -d days -h hours -m minutes
citros data clean
    [-d] #days
    [-h] #hours
    [-m] #minutes
    [-v] #verbose
    [-D] #dockerized
REST API details

The user can check the availability of the data in a rest api that will be created by the service.

check the availability of the data

GET http://{domain}:{port}/{batch run name}

{
    "status": "unloaded",
    "last access": "2020-01-01 00:00:00",
    ...
}

request access for batch run

POST http://{domain}:{port}/{batch run name}

{
    "status": "loading",
    "last access": "2020-01-01 00:00:00",
    ...
}

Reports

A report is a signed set of generated notebooks with batch run data. this report can be shared trough CITROR or sent as a file.

# generate a signed report from a list of notebooks and use the data from the batch run specified.
citros report generate notebook.ipynb simulation/batch_run_name

# generate a report from report_name as specified unser .citros/reports/report_name.json
citros report generator report_name

Observability

start a node that will measue system / ros metrics and publish all to a topic

citros observability
    [-c] #channel
    [-t] #topic
    [-v] #verbose

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

citros-0.2.64.tar.gz (172.1 kB view hashes)

Uploaded Source

Built Distribution

citros-0.2.64-py3-none-any.whl (207.2 kB view hashes)

Uploaded Python 3

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