semvec/pypi-packages huggingface dataset:
ros-modex 0.0.0
A model extraction and analysis tool for ROS systems
License: MIT
Requires Python: >=3.8, <4
Keywords: ros,variability,model extraction,feature models

# ROS Model Extractor (WIP)

This project provides a model extraction tool for ROS Launch applications.
It should be able to read launch files, interpret them, and build a model of the expected architecture of the ROS system at runtime.

- [Package Structure](#package-structure)
- [Tooling](#tooling)

## Package Structure

It provides a `src` directory, under which your own packages sit. Example files for `__init__.py`, `__main__.py` and `cli.py` are already provided.

Tests are placed under the `tests` directory, and documentation under the `docs` directory.

To start your new project, you should change its name, URL and metadata details at:

1. `README.md`
2. `CHANGELOG.md`
3. `setup.py`
4. `tests/*.py`
5. `src/*`

## Tooling

This package sets up various `tox` environments for static checks, testing, building and publishing.
It is also configured with `pre-commit` hooks to perform static checks and automatic formatting.

If you do not use `tox`, you can build the package with `build` and install a development version with `pip`.

Assume `cd` into the repository's root.

To install the `pre-commit` hooks:

```bash
pre-commit install
```

To run type checking:

```bash
tox -e typecheck
```

To run linting tools:

```bash
tox -e lint
```

To run automatic formatting:

```bash
tox -e format
```

To run tests:

```bash
tox
```

To build the package:

```bash
tox -e build
```

To build the package (with `build`):

```bash
python -m build
```

To clean the previous build files:

```bash
tox -e clean
```

To test package publication (publish to *Test PyPI*):

```bash
tox -e publish
```

To publish the package to PyPI:

```bash
tox -e publish -- --repository pypi
```

To install an editable version:

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