Skip to content

Commit

Permalink
Update README (#19)
Browse files Browse the repository at this point in the history
  • Loading branch information
DLu authored Jan 11, 2024
1 parent 67696f9 commit 972e687
Showing 1 changed file with 43 additions and 1 deletion.
44 changes: 43 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,44 @@
# ros_introspect
Pure Python library for working with the files in ROS packages

`ros_introspect` is a Pure Python library for working with the files in ROS packages in a structured way.
It is compatible with both ROS 1 and ROS 2.

You can specify the path directly.

```
from ros_introspect import Package
package = Package('/full/path/geometry_msgs')
```
or you can use the built-in crawler to search recursively

```
from ros_introspect import find_packages
for package in find_packages('/home/dlu/ros2_ws/src'):
print(package)
```


## The `Package` Class

A `Package` is a path where the `$PATH/package.xml` exists and a collection of `PackageFile`s that are contained within that folder.

Each of the package files are a subtype of `PackageFile` based on their functionality, with each of the subtypes being defined in `ros_introspect.components`, including...

* `package.xml`
* `CMakeLists.txt`
* Source code (Python or C++)
* ROS Interfaces, i.e. messages, services and actions
* DynamicReconfig configurations (ROS 1 only)
* Plugin XML, for use with `pluginlib`
* Launch files, both `XML` (ROS 1) and Python (ROS 2)
* Parameter files (`.yaml`)
* RViz configurations (`.rviz`)
* Robot model files (`.urdf` and `.xacro`)
* `setup.py` and `setup.cfg` for Python code
* Documentation (Markdown, RST, licenses, etc.)
* Miscellaneous Config files (various metadata like the `.github` folder)

Everything that does not fall into one of those categories ends up as "Other"**

**Excluding `.pyc`, `*~`, and `.git/` files

0 comments on commit 972e687

Please sign in to comment.