semvec/pypi-packages huggingface dataset:
rosbag-util 1.0.6
Utilities for extracting synchronized frames from ROS bag files.
License: MIT
Requires Python: >=3.8

# rosbag-util

Extract synchronized point cloud frames (and optional GPS) from one or more ROS bags.

## Install

```bash
pip install -e .
```

## Prerequisites

- ROS Python environment with `rosbag` and `sensor_msgs` available (e.g. ROS Noetic), and `source` your ROS setup.

## Usage

Single car:

```bash
rosbag-extract \
  --bags "/path/to/car1.bag" \
  --pc-topic "/perception/lidar/concated_points_cloud" \
  --gps-topic "/location/best_position" \
  --out "cooperative/car1" \
  --binary
```

Batch undistort images:

```bash
python -m rosbag_util.undistort_images \
  --input ./imgs \
  --output ./undist \
  --cam 3 \
  --model pinhole \
  --camera-config ./configs/camera_config.json
```

Using a config file:

```bash
python -m rosbag_util.undistort_images --config ./configs/undistort_config.json
```

Merge multi-car point clouds (same frame):

```bash
python -m rosbag_util.merge_multi_pcd \
  --root cooperative/zhidao \
  --cars car1 car2 car3 \
  --out_frame ref \
  --ref-car car1 \
  --yaw_only
```

Using a config file:

```bash
python -m rosbag_util.merge_multi_pcd --config ./configs/merge_multi_config.json
```

Multi car (car1 as main):

```bash
rosbag-extract \
  --bags "/path/to/car1.bag" "/path/to/car2.bag" \
  --main 0 \
  --pc-topic "/perception/lidar/concated_points_cloud" \
  --gps-topic "/location/best_position" \
  --out "cooperative/scene1" \
  --max-dt 0.300 \
  --save-workers 8 \
  --index-threads 2 \
  --binary
```

Config file (JSON):

```json
{
  "bags": ["/path/to/car1.bag", "/path/to/car2.bag"],
  "main": 0,
  "pc_topic": "/perception/lidar/concated_points_cloud",
  "gps_topic": "/location/best_position",
  "out": "cooperative/scene1",
  "max_dt": 0.3,
  "binary": true,
  "save_workers": 8,
  "index_threads": 2
}
```

```bash
rosbag-extract --config ./configs/config.json
```
aws-ssm-juggle 26.1.0
AWS SSM tool for ECS/EC2 (Shell, SSH/SCP, Port Forwarding, ...)
License: MIT

# aws-ssm-juggle

## Installation

```
pip install aws-ssm-juggle
```

## Pre-requisites

### [session-manager-plugin](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)

#### Linux

#### Repo

With updates (recommended): See [aws-session-manager-plugin](https://gitlab.com/packaging/aws-session-manager-plugin)

#### Manual

```bash
curl https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb -o "/tmp/session-manager-plugin.deb"
mkdir -p ~/bin
dpkg-deb --fsys-tarfile /tmp/session-manager-plugin.deb | tar --strip-components=4 -C ~/bin/ -xvf - usr/local/sessionmanagerplugin/bin/session-manager-plugin
```

#### MacOS

`brew install --cask session-manager-plugin`

### Infrastructure

Use [ecs-exec-checker](https://github.com/aws-containers/amazon-ecs-exec-checker) to check for the pre-requisites to use ECS exec.

## ecs-juggle

Inspired by [ecsgo](https://github.com/tedsmitt/ecsgo).

Provides a tool to interact with AWS ECS tasks.

Currently provides:

* interactive execute-command (e.g. shell)
* port-forwarding

You can supply command-line arguments to specify which cluster/service/task/... to use or will be prompted with a nice menu.


### Usage

See `ecs-juggle --help` for all features.

#### Execute command

Select all from menu:

```bash
ecs-juggle command
```

#### Port forwarding

Select all from menu:

```bash
ecs-juggle forward
```

Specify port and select the rest from menu:

```bash
ecs-juggle forward --remote-port 8080
```

## ec2-juggle

Inspired by [gossm](https://github.com/gjbae1212/gossm/).

Provides a tool to interact with AWS EC2 instances.

Currently provides:

* interactive shell (e.g. shell)
* ssh shell
* port-forwarding

### Usage

See `ec2-juggle --help` for all features.

#### Start session

```bash
ec2-juggle start
```

```bash
ec2-juggle start --document AWS-StartInteractiveCommand --command '{"command": ["sudo -i"]}'
```


#### Start ssh session

Default:

```bash
ec2-juggle ssh
```

With extra arguments:

```bash
ec2-juggle ssh --ssh-args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -l ubuntu"
```

#### Copy files with scp

Default:

```bash
ec2-juggle scp --source '{instance}:/tmp/foo' --target './bar'
```

With extra arguments:

```bash
ec2-juggle scp --scp-args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -l ubuntu" --source '{instance}:/tmp/foo' --target './bar'
```

#### Port forwarding

```bash
ecs-juggle forward --remote-port 80
```