From 3d5aad2b9c4acf6b2853a4f4c52be956249e8fb7 Mon Sep 17 00:00:00 2001 From: Florent Lamiraux Date: Tue, 31 Mar 2026 15:01:57 +0200 Subject: [PATCH 1/2] [tutorial 3] Import missing symbol. --- tutorial_3/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/tutorial_3/README.md b/tutorial_3/README.md index 761d902..1fc763a 100644 --- a/tutorial_3/README.md +++ b/tutorial_3/README.md @@ -180,6 +180,7 @@ You can visualize `qpg` and `qg` in the graphical interface. We now need to plan a motion between `q_init` and `qpg` and between `qpg` and `qg`, keeping the relevant constraints satisfied. Here the only relevant constraint is that the part should not move. To do so, we will use the `TransitionPlanner` class. This class plans motions along a transition, keeping the constraints of the transition satisfied. The right hand side of the parameterizable constraints of the transition is initialized with the initial configuration. The code below shows how to use this class. ``` +from pyhpp.manipulation import TransitionPlanner planner = TransitionPlanner(problem) planner.maxIterations(1000) for i in range(10): From 28b152d4e69187763078a3975ac539b011b0193c Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Tue, 31 Mar 2026 16:18:35 +0200 Subject: [PATCH 2/2] nix: switch to flakoboros --- flake.lock | 126 ++++++++++++++++++++++++++++++++++++----------------- flake.nix | 3 +- 2 files changed, 87 insertions(+), 42 deletions(-) diff --git a/flake.lock b/flake.lock index ad853d0..0ea652f 100644 --- a/flake.lock +++ b/flake.lock @@ -36,35 +36,84 @@ "type": "github" } }, - "gazebros2nix": { + "flakoboros": { "inputs": { "flake-parts": "flake-parts", - "gepetto-lib": "gepetto-lib", "nix-ros-overlay": "nix-ros-overlay", "nixpkgs": [ "gepetto", "gazebros2nix", + "flakoboros", "nix-ros-overlay", "nixpkgs" ], - "pyproject-build-systems": "pyproject-build-systems", - "pyproject-nix": "pyproject-nix", "systems": [ "gepetto", "gazebros2nix", + "flakoboros", "nix-ros-overlay", "flake-utils", "systems" ], - "treefmt-nix": "treefmt-nix", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1774365635, + "narHash": "sha256-QjJ/CURzUwkO54xMKmGS1U4q+dog3KNQotxUtJ+JFz8=", + "owner": "gepetto", + "repo": "flakoboros", + "rev": "a42bc6287c3f47a7f2aea0699a344df22426e581", + "type": "github" + }, + "original": { + "owner": "gepetto", + "repo": "flakoboros", + "type": "github" + } + }, + "gazebros2nix": { + "inputs": { + "flake-parts": [ + "gepetto", + "gazebros2nix", + "flakoboros", + "flake-parts" + ], + "flakoboros": "flakoboros", + "nix-ros-overlay": [ + "gepetto", + "gazebros2nix", + "flakoboros", + "nix-ros-overlay" + ], + "nixpkgs": [ + "gepetto", + "gazebros2nix", + "flakoboros", + "nixpkgs" + ], + "pyproject-build-systems": "pyproject-build-systems", + "pyproject-nix": "pyproject-nix", + "systems": [ + "gepetto", + "gazebros2nix", + "flakoboros", + "systems" + ], + "treefmt-nix": [ + "gepetto", + "gazebros2nix", + "flakoboros", + "treefmt-nix" + ], "uv2nix": "uv2nix" }, "locked": { - "lastModified": 1773524302, - "narHash": "sha256-0phiMh2h3tZoe3rJGWWKMMJhuLMMHa65hRtgkzbXBJQ=", + "lastModified": 1774701840, + "narHash": "sha256-WnpLhilp4PxdmQ96N5A5zEuPfkuiC9TVe3oj3Z2PBnQ=", "owner": "gepetto", "repo": "gazebros2nix", - "rev": "0eb9151c41ec370e29d4d4ae1640aa4c6c4aa7a7", + "rev": "cd163a3b5b4f931bf766ac870c36c82246088b60", "type": "github" }, "original": { @@ -80,6 +129,11 @@ "gazebros2nix", "flake-parts" ], + "flakoboros": [ + "gepetto", + "gazebros2nix", + "flakoboros" + ], "gazebros2nix": "gazebros2nix", "home-manager": "home-manager", "nix-ros-overlay": [ @@ -108,11 +162,11 @@ ] }, "locked": { - "lastModified": 1773834979, - "narHash": "sha256-pxEUfvPZG3lMMiorJxKPt0kjjNE2gQDA3w/cRHvSUX4=", + "lastModified": 1774758543, + "narHash": "sha256-5PWMYdUm1Y6eTuKvcd2qFvgCti9A7KAsxgYg1h3LxYU=", "owner": "gepetto", "repo": "nix", - "rev": "57036f98001a3b66384cd68ace974d237e3fa78b", + "rev": "90825881c84bcd2e55255f97f4e3b585b61f0d9e", "type": "github" }, "original": { @@ -121,21 +175,6 @@ "type": "github" } }, - "gepetto-lib": { - "locked": { - "lastModified": 1772454823, - "narHash": "sha256-jROeQxiRkzpHHAWDAxHJVfW/liA+t6JKDyPMJFqUE9E=", - "owner": "Gepetto", - "repo": "nix-lib", - "rev": "4500b5aa6af20c60011926ad6f42238375779c90", - "type": "github" - }, - "original": { - "owner": "Gepetto", - "repo": "nix-lib", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -144,11 +183,11 @@ ] }, "locked": { - "lastModified": 1773681845, - "narHash": "sha256-o8hrZrigP0JYcwnglCp8Zi8jQafWsxbDtRRPzuVwFxY=", + "lastModified": 1774559029, + "narHash": "sha256-deix7yg3j6AhjMPnFDCmWB3f83LsajaaULP5HH2j34k=", "owner": "nix-community", "repo": "home-manager", - "rev": "0759e0e137305bc9d0c52c204c6d8dffe6f601a6", + "rev": "a0bb0d11514f92b639514220114ac8063c72d0a3", "type": "github" }, "original": { @@ -164,11 +203,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1773393994, - "narHash": "sha256-zm24obq1c4ielRR8KlUQ2M5XnNfUIcQjN++9s6CFvxc=", + "lastModified": 1774047596, + "narHash": "sha256-UNT8fGmAm2ZlaktMmiVYPeHgok2IJoCfLg698rO3Kq8=", "owner": "lopsided98", "repo": "nix-ros-overlay", - "rev": "a522c5a050a6d50471a29bbf6a060e2df16abf44", + "rev": "c0659dc45d4c1736d71d5578b17f12e3b1afe190", "type": "github" }, "original": { @@ -249,11 +288,11 @@ ] }, "locked": { - "lastModified": 1772555609, - "narHash": "sha256-3BA3HnUvJSbHJAlJj6XSy0Jmu7RyP2gyB/0fL7XuEDo=", + "lastModified": 1773870109, + "narHash": "sha256-ZoTdqZP03DcdoyxvpFHCAek4bkPUTUPUF3oCCgc3dP4=", "owner": "pyproject-nix", "repo": "build-system-pkgs", - "rev": "c37f66a953535c394244888598947679af231863", + "rev": "b6e74f433b02fa4b8a7965ee24680f4867e2926f", "type": "github" }, "original": { @@ -271,11 +310,11 @@ ] }, "locked": { - "lastModified": 1773190977, - "narHash": "sha256-fkJvOxz80cJViPz6GVaayC8BVCs5fclJ8qHDaNUpoEA=", + "lastModified": 1774498001, + "narHash": "sha256-wTfdyzzrmpuqt4TQQNqilF91v0m5Mh1stNy9h7a/WK4=", "owner": "pyproject-nix", "repo": "pyproject.nix", - "rev": "10ebca8a137bf26b7fbd3e94b339bf68cee18693", + "rev": "794afa6eb588b498344f2eaa36ab1ceb7e6b0b09", "type": "github" }, "original": { @@ -290,6 +329,10 @@ "gepetto", "flake-parts" ], + "flakoboros": [ + "gepetto", + "flakoboros" + ], "gazebros2nix": [ "gepetto", "gazebros2nix" @@ -388,6 +431,7 @@ "nixpkgs": [ "gepetto", "gazebros2nix", + "flakoboros", "nixpkgs" ] }, @@ -419,11 +463,11 @@ ] }, "locked": { - "lastModified": 1773359304, - "narHash": "sha256-knv2C6tIk5ysix+9TxWIenPvpB20kFjQ1CH6SJMBNsU=", + "lastModified": 1774490495, + "narHash": "sha256-a9WmQWj8fF7BctZGCoyzpUjP6GJw8H+lxl+zxpGnETk=", "owner": "pyproject-nix", "repo": "uv2nix", - "rev": "27b135ea72ab1637fc5845a61c101ea66d6636d6", + "rev": "18ae62fc5e389e3069854a7c66455c22e31708fc", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 3bb357d..449907c 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,7 @@ inputs = { gepetto.url = "github:gepetto/nix"; + flakoboros.follows = "gepetto/flakoboros"; gazebros2nix.follows = "gepetto/gazebros2nix"; flake-parts.follows = "gepetto/flake-parts"; nixpkgs.follows = "gepetto/nixpkgs"; @@ -20,7 +21,7 @@ imports = [ inputs.gepetto.flakeModule { - gazebros2nix.overrides.hpp-tutorial = _final: { + flakoboros.overrideAttrs.hpp-tutorial = _: { src = lib.fileset.toSource { root = ./.; fileset = lib.fileset.unions [