Skip to content

Commit 1e77ab6

Browse files
Improved README (#275)
* updated readme: * indentation fix * grammar fix
1 parent 0769e51 commit 1e77ab6

File tree

1 file changed

+47
-14
lines changed

1 file changed

+47
-14
lines changed

README.rst

Lines changed: 47 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,55 @@ roswire
66
.. image:: https://travis-ci.org/ChrisTimperley/roswire.svg?branch=master
77
:target: https://travis-ci.org/ChrisTimperley/roswire
88

9-
Feature Roadmap
10-
----------------
119

12-
* Supports ROS 1 and 2.
13-
* Differential coverage collection for C, C++ and Java.
14-
* Highly parallel: interact with multiple systems simultaneously.
15-
* Mutation API: quickly apply random source-code mutations to SUTs.
16-
* Simulation speedup.
17-
* Plugin-based simulator support.
18-
* Modular oracles.
19-
* Trace collection and streaming.
10+
ROSWire is a Python library for static and dynamic analysis of
11+
containerised `Robot Operating System (ROS) <https://ros.org>`_
12+
applications.
13+
Given a `Docker <https://docker.org>`_ image,
14+
ROSWire provides an interface for statically querying the application
15+
(e.g., by automatically discovering its types, packages, messages, service,
16+
actions, etc.), as well as an interface for dynamically generating and
17+
interacting with instances of that application in the form of Docker
18+
containers (e.g., service calls, bag recording, topic publishing and
19+
subscribing, catkin builds, etc.).
2020

2121

22-
Applications
22+
Features
23+
--------
24+
25+
* **Package Discovery:** finds all ROS packages within a Docker image.
26+
* **Definition Discovery:** finds and parses all message, service and
27+
action formats into readable data structures.
28+
* **Message Serialisation:** converts ROS messages from YAML or binary
29+
to readable data structures and vice versa.
30+
* **Bag Manipulation:** efficiently parses
31+
`rosbag <http://wiki.ros.org/rosbag>`_ files, which can then be inspected,
32+
manipulated, and saved to disk.
33+
* **Bag Playback:** safely replay bag files inside containers.
34+
35+
36+
Installation
2337
------------
2438

25-
* Property-based testing
26-
* Blackbox fuzzing
27-
* Model discovery
39+
To avoid interfering with the rest of your system (i.e., to avoid Python's
40+
equivalent of DLL hell), we strongly recommend that
41+
ROSWire is installed within a
42+
`virtualenv <https://virtualenv.pypa.io/en/latest/>`_ or
43+
`pipenv <https://pipenv.readthedocs.io/en/latest/>`_ (pipenv is preferred).
44+
45+
From within the virtual environment (i.e., the `virtualenv` or `pipenv`),
46+
the latest stable release of ROSWire on `PyPI <https://pypi.org>`_
47+
can be installed via:
48+
49+
.. code:: shell
50+
51+
(roswire) $ pip install roswire
52+
53+
ROSWire can also be installed from source:
54+
55+
.. code:: shell
56+
57+
$ git clone [email protected]:ChrisTimperley/roswire roswire
58+
$ cd roswire
59+
$ pipenv shell
60+
(roswire) $ pip install .

0 commit comments

Comments
 (0)