Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ jobs:
PIP_BREAK_SYSTEM_PACKAGES: 1
steps:
- uses: actions/checkout@v5
# Builds both ament_cmake projects: polymath_kinematics and polymath_kinematics_ros2.
- uses: ros-tooling/action-ros-ci@v0.4
with:
target-ros2-distro: ${{ matrix.ros }}
Expand All @@ -43,12 +44,15 @@ jobs:
steps:
- uses: actions/checkout@v5
- uses: astral-sh/setup-uv@v7
- name: Install package with dev extra
run: uv venv && uv pip install -e ".[dev]"
- name: Sync the uv workspace
run: uv sync
- name: Python tests
run: uv run pytest test/test_python_bindings.py test/test_explorer.py -v
run: >
uv run pytest
polymath_kinematics/test/test_python_bindings.py
polymath_kinematics_python_tools/test/test_explorer.py -v
- name: Explorer imports cleanly
run: uv run python -c "import polymath_kinematics.explorer"
run: uv run python -c "import polymath_kinematics_python_tools.explorer"
- name: Console script resolves and launches
# A healthy headless start proves the entry point doesn't run the app body on import.
run: |
Expand All @@ -72,7 +76,7 @@ jobs:
- name: Configure
# CMAKE_DISABLE_FIND_PACKAGE_ament_cmake forces the non-ament branch.
run: >
cmake -S . -B build -DBUILD_TESTING=ON
cmake -S polymath_kinematics -B build -DBUILD_TESTING=ON
-DCMAKE_DISABLE_FIND_PACKAGE_ament_cmake=ON
- name: Build
run: cmake --build build -j
Expand Down
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Changelog

## v0.3.0

### Split into three self-contained projects

- **`polymath_kinematics/`** — C++ models, projectors, and pybind11 bindings. The package name, the
`polymath_kinematics::polymath_kinematics` target, and the `polymath_kinematics/*.hpp` include
paths are unchanged, so downstream C++ consumers need no edits.
- **`polymath_kinematics_python_tools/`** — the Kinematic Explorer, uv-managed and pure Python.
- **`polymath_kinematics_ros2/`** — new placeholder ROS 2 package; a lifecycle node with no
interfaces yet.

### Breaking

- `polymath_kinematics.explorer` → `polymath_kinematics_python_tools.explorer`. The
`kinematic-explorer` console script is unchanged.
- The `[explorer]` and `[dev]` extras are gone; those dependencies now belong to
`polymath_kinematics_python_tools`. `polymath_kinematics` no longer depends on numpy, pandas, or
matplotlib in either `pyproject.toml` or `package.xml`.

### Other

- The repository root is a uv workspace with a single `uv.lock`.

## v0.2.0

### Forward projection
Expand Down
Loading
Loading