@@ -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