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
CITROS CLI Overview
Welcome to Citros CLI. Citros serves as an innovative platform for executing ROS project simulations, automating integration, and conducting in-depth performance analysis.
The Citros CLI offers ROS 2 developers a seamless interface to launch multiple ROS simulations for a specific project with just a single command. Beyond setting static parameter values, it empowers users with the flexibility to utilize function objects. This means you can craft dynamic simulation environments where each execution produces unique parameter values, whether they're sourced from standard numpy functions or tailored via user-defined computations. Moreover, these operations can be executed offline without relying on any external dependencies.
Citros takes its capabilities a notch higher when the user logs in. Once logged in, users can tap into the full potential of Citros, ranging from running parallel simulations in the cloud to utilizing advanced data analysis tools for performance examination. Additionally, automatic report generation is a standout feature, aiding in effortless documentation of your work. Beyond these technical perks, logging in also paves the way for collaborative work, allowing you to engage and exchange ideas with team members.
For additional information, please refer to the Citros documentation. This will provide you with comprehensive insights and detailed instructions for effective usage of Citros in general and Citros CLI in particular, and their full suite of features.
We are dedicated to enriching your ROS project simulation experience, and this package is our contribution to that cause.
Table of Contents
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
Built Distribution
File details
Details for the file citros-0.0.1.tar.gz
.
File metadata
- Download URL: citros-0.0.1.tar.gz
- Upload date:
- Size: 56.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e12c6e786b075a543589e8f679cf2a5b9fb308ce755ba8ef4c8e75ac6d09811f |
|
MD5 | f7da004b2faba0a7a240cb2c7a3fc637 |
|
BLAKE2b-256 | 2e94e31926df709fa9d486e3cb6c96178608ccf00481df823dda9f84f8054189 |
File details
Details for the file citros-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: citros-0.0.1-py3-none-any.whl
- Upload date:
- Size: 68.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b56abb63a0abcdc9bf5f70dfd970ad114fb87dd85015e7f76fda05009cd6eec |
|
MD5 | 87d612d4a8d19f614a388b2675775b38 |
|
BLAKE2b-256 | 1855c169cb7b14a04cdddb8fb6f782d959594efd8872441ee108e07e46868c66 |