From 174966e6c2a244c52eec7f0c8dbc7294bda1b9a6 Mon Sep 17 00:00:00 2001 From: Michael B Reiser Date: Sun, 18 Oct 2026 23:43:29 -0400 Subject: [PATCH 1/8] rig: tiff2mcap --runlog drives the timeline and the clock (LAB-303) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --runlog was parsed but never read: it only relabelled the reconstructed step edges as "commanded". Now, with a run log: - /arena/stimulus markers sit at each trialParams' logged send time (labelled commanded); qc step windows use the controller's first displayed frame after it. - Clock: the run log's PC clock. Each TIFF is anchored by one point, its first DO1 pulse = the controller's first displayed frame for that color (controller t_us -> PC ms by a fit of the executed trialParams against their send times). The ScanImage header epoch is no longer used for placement: on 2026-10-16 it ran 531-671 ms ahead of the first frame, different per grab. The per-file correction, display latency and an end check (last DO1 vs allOff + latency) go to /run/provenance. - /arena/display comes from the controller's displayed-frame records (observed) instead of .pat at nominal fps, when the log carries them. - /run/events carries every ScanImage connector command and reply, plus display_start events. Without --runlog the output is unchanged, except that it no longer claims "commanded". tools/check_tiff2mcap.py checks a --runlog MCAP against its log. Bergamo 2026-10-16 run 2: markers at send times (max |delta| 0.000 ms), 13/13 commands + replies, 1909 frames + 4 allOff, end checks +1.3 to +2.8 ms, qc d255 jump -4.6 / +20.3 / +3.5 ms from display_start (violet/green/yellow; blue below the drift, skipped). tests/test_tiff2mcap_runlog.py covers the run-log side on a synthetic log (19 checks). Rebased over the ros2-poc/ → rig/ rename (2026-10-26). Co-Authored-By: Claude Fable 5.1 --- rig/pixi.toml | 3 + rig/tests/test_tiff2mcap_runlog.py | 114 ++++++++++++ rig/tools/check_tiff2mcap.py | 104 +++++++++++ rig/tools/tiff_run_to_mcap.py | 267 ++++++++++++++++++++++++----- 4 files changed, 448 insertions(+), 40 deletions(-) create mode 100644 rig/tests/test_tiff2mcap_runlog.py create mode 100644 rig/tools/check_tiff2mcap.py diff --git a/rig/pixi.toml b/rig/pixi.toml index 587d871a..01080e7c 100644 --- a/rig/pixi.toml +++ b/rig/pixi.toml @@ -172,6 +172,9 @@ test-viz = "python tests/test_viz_node.py" fox-json = "python nodes/foxglove_json.py" # after-the-fact Foxglove MCAP of a 2P color-sweep run from its ScanImage TIFFs + the arena .pat files (tools/tiff_run_to_mcap.py) tiff2mcap = "python tools/tiff_run_to_mcap.py" +# its run-log side on a synthetic log (no TIFFs), and a check of a --runlog MCAP against that run log +test-tiff2mcap = "python tests/test_tiff2mcap_runlog.py" +check-tiff2mcap = "python tools/check_tiff2mcap.py" # `viz` environment only (`pixi run -e viz …`): the interactive views. rqt-graph = "rqt_graph" rqt-topic = "rqt_topic" diff --git a/rig/tests/test_tiff2mcap_runlog.py b/rig/tests/test_tiff2mcap_runlog.py new file mode 100644 index 00000000..9dbc2677 --- /dev/null +++ b/rig/tests/test_tiff2mcap_runlog.py @@ -0,0 +1,114 @@ +#!/usr/bin/env python3 +"""test_tiff2mcap_runlog.py — the run-log side of tools/tiff_run_to_mcap.py on a synthetic log (no TIFFs). + + pixi run python tests/test_tiff2mcap_runlog.py + +load_runlog (trialParams paired with their send times, allOff from the compact `a` rows, connector records), +controller_clock (controller t_us → PC ms from the executed trialParams) and runlog_timeline (the first +displayed frame per step, the allOff after the last step), plus the fallbacks when the log can't support them. +""" +from __future__ import annotations + +import json +import sys +import tempfile +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "tools")) +from tiff_run_to_mcap import controller_clock, load_runlog, runlog_timeline # noqa: E402 + +failures = 0 + + +def check(name: str, ok: bool, detail: str = "") -> None: + global failures + failures += not ok + print(f"{'PASS' if ok else 'FAIL'} {name}" + (f" ({detail})" if detail and not ok else "")) + + +T0 = 1_792_000_000_000.0 # logging start, PC ms +RATE = 1.00005 # controller clock runs 50 ppm fast +OFF_US = 7_000_000.0 # controller t_us at PC T0 +LAT_MS = 5.0 # trialParams → first displayed frame + + +def ctrl_us(pc_ms: float) -> float: + return OFF_US + (pc_ms - T0) * 1e3 * RATE + + +def make_log(sends_ok: bool = True, with_cc: bool = True) -> list: + rows = [{"type": "session", "event": "logging_started", "ms": T0}] + rows.append(["a", 3, 7, "0100", 0, 11]) # pre_blank allOff + trials = [("violet", 7, 7, 1000.0), ("violet", 255, 7, 5000.0), ("blue", 7, 3, 20000.0), ("blue", 15, 3, 24000.0)] + for cond_color, duty, pid, t in trials: + send = T0 + t + rows.append({"type": "log", "event": "runner", "phase": "trial-running", "condition": f"{cond_color}_d{duty}", + "params": {"mode": 2, "patternId": pid, "frameRate": 20, "duty": duty}, "rx_ms": send + 7}) + if sends_ok: + rows.append({"type": "log", "event": "arena_command", "t": send, "head": "0d 08 02 …"}) + if with_cc: + rows.append(["cc", send + 4, ctrl_us(send), 1, 8, 0, ""]) + for k in range(3): # three displayed frames, 50 ms apart + rows.append(["cf", send + 4, ctrl_us(send + LAT_MS + 50 * k), 2, k, pid, 600, 776, 3000, 0, 3]) + rows.append(["a", 9000, 6, "0100", 0, 9006]) # violet allOff (t_off from T0) + rows.append(["a", 28000, 6, "0100", 0, 28006]) # blue allOff + for cond in ("pre_blank", "violet_d255", "blue_d15"): + rows.append({"type": "log", "event": "runner", "phase": "command", "op": "allOff", "condition": cond, "rx_ms": T0}) + rows.append({"type": "connector", "kind": "command", "ms": 11, "command": "set", "params": {"property": "x", "value": 1}}) + rows.append({"type": "connector", "kind": "reply", "rx_epoch_ms": T0 + 300, "command": "set", "outcome": "ok", "rtt_ms": 289, "value": 1}) + rows.append({"type": "connector", "kind": "status", "ms": 500}) # status polls are not events + return rows + + +def write(rows: list) -> Path: + f = tempfile.NamedTemporaryFile("w", suffix=".jsonl", delete=False, encoding="utf-8") + for r in rows: + f.write(json.dumps(r) + "\n") + f.close() + return Path(f.name) + + +# 1. a complete log +log = load_runlog(write(make_log())) +check("4 trials, colors and duties from the condition names", [(t["color"], t["duty"]) for t in log["trials"]] + == [("violet", 7), ("violet", 255), ("blue", 7), ("blue", 15)]) +check("trialParams paired with arena_command send times", log["sends_paired"] and log["trials"][0]["t_cmd_ms"] == T0 + 1000) +check("allOff from the `a` rows (send time = logging start + t_off)", log["all_off"] == [T0 + 3, T0 + 9000, T0 + 28000] + and log["all_off_source"].startswith("a rows"), str(log["all_off"])) +check("connector: command at start + ms, reply at rx_epoch_ms, status ignored", + [(c["kind"], c["t_ms"]) for c in log["connector"]] == [("command", T0 + 11), ("reply", T0 + 300)]) + +to_pc, info = controller_clock(log) +check("controller clock fit recovers the rate", to_pc is not None and abs(info["ppm"] - (1 / RATE - 1) * 1e6) < 0.5, json.dumps(info)) +check("controller clock maps back to PC within 1 µs", abs(to_pc(ctrl_us(T0 + 12345.0)) - (T0 + 12345.0)) < 1e-3) + +tl = runlog_timeline(log, "violet", to_pc) +check("violet: 2 steps, first displayed frame = send + latency", len(tl["steps"]) == 2 + and abs(tl["steps"][0]["t_disp_ms"] - (T0 + 1000 + LAT_MS)) < 1e-3, str([s["t_disp_ms"] - T0 for s in tl["steps"]])) +check("violet: displayed frames carry their own times and indices", [f[1] for f in tl["steps"][1]["frames"]] == [0, 1, 2] + and abs(tl["steps"][1]["frames"][2][0] - (T0 + 5000 + LAT_MS + 100)) < 1e-3) +check("violet: allOff = the first allOff after the last step", tl["t_off_ms"] == T0 + 9000) +check("violet: display latency is the median send→frame time", abs(tl["display_latency_ms"] - LAT_MS) < 1e-3) +check("blue frames don't leak into violet steps", all(f[2] == 7 for s in tl["steps"] for f in s["frames"])) +check("a color with no trials → None", runlog_timeline(log, "green", to_pc) is None) + +# 2. a duty that disagrees with the condition name is flagged +rows = make_log() +next(r for r in rows if isinstance(r, dict) and r.get("phase") == "trial-running")["params"]["duty"] = 9 +check("duty ≠ condition name is flagged", not load_runlog(write(rows))["trials"][0]["duty_matches_condition"]) + +# 3. no arena_command lines → send times fall back to the runner's receive time, no clock map +log2 = load_runlog(write(make_log(sends_ok=False))) +fn, why = controller_clock(log2) +check("unpaired sends: t_cmd = runner rx_ms", not log2["sends_paired"] and log2["trials"][0]["t_cmd_ms"] == T0 + 1007) +check("unpaired sends: no controller clock map, with a reason", fn is None and "paired False" in why, why) +tl2 = runlog_timeline(log2, "violet", fn) +check("no clock map: t_disp = send time, labelled so", tl2["steps"][0]["t_disp_ms"] == T0 + 1007 + and tl2["steps"][0]["t_disp_source"] == "trialParams send time" and not tl2["steps"][0]["frames"]) + +# 4. no controller telemetry +log3 = load_runlog(write(make_log(with_cc=False))) +check("no cc rows: no controller clock map", controller_clock(log3)[0] is None) + +print(f"\n{'ALL PASS' if not failures else f'{failures} FAILED'}") +sys.exit(1 if failures else 0) diff --git a/rig/tools/check_tiff2mcap.py b/rig/tools/check_tiff2mcap.py new file mode 100644 index 00000000..4259fc70 --- /dev/null +++ b/rig/tools/check_tiff2mcap.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python3 +"""check_tiff2mcap.py — check a tiff2mcap MCAP built with --runlog against that run log. + + pixi run python tools/check_tiff2mcap.py + +PASS/FAIL per check, exit 1 on any failure: + 1. every /arena/stimulus step marker sits at its logged trialParams send time (±1 ms) and says "commanded" + 2. /run/events carries every ScanImage connector command and reply from the log + 3. /arena/display has one message per displayed-frame record of the controller, in time order + 4. per color: the TIFF anchor's end check (last DO1 vs allOff + latency) is within ±5 ms + 5. per color, at the d255 step: the qc Δmean jump (the channel that moves most) falls within one imaging + frame of the observed display_start (SKIP when the step is below 5× the spread of the pre-step level, e.g. blue) +""" +from __future__ import annotations + +import json +import sys +from pathlib import Path + +import numpy as np + +sys.path.insert(0, str(Path(__file__).resolve().parent)) +from tiff_run_to_mcap import COLORS, load_runlog # noqa: E402 + +failures = 0 + + +def check(name: str, ok: bool, detail: str = "") -> None: + global failures + failures += not ok + print(f"{'PASS' if ok else 'FAIL'} {name}" + (f" ({detail})" if detail else "")) + + +def main(mcap_path: str, runlog_path: str) -> int: + from mcap.reader import make_reader + + log = load_runlog(Path(runlog_path)) + topics = {"/arena/stimulus": [], "/run/events": [], "/arena/display": [], "/scanimage/qc": [], "/run/provenance": []} + with open(mcap_path, "rb") as f: + for _, ch, m in make_reader(f).iter_messages(topics=list(topics)): + topics[ch.topic].append((m.log_time / 1e6, json.loads(m.data) if ch.topic != "/arena/display" else None)) + prov = topics["/run/provenance"][0][1] + + on = sorted((t, o) for t, o in topics["/arena/stimulus"] if o["on"]) + sends = np.array([t["t_cmd_ms"] for t in log["trials"]]) + d = np.array([t for t, _ in on]) - sends if len(on) == len(sends) else np.array([np.inf]) + check("stimulus markers at logged trialParams send times (±1 ms)", len(on) == len(sends) and np.abs(d).max() <= 1.0, + f"{len(on)} markers vs {len(sends)} logged; max |Δ| {np.abs(d).max():.3f} ms") + check("stimulus markers labelled commanded", all(o["source"].startswith("commanded") for _, o in on), + ", ".join(sorted({o["source"] for _, o in on}))) + + ev = [o for _, o in topics["/run/events"]] + n_cmd = sum(c["kind"] == "command" for c in log["connector"]) + n_rep = sum(c["kind"] == "reply" for c in log["connector"]) + got_cmd = sum(o["event"] == "scanimage_command" for o in ev) + got_rep = sum(o["event"] == "scanimage_reply" for o in ev) + check("ScanImage commands + replies in /run/events", (got_cmd, got_rep) == (n_cmd, n_rep), + f"{got_cmd}/{n_cmd} commands, {got_rep}/{n_rep} replies") + + disp_t = np.array([t for t, _ in topics["/arena/display"]]) + n_off = sum(o["event"] == "allOff" for o in ev) + check("one /arena/display message per controller frame record (+ one dark frame per allOff)", + len(disp_t) == len(log["cf"]) + n_off, f"{len(disp_t)} messages, {len(log['cf'])} cf rows + {n_off} allOff") + + for c, an in prov.get("anchors", {}).items(): + ec = an["end_check_ms"] + check(f"{c}: anchor end check within ±5 ms", ec is not None and abs(ec) <= 5.0, + f"{ec:+.2f} ms; epoch correction {an['epoch_correction_ms']:+.1f} ms") + + starts = {(o["color"], o["detail"].split(":")[0]): t for t, o in topics["/run/events"] if o["event"] == "display_start"} + for c in COLORS: + t_disp = starts.get((c, "duty 255")) + q = [(t, o) for t, o in topics["/scanimage/qc"] if o["color"] == c] + if t_disp is None or not q: + check(f"{c}: qc jump at d255 within one imaging frame of display_start", False, "no display_start or qc") + continue + tq = np.array([t for t, _ in q]) + frame_ms = float(np.median(np.diff(tq))) + keys = [k for k in q[0][1] if k.startswith("dmean_ch")] + best = None + for k in keys: + y = np.array([o[k] for _, o in q]) + pre = y[(tq > t_disp - 1000) & (tq < t_disp - 2 * frame_ms)].mean() + post = y[(tq > t_disp + 300) & (tq < t_disp + 1300)].mean() + if best is None or abs(post - pre) > abs(best[1] - best[0]): + best = (pre, post, y, k) + pre, post, y, k = best + noise = float(np.std(y[(tq > t_disp - 1000) & (tq < t_disp - 2 * frame_ms)])) # includes slow baseline drift + if abs(post - pre) < 5 * noise: + print(f"SKIP {c}: qc jump at d255 — step {post - pre:+.0f} ADU is below 5× the pre-step spread ({noise:.1f} ADU)") + continue + idx = np.where((tq > t_disp - 500) & (np.sign(post - pre) * (y - (pre + 0.5 * (post - pre))) > 0))[0] + dt = tq[idx[0]] - t_disp if len(idx) else np.inf + check(f"{c}: qc jump at d255 within one imaging frame of display_start", -frame_ms <= dt <= frame_ms, + f"{k} half-way at {dt:+.1f} ms (frame {frame_ms:.1f} ms, step {post - pre:+.0f} ADU)") + + print(f"\n{'ALL PASS' if not failures else f'{failures} FAILED'}") + return 1 if failures else 0 + + +if __name__ == "__main__": + if len(sys.argv) != 3: + raise SystemExit(__doc__) + raise SystemExit(main(sys.argv[1], sys.argv[2])) diff --git a/rig/tools/tiff_run_to_mcap.py b/rig/tools/tiff_run_to_mcap.py index d7106cb5..9bf6ce3a 100644 --- a/rig/tools/tiff_run_to_mcap.py +++ b/rig/tools/tiff_run_to_mcap.py @@ -12,22 +12,33 @@ frameTimestamps_sec, epoch, DO1 pulses in the frame /scanimage/qc JSON DERIVED whole-field mean per channel, minus the pre-stimulus baseline of that file - /arena/stimulus JSON COMMANDED (run log) or RECONSTRUCTED (first DO1 pulse + - nominal step lengths): color, duty, pattern, fps, step - /arena/display foxglove.CompressedImage (PNG) RECONSTRUCTED the 200×40 arena frame from the .pat × duty × - LED color at the protocol's fps (restart at frame 0 per step) - /arena/scene foxglove.SceneUpdate RECONSTRUCTED 20 panel cubes on the arena cylinder, colored by - LED color × lit fraction × duty; a fly marker at the center - /run/events JSON OBSERVED/COMMANDED acquisition start/end per color (TIFF), step - edges, and — with --runlog — the connector command/replies + /arena/stimulus JSON COMMANDED (--runlog: each trialParams at its logged send + time) or RECONSTRUCTED (first DO1 pulse + nominal step + lengths): color, duty, pattern, fps, step + /arena/display foxglove.CompressedImage (PNG) OBSERVED (--runlog with controller telemetry: every frame + the controller reports displaying, at its own time) or + RECONSTRUCTED (.pat × duty × LED color at the protocol's + fps, frame 0 at each step) + /arena/scene foxglove.SceneUpdate DERIVED from /arena/display: 20 panel cubes on the arena + cylinder, colored by LED color × lit fraction × duty + /run/events JSON acquisition start/end per color (TIFF), step edges, allOff, + and with --runlog every ScanImage connector command + reply /run/provenance JSON (one message) how every topic was made, the clock used, the gaps -Clock: TIFF `epoch` (PC local time) + `frameTimestamps_sec`, converted with --utc-offset-h (EDT = -4). The -stimulus timeline is placed on the same clock through the DO1 pulses ScanImage stamped into the frames -(aux trigger 0): the first pulse is the first trialParams. Without a run log the step edges are the -protocol's nominal lengths — the day's host-timed steps ran 4.00 s (Chrome throttling), see -rig/scanimage-day-2026-10-16.md — so the stimulus track is labelled RECONSTRUCTED; the pixels are -what ScanImage recorded. Nothing here proves the light that reached the detectors; the qc trace does. +Clock without a run log: TIFF `epoch` (PC local time) + `frameTimestamps_sec`, converted with +--utc-offset-h (EDT = -4). The stimulus timeline is placed on that clock through the DO1 pulses ScanImage +stamped into the frames (aux trigger 0): the first pulse is the first trialParams, and the step edges are +the protocol's nominal lengths (labelled RECONSTRUCTED). + +Clock with --runlog: the run log's PC clock (Unix epoch). The ScanImage `epoch` field is NOT used for +placement: on 2026-10-16 it ran 0.53–0.67 s ahead of the first frame (different per grab; on the epoch +clock the first DO1 pulse lands before the trialParams that caused it). Intervals inside a TIFF are exact +(DO1 span = the logged trialParams→allOff time within 1–3 ms), so each TIFF is anchored by one point: its +first DO1 pulse = the controller's first displayed frame after that color's first trialParams (controller +time mapped to the PC clock by a linear fit of the trialParams it executed against their logged send +times; without controller telemetry, the trialParams send time). The per-file correction to the epoch +clock is in /run/provenance. The pixels are what ScanImage recorded; nothing here proves the light that +reached the detectors — the qc trace does. """ from __future__ import annotations @@ -213,6 +224,98 @@ def step_edges(run: dict, durations: list[float]) -> list[dict]: return edges +# ── run log (Studio → bridge .jsonl, behavior_v2) ──────────────────────────── +COND_RE = re.compile(r"^(" + "|".join(COLORS) + r")_d(\d+)$") + + +def load_runlog(path: Path) -> dict: + """The parts of a run log this tool uses. Times are PC epoch ms. + + trials: one per trialParams, in order: condition, color, duty, pattern_id, fps, t_cmd_ms (the + arena_command send time; the runner's trial-running receive time if those don't pair up) + all_off: allOff send times (compact `a` rows "01 00", t_off from logging start) + connector: ScanImage connector commands (logging start + ms) and replies (rx_epoch_ms) + cc8: controller-clock t_us of each trialParams the controller executed (`cc` rows, cmd 8) + cf: the controller's displayed-frame records (t_us, frame idx, pattern id) + """ + rows = [json.loads(line) for line in open(path, encoding="utf-8") if line.strip()] + objs = [o for o in rows if isinstance(o, dict)] + t0 = next((o["ms"] for o in objs if o.get("event") == "logging_started"), None) + running = [o for o in objs if o.get("event") == "runner" and o.get("phase") == "trial-running"] + sends = [o["t"] for o in objs if o.get("event") == "arena_command" and str(o.get("head", "")).startswith("0d 08")] + paired = len(sends) == len(running) + trials = [] + for i, o in enumerate(running): + m = COND_RE.match(str(o.get("condition", ""))) + p = o.get("params", {}) + trials.append({"condition": o.get("condition"), "color": m.group(1) if m else None, + "duty": int(p.get("duty", m.group(2) if m else 0)), "pattern_id": p.get("patternId"), + "fps": p.get("frameRate"), "t_cmd_ms": float(sends[i] if paired else o["rx_ms"]), + "duty_matches_condition": bool(m) and int(m.group(2)) == int(p.get("duty", -1))}) + a_off = [float(t0 + a[1]) for a in rows if isinstance(a, list) and a[0] == "a" and a[3] == "0100"] if t0 is not None else [] + runner_off = [float(o["rx_ms"]) for o in objs if o.get("event") == "runner" and o.get("op") == "allOff"] + all_off = a_off if len(a_off) == len(runner_off) else runner_off + connector = [] + for o in objs: + if o.get("type") != "connector" or o.get("kind") not in ("command", "reply"): + continue + if o["kind"] == "command" and t0 is not None: + connector.append({"t_ms": float(t0 + o["ms"]), "kind": "command", "command": o.get("command"), + "detail": json.dumps(o.get("params", {}), separators=(",", ":"))}) + elif o["kind"] == "reply": + v = o.get("value") + connector.append({"t_ms": float(o.get("rx_epoch_ms") or o.get("t_ms")), "kind": "reply", "command": o.get("command"), + "detail": f"{o.get('outcome')} rtt {o.get('rtt_ms', 0):.0f} ms " + + json.dumps(v, separators=(",", ":"))[:200]}) + cc8 = [float(a[2]) for a in rows if isinstance(a, list) and a[0] == "cc" and a[4] == 8] + cf = [(float(a[2]), int(a[4]), int(a[5])) for a in rows if isinstance(a, list) and a[0] == "cf"] + return {"path": str(path), "t0_ms": t0, "trials": trials, "sends_paired": paired, "all_off": sorted(all_off), + "all_off_source": "a rows (send)" if all_off is a_off else "runner rx_ms", "connector": sorted(connector, key=lambda c: c["t_ms"]), + "cc8": cc8, "cf": cf} + + +def controller_clock(log: dict): + """Linear map controller t_us → PC ms from the trialParams the controller executed vs their send times. + Returns (fn, info) or (None, reason) when the telemetry can't support it.""" + cc8, sends = log["cc8"], [t["t_cmd_ms"] for t in log["trials"]] + if not log["sends_paired"] or len(cc8) != len(sends) or len(cc8) < 2: + return None, f"no controller clock map (cc trialParams {len(cc8)}, logged sends {len(sends)}, paired {log['sends_paired']})" + x = np.array(cc8) / 1e3 + y = np.array(sends) + k, b = np.polyfit(x - x[0], y, 1) + res = y - (k * (x - x[0]) + b) + fn = lambda t_us: k * (t_us / 1e3 - x[0]) + b # noqa: E731 + return fn, {"rate": float(k), "ppm": float((k - 1) * 1e6), "residual_sd_ms": float(res.std()), "max_abs_residual_ms": float(abs(res).max()), + "note": "fit of send time (PC) vs controller execution time; residual includes USB/host latency jitter"} + + +def runlog_timeline(log: dict, color: str, to_pc) -> dict | None: + """One color's logged steps. t_disp_ms = the controller's first displayed frame after the trialParams + (PC clock) when the telemetry allows, else the send time. t_off_ms = the first allOff after the last step.""" + steps = [t for t in log["trials"] if t["color"] == color] + if not steps: + return None + cf = log["cf"] + cc_by_trial = dict(zip(range(len(log["trials"])), log["cc8"])) if to_pc else {} + out = [] + for s in steps: + i = log["trials"].index(s) + t_disp, frames = None, [] + if to_pc and i in cc_by_trial: + t_exec = cc_by_trial[i] + t_next = cc_by_trial.get(i + 1, float("inf")) + frames = [(to_pc(t_us), idx, pid) for t_us, idx, pid in cf if t_exec <= t_us < t_next and pid == s["pattern_id"]] + if frames: + t_disp = frames[0][0] + out.append({**s, "step": len(out), "t_disp_ms": t_disp if t_disp is not None else s["t_cmd_ms"], + "t_disp_source": "controller first displayed frame" if t_disp is not None else "trialParams send time", + "frames": frames}) + last = out[-1]["t_cmd_ms"] + t_off = next((t for t in log["all_off"] if t > last), None) + lat = [s["t_disp_ms"] - s["t_cmd_ms"] for s in out] + return {"steps": out, "t_off_ms": t_off, "display_latency_ms": float(np.median(lat))} + + def main(argv=None) -> int: ap = argparse.ArgumentParser(description=__doc__.split("\n\n")[0], formatter_class=argparse.RawDescriptionHelpFormatter) ap.add_argument("--tiff-dir", required=True) @@ -220,7 +323,8 @@ def main(argv=None) -> int: ap.add_argument("--pat-dir", required=True, help="folder with G6_2x10_toprow_grat20__gs16.pat") ap.add_argument("--out", required=True) ap.add_argument("--layout-out", default=None) - ap.add_argument("--runlog", default=None, help="the run's .jsonl (optional): step edges become COMMANDED") + ap.add_argument("--runlog", default=None, help="the run's .jsonl (optional): logged step times, the PC clock " + "(each TIFF anchored by its first DO1 pulse), displayed frames from controller telemetry, ScanImage commands") ap.add_argument("--utc-offset-h", type=float, default=-4.0, help="TIFF epoch is PC local time (EDT = -4)") ap.add_argument("--fps", type=float, default=20.0, help="pattern frame rate in the protocol") ap.add_argument("--step-s", type=float, default=4.0, help="nominal step length when no run log (the day's host-timed steps)") @@ -238,6 +342,27 @@ def main(argv=None) -> int: tiff_dir, pat_dir, out = Path(a.tiff_dir), Path(a.pat_dir), Path(a.out) overrides = json.loads(a.step_durations) runs = [load_color(tiff_dir, c, a.counter, a.utc_offset_h, a.preview_size) for c in COLORS] + + # with a run log: put every TIFF on the run log's PC clock, anchored by its first DO1 pulse + log, to_pc, clock_info, timelines = None, None, None, {} + if a.runlog: + log = load_runlog(Path(a.runlog)) + to_pc, clock_info = controller_clock(log) + for run in runs: + tl = runlog_timeline(log, run["color"], to_pc) + if not tl or not run["aux0"]: + continue + anchor_ms = tl["steps"][0]["t_disp_ms"] + epoch_ns_first_do1 = run["t0_ns"] + int(round(run["aux0"][0] * 1e9)) + shift_ns = int(round(anchor_ms * 1e6)) - epoch_ns_first_do1 + run["t0_ns"] += shift_ns + for fr in run["frames"]: + fr["t_ns"] += shift_ns + # end check: last DO1 pulse (+ one 300 Hz period) vs the logged allOff + display latency + end_ms = anchor_ms + (run["aux0"][-1] - run["aux0"][0] + 1 / 300) * 1e3 + tl.update(anchor_ms=anchor_ms, epoch_correction_ms=shift_ns / 1e6, + end_check_ms=(end_ms - (tl["t_off_ms"] + tl["display_latency_ms"])) if tl["t_off_ms"] else None) + timelines[run["color"]] = tl runs.sort(key=lambda r: r["t0_ns"]) pats = {c: read_pat(pat_dir / f"G6_2x10_toprow_grat20_{c}_gs16.pat") for c in COLORS} @@ -258,8 +383,10 @@ def downsample(img): f = max(1, h // a.preview_size) return img[: h - h % f, : w - w % f].reshape(h // f, f, w // f, f).mean(axis=(1, 3)) - def stimulus_source(): - return "commanded (run log trialParams)" if a.runlog else "reconstructed (first DO1 pulse + nominal step lengths)" + def stimulus_source(color): + if color in timelines: + return "commanded (run log trialParams, logged send time)" + return "reconstructed (first DO1 pulse + nominal step lengths)" gaps = [] with open(out, "wb") as fh: @@ -329,16 +456,47 @@ def display_png(color, frame, duty): s = a.display_scale return png_bytes(np.repeat(np.repeat(img, s, axis=0), s, axis=1)) - prov = {"source_files": {}, "clock": f"TIFF epoch (PC local, UTC{a.utc_offset_h:+.0f}) + frameTimestamps_sec", - "stimulus_source": stimulus_source(), "display_source": "reconstructed: .pat frame × duty/255 × LED color, " - f"fps {a.fps}, frame index restarts at 0 at each step", "scene_source": "reconstructed: panel cubes colored by LED color × lit fraction × duty", + recon_display = f"reconstructed: .pat frame × duty/255 × LED color, fps {a.fps}, frame index restarts at 0 at each step" + prov = {"source_files": {}, + "clock": ("run log PC clock (Unix epoch); each TIFF anchored by its first DO1 pulse = the controller's first " + "displayed frame after the color's first trialParams; the ScanImage epoch field is not used for placement") + if timelines else f"TIFF epoch (PC local, UTC{a.utc_offset_h:+.0f}) + frameTimestamps_sec", + "stimulus_source": {c: stimulus_source(c) for c in COLORS}, + "display_source": {c: ("observed: the controller's displayed-frame records (cf rows), controller clock → PC" + if c in timelines and timelines[c]["steps"][0]["frames"] else recon_display) for c in COLORS}, + "scene_source": "derived from /arena/display: panel cubes colored by LED color × lit fraction × duty", "preview_mapping": {f"ch{ch}": {"lo": window[ch][0], "hi": window[ch][1], "downsample": "2x2 mean"} for ch in window}, "step_lengths_s": {}, "gaps": []} + if log is not None: + prov["runlog"] = {"path": log["path"], "trials": len(log["trials"]), "trialParams_send_times_paired": log["sends_paired"], + "all_off_source": log["all_off_source"], "connector_records": len(log["connector"]), + "controller_frames": len(log["cf"]), "controller_clock": clock_info, + "duty_mismatches": [t["condition"] for t in log["trials"] if not t["duty_matches_condition"]]} + prov["anchors"] = {c: {"first_do1_pc_ms": tl["anchor_ms"], "epoch_correction_ms": tl["epoch_correction_ms"], + "display_latency_ms": tl["display_latency_ms"], "end_check_ms": tl["end_check_ms"], + "t_disp_source": tl["steps"][0]["t_disp_source"]} for c, tl in timelines.items()} + for c in COLORS: + if c not in timelines: + prov["gaps"].append({"color": c, "where": "run log given but no trialParams or DO1 for this color — reconstructed"}) counts = {} for run in runs: color = run["color"] - dur = overrides.get(color) or [a.step_s] * len(DUTIES) - edges = step_edges(run, dur) + tl = timelines.get(color) + if tl: + # logged steps in TIFF-relative seconds: the light changes at the displayed time (qc windows); + # the stimulus marker sits at the commanded send time + f0, anchor = run["aux0"][0], tl["anchor_ms"] + rel = lambda t_ms: f0 + (t_ms - anchor) / 1e3 # noqa: E731 + st = tl["steps"] + t_last = (tl["t_off_ms"] + tl["display_latency_ms"]) if tl["t_off_ms"] else st[-1]["t_disp_ms"] + a.step_s * 1e3 + bounds = [s["t_disp_ms"] for s in st] + [t_last] + edges = [{"step": k, "duty": s["duty"], "pattern_id": s["pattern_id"], "fps": s["fps"] or a.fps, + "t_start_s": rel(bounds[k]), "t_end_s": rel(bounds[k + 1]), "t_cmd_s": rel(s["t_cmd_ms"]), "frames": s["frames"]} + for k, s in enumerate(st)] + dur = [round((bounds[k + 1] - bounds[k]) / 1e3, 4) for k in range(len(st))] + else: + dur = overrides.get(color) or [a.step_s] * len(DUTIES) + edges = step_edges(run, dur) prov["step_lengths_s"][color] = dur prov["source_files"][color] = {"tiff": str(run["path"]), "frames": len(run["frames"]), "channels": run["chans"], "channels_source": run["channels_source"], "scanFrameRate": run["frame_rate"], @@ -346,7 +504,8 @@ def display_png(color, frame, duty): "do1_pulses": len(run["aux0"]), "first_do1_s": run["aux0"][0] if run["aux0"] else None, "last_do1_s": run["aux0"][-1] if run["aux0"] else None} t0 = run["t0_ns"] - put(ch_ev, t0, {"event": "acquisition_start", "color": color, "detail": f"{run['path'].name}, {len(run['frames'])} frames @ {run['frame_rate']:.2f} Hz", "source": "observed (TIFF epoch)"}) + put(ch_ev, t0, {"event": "acquisition_start", "color": color, "detail": f"{run['path'].name}, {len(run['frames'])} frames @ {run['frame_rate']:.2f} Hz", + "source": "observed (TIFF, anchored to the run log by DO1)" if tl else "observed (TIFF epoch)"}) # baseline = frames before the first DO1 pulse first_do1 = run["aux0"][0] if run["aux0"] else None base = {ch: float(np.mean([fr["imgs"][ch].mean() for fr in run["frames"] if first_do1 is None or fr["fields"]["frameTimestamps_sec"] < first_do1] or [0.0])) for ch in run["chans"]} @@ -370,32 +529,58 @@ def display_png(color, frame, duty): qc[f"dmean_ch{ch}"] = m - base[ch] put(ch_qc, t_ns, qc) counts[color] = len(run["frames"]) - # reconstructed stimulus + display + scene + # stimulus (commanded or reconstructed) + display (observed or reconstructed) + scene pat = pats[color] - src = stimulus_source() + src = stimulus_source(color) if not edges: prov["gaps"].append({"color": color, "where": "no DO1 pulses in the TIFF — no stimulus timeline"}) + scene_every = max(1, int(round(a.fps / a.scene_hz))) if a.scene_hz > 0 else 0 for e in edges: ts_ns = t0 + int(e["t_start_s"] * 1e9) - put(ch_stim, ts_ns, {"color": color, "wavelength_nm": LED_NM[color], "duty": e["duty"], "step": e["step"], "on": True, - "pattern": f"G6_2x10_toprow_grat20_{color}_gs16", "fps": a.fps, "t_rel_s": e["t_start_s"], "source": src}) - put(ch_ev, ts_ns, {"event": "step_start", "color": color, "detail": f"duty {e['duty']} (step {e['step']})", "source": src}) - n_disp = int((e["t_end_s"] - e["t_start_s"]) * a.fps) - for k in range(n_disp): - t_ns = ts_ns + int(k / a.fps * 1e9) - frame = pat["frames"][k % pat["num_frames"]] - put(ch_disp, t_ns, img_msg(t_ns, display_png(color, frame, e["duty"]), "arena_display")) - if a.scene_hz > 0 and (k % max(1, int(round(a.fps / a.scene_hz)))) == 0: - put(ch_scene, t_ns, scene(t_ns, color, frame, e["duty"], True)) + tc_ns = t0 + int(e.get("t_cmd_s", e["t_start_s"]) * 1e9) + put(ch_stim, tc_ns, {"color": color, "wavelength_nm": LED_NM[color], "duty": e["duty"], "step": e["step"], "on": True, + "pattern": f"G6_2x10_toprow_grat20_{color}_gs16", "fps": e.get("fps", a.fps), + "t_rel_s": e.get("t_cmd_s", e["t_start_s"]), "source": src}) + put(ch_ev, tc_ns, {"event": "step_start", "color": color, "detail": f"duty {e['duty']} (step {e['step']})", "source": src}) + if e.get("frames"): + # OBSERVED: each frame the controller reports displaying, at its own (PC-mapped) time + put(ch_ev, ts_ns, {"event": "display_start", "color": color, + "detail": f"duty {e['duty']}: first displayed frame {(ts_ns - tc_ns) / 1e6:.1f} ms after the command", + "source": "observed (controller frame records)"}) + for k, (t_ms, idx, _pid) in enumerate(e["frames"]): + t_ns = int(round(t_ms * 1e6)) + frame = pat["frames"][idx % pat["num_frames"]] + put(ch_disp, t_ns, img_msg(t_ns, display_png(color, frame, e["duty"]), "arena_display")) + if scene_every and k % scene_every == 0: + put(ch_scene, t_ns, scene(t_ns, color, frame, e["duty"], True)) + else: + n_disp = int((e["t_end_s"] - e["t_start_s"]) * a.fps) + for k in range(n_disp): + t_ns = ts_ns + int(k / a.fps * 1e9) + frame = pat["frames"][k % pat["num_frames"]] + put(ch_disp, t_ns, img_msg(t_ns, display_png(color, frame, e["duty"]), "arena_display")) + if scene_every and k % scene_every == 0: + put(ch_scene, t_ns, scene(t_ns, color, frame, e["duty"], True)) if edges: - t_off = t0 + int(edges[-1]["t_end_s"] * 1e9) + if tl and tl["t_off_ms"]: + t_off = int(round(tl["t_off_ms"] * 1e6)) + off_src = "commanded (run log allOff send time)" + off_detail = f"last DO1 pulse at {run['aux0'][-1]:.3f} s; DO1 end − (allOff + latency) = {tl['end_check_ms']:+.1f} ms" + else: + t_off = t0 + int(edges[-1]["t_end_s"] * 1e9) + off_src = "observed (DO1) / " + src + off_detail = f"last DO1 pulse at {run['aux0'][-1]:.3f} s" put(ch_stim, t_off, {"color": color, "wavelength_nm": LED_NM[color], "duty": 0, "step": -1, "on": False, - "pattern": "", "fps": a.fps, "t_rel_s": edges[-1]["t_end_s"], "source": src}) - put(ch_ev, t_off, {"event": "allOff", "color": color, "detail": f"last DO1 pulse at {run['aux0'][-1]:.3f} s", "source": "observed (DO1) / " + src}) + "pattern": "", "fps": a.fps, "t_rel_s": (t_off - t0) / 1e9, "source": off_src}) + put(ch_ev, t_off, {"event": "allOff", "color": color, "detail": off_detail, "source": off_src}) put(ch_scene, t_off, scene(t_off, color, None, 0, False)) put(ch_disp, t_off, img_msg(t_off, display_png(color, np.zeros_like(pat["frames"][0]), 0), "arena_display")) t_end = run["frames"][-1]["t_ns"] put(ch_ev, t_end, {"event": "acquisition_end", "color": color, "detail": f"{len(run['frames'])} frames", "source": "observed (TIFF)"}) + if log is not None and timelines: + for c in log["connector"]: + put(ch_ev, int(round(c["t_ms"] * 1e6)), {"event": f"scanimage_{c['kind']}", "color": "", "detail": f"{c['command']} {c['detail']}", + "source": "commanded (run log)" if c["kind"] == "command" else "observed (run log reply)"}) prov["frames_per_color"] = counts put(ch_prov, runs[0]["t0_ns"], prov) w.add_metadata("provenance", {k: json.dumps(v) for k, v in prov.items()}) @@ -404,14 +589,16 @@ def display_png(color, frame, duty): print(f"wrote {out} ({out.stat().st_size / 1e6:.1f} MB)") print(json.dumps({"frames_per_color": counts, "preview_mapping": prov["preview_mapping"], "step_lengths_s": prov["step_lengths_s"], "do1": {c: (prov["source_files"][c]["first_do1_s"], prov["source_files"][c]["last_do1_s"], prov["source_files"][c]["do1_pulses"]) for c in prov["source_files"]}, - "gaps": prov["gaps"]}, indent=1)) + "anchors": prov.get("anchors"), "controller_clock": clock_info, "gaps": prov["gaps"]}, indent=1)) if a.layout_out: chans = runs[0]["chans"] cfg = { f"Image!ch{ch}": {"imageMode": {"imageTopic": f"/scanimage/preview/ch{ch}"}, "foxglovePanelTitle": f"ScanImage ch{ch} (observed, {a.preview_size}px preview)"} for ch in chans} cfg.update({ - "Image!display": {"imageMode": {"imageTopic": "/arena/display"}, "foxglovePanelTitle": "Arena display (RECONSTRUCTED from .pat × duty)"}, + "Image!display": {"imageMode": {"imageTopic": "/arena/display"}, + "foxglovePanelTitle": "Arena display (controller-reported frames × .pat × duty)" if any( + t["steps"][0]["frames"] for t in timelines.values()) else "Arena display (RECONSTRUCTED from .pat × duty)"}, "3D!arena": {"cameraState": {"perspective": True, "distance": 4.2, "phi": 55, "thetaOffset": 40, "targetOffset": [0, 0, 0.6], "target": [0, 0, 0], "targetOrientation": [0, 0, 0, 1], "fovy": 45, "near": 0.01, "far": 100}, "followTf": "arena", "scene": {"enableStats": False, "backgroundColor": "#0f1419"}, "topics": {"/arena/scene": {"visible": True}}, "foxglovePanelTitle": "Arena (RECONSTRUCTED panel states)"}, From b0c7ac90fa433b08016d4bf620b2d7ee53bcd50a Mon Sep 17 00:00:00 2001 From: Michael B Reiser Date: Mon, 26 Oct 2026 20:37:16 -0400 Subject: [PATCH 2/8] rig: install the shared ROS 2 package set from reiserlab/rig-nodes; keep gateway, composition, viz (LAB-338) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extraction step of docs/development/rig-software-repos-and-runners.md §3.3 / §7 / §9. The shared infrastructure under rig/ moved with history to reiserlab/rig-nodes (package set 0.2.1: rig_interfaces + rig_nodes) and is installed here from that repository's channel. Removed (moved): rig/interfaces, rig/channel, rig/config (the Zenoh configs ship inside rig_nodes), rig/nodes/{_common, fictrac_udp_adapter, kinefly_udp_adapter, kinefly_sim, bias_node, bias_sim, bias_cmd, scanimage_node, scanimage_cmd, recorder, mcap_index, graph_dump, build_interfaces}.py, rig/tests/si_json_mock.py, rig/sizing, the benches, three rig/docs notes, fictrac-bridge/fictrac_sim.py (its tests → rig-nodes; the closed-loop-report half stays as tests/test-closed-loop-report.py), .github/workflows/rig-interfaces.yml (→ rig-nodes package-set.yml). Rewired: rig.py composes with rig_nodes.supervise and starts nodes as `python -m rig_nodes.`; bridge_node imports rig_nodes._common / recorder / mcap_index and records the package-set versions (hello_ack + /arena/session `packages`); mcap_convert imports the CDR decoder from rig_nodes.cdr; _rows re-exports the FicTrac grammar from rig_nodes.fictrac; foxglove_json is the arena `enrich` wrapper; the harness drives the installed nodes; root `pixi run sim` delegates to rig/. rig/pixi.toml: channel raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel, rig_nodes ==0.2.1, ros2-distro-mutex 0.19 + Python 3.12 pinned, macOS 14 floor; environments default / typed (+ rig_interfaces, same solve group) / viz / dev (sibling ../../rig-nodes path deps). pixi.lock is re-generated against the tagged channel in the next commit. Verified on osx-arm64 against the installed packages (local index of the CI-equivalent build): harness 59/59 (String) and 62/62 (typed), test-viz, root suite. Docs: record §9 completion note, CLAUDE.md boundaries, orientation skill, rig/README banner, WINDOWS-TEST 1b/7b, fictrac-bridge/README. Co-Authored-By: Claude Fable 5.1 --- .agents/skills/g6-orientation/SKILL.md | 10 +- .github/workflows/rig-interfaces.yml | 140 --- CLAUDE.md | 15 +- .../rig-software-repos-and-runners.md | 40 + fictrac-bridge/README.md | 4 +- fictrac-bridge/fictrac_sim.py | 762 ---------------- pixi.toml | 4 +- rig/README.md | 22 +- rig/WINDOWS-TEST.md | 10 +- rig/channel/README.md | 42 - rig/config/zenoh-router.json5 | 813 ----------------- rig/config/zenoh-session.json5 | 820 ------------------ rig/docs/shm-bench.md | 67 -- rig/docs/typed-distribution-decision.md | 110 --- rig/docs/typed-windows.md | 326 ------- rig/interfaces/rig_interfaces/CMakeLists.txt | 27 - .../rig_interfaces/msg/ArenaFrame.msg | 38 - .../rig_interfaces/msg/ConnectorReply.msg | 14 - .../rig_interfaces/msg/FicTracFrame.msg | 9 - rig/interfaces/rig_interfaces/package.xml | 18 - rig/interfaces/rig_interfaces/pixi.toml | 21 - rig/mcap_bench.py | 313 ------- rig/nodes/_common.py | 245 ------ rig/nodes/_rows.py | 25 +- rig/nodes/bias_cmd.py | 88 -- rig/nodes/bias_node.py | 378 -------- rig/nodes/bias_sim.py | 238 ----- rig/nodes/bridge_node.py | 40 +- rig/nodes/build_interfaces.py | 130 --- rig/nodes/fictrac_udp_adapter.py | 148 ---- rig/nodes/foxglove_json.py | 216 +---- rig/nodes/graph_dump.py | 134 --- rig/nodes/kinefly_sim.py | 96 -- rig/nodes/kinefly_udp_adapter.py | 138 --- rig/nodes/mcap_convert.py | 82 +- rig/nodes/mcap_index.py | 292 ------- rig/nodes/recorder.py | 177 ---- rig/nodes/rig.py | 193 ++--- rig/nodes/scanimage_cmd.py | 105 --- rig/nodes/scanimage_node.py | 486 ----------- rig/nodes/viz_node.py | 2 +- rig/pixi.toml | 183 ++-- rig/shm_bench.py | 403 --------- rig/shm_bench_qpc.py | 403 --------- rig/sizing/columns.py | 275 ------ rig/sizing/compare.py | 94 -- rig/sizing/frames300.py | 73 -- rig/tests/si_json_mock.py | 223 ----- rig/tests/test_ros2_poc.py | 29 +- ...trac-sim.py => test-closed-loop-report.py} | 117 +-- 50 files changed, 323 insertions(+), 8315 deletions(-) delete mode 100644 .github/workflows/rig-interfaces.yml delete mode 100644 fictrac-bridge/fictrac_sim.py delete mode 100644 rig/channel/README.md delete mode 100644 rig/config/zenoh-router.json5 delete mode 100644 rig/config/zenoh-session.json5 delete mode 100644 rig/docs/shm-bench.md delete mode 100644 rig/docs/typed-distribution-decision.md delete mode 100644 rig/docs/typed-windows.md delete mode 100644 rig/interfaces/rig_interfaces/CMakeLists.txt delete mode 100644 rig/interfaces/rig_interfaces/msg/ArenaFrame.msg delete mode 100644 rig/interfaces/rig_interfaces/msg/ConnectorReply.msg delete mode 100644 rig/interfaces/rig_interfaces/msg/FicTracFrame.msg delete mode 100644 rig/interfaces/rig_interfaces/package.xml delete mode 100644 rig/interfaces/rig_interfaces/pixi.toml delete mode 100644 rig/mcap_bench.py delete mode 100644 rig/nodes/_common.py delete mode 100644 rig/nodes/bias_cmd.py delete mode 100644 rig/nodes/bias_node.py delete mode 100644 rig/nodes/bias_sim.py delete mode 100644 rig/nodes/build_interfaces.py delete mode 100644 rig/nodes/fictrac_udp_adapter.py delete mode 100644 rig/nodes/graph_dump.py delete mode 100644 rig/nodes/kinefly_sim.py delete mode 100644 rig/nodes/kinefly_udp_adapter.py delete mode 100644 rig/nodes/mcap_index.py delete mode 100644 rig/nodes/recorder.py delete mode 100644 rig/nodes/scanimage_cmd.py delete mode 100644 rig/nodes/scanimage_node.py delete mode 100644 rig/shm_bench.py delete mode 100644 rig/shm_bench_qpc.py delete mode 100644 rig/sizing/columns.py delete mode 100644 rig/sizing/compare.py delete mode 100644 rig/sizing/frames300.py delete mode 100644 rig/tests/si_json_mock.py rename tests/{test-fictrac-sim.py => test-closed-loop-report.py} (57%) diff --git a/.agents/skills/g6-orientation/SKILL.md b/.agents/skills/g6-orientation/SKILL.md index 9a4b6637..ffd8f56d 100644 --- a/.agents/skills/g6-orientation/SKILL.md +++ b/.agents/skills/g6-orientation/SKILL.md @@ -42,7 +42,7 @@ interface. |---|---| | **reiserlab/maDisplayTools** | **MATLAB** tools (G4+). Pattern math reference — **web output must match MATLAB exactly** (CI validates, tol 1e-4). Its protocol **runner is G4.1-only and frozen** (decision 2026-10-26); protocol authority = `webDisplayTools/docs/development/v3-spec.md` + conformance fixtures. (Its `docs/development/G4G6_ROADMAP.md` is largely historical now — use the umbrella docs for current G6.) | | **reiserlab/LED-Display_pyDisplayTools** (pyDisplayTools) | **Python** tools for the displays (G4 pattern + experiment-folder tools). **Accepted destination** for the Python arena library and the **headless runner** (`arena-run`), a peer of the web runner (decision 2026-10-26). | -| **reiserlab/rig-nodes** | **Accepted destination, not yet created:** shared ROS 2 infrastructure for every lab rig (`rig_interfaces`, device nodes for FicTrac / Kinefly / BIAS / ScanImage / SiPM, MCAP recording and supervision primitives). Today that code lives in `webDisplayTools/rig/` on the 2026-10-20 release candidate. Record: `webDisplayTools/docs/development/rig-software-repos-and-runners.md`. | +| **reiserlab/rig-nodes** | **Current location (since 2026-10-26)** of the shared ROS 2 infrastructure for every lab rig: `rig_interfaces` (FicTracFrame, ArenaFrame, ConnectorReply), the device adapters + simulators (FicTrac, Kinefly, BIAS, ScanImage; SiPM and the ScanImage frames node follow when their PRs land), the MCAP recorder/indexer/CDR decoder/Foxglove rewriter, the supervision primitives and the Zenoh configs, as the `rig_nodes` + `rig_interfaces` packages (one package-set version, conda channel at a release tag). `CONTRACT.md` there is the graph contract (topics, QoS, envelope, invariants). webDisplayTools' `rig/` installs the set and keeps only the arena gateway, composition and visualization. Record: `webDisplayTools/docs/development/rig-software-repos-and-runners.md`. | ### G6 firmware (what the web connects to over USB) | repo | role | @@ -120,13 +120,15 @@ interface. (`CE_DISPLAY_ACTIVE`); STOP also blanks the panels (they latch the last frame). - **"Web is the runner"** (CSHL) — the browser **executes** the protocol, host-timed: `js/arena-runner-g6.js`. -- **FicTrac closed loop** — `fictrac_sim.py` (or real FicTrac) → **`fictrac-bridge/bridge.py`** +- **FicTrac closed loop** — the FicTrac simulator (`rig_nodes.sims.fictrac_sim`, rig-nodes; or real FicTrac) → **`fictrac-bridge/bridge.py`** (WebSocket `ws://localhost:8765` ← UDP `:60000`) → browser. `pixi run bridge` + `pixi run sim` (start the bridge first). The web runner executes only the `fictrac` and `log` plugins; `backlight`/`camera`/`temperature` are declared for MATLAB and **skipped on the web**. -- **ROS 2 graph (LAB-303, candidate 2026-10-20)** — `rig/` replaces the bridge with a graph +- **ROS 2 graph (LAB-303, released 2026-10-20/26)** — `rig/` replaces the bridge with a graph (rmw_zenoh, MCAP record, BIAS + ScanImage connectors) behind the SAME WebSocket; the Studio is - unchanged. Where the pieces will live from here: `rig-software-repos-and-runners.md` (above). + unchanged. Since 2026-10-26 the device nodes, simulators and recording primitives come from the + installed `rig_nodes` package (reiserlab/rig-nodes); `rig/` keeps the gateway (`bridge_node.py`), + the composition (`rig.py`) and the arena visualization. Record: `rig-software-repos-and-runners.md`. ## Pointers (go here for depth) diff --git a/.github/workflows/rig-interfaces.yml b/.github/workflows/rig-interfaces.yml deleted file mode 100644 index 215eccf9..00000000 --- a/.github/workflows/rig-interfaces.yml +++ /dev/null @@ -1,140 +0,0 @@ -# Build rig/interfaces/rig_interfaces (the typed ROS 2 messages of the arena bridge graph, -# LAB-303) ONCE per platform in CI and publish the result as a conda channel, so a rig PC installs -# typed messages as a download — no MSVC, no build backend, no MAX_PATH workaround. Decision and -# the consumer-side manifest edits: rig/docs/typed-distribution-decision.md; the measurements -# behind it: rig/docs/typed-windows.md. -# -# Runs: build-only on a PR that touches the package or this file (proves the three platforms still -# build); the `rig-interfaces-channel` artifact on every run; the hosted-channel upload only on an -# `rig-interfaces-v*` tag AND only when the repository variable RIG_INTERFACES_CHANNEL names a -# prefix.dev channel (with the PREFIX_API_KEY secret). Until the lab owns one, the channel artifact -# is committed into rig/channel/ by hand (the decision note has the recipe). -name: rig-interfaces - -on: - pull_request: - paths: - - 'rig/interfaces/**' - - '.github/workflows/rig-interfaces.yml' - push: - tags: ['rig-interfaces-v*'] - workflow_dispatch: - -permissions: - contents: read - -concurrency: - group: rig-interfaces-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -env: - # The pixi + pixi-build-ros pair the package was last built and tested with (ww18 2026-10-16, - # docs/typed-windows.md). Bump deliberately: the backend is NOT in pixi.lock. - PIXI_VERSION: v0.80.0 - -jobs: - build: - name: build (${{ matrix.subdir }}) - strategy: - fail-fast: false - matrix: - include: - # windows-2022 carries VS 2022 → conda-forge's vs2022 activation finds the v143 - # toolset without the Build-Tools-2026 detour of docs/typed-windows.md W2. - - { os: windows-2022, subdir: win-64 } - - { os: macos-14, subdir: osx-arm64 } - - { os: ubuntu-24.04, subdir: linux-64 } - runs-on: ${{ matrix.os }} - defaults: - run: - shell: bash - working-directory: rig - steps: - - uses: actions/checkout@v7 - with: - persist-credentials: false - - uses: prefix-dev/setup-pixi@v0.10.2 - with: - pixi-version: ${{ env.PIXI_VERSION }} - run-install: false - # MAX_PATH: the runner's checkout (D:\a\webDisplayTools\webDisplayTools\rig, 40 - # chars) plus the ~211 chars the rosidl build adds crosses 260. detached-environments - # moves .pixi (build workspace included) to a 4-char root — the ww18 recipe. - - name: Windows build root - if: runner.os == 'Windows' - run: pixi config set --local detached-environments 'C:\px' - - name: pixi build rig_interfaces - run: | - rm -rf ../dist - pixi build --path interfaces/rig_interfaces/pixi.toml --output-dir ../dist - mkdir -p ../dist/${{ matrix.subdir }} - mv ../dist/*.conda ../dist/${{ matrix.subdir }}/ - ls -la ../dist/${{ matrix.subdir }} - # The archive must be a well-formed .conda for the subdir it claims; `..` in a packaged - # path (the Windows bug the CMakeLists workaround covers) would already have failed above. - - name: inspect the package - run: | - f=$(ls ../dist/${{ matrix.subdir }}/*.conda) - python3 - "$f" <<'EOF' - import sys, zipfile - path = sys.argv[1] - names = zipfile.ZipFile(path).namelist() # a .conda = zip{pkg-*.tar.zst, info-*.tar.zst, metadata.json} - assert any(n.startswith("pkg-") for n in names) and any(n.startswith("info-") for n in names), names - print(path, names) - EOF - - uses: actions/upload-artifact@v5 - with: - name: rig_interfaces-${{ matrix.subdir }} - path: dist/${{ matrix.subdir }}/*.conda - if-no-files-found: error - retention-days: 30 - - channel: - name: channel (index + artifact) - needs: build - runs-on: ubuntu-24.04 - steps: - - uses: prefix-dev/setup-pixi@v0.10.2 - with: - pixi-version: ${{ env.PIXI_VERSION }} - run-install: false - # One artifact per subdir → channel//.conda (upload paths are relative to - # dist/, so the subdir is restored here from the artifact name). - - uses: actions/download-artifact@v5 - with: - pattern: rig_interfaces-* - path: artifacts - - name: assemble + index the channel - run: | - mkdir -p channel - for d in artifacts/rig_interfaces-*; do - subdir=${d#artifacts/rig_interfaces-} - mkdir -p "channel/$subdir" - cp "$d"/*.conda "channel/$subdir/" - done - pixi exec rattler-index fs channel - find channel -type f | sort - python3 - <<'EOF' - import json, pathlib - for rd in sorted(pathlib.Path("channel").glob("*/repodata.json")): - pk = json.load(open(rd))["packages.conda"] - for name, rec in pk.items(): - print(rd.parent.name, name, rec["sha256"], [d for d in rec["depends"] if d.startswith("ros2-distro-mutex")]) - EOF - # The deliverable: a complete three-platform channel. Commit it into rig/channel/ - # (decision note §"Releasing a new build") or let the step below upload it. - - uses: actions/upload-artifact@v5 - with: - name: rig-interfaces-channel - path: channel - if-no-files-found: error - retention-days: 90 - # Hosted channel (prefix.dev), only when the lab has one: set the repository variable - # RIG_INTERFACES_CHANNEL to its name and the secret PREFIX_API_KEY. Tags only, so a - # PR build can never publish. - - name: upload to the hosted channel - if: startsWith(github.ref, 'refs/tags/rig-interfaces-v') && vars.RIG_INTERFACES_CHANNEL != '' - env: - PREFIX_API_KEY: ${{ secrets.PREFIX_API_KEY }} - RIG_INTERFACES_CHANNEL: ${{ vars.RIG_INTERFACES_CHANNEL }} - run: pixi exec rattler-build upload prefix --channel "$RIG_INTERFACES_CHANNEL" channel/*/*.conda diff --git a/CLAUDE.md b/CLAUDE.md index afbcb785..5d995c77 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -107,11 +107,16 @@ When editing web tools, audit all buttons and controls in the modified code sect - Dependencies via CDN or vendored under `js/vendor/` (e.g. `yaml`); no runtime npm - Web outputs must match MATLAB outputs exactly -**Repository boundaries (decision 2026-10-26):** `docs/development/rig-software-repos-and-runners.md` -is the record. The browser tools and their rig-side gateway (`rig/nodes/bridge_node.py`) stay -here; the Python arena library + headless runner go to `LED-Display_pyDisplayTools`; shared ROS 2 -infrastructure (interfaces, device nodes, recording, supervision) goes to `rig-nodes`, which does not -exist yet. Until the extraction session, every file is where the record's inventory says it is today. +**Repository boundaries (decision 2026-10-26; extraction done the same day):** +`docs/development/rig-software-repos-and-runners.md` is the record. The browser tools, their rig-side +gateway (`rig/nodes/bridge_node.py`), the arena composition (`rig/nodes/rig.py`, `rig/pixi.toml`) and the +arena visualization stay here; the Python arena library + headless runner go to +`LED-Display_pyDisplayTools` (LAB-337); shared ROS 2 infrastructure lives in **`reiserlab/rig-nodes`** +(`rig_interfaces`, the device adapters + simulators, `rig_nodes.recorder` / `mcap_index` / `cdr` / +`foxglove_json`, `rig_nodes.supervise`, the Zenoh configs; contract: its `CONTRACT.md`) and is INSTALLED +into `rig/` as the pinned `rig_nodes` + `rig_interfaces` packages from that repo's channel. A node fix +is tested here with `pixi install -e dev` (a sibling `../rig-nodes` checkout built from source); a +release of the set re-pins `rig/pixi.toml`. Never re-add a device node or recorder copy under `rig/`. ### Dev environment (pixi — the only tool you install) diff --git a/docs/development/rig-software-repos-and-runners.md b/docs/development/rig-software-repos-and-runners.md index 1dad60cb..f86b6a63 100644 --- a/docs/development/rig-software-repos-and-runners.md +++ b/docs/development/rig-software-repos-and-runners.md @@ -375,6 +375,46 @@ The extraction session (LAB-338) starts from `rig/` on `main` with the §3.3 inv list; the open satellites above are the only in-flight changes under `rig/`. Nothing in this cleanup changed the inventory's destinations. +### Extraction done (2026-10-26) — what the runner planning session inherits + +- **`reiserlab/rig-nodes` exists** with the §3.3 "rig-nodes" set moved from `rig/` **with history** + (`git filter-repo` on `main` a8ef775; the pre-rename `ros2-poc/` paths included) and restructured + as two pixi packages released together under one version (**0.2.1**): `src/rig_interfaces` (the + 0.2.0 messages, host pinned to the RoboStack set the rigs run — `ros2-distro-mutex` 0.19 + + Python 3.12 on all three platforms; the 0.2.0 CI build had let two runners drift to 0.20 / + 3.14) and `src/rig_nodes` (noarch Python: `_common`, the FicTrac / Kinefly / BIAS / ScanImage + adapters + command tools, the simulators incl. `fictrac_sim`, `recorder`, `mcap_index`, the CDR + decoder `cdr` (ex `mcap_convert`), the generic `foxglove_json` with an `enrich` hook, `graph_dump`, + `build_interfaces`, and three new modules: `supervise` (the process-group / port-preflight / + `Child` primitives extracted from `rig.py`), `fictrac` (THE FicTrac line grammar, ex + `_rows.parse_fictrac_line`) and `zenoh` (the loopback configs shipped inside the package + + `rig-router`)). `CONTRACT.md` there is checklist item 1(b); device-instance namespacing stayed + with LAB-340. CI (`package-set.yml`) builds both packages on win-64 / osx-arm64 / linux-64, + checks every package's pins, indexes the channel and installs it in a clean directory on each + platform to run the repository's tests (item 6's release gate). Tests: `tests/test_pure.py` + (29 checks) and `tests/test_device_nodes.py` (48 checks: sims → nodes → topics → loss + accounting + the recorder), the rig-nodes half of item 8. +- **webDisplayTools `rig/`** keeps the §3.3 "stays" set and installs the package set from the + rig-nodes channel (`rig/pixi.toml`: `rig_nodes ==0.2.1`; the `typed` environment adds + `rig_interfaces ==0.2.1` in the SAME solve group, which the 0.2.0 pins had made impossible; the + `dev` environment swaps both for path dependencies on a sibling `../../rig-nodes` checkout — + item 6's developer path). `rig.py` composes with `rig_nodes.supervise`; `bridge_node` imports + `rig_nodes._common` / `recorder` / `mcap_index` and writes the package-set versions into + `hello_ack` and the `/arena/session` record (item 7); `mcap_convert` and `_rows` import the + decoder and the FicTrac grammar; `foxglove_json` is the arena `enrich` wrapper. The harness + (`rig/tests/test_ros2_poc.py`) runs against the INSTALLED packages and is the cross-repository + smoke (item 8). `fictrac-bridge/fictrac_sim.py` moved too; the root `pixi run sim` delegates to + the `rig/` workspace. +- **Not moved, by the rule "anything doubtful stays":** `nodes/_rows.py` beyond the FicTrac parser + (behavior_v2 `kf` rows are arena format), the arena half of `foxglove_json.py`, every file the + inventory marks "stays"; `scanimage_frames_node` / SiPM / `bias_health` follow when #261, #266 + and #269 land (each PR rebases onto this move: its new node goes to rig-nodes, its gateway edits + stay). `.github/workflows/rig-interfaces.yml` left with the package. +- **Open after this session:** place the `v0.2.1` tag on the rig-nodes release commit once CI is + green on the three platforms and the channel is committed; re-lock `rig/pixi.lock` against the + tagged channel (the PR is opened with that lock); the `okey-cokey` PR #269 rebases over the move + (it edits `rig.py`, `foxglove_json.py`, `viz_node.py`, adds `bias_health.py`). + ## 10. Decided, hypotheses, commitments - **Decided:** the three repositories and their downward dependencies; two peer runners with the web diff --git a/fictrac-bridge/README.md b/fictrac-bridge/README.md index d0c634b0..3db8e55d 100644 --- a/fictrac-bridge/README.md +++ b/fictrac-bridge/README.md @@ -12,7 +12,7 @@ direction the browser sends JSON log events back, which the bridge appends to a └──────────▶ --log file (JSONL) ``` -For development without a camera or a real FicTrac install, `fictrac_sim.py` +For development without a camera or a real FicTrac install, the FicTrac simulator (`rig_nodes.sims.fictrac_sim` in reiserlab/rig-nodes since 2026-10-26, installed by the `rig/` workspace; `pixi run sim` here delegates to it) generates random-walk data in FicTrac's exact wire format. ## Why a bridge at all? @@ -390,6 +390,8 @@ bias, the rejection index and the idx-consistency check. ## fictrac_sim.py options +> Since 2026-10-26 the simulator is `rig_nodes.sims.fictrac_sim` (reiserlab/rig-nodes); the options below are unchanged (`pixi run sim -- --help`). + | Option | Default | Meaning | |---|---|---| | `file` (positional) | — | FicTrac log (CSV) to replay; omit to generate random data. | diff --git a/fictrac-bridge/fictrac_sim.py b/fictrac-bridge/fictrac_sim.py deleted file mode 100644 index 98879ad1..00000000 --- a/fictrac-bridge/fictrac_sim.py +++ /dev/null @@ -1,762 +0,0 @@ -#!/usr/bin/env python3 -"""fictrac_sim.py — emit FicTrac socket output: random data, a replayed log, or a model fly. - -FicTrac (https://github.com/rjdmoore/fictrac) streams one record per camera frame -as a comma-space-separated, newline-terminated line of 25 fields. This tool stands -in for FicTrac so the bridge, the browser closed-loop UI and a REAL ARENA can be -exercised without a camera, a ball or a fly. Four sources: - - (default) a smooth random walk (soak-harness knobs --turn-sigma / --jump-every) - fictrac_sim.py X.csv replay a FicTrac data log verbatim, paced by its column 22 - --replay run.jsonl.gz re-emit a REAL FLY's heading/position trace from one of our own - run logs (the behavior_v1/v2 rows [ms,fc,idx,ft,x,y,hd]) at the - original pacing — real saccade / bout / pause statistics, no model - --model fly a CLOSED-LOOP MODEL FLY: subscribes to the bridge's WebSocket, reads - the frame index the arena is showing, and turns toward the feature - (--kp, fixation) and/or with the world's motion (--kv, optomotor), - plus Ornstein–Uhlenbeck noise, Poisson saccades and walking bouts. - With a bias waveform installed (LAB-185) a --kp fly counter-turns; - with a mis-signed rig it drives the feature AWAY (anti-fixation) — - which is exactly what this mode is for. - -Sign conventions (the part worth reading twice): - * FicTrac's integrated heading (col 17) is a lab-frame rotation about +z, so it INCREASES - when the fly turns LEFT (counter-clockwise from above). The model fly follows that. - * Feature azimuth `az` is in the fly's view, degrees, positive = RIGHT, from the frame - index: az = wrap180(frame_dir · idx · deg_per_frame + feature_az0). `--frame-dir +1` - (default) means an index increase moves the feature rightward = the display turns - clockwise — the on-arena sign Isabel confirmed for a positive bias at gain +1.8. - * Fixation: turn TOWARD the feature → ω = −kp · az (az right → heading decreases = turn - right). Optomotor: follow the world → ω = −kv · d(az)/dt. If the arena shows the - feature running away from the model fly, the rig (or --frame-dir) has the wrong sign. - -Transport roles mirror real FicTrac so `bridge.py` is identical for sim and real: - --proto udp (default): FicTrac is the *sender*. This sim `sendto`s each line to - (host, port); the bridge binds and receives. - --proto tcp: FicTrac's TCP variant is a *server*. This sim listens and - accepts one client (the bridge), then streams to it. - -FicTrac output columns (1-based), per doc/data_header.txt: - 1 frame counter (starts at 1) - 2-4 delta rotation vector, camera coords (rad) - 5 rotation-estimate error score - 6-8 delta rotation vector, lab coords (rad) - 9-11 absolute orientation, camera coords (rad) - 12-14 absolute orientation, lab coords (rad) - 15-16 integrated x/y position, lab coords (rad; scale by ball radius) - 17 integrated animal heading, lab coords (rad) - 18 instantaneous movement direction, lab coords (rad) - 19 movement speed (rad/frame) - 20-21 integrated forward/side motion (rad) - 22 timestamp (video position or epoch ms) - 23 sequence counter within the current tracking sequence - 24 delta timestamp (ms) - 25 alt. timestamp (ms since midnight) -""" - -from __future__ import annotations - -import argparse -import gzip -import json -import math -import os -import random -import socket -import sys -import threading -import time - -N_FIELDS = 25 -DEFAULT_PORT = 60000 -TWO_PI = 2.0 * math.pi - - -def fmt_record(fields: list[float]) -> str: - """Format one record exactly like FicTrac: ', '-joined, newline-terminated. - - The frame counter (field 1) and sequence counter (field 23) are integers on - the wire; everything else is a float. - """ - out = [] - for i, v in enumerate(fields): - if i in (0, 22): # frame counter, sequence counter - out.append(str(int(v))) - else: - out.append(f"{v:.6f}") - return ", ".join(out) + "\n" - - -def wrap180(deg: float) -> float: - """Wrap degrees into [-180, 180).""" - return ((deg + 180.0) % 360.0) - 180.0 - - -def wrap_pi(rad: float) -> float: - """Wrap radians into [-π, π).""" - return ((rad + math.pi) % TWO_PI) - math.pi - - -def pack_record( - frame: int, - dt_ms: float, - heading: float, - d_head: float, - speed: float, - move_dir: float, - x: float, - y: float, - fwd: float, - side: float, - jitter=lambda sigma: 0.0, - ts_ms: float | None = None, -) -> list[float]: - """Pack the lab-frame state into the 25 FicTrac fields (all angles rad). - - `jitter(sigma)` fills the camera-frame / error columns nobody downstream reads with - small noise (the Walker) or zeros (replay, model). `heading` is wrapped to [0, 2π) - like FicTrac's col 17. `ts_ms` overrides the frame-derived timestamp (replay). - """ - if ts_ms is None: - ts_ms = frame * dt_ms - fields = [0.0] * N_FIELDS - fields[0] = frame # 1 - fields[1] = jitter(0.02) # 2-4 delta rot cam - fields[2] = jitter(0.02) - fields[3] = d_head + jitter(0.01) - fields[4] = abs(jitter(0.005)) # 5 error score - fields[5] = jitter(0.02) # 6-8 delta rot lab - fields[6] = jitter(0.02) - fields[7] = d_head - fields[8] = jitter(0.02) # 9-11 abs rot cam - fields[9] = jitter(0.02) - fields[10] = heading + jitter(0.01) - fields[11] = jitter(0.02) # 12-14 abs rot lab - fields[12] = jitter(0.02) - fields[13] = heading - fields[14] = x # 15-16 integrated x/y - fields[15] = y - fields[16] = heading % TWO_PI # 17 integrated heading - fields[17] = move_dir % TWO_PI # 18 movement direction - fields[18] = speed # 19 movement speed - fields[19] = fwd # 20-21 integrated fwd/side - fields[20] = side - # FicTrac writes field 22 in NANOSECONDS; the bridge divides it by FT_TS_NS_PER_MS to get ms - # (every simulator log before 2026-09-13 had ft 1000× too small — found by the telemetry - # logging review). Field 25 stays in ms as FicTrac's "ms since midnight". - fields[21] = ts_ms * 1_000_000.0 # 22 timestamp (ns) - fields[22] = frame # 23 sequence counter - fields[23] = dt_ms # 24 delta ms - fields[24] = ts_ms % 86_400_000.0 # 25 abs ms since midnight - return fields - - -class Walker: - """Smooth random walk producing deterministic FicTrac-like records. - - Deterministic given --seed: values come only from the seeded RNG and the - frame counter, never from the wall clock, so two runs with the same seed - emit byte-identical records regardless of pacing. - """ - - def __init__( - self, - rate_hz: float, - seed: int | None, - turn_sigma: float = 0.05, - jump_every: int = 0, - jump_deg: float = 90.0, - noise: float = 1.0, - ) -> None: - self.rng = random.Random(seed) - self.dt = 1.0 / rate_hz - self.dt_ms = 1000.0 * self.dt - self.noise = noise # scales every random-walk sigma (0 = a perfectly still ball) - # Soak-harness knobs (fw #50): `turn_sigma` is the per-frame heading step - # (rad) — 0.05 rad ≈ 2.9° ≈ ±1.6 frames/sample at the 1.8°/frame default - # gain, i.e. a FicTrac-like random walk that keeps the SD reads on the - # sequential fast path most of the time. `jump_every` > 0 adds a ±jump_deg - # heading jump every N frames — a wide seek that defeats that fast path. - self.turn_sigma = turn_sigma - self.jump_every = max(0, int(jump_every)) - self.jump_rad = math.radians(jump_deg) - self.frame = 0 - self.heading = 0.0 # integrated heading (rad), field 17 - self.x = 0.0 # integrated x (rad), field 15 - self.y = 0.0 # integrated y (rad), field 16 - self.fwd = 0.0 # integrated forward motion, field 20 - self.side = 0.0 # integrated side motion, field 21 - - def _gauss(self, sigma: float) -> float: - return self.rng.gauss(0.0, sigma * self.noise) - - def next_record(self) -> list[float]: - self.frame += 1 - - # Per-frame deltas: a small turn and a small forward step. - d_head = self._gauss(self.turn_sigma) - if self.jump_every and self.frame % self.jump_every == 0: - d_head += self.jump_rad if self.rng.random() < 0.5 else -self.jump_rad - speed = abs(self._gauss(0.03)) # rad/frame, field 19 - move_dir = self.heading + self._gauss(0.1) # field 18 - - # Integrate the lab-frame state. - self.heading = (self.heading + d_head) % TWO_PI - self.x += speed * math.cos(self.heading) - self.y += speed * math.sin(self.heading) - self.fwd += speed - self.side += speed * math.sin(d_head) - return pack_record( - self.frame, self.dt_ms, self.heading, d_head, speed, move_dir, - self.x, self.y, self.fwd, self.side, jitter=self._gauss, - ) - - -# ── model fly: a closed-loop agent that sees the displayed frame index ──────── -class ModelFly: - """A fly that turns toward a feature (fixation) and/or with the world (optomotor). - - Pure and deterministic given `seed`: `step(dt, az_deg)` advances the state by one - FicTrac frame given the feature's azimuth in the fly's view (deg, right = +, None - when the display has not been seen yet) and returns the packed record. All internal - angles are radians; the public knobs are degrees because that is how people think - about a fly on a ball. - - ω_target = −kp·az − kv·d(az)/dt (deg/s; heading is CCW-positive) - τ dω/dt = ω_target − ω (first-order turning response) - + OU noise (sigma `noise_dps`, time constant `noise_tau`) - + Poisson saccades (rate /s, amplitude ~ N(mean, 0.3·mean), fixed duration) - + walking bouts: two-state Markov (mean bout / pause seconds); a paused fly has - no fixation/optomotor drive, 20 % of the noise and zero forward speed - - kp is deg/s per deg of azimuth (2 ≈ brisk fixation), kv is dimensionless (1 = perfect - optomotor following). Both default to 0 so the fly is a noisy walker until asked. - """ - - def __init__( - self, - rate_hz: float, - seed: int | None = None, - kp: float = 0.0, - kv: float = 0.0, - tau_s: float = 0.1, - noise_dps: float = 30.0, - noise_tau_s: float = 0.3, - saccade_rate_hz: float = 0.5, - saccade_deg: float = 45.0, - saccade_ms: float = 80.0, - bout_s: float = 4.0, - pause_s: float = 0.0, - speed_rad_s: float = 0.6, - heading0_deg: float = 0.0, - ) -> None: - self.rng = random.Random(seed) - self.dt = 1.0 / rate_hz - self.dt_ms = 1000.0 * self.dt - self.kp = kp - self.kv = kv - self.tau = max(tau_s, self.dt) - self.noise_dps = noise_dps - self.noise_tau = max(noise_tau_s, self.dt) - self.saccade_rate = max(0.0, saccade_rate_hz) - self.saccade_deg = saccade_deg - self.saccade_frames = max(1, int(round(saccade_ms / 1000.0 / self.dt))) - self.bout_s = max(bout_s, self.dt) - self.pause_s = max(0.0, pause_s) - self.speed = speed_rad_s - self.omega_max = math.radians(1500.0) - # state - self.frame = 0 - self.heading = math.radians(heading0_deg) # rad, unwrapped - self.omega = 0.0 # rad/s, smooth turning - self.noise = 0.0 # rad/s, OU component - self.saccade_left = 0 # frames remaining in the current saccade - self.saccade_omega = 0.0 # rad/s during it - self.walking = True - self.prev_az: float | None = None - self.x = self.y = self.fwd = self.side = 0.0 - self.last_az: float | None = None - self.saccades = 0 - - # -- pieces (separately testable) -- - def _drive_dps(self, az_deg: float | None) -> float: - """Fixation + optomotor drive in deg/s (0 when the display is unseen or paused).""" - if az_deg is None or not self.walking: - self.prev_az = az_deg - return 0.0 - drive = -self.kp * az_deg - if self.kv and self.prev_az is not None: - v_az = wrap180(az_deg - self.prev_az) / self.dt # deg/s, right = + - drive -= self.kv * v_az - self.prev_az = az_deg - return drive - - def _maybe_saccade(self) -> None: - if self.saccade_left > 0 or self.saccade_rate <= 0: - return - if self.rng.random() < self.saccade_rate * self.dt: - amp = self.rng.gauss(self.saccade_deg, 0.3 * self.saccade_deg) - sign = 1.0 if self.rng.random() < 0.5 else -1.0 - self.saccade_left = self.saccade_frames - self.saccade_omega = math.radians(sign * amp) / (self.saccade_frames * self.dt) - self.saccades += 1 - - def _maybe_toggle_bout(self) -> None: - if self.pause_s <= 0: - self.walking = True - return - mean = self.bout_s if self.walking else self.pause_s - if self.rng.random() < self.dt / mean: - self.walking = not self.walking - - def step(self, az_deg: float | None) -> list[float]: - self.frame += 1 - self.last_az = az_deg - self._maybe_toggle_bout() - target = math.radians(self._drive_dps(az_deg)) - # first-order turning response - self.omega += (target - self.omega) * (self.dt / self.tau) - # Ornstein–Uhlenbeck noise (exact discretisation) - a = math.exp(-self.dt / self.noise_tau) - sigma = math.radians(self.noise_dps) * (1.0 if self.walking else 0.2) - self.noise = a * self.noise + sigma * math.sqrt(1.0 - a * a) * self.rng.gauss(0.0, 1.0) - # saccades - self._maybe_saccade() - sacc = 0.0 - if self.saccade_left > 0: - sacc = self.saccade_omega - self.saccade_left -= 1 - # A fly cannot spin faster than a saccade peak (~1500 °/s); a runaway loop (mis-signed - # optomotor) then reads as "spinning flat out" instead of an absurd number. - omega_total = max(-self.omega_max, min(self.omega_max, self.omega + self.noise + sacc)) - d_head = omega_total * self.dt - prev = self.heading - self.heading += d_head - speed = self.speed * self.dt * (1.0 if self.walking else 0.0) - speed *= max(0.0, 1.0 + self.rng.gauss(0.0, 0.2)) - self.x += speed * math.cos(self.heading) - self.y += speed * math.sin(self.heading) - self.fwd += speed - self.side += speed * math.sin(d_head) - move_dir = self.heading + self.rng.gauss(0.0, 0.1) - return pack_record( - self.frame, self.dt_ms, self.heading % TWO_PI, wrap_pi(self.heading - prev), - speed, move_dir, self.x, self.y, self.fwd, self.side, - ) - - -def feature_azimuth(idx: int, deg_per_frame: float, frame_dir: int, az0_deg: float) -> float: - """Azimuth (deg, right = +) of the pattern's feature when the arena shows frame `idx`.""" - return wrap180(frame_dir * idx * deg_per_frame + az0_deg) - - -class BridgeFrameFeed: - """Background WebSocket client: keeps the newest frame index the bridge published. - - The bridge broadcasts every `{"type":"frame","index":…}` to all clients, so the sim - can watch the loop it is driving. Reconnects forever; `latest()` → (index | None, age_s). - """ - - def __init__(self, url: str) -> None: - self.url = url - self._idx: int | None = None - self._t = 0.0 - self._connected = False - self._thread = threading.Thread(target=self._run, name="bridge-feed", daemon=True) - - def start(self) -> "BridgeFrameFeed": - self._thread.start() - return self - - @property - def connected(self) -> bool: - return self._connected - - def latest(self) -> tuple[int | None, float]: - return self._idx, (time.perf_counter() - self._t) if self._idx is not None else float("inf") - - def _run(self) -> None: - import asyncio - - from websockets.asyncio.client import connect # lazy: only the model fly needs it - - async def main() -> None: - while True: - try: - async with connect(self.url, max_size=16 * 1024 * 1024) as ws: - self._connected = True - print(f"[sim] watching frames on {self.url}", file=sys.stderr) - await ws.send(json.dumps({"type": "hello", "client": "fictrac_sim", "v": 1})) - async for raw in ws: - try: - m = json.loads(raw) - except ValueError: - continue - if isinstance(m, dict) and m.get("type") == "frame": - i = m.get("index") - if isinstance(i, (int, float)) and math.isfinite(i): - self._idx = int(i) - self._t = time.perf_counter() - except Exception as exc: # noqa: BLE001 — a dead bridge must not kill the sim - if self._connected: - print(f"[sim] bridge feed lost ({exc}); retrying", file=sys.stderr) - self._connected = False - await asyncio.sleep(2.0) - - asyncio.run(main()) - - -# ── transports: drive a `send` callable from a source (`emit`) ────────────── -def run_udp(host: str, port: int, emit) -> None: - sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - dst = (host, port) - print(f"[sim] UDP → {host}:{port} (Ctrl-C to stop)", file=sys.stderr) - emit(lambda b: sock.sendto(b, dst)) - - -def run_tcp(host: str, port: int, emit) -> None: - srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - srv.bind((host, port)) - srv.listen(1) - print(f"[sim] TCP server on {host}:{port} — waiting for a client …", file=sys.stderr) - while True: - conn, peer = srv.accept() - conn.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) - print(f"[sim] client connected from {peer[0]}:{peer[1]}", file=sys.stderr) - try: - emit(conn.sendall) - return # source finished - except (BrokenPipeError, ConnectionResetError): - print("[sim] client disconnected — waiting for a new one …", file=sys.stderr) - finally: - conn.close() - - -# ── sources: an `emit(send)` that decides what to send and when ───────────── -def _paced(rate_hz: float, count: int, make_record): - """Fixed-rate emitter (perf-counter schedule): send(make_record()) until count reached.""" - def emit(send) -> None: - dt = 1.0 / rate_hz - start = time.perf_counter() - n = 0 - while count <= 0 or n < count: - rec = make_record() - if rec is None: - return - send(fmt_record(rec).encode("ascii")) - n += 1 - target = start + n * dt - delay = target - time.perf_counter() - if delay > 0: - time.sleep(delay) - return emit - - -def emit_generated(walker: Walker, rate_hz: float, count: int): - """Synthetic random-walk records at a fixed rate (perf-counter schedule).""" - return _paced(rate_hz, count, walker.next_record) - - -def emit_model_fly( - fly: ModelFly, - feed: BridgeFrameFeed, - rate_hz: float, - count: int, - deg_per_frame: float, - frame_dir: int, - az0_deg: float, - stale_s: float = 1.0, - status_every_s: float = 1.0, -): - """Model-fly records at a fixed rate, steering on the frame the bridge last published. - - A frame older than `stale_s` (bridge not applying / no run) counts as "display unseen": - the fly free-runs on noise + saccades, so it keeps the ball moving between trials. - """ - state = {"next_status": 0.0} - - def make_record(): - idx, age = feed.latest() - az = feature_azimuth(idx, deg_per_frame, frame_dir, az0_deg) if idx is not None and age < stale_s else None - rec = fly.step(az) - now = time.perf_counter() - if status_every_s > 0 and now >= state["next_status"]: - state["next_status"] = now + status_every_s - seen = f"idx {idx:>3} az {az:+6.1f}°" if az is not None else "display unseen " - print( - f"[fly] {seen} | heading {math.degrees(fly.heading) % 360.0:6.1f}° " - f"ω {math.degrees(fly.omega + fly.noise):+6.1f}°/s {'walk' if fly.walking else 'pause'} " - f"saccades {fly.saccades}", - file=sys.stderr, - ) - return rec - - return _paced(rate_hz, count, make_record) - - -def load_fictrac_csv(path: str) -> list[tuple[float, bytes]]: - """Parse a FicTrac data log into (timestamp_ms, raw_line_bytes) rows. - - Rows are kept verbatim (re-sent byte-for-byte, original separators preserved). - Lines without ≥22 comma-separated fields or a numeric column 22 (header rows, - blanks, comments) are skipped. - """ - rows: list[tuple[float, bytes]] = [] - skipped = 0 - with open(path, "r", encoding="utf-8", errors="replace") as fh: - for line in fh: - text = line.strip() - if not text: - continue - parts = text.split(",") - if len(parts) < 22: - skipped += 1 - continue - try: - ts_ms = float(parts[21]) # column 22 (1-based) = timestamp (ms) - except ValueError: - skipped += 1 # header / non-numeric - continue - rows.append((ts_ms, (text + "\n").encode("ascii", errors="replace"))) - if skipped: - print(f"[sim] skipped {skipped} non-data line(s)", file=sys.stderr) - return rows - - -def emit_playback(rows: list[tuple[float, bytes]], speed: float): - """Replay recorded rows, paced by the inter-row Δ of column 22 (ms). - - First row goes immediately; non-increasing timestamps clamp to no delay; - `speed` > 1 plays faster. Plays once, then returns. - """ - def emit(send) -> None: - if not rows: - return - sched = time.perf_counter() - prev_ts = rows[0][0] - for ts_ms, raw in rows: - d = (ts_ms - prev_ts) / 1000.0 / speed - prev_ts = ts_ms - if d > 0: - sched += d - delay = sched - time.perf_counter() - if delay > 0: - time.sleep(delay) - send(raw) - return emit - - -# ── run-log replay: a real fly's trace from one of OUR logs ───────────────── -def load_runlog_rows(path: str) -> list[tuple[float, int, float, float, float]]: - """(ms, fc, x, y, hd) from a bridge run log (.jsonl or .jsonl.gz), any level. - - behavior_v1/v2 rows are `[ms, fc, idx, ft, x, y, hd]` (first element numeric); - `full`-level frames are `{"type":"fictrac_frame","fictrac":[25 cols]}`. String-tagged - arrays (`"a"`, `"cc"`, …) and every other object are skipped. `ms` restarts at 0 on - every log activation; the replay pacer treats a backwards step as no delay. - """ - rows: list[tuple[float, int, float, float, float]] = [] - opener = gzip.open if path.endswith(".gz") else open - with opener(path, "rt", encoding="utf-8", errors="replace") as fh: - for line in fh: - line = line.strip() - if not line: - continue - try: - o = json.loads(line) - except ValueError: - continue - if isinstance(o, list): - if len(o) >= 7 and isinstance(o[0], (int, float)) and o[6] is not None: - rows.append((float(o[0]), int(o[1]), float(o[4]), float(o[5]), float(o[6]))) - elif isinstance(o, dict) and o.get("type") == "fictrac_frame": - f = o.get("fictrac") - if isinstance(f, list) and len(f) >= 22: - rows.append((float(f[21]) / 1e6, int(f[0]), float(f[14]), float(f[15]), float(f[16]))) - return rows - - -def replay_records(rows, loop: bool = False, max_gap_ms: float = 1000.0): - """Generator of (delay_s, fields) from run-log rows, heading kept continuous across loops.""" - if not rows: - return - frame = 0 - head_off = 0.0 # keeps heading continuous when the file restarts - prev_hd = None - pass_no = 0 - while True: - prev_ms = rows[0][0] - first_hd = rows[0][4] - if prev_hd is not None: - head_off = prev_hd - first_hd # new pass starts where the last one ended - for ms, fc, x, y, hd in rows: - gap = ms - prev_ms - prev_ms = ms - delay = min(max(gap, 0.0), max_gap_ms) / 1000.0 - frame += 1 - heading = hd + head_off - d_head = 0.0 if prev_hd is None else wrap_pi(heading - prev_hd) - prev_hd = heading - yield delay, pack_record(frame, gap if gap > 0 else 0.0, heading, d_head, 0.0, heading, - x, y, 0.0, 0.0, ts_ms=ms + pass_no * (rows[-1][0] + 20.0)) - pass_no += 1 - if not loop: - return - - -def emit_runlog_replay(rows, speed: float, loop: bool): - """Re-emit a real fly's heading trace at (scaled) original pacing.""" - def emit(send) -> None: - sched = time.perf_counter() - for delay, fields in replay_records(rows, loop=loop): - sched += delay / speed - wait = sched - time.perf_counter() - if wait > 0: - time.sleep(wait) - send(fmt_record(fields).encode("ascii")) - return emit - - -def main(argv: list[str] | None = None) -> int: - p = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - p.add_argument("file", nargs="?", help="FicTrac data log (CSV) to play back; omit to generate random data") - p.add_argument("--proto", choices=("udp", "tcp"), default="udp", help="transport (default: udp)") - p.add_argument("--host", default="127.0.0.1", help="UDP destination / TCP bind address (default: 127.0.0.1)") - p.add_argument("--port", type=int, default=DEFAULT_PORT, help=f"port (default: {DEFAULT_PORT})") - p.add_argument("--rate", type=float, default=50.0, help="generated/model mode: frames per second (default: 50)") - p.add_argument("--seed", type=int, default=None, help="generated/model mode: RNG seed for reproducible output") - p.add_argument( - "--noise", - type=float, - default=1.0, - help="generated mode: scales all random-walk noise sigmas (default: 1.0)", - ) - p.add_argument("--count", type=int, default=0, help="generated/model mode: frames to emit then exit (0 = forever)") - p.add_argument("--speed", type=float, default=1.0, help="playback/replay mode: speed multiplier (default: 1.0)") - p.add_argument( - "--turn-sigma", - type=float, - default=0.05, - help="generated mode: per-frame heading step sigma in rad (default 0.05 ≈ ±1.6 frames/sample " - "at gain 1.8; soak harness, fw #50)", - ) - p.add_argument( - "--jump-every", - type=int, - default=0, - help="generated mode: add a ±JUMP_DEG heading jump every N frames (0 = never); a wide " - "frame seek that defeats the SD sequential-read fast path", - ) - p.add_argument("--jump-deg", type=float, default=90.0, help="generated mode: jump size in degrees (default 90)") - - g = p.add_argument_group("run-log replay (a real fly's trace from one of our .jsonl[.gz] logs)") - g.add_argument("--replay", metavar="RUNLOG", help="re-emit the FicTrac rows of a bridge run log at original pacing") - g.add_argument("--loop", action="store_true", help="replay: start over when the log ends (heading stays continuous)") - - m = p.add_argument_group("model fly (closed loop: steers on the frame index the bridge publishes)") - m.add_argument("--model", choices=("fly",), help="use the model fly instead of the random walk") - m.add_argument("--bridge", default="ws://127.0.0.1:8765", help="bridge WebSocket to watch frames on (default: ws://127.0.0.1:8765)") - m.add_argument("--kp", type=float, default=0.0, help="fixation gain, deg/s per deg of feature azimuth (0 = off; try 2)") - m.add_argument("--kv", type=float, default=0.0, help="optomotor gain, fly ω / world ω (0 = off; 1 = perfect following)") - m.add_argument("--tau", type=float, default=0.1, help="turning-response time constant, s (default 0.1)") - m.add_argument("--noise-dps", type=float, default=30.0, help="Ornstein–Uhlenbeck turning noise sigma, deg/s (default 30)") - m.add_argument("--noise-tau", type=float, default=0.3, help="noise time constant, s (default 0.3)") - m.add_argument("--saccade-rate", type=float, default=0.5, help="saccades per second (default 0.5; 0 = none)") - m.add_argument("--saccade-deg", type=float, default=45.0, help="mean saccade amplitude, deg (default 45)") - m.add_argument("--saccade-ms", type=float, default=80.0, help="saccade duration, ms (default 80)") - m.add_argument("--bout-s", type=float, default=4.0, help="mean walking bout, s (default 4)") - m.add_argument("--pause-s", type=float, default=0.0, help="mean pause between bouts, s (default 0 = never pauses)") - m.add_argument("--speed-rad-s", type=float, default=0.6, help="forward speed while walking, ball rad/s (default 0.6)") - m.add_argument("--heading0", type=float, default=0.0, help="initial heading, deg (default 0)") - m.add_argument("--deg-per-frame", type=float, default=1.8, help="display degrees per frame index (default 1.8 = 360/200)") - m.add_argument("--frame-dir", type=int, choices=(1, -1), default=1, help="+1: an index increase moves the feature RIGHT (display clockwise; the confirmed sign at gain +1.8). -1 flips it") - m.add_argument("--feature-az0", type=float, default=0.0, help="feature azimuth at frame 0, deg, right = + (default 0 = frontal)") - m.add_argument("--stale-s", type=float, default=1.0, help="a published frame older than this counts as 'display unseen' (default 1.0)") - args = p.parse_args(argv) - - if args.replay is not None: - # ── run-log replay: a real fly's heading trace from a bridge log ── - if args.file is not None or args.model: - p.error("--replay cannot be combined with a CSV file or --model") - if not os.path.isfile(args.replay): - p.error(f"file not found: {args.replay}") - if args.speed <= 0: - p.error("--speed must be > 0") - rows = load_runlog_rows(args.replay) - if not rows: - p.error(f"no FicTrac rows found in {args.replay}") - span = sum(min(max(b[0] - a[0], 0.0), 1000.0) for a, b in zip(rows, rows[1:])) / 1000.0 / args.speed - print( - f"[sim] replaying {os.path.basename(args.replay)}: {len(rows)} FicTrac rows over ~{span:.0f}s " - f"(speed {args.speed:g}×{', looping' if args.loop else ''})", - file=sys.stderr, - ) - emit = emit_runlog_replay(rows, args.speed, args.loop) - elif args.file is not None: - # ── playback mode: replay a recorded FicTrac log, paced by column 22 ── - if not os.path.isfile(args.file): - p.error(f"file not found: {args.file}") - if args.speed <= 0: - p.error("--speed must be > 0") - rows = load_fictrac_csv(args.file) - if not rows: - p.error(f"no FicTrac data rows found in {args.file}") - span = (rows[-1][0] - rows[0][0]) / 1000.0 / args.speed - print( - f"[sim] playing back {args.file}: {len(rows)} rows over ~{span:.1f}s " - f"(speed {args.speed:g}×)", - file=sys.stderr, - ) - emit = emit_playback(rows, args.speed) - elif args.model == "fly": - # ── model fly: closed loop through the real bridge / browser / arena ── - if args.rate <= 0: - p.error("--rate must be > 0") - if args.deg_per_frame <= 0: - p.error("--deg-per-frame must be > 0") - fly = ModelFly( - rate_hz=args.rate, seed=args.seed, kp=args.kp, kv=args.kv, tau_s=args.tau, - noise_dps=args.noise_dps, noise_tau_s=args.noise_tau, - saccade_rate_hz=args.saccade_rate, saccade_deg=args.saccade_deg, saccade_ms=args.saccade_ms, - bout_s=args.bout_s, pause_s=args.pause_s, speed_rad_s=args.speed_rad_s, heading0_deg=args.heading0, - ) - feed = BridgeFrameFeed(args.bridge).start() - print( - f"[sim] model fly: kp={args.kp:g} kv={args.kv:g} tau={args.tau:g}s noise={args.noise_dps:g}°/s " - f"saccades {args.saccade_rate:g}/s×{args.saccade_deg:g}° pause={args.pause_s:g}s | " - f"feature az = {args.frame_dir:+d}·idx·{args.deg_per_frame:g}° + {args.feature_az0:g}°", - file=sys.stderr, - ) - emit = emit_model_fly(fly, feed, args.rate, args.count, args.deg_per_frame, args.frame_dir, - args.feature_az0, stale_s=args.stale_s) - else: - # ── generated mode: synthetic random walk ── - if args.rate <= 0: - p.error("--rate must be > 0") - if args.noise < 0: - p.error("--noise must be >= 0") - if args.turn_sigma < 0 or args.jump_every < 0: - p.error("--turn-sigma and --jump-every must be >= 0") - walker = Walker( - rate_hz=args.rate, - seed=args.seed, - turn_sigma=args.turn_sigma, - jump_every=args.jump_every, - jump_deg=args.jump_deg, - noise=args.noise, - ) - emit = emit_generated(walker, args.rate, args.count) - - try: - if args.proto == "udp": - run_udp(args.host, args.port, emit) - else: - run_tcp(args.host, args.port, emit) - except KeyboardInterrupt: - print("\n[sim] stopped", file=sys.stderr) - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/pixi.toml b/pixi.toml index cd199ced..531acf76 100644 --- a/pixi.toml +++ b/pixi.toml @@ -14,7 +14,9 @@ PYTHONUTF8 = "1" # ── FicTrac closed-loop bridge (see fictrac-bridge/README.md) ─────────────── # Forward args after `--`, e.g. pixi run bridge -- --proto tcp --frames 60 --log run.jsonl bridge = "python fictrac-bridge/bridge.py" -sim = "python fictrac-bridge/fictrac_sim.py" +# The FicTrac simulator moved to reiserlab/rig-nodes (rig_nodes.sims.fictrac_sim, 2026-10-26); it is +# installed in the rig/ workspace, so this delegates there (`cd rig && pixi install` once). +sim = "pixi run --manifest-path rig/pixi.toml sim" serve = "python -m http.server 8000 --bind 127.0.0.1" # ── JS dev tooling (Node + Prettier come from conda-forge — no npm) ───────── diff --git a/rig/README.md b/rig/README.md index 42909b42..84eb0f01 100644 --- a/rig/README.md +++ b/rig/README.md @@ -9,6 +9,19 @@ comment holds the acceptance criteria), `docs/development/bridge-connectors-exec This directory is its own pixi workspace. The root `pixi.toml` and `fictrac-bridge/` are untouched, so bridge 3.4 (`pixi run bridge` at the repo root) stays installed side by side. +> **Since 2026-10-26 (LAB-338):** the shared part of this graph — `rig_interfaces`, the device +> adapters and simulators (FicTrac, Kinefly, BIAS, ScanImage), the MCAP recorder/indexer, the CDR +> decoder, the generic Foxglove rewriter, the supervision primitives, the Zenoh configs and the +> benches — lives in **[reiserlab/rig-nodes](https://github.com/reiserlab/rig-nodes)** and is +> installed here as the pinned `rig_nodes` (+ opt-in `rig_interfaces`) packages from that repo's +> channel (`pixi.toml`). What stays here is the arena's own: the Studio gateway `nodes/bridge_node.py`, +> the behavior_v2 converter `nodes/mcap_convert.py` + `nodes/_rows.py`, the composition `nodes/rig.py`, +> the arena visualization (`nodes/viz_node.py`, `nodes/foxglove_json.py`'s arena derivations, +> `foxglove/`), the Studio emulator and this harness. Device nodes are started as +> `python -m rig_nodes.` / the `rig-*` console scripts; a node fix is tested here with +> `pixi install -e dev` (a sibling `../../rig-nodes` checkout built from source). The graph contract +> is rig-nodes' `CONTRACT.md`. The sections below are the build record and keep their original paths. + ``` fictrac_sim.py / FicTrac ──UDP :60000──▶ fictrac_udp_adapter ──/fictrac/raw──▶┐ Kinefly (KF/1) ──UDP :60001──▶ kinefly_udp_adapter ──/kinefly/raw──▶│ bridge_node ──ws://localhost:8765──▶ Arena Studio (unmodified) @@ -21,7 +34,8 @@ untouched, so bridge 3.4 (`pixi run bridge` at the repo root) stays installed si ```bash cd rig -pixi install # RoboStack Jazzy ros-base + rmw_zenoh + demo nodes + websockets/pyzmq (≈1.3 GB) +pixi install # RoboStack Jazzy ros-base + rmw_zenoh + rosbag2/MCAP + rig_nodes from the rig-nodes channel (≈1.3 GB) +pixi install -e typed # + rig_interfaces (typed /fictrac/frame + /arena/frame), same RoboStack set, no compiler pixi run rig # router + FicTrac adapter + bridge node → Studio connects to ws://localhost:8765 pixi run rig -- --kinefly --bias # + Kinefly KF/1 adapter + BIAS node pixi run rig -- --sim --bias --bias-sim # demo with no hardware: FicTrac sim + a fake BIAS program @@ -32,19 +46,19 @@ Pieces, individually (each is also a `pixi run` task; `--help` on every script): | task | what | |---|---| -| `router` | `ros2 run rmw_zenoh_cpp rmw_zenohd` with `config/zenoh-router.json5` (listens on `tcp/127.0.0.1:7447`) | +| `router` | `rig-router` (rig_nodes): `rmw_zenohd` with the package's loopback `zenoh-router.json5` (listens on `tcp/127.0.0.1:7447`) | | `talker` / `listener` | the stock `demo_nodes_py` pair — the first thing to run on a new machine | | `fictrac-adapter` | UDP :60000 → `/fictrac/raw`; FicTrac's own `sock_port` stays what it is today | | `kinefly-adapter` | UDP :60001 → `/kinefly/raw`; accepts only `protocol: "Kinefly", version: 1` datagrams | | `bias-node` / `bias-cmd` | BIAS HTTP command port ⇄ `/bias/cmd`, `/bias/reply`, `/bias/status`; `bias-cmd` sends one plugin command | | `bridge-node` | bridge.py's `Hub` + `LogWriter` + `Pipeline` + `make_dispatcher` on ROS input; `/arena/frame` mirror | -| `sim` | the root `fictrac-bridge/fictrac_sim.py`, unmodified (`-- --model fly --kp 2` for a fixating fly) | +| `sim` | `rig-fictrac-sim` (rig_nodes.sims.fictrac_sim, moved from `fictrac-bridge/`; `-- --model fly --kp 2` for a fixating fly) | | `kinefly-sim` / `bias-sim` | synthetic KF/1 producer; a fake BIAS program (HTTP, state machine, writes the video file) | | `studio-emulator` | the Studio runner's exact bridge conversation, for machines without a browser | Environment set by the workspace (`[activation.env]`): `RMW_IMPLEMENTATION=rmw_zenoh_cpp`, `ZENOH_ROUTER_CHECK_ATTEMPTS=0` (nodes wait for the router), `ZENOH_ROUTER_CONFIG_URI` / -`ZENOH_SESSION_CONFIG_URI` → the two files under `config/` (stock rmw_zenoh configs with the +`ZENOH_SESSION_CONFIG_URI` → the two json5 files shipped inside the installed `rig_nodes` package (since 2026-10-26; before: `config/`; stock rmw_zenoh configs with the endpoint changed from `tcp/[::]:7447` / `tcp/localhost:7447` to `tcp/127.0.0.1:7447`: the stock router fails on a host without IPv6, and a rig's graph should not be reachable from the lab network anyway). The two config paths use `$PIXI_PROJECT_ROOT`; `rig.py` sets them diff --git a/rig/WINDOWS-TEST.md b/rig/WINDOWS-TEST.md index 02bdcf9d..db7903d3 100644 --- a/rig/WINDOWS-TEST.md +++ b/rig/WINDOWS-TEST.md @@ -129,12 +129,12 @@ Expected: a real path ending in `rig\config\zenoh-router.json5`. If it prints th config (or fail); `pixi run rig` is unaffected because `rig.py` sets both paths itself. **Write down which of the two you saw.** -**1b. The `typed` environment** (builds our three `.msg` types from source through pixi-build-ros; -needs MSVC — this is the LAB-303 cost measurement, and it is allowed to fail): +**1b. The `typed` environment** (since 2026-10-26: downloads `rig_interfaces` from the rig-nodes +channel — no MSVC, no build; the source build moved to the rig-nodes checkout, `pixi install -e dev`): ```powershell Measure-Command { pixi install --locked -e typed | Out-Default } -pixi run -e typed python nodes\build_interfaces.py --check +pixi run -e typed check-typed ``` Record: wall time; success or the **first error verbatim** (the expected failure without Build @@ -349,7 +349,9 @@ Repeat step 3 and step 5 with `-e typed` (`pixi run -e typed test -- --keep`, `p Expected differences: `typed=True` in the bridge banner, `/fictrac/frame` + `/arena/frame` as `rig_interfaces/msg/…` in `ros2 bag info`, the harness line `info typed topics: True`. -## 7b. Typed messages on a PC WITHOUT Visual Studio (`typed-prebuilt`, ~10 minutes) +## 7b. Typed messages on a PC WITHOUT Visual Studio (~10 minutes) + +> 2026-10-26: `typed-prebuilt` IS `typed` now (the channel package from reiserlab/rig-nodes); read `typed` for every `typed-prebuilt` below, `pixi run -e typed check-typed` for the `--check` line. Kept as the ww18 record. The no-compiler route (`docs/typed-windows.md` §5): the `typed-prebuilt` environment downloads an `rig_interfaces` built once on ww18 (`channel/`, read from raw.githubusercontent.com) instead of diff --git a/rig/channel/README.md b/rig/channel/README.md deleted file mode 100644 index 3fb4a04a..00000000 --- a/rig/channel/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# rig/channel — the CI-built `rig_interfaces` conda channel - -A conda channel with one package, `rig_interfaces` (the typed ROS 2 messages of the rig graph: -`FicTracFrame`, `ArenaFrame`, `ConnectorReply`), read by the opt-in `typed-prebuilt` environment in -`../pixi.toml` over raw.githubusercontent.com, pinned to the commit that holds the payload, so a -rig PC **without a compiler** installs typed messages as a download. Built by -`.github/workflows/rig-interfaces.yml` (decision: `../docs/typed-distribution-decision.md`); the -recipe for the next rebuild is in that note under "Releasing a new build". - -**The package payload is not in the tree.** Like the 2026-10-18 removal of the first (win-64) -payload, the `/` directories are committed ONCE (the "payload commit" the `typed-prebuilt` -URL in `../pixi.toml` pins) and removed again in the next commit; git history serves the pinned -URL. This README stays as the record of what was built. - -## rig_interfaces 0.2.0 (2026-10-26) - -Built by the `rig-interfaces` workflow run -[40401906061](https://github.com/reiserlab/webDisplayTools/actions/runs/40401906061) from commit -`eb2bf01` (the rename `ros2-poc/` → `rig/`, `arena_interfaces` → `rig_interfaces`; PR -[#270](https://github.com/reiserlab/webDisplayTools/pull/270)) with pixi 0.80.0 and the RoboStack -`pixi-build-ros` backend, indexed with `rattler-index`; three platforms plus an empty `noarch/`: - -| subdir | file | sha256 | `ros2-distro-mutex` pin | Python | -|---|---|---|---|---| -| `win-64` | `rig_interfaces-0.2.0-ha41a7fa_0.conda` | `5104b3d9b166fae11d9b0f27baf70cb71afcea6514f0e56943387e7d75a6ed22` | `>=0.20.0,<0.21.0a0` | 3.14 | -| `osx-arm64` | `rig_interfaces-0.2.0-h60d57d3_0.conda` | `c5321504efbf9c53bc2460b3d716ec393b88b9b4202d19e91eca91989eb5c57d` | `>=0.16.0,<0.17.0a0` | 3.12 | -| `linux-64` | `rig_interfaces-0.2.0-hb0f4dca_0.conda` | `0d7489d26092ec4577b4bfff037381f4af4afa6fce7048eee8c265686c35d2b8` | `>=0.20.0,<0.21.0a0` | 3.14 | - -The mutex pins are whatever RoboStack Jazzy the build backend resolved on each runner that day -(the `prefix.dev/robostack-jazzy` mirror), NOT the `ros2-distro-mutex 0.19` the `poc` solve group -locks. `typed-prebuilt` is its own solve group, so it resolves its own RoboStack set per platform -around these pins. The tag `rig-interfaces-v0.2.0` is pending. - -## History - -- `arena_interfaces 0.1.0`, win-64 only (`arena_interfaces-0.1.0-ha41a7fa_0.conda`, sha256 - `5501edc89c10f6ee7acca21273f26f716edf2b7686e7109fed54335a3d39c883`): built 2026-10-16 on ww18 - from commit 4632674 with pixi 0.80.0 and pixi-build-ros 0.7.6.20261014.1408.4ef64dd - (`pixi publish --path interfaces\arena_interfaces\pixi.toml --target-channel C:\chan`), depends on - `ros2-distro-mutex >=0.19,<0.20` and Python 3.12. Payload at commit `30512581` - (`ros2-poc/channel`), removed from the tree 2026-10-18. The OLD package name: nothing that - imports `rig_interfaces` may install it. diff --git a/rig/config/zenoh-router.json5 b/rig/config/zenoh-router.json5 deleted file mode 100644 index 735de3ad..00000000 --- a/rig/config/zenoh-router.json5 +++ /dev/null @@ -1,813 +0,0 @@ -/// This file attempts to list and document available configuration elements. -/// For a more complete view of the configuration's structure, check out `zenoh/src/config.rs`'s `Config` structure. -/// Note that the values here are correctly typed, but may not be sensible, so copying this file to change only the parts that matter to you is not good practice. -{ - /// The identifier (as unsigned 128bit integer in hexadecimal lowercase - leading zeros are not accepted) - /// that zenoh runtime will use. - /// If not set, a random unsigned 128bit integer will be used. - /// WARNING: this id must be unique in your zenoh network. - // id: "1234567890abcdef", - - /// The node's mode (router, peer or client) - mode: "router", - - /// Which endpoints to connect to. E.g. tcp/localhost:7447. - /// By configuring the endpoints, it is possible to tell zenoh which router/peer to connect to at startup. - /// - /// For TCP/UDP on Linux, it is possible additionally specify the interface to be connected to: - /// E.g. tcp/192.168.0.1:7447#iface=eth0, for connect only if the IP address is reachable via the interface eth0 - /// - /// It is also possible to specify a priority range and/or a reliability setting to be used on the link. - /// For example `tcp/localhost?prio=6-7;rel=0` assigns priorities "data_low" and "background" to the established link. - /// - /// For TCP and TLS links, it is possible to specify the TCP buffer sizes: - /// E.g. tcp/192.168.0.1:7447#so_sndbuf=65000;so_rcvbuf=65000 - /// For TCP, UDP, Quic and TLS links, it is possible to specify a `bind` address for the local socket: - /// E.g. tcp/192.168.0.1:7447#bind=192.168.0.1:0 - /// Note!: Currently it is unsupported to specify both `bind` and `iface`. - /// - /// For TCP/UDP links, it's possible to specify the DSCP field of the IP header: - /// E.g. tcp/192.168.0.1:7447#dscp=0x08 - connect: { - /// timeout waiting for all endpoints connected (0: no retry, -1: infinite timeout) - /// Accepts a single value (e.g. timeout_ms: 0) - /// or different values for router, peer and client (e.g. timeout_ms: { router: -1, peer: -1, client: 0 }). - timeout_ms: { router: -1, peer: -1, client: 0 }, - - /// The list of endpoints to connect to. - /// Accepts a single list (e.g. endpoints: ["tcp/10.10.10.10:7447", "tcp/11.11.11.11:7447"]) - /// or different lists for router, peer and client (e.g. endpoints: { router: ["tcp/10.10.10.10:7447"], peer: ["tcp/11.11.11.11:7447"] }). - /// - /// See https://docs.rs/zenoh/latest/zenoh/config/struct.EndPoint.html - endpoints: [ - // "/
" - ], - - /// Global connect configuration, - /// Accepts a single value or different values for router, peer and client. - /// The configuration can also be specified for the separate endpoint - /// it will override the global one - /// E.g. tcp/192.168.0.1:7447#retry_period_init_ms=20000;retry_period_max_ms=10000" - - /// exit from application, if timeout exceed - exit_on_failure: { router: false, peer: false, client: true }, - /// connect establishing retry configuration - retry: { - /// initial wait timeout until next connect try - period_init_ms: 1000, - /// maximum wait timeout until next connect try - period_max_ms: 4000, - /// increase factor for the next timeout until nexti connect try - period_increase_factor: 2, - }, - }, - - /// Which endpoints to listen on. E.g. tcp/0.0.0.0:7447. - /// By configuring the endpoints, it is possible to tell zenoh which are the endpoints that other routers, - /// peers, or client can use to establish a zenoh session. - /// - /// For TCP/UDP on Linux, it is possible additionally specify the interface to be listened to: - /// E.g. tcp/0.0.0.0:7447#iface=eth0, for listen connection only on eth0 - /// - /// It is also possible to specify a priority range and/or a reliability setting to be used on the link. - /// For example `tcp/localhost?prio=6-7;rel=0` assigns priorities "data_low" and "background" to the established link. - /// - /// For TCP and TLS links, it is possible to specify the TCP buffer sizes: - /// E.g. tcp/192.168.0.1:7447#so_sndbuf=65000;so_rcvbuf=65000 - /// - /// For TCP/UDP links, it's possible to specify the DSCP field of the IP header: - /// E.g. tcp/192.168.0.1:7447#dscp=0x08 - listen: { - /// timeout waiting for all listen endpoints (0: no retry, -1: infinite timeout) - /// Accepts a single value (e.g. timeout_ms: 0) - /// or different values for router, peer and client (e.g. timeout_ms: { router: -1, peer: -1, client: 0 }). - timeout_ms: 0, - - /// The list of endpoints to listen on. - /// Accepts a single list (e.g. endpoints: ["tcp/[::]:7447", "udp/[::]:7447"]) - /// or different lists for router, peer and client (e.g. endpoints: { router: ["tcp/[::]:7447"], peer: ["tcp/[::]:0"] }). - /// - /// See https://docs.rs/zenoh/latest/zenoh/config/struct.EndPoint.html - endpoints: [ - "tcp/127.0.0.1:7447" - ], - - /// Global listen configuration, - /// Accepts a single value or different values for router, peer and client. - /// The configuration can also be specified for the separate endpoint - /// it will override the global one - /// E.g. tcp/192.168.0.1:7447#exit_on_failure=false;retry_period_max_ms=1000" - - /// exit from application, if timeout exceed - exit_on_failure: true, - /// listen retry configuration - retry: { - /// initial wait timeout until next try - period_init_ms: 1000, - /// maximum wait timeout until next try - period_max_ms: 4000, - /// increase factor for the next timeout until next try - period_increase_factor: 2, - }, - }, - - /// Configure the session open behavior. - open: { - /// Configure the conditions to be met before session open returns. - return_conditions: { - /// Session open waits to connect to scouted peers and routers before returning. - /// When set to false, first publications and queries after session open from peers may be lost. - connect_scouted: true, - /// Session open waits to receive initial declares from connected peers before returning. - /// Setting to false may cause extra traffic at startup from peers. - declares: true, - }, - }, - - /// Configure the scouting mechanisms and their behaviours - scouting: { - /// In client mode, the period in milliseconds dedicated to scouting for a router before failing. - timeout: 3000, - /// In peer mode, the maximum period in milliseconds dedicated to scouting remote peers before attempting other operations. - delay: 500, - /// The multicast scouting configuration. - multicast: { - /// Whether multicast scouting is enabled or not - /// - /// ROS setting: disable multicast discovery by default - enabled: false, - /// The socket which should be used for multicast scouting - address: "224.0.0.224:7446", - /// The network interface which should be used for multicast scouting - interface: "auto", // If not set or set to "auto" the interface if picked automatically - /// The time-to-live on multicast scouting packets - ttl: 1, - /// Which type of Zenoh instances to automatically establish sessions with upon discovery on UDP multicast. - /// Accepts a single value (e.g. autoconnect: ["router", "peer"]) which applies whatever the configured "mode" is, - /// or different values for router, peer or client mode (e.g. autoconnect: { router: [], peer: ["router", "peer"] }). - /// Each value is a list of: "peer", "router" and/or "client". - autoconnect: { router: [], peer: ["router", "peer"], client: ["router"] }, - /// Strategy for autoconnection, mainly to avoid nodes connecting to each other redundantly. - /// Possible options are: - /// - "always": always attempt to autoconnect, may result in redundant connections. - /// - "greater-zid": attempt to connect to another node only if its own zid is greater than the other's. - /// If both nodes use this strategy, only one will attempt the connection. - /// This strategy may not be suited if one of the nodes is not reachable by the other one, for example - /// because of a private IP. - /// Accepts a single value (e.g. autoconnect: "always") which applies whatever node would be auto-connected to, - /// or different values for router and/or peer depending on the type of node detected - /// (e.g. autoconnect_strategy : { to_router: "always", to_peer: "greater-zid" }), - /// or different values for router or peer mode - /// (e.g. autoconnect_strategy : { peer: { to_router: "always", to_peer: "greater-zid" } }). - autoconnect_strategy: { router: { to_router: "always", to_peer: "always" } }, - /// Whether or not to listen for scout messages on UDP multicast and reply to them. - listen: true, - }, - /// The gossip scouting configuration. Note that instances in "client" mode do not participate in gossip. - gossip: { - /// Whether gossip scouting is enabled or not - enabled: true, - /// When true, gossip scouting information are propagated multiple hops to all nodes in the local network. - /// When false, gossip scouting information are only propagated to the next hop. - /// Activating multihop gossip implies more scouting traffic and a lower scalability. - /// It mostly makes sense when using "linkstate" routing mode where all nodes in the subsystem don't have - /// direct connectivity with each other. - multihop: false, - /// Which type of Zenoh instances to send gossip messages to. - /// Accepts a single value (e.g. target: ["router", "peer"]) which applies whatever the configured "mode" is, - /// or different values for router or peer mode (e.g. target: { router: ["router", "peer"], peer: ["router"] }). - /// Each value is a list of "peer" and/or "router". - /// ROS setting: by default all peers rely on the router to discover each other. Thus configuring the peer to send gossip - /// messages only to the router is sufficient and avoids unecessary traffic between Nodes at launch time. - target: { router: ["router", "peer"], peer: ["router"]}, - /// Which type of Zenoh instances to automatically establish sessions with upon discovery on gossip. - /// Accepts a single value (e.g. autoconnect: ["router", "peer"]) which applies whatever the configured "mode" is, - /// or different values for router or peer mode (e.g. autoconnect: { router: [], peer: ["router", "peer"] }). - /// Each value is a list of: "peer" and/or "router". - autoconnect: { router: [], peer: ["router", "peer"] }, - /// Strategy for autoconnection, mainly to avoid nodes connecting to each other redundantly. - /// Possible options are: - /// - "always": always attempt to autoconnect, may result in redundant connections. - /// - "greater-zid": attempt to connect to another node only if its own zid is greater than the other's. - /// If both nodes use this strategy, only one will attempt the connection. - /// This strategy may not be suited if one of the nodes is not reachable by the other one, for example - /// because of a private IP. - /// Accepts a single value (e.g. autoconnect: "always") which applies whatever node would be auto-connected to, - /// or different values for router and/or peer depending on the type of node detected - /// (e.g. autoconnect_strategy : { to_router: "always", to_peer: "greater-zid" }), - /// or different values for router or peer mode - /// (e.g. autoconnect_strategy : { peer: { to_router: "always", to_peer: "greater-zid" } }). - autoconnect_strategy: { router: { to_router: "always", to_peer: "always" } }, - }, - }, - - /// Configuration of data messages timestamps management. - timestamping: { - /// Whether data messages should be timestamped if not already. - /// Accepts a single boolean value or different values for router, peer and client. - /// - /// ROS setting: PublicationCache which is required for transient_local durability - /// only works when time-stamping is enabled. - enabled: { router: true, peer: true, client: true }, - /// Whether data messages with timestamps in the future should be dropped or not. - /// If set to false (default), messages with timestamps in the future are retimestamped. - /// Timestamps are ignored if timestamping is disabled. - drop_future_timestamp: false, - }, - - /// The default timeout to apply to queries in milliseconds. - /// ROS setting: The default value of 600000 ms (10 minutes) is already quite high, but it can be increased if needed. - /// For instance to avoid timeout with Service Server that that is unresponsive or lagging, - /// which could occur at launch time with a large number of Nodes starting all together. - /// It’s recommended to configure a value that exceeds the longest timeout specified in any - /// `spin_until_complete(service_call_future_result, timeout)` call. - /// Note that the action-related service "get_result" is hard-coded with an infinite timeout, - /// as in some use case an action could spend several hours (e.g. mission plans). - queries_default_timeout: 600000, - - /// The routing strategy to use and it's configuration. - routing: { - /// The routing strategy to use in routers and it's configuration. - router: { - /// When set to true a router will forward data between two peers - /// directly connected to it if it detects that those peers are not - /// connected to each other. - /// The failover brokering only works if gossip discovery is enabled - /// and peers are configured with gossip target "router". - /// ROS setting: disabled by default because it serves no purpose when each peer connects directly to all others, - /// and it introduces additional management overhead and extra messages during system startup. - peers_failover_brokering: false, - /// Linkstate mode configuration. - linkstate: { - /// Weights of the outgoing transports in linkstate mode. - /// If none of the two endpoint nodes of a transport specifies its weight, a weight of 100 is applied. - /// If only one of the two endpoint nodes of a transport specifies its weight, the specified weight is applied. - /// If both endpoint nodes of a transport specify its weight, the greater weight is applied. - // transport_weights: [ - // { dst_zid: "1", weight: "10" }, - // { dst_zid: "2", weight: "200" }, - // ] - }, - }, - /// The routing strategy to use in peers and it's configuration. - peer: { - /// The routing strategy to use in peers. ("peer_to_peer" or "linkstate"). - /// This option needs to be set to the same value in all peers and routers of the subsystem. - mode: "peer_to_peer", - /// Linkstate mode configuration (only taken into account if mode == "linkstate"). - linkstate: { - /// Weights of the outgoing transports in linkstate mode. - /// If none of the two endpoint nodes of a transport specifies its weight, a weight of 100 is applied. - /// If only one of the two endpoint nodes of a transport specifies its weight, the specified weight is applied. - /// If both endpoint nodes of a transport specify its weight, the greater weight is applied. - // transport_weights: [ - // { dst_zid: "1", weight: "10" }, - // { dst_zid: "2", weight: "200" }, - // ] - }, - }, - /// The interests-based routing configuration. - /// This configuration applies regardless of the mode (router, peer or client). - interests: { - /// The timeout to wait for incoming interests declarations in milliseconds. - /// The expiration of this timeout implies that the discovery protocol might be incomplete, - /// leading to potential loss of messages, queries or liveliness tokens. - timeout: 10000, - }, - }, - - // /// Overwrite QoS options for Zenoh messages by key expression (ignores Zenoh API QoS config for overwritten values) - // qos: { - // /// Overwrite QoS options for PUT and DELETE messages - // publication: [ - // { - // /// PUT and DELETE messages on key expressions that are included by these key expressions - // /// will have their QoS options overwritten by the given config. - // key_exprs: ["demo/**", "example/key"], - // /// Configurations that will be applied on the publisher. - // /// Options that are supplied here will overwrite the configuration given in Zenoh API - // config: { - // congestion_control: "block", - // priority: "data_high", - // express: true, - // reliability: "best_effort", - // allowed_destination: "remote", - // }, - // }, - // ], - // /// Overwrite QoS options for messages sent and received from/to the network - // /// This allows more fine grained rules (per network card, etc...) but is - // /// less performant than the publication option above. - // network: [ - // { - // /// Optional Id, has to be unique. - // id: "lo0_en0_qos_overwrite", - // /// Optional list of ZIDs on which qos will be overwritten when communicating with. - // // zids: ["38a4829bce9166ee"], - // /// Optional list of interfaces, if not specified, will be applied to all interfaces. - // interfaces: [ - // "lo0", - // "en0", - // ], - // /// Optional list of link protocols. Transports with at least one of these links will have their qos overwritten. - // /// If absent, the overwrite will be applied to all transports. An empty list is invalid. - // link_protocols: [ "tcp", "udp", "tls", "quic", "ws", "serial", "unixsock-stream", "unixpipe", "vsock"], - // /// List of message types to apply to. - // messages: [ - // "put", // put publications - // "delete", // delete publications - // "query", // get queries - // "reply", // replies to queries - // ], - // /// Optional list of data flows messages will be processed on ("egress" and/or "ingress"). - // /// If absent, the rules will be applied to both flows. - // flows: ["egress", "ingress"], - // /// QoS filter to apply to the messages matching this item. - // qos: { - // congestion_control: "drop", - // priority: "data", - // express: true, - // reliability: "reliable", - // }, - // /// payload_size range for the messages matching this item. - // payload_size: "1000000..", - // key_exprs: ["test/demo"], - // overwrite: { - // /// Optional new priority value, if not specified priority of the messages will stay unchanged. - // priority: "real_time", - // /// Optional new congestion control value, if not specified congestion control of the messages will stay unchanged. - // congestion_control: "block", - // /// Optional new express value, if not specified express flag of the messages will stay unchanged. - // express: true, - // }, - // }, - // ], - // }, - - // /// The declarations aggregation strategy. - // aggregation: { - // /// A list of key-expressions for which all included subscribers will be aggregated into. - // subscribers: [ - // // key_expression - // ], - // /// A list of key-expressions for which all included publishers will be aggregated into. - // publishers: [ - // // key_expression - // ], - // }, - - // /// Namespace prefix. - // /// If specified, all outgoing key expressions will be automatically prefixed with specified string, - // /// and all incoming key expressions will be stripped of specified prefix. - // /// The namespace prefix should satisfy all key expression constraints - // /// and additionally it can not contain wild characters ('*'). - // /// Namespace is applied to the session. - // /// E. g. if session has a namespace of "1" then session.put("my/keyexpr", my_message), - // /// will put a message into 1/my/keyexpr. Same applies to all other operations within this session. - // namespace: "my/namespace", - - // /// The downsampling declaration. - // downsampling: [ - // { - // /// Optional Id, has to be unique - // id: "wlan0egress", - // /// Optional list of network interfaces messages will be processed on, the rest will be passed as is. - // /// If absent, the rules will be applied to all interfaces. An empty list is invalid. - // interfaces: [ "wlan0" ], - // /// Optional list of link protocols. Transports with at least one of these links will have their messages filtered. - // /// If absent, the rules will be applied to all transports. An empty list is invalid. - // link_protocols: [ "tcp", "udp", "tls", "quic", "ws", "serial", "unixsock-stream", "unixpipe", "vsock"], - // /// Optional list of data flows messages will be processed on ("egress" and/or "ingress"). - // /// If absent, the rules will be applied to both flows. - // flows: ["ingress", "egress"], - // /// List of message type on which downsampling will be applied. Must not be empty. - // messages: [ - // /// Delete - // "delete", - // /// Put - // "put", - // /// Get - // "query", - // /// Queryable Reply to a Query - // "reply", - // ], - // /// A list of downsampling rules: key_expression and the maximum frequency in Hertz - // rules: [ - // { key_expr: "demo/example/zenoh-rs-pub", freq: 0.1 }, - // ], - // }, - // ], - - // /// Configure access control (ACL) rules - // access_control: { - // /// [true/false] acl will be activated only if this is set to true - // "enabled": false, - // /// [deny/allow] default permission is deny (even if this is left empty or not specified) - // "default_permission": "deny", - // /// Rule set for permissions allowing or denying access to key-expressions - // "rules": - // [ - // { - // /// Id has to be unique within the rule set - // "id": "rule1", - // "messages": [ - // "put", "delete", "declare_subscriber", - // "query", "reply", "declare_queryable", - // "liveliness_token", "liveliness_query", "declare_liveliness_subscriber", - // ], - // "flows":["egress","ingress"], - // "permission": "allow", - // "key_exprs": [ - // "test/demo" - // ], - // }, - // { - // "id": "rule2", - // "messages": [ - // "put", "delete", "declare_subscriber", - // "query", "reply", "declare_queryable", - // ], - // "flows":["ingress"], - // "permission": "allow", - // "key_exprs": [ - // "**" - // ], - // }, - // ], - // /// List of combinations of subjects. - // /// - // /// If a subject property (i.e. username, certificate common name or interface) is empty - // /// it is interpreted as a wildcard. Moreover, a subject property cannot be an empty list. - // "subjects": - // [ - // { - // /// Id has to be unique within the subjects list - // "id": "subject1", - // /// Subjects can be interfaces - // "interfaces": [ - // "lo0", - // "en0", - // ], - // /// Subjects can be cert_common_names when using TLS or Quic - // "cert_common_names": [ - // "example.zenoh.io" - // ], - // /// Subjects can be usernames when using user/password authentication - // "usernames": [ - // "zenoh-example" - // ], - // /// This instance translates internally to this filter: - // /// (interface="lo0" && cert_common_name="example.zenoh.io" && username="zenoh-example") || - // /// (interface="en0" && cert_common_name="example.zenoh.io" && username="zenoh-example") - // }, - // { - // "id": "subject2", - // "interfaces": [ - // "lo0", - // "en0", - // ], - // "cert_common_names": [ - // "example2.zenoh.io" - // ], - // /// This instance translates internally to this filter: - // /// (interface="lo0" && cert_common_name="example2.zenoh.io") || - // /// (interface="en0" && cert_common_name="example2.zenoh.io") - // }, - // { - // "id": "subject3", - // /// An empty subject combination is a wildcard - // }, - // { - // "id": "subject4", - // /// link protocols can also be used to identify transports to filter messages on. - // /// If absent, the rules will be applied to all transports. An empty list is invalid. - // link_protocols: [ "tcp", "udp", "tls", "quic", "ws", "serial", "unixsock-stream", "unixpipe", "vsock"], - // /// ZIDs can also be used to identify transports to filter messages on. - // /// NOTE: ZID is not backed by an authentication mechanism, it can only be trusted for ACL if it is - // /// dynamically added/removed by eventual dedicated Zenoh mechanisms when transports are opened/closed. - // /// If managed manually in ACL config, can be useful for prototyping but should not be used in production! - // zids: ["38a4829bce9166ee"], - // }, - // ], - // /// The policies list associates rules to subjects - // "policies": - // [ - // /// Each policy associates one or multiple rules to one or multiple subject combinations - // { - // /// Id is optional. If provided, it has to be unique within the policies list - // "id": "policy1", - // /// Rules and Subjects are identified with their unique IDs declared above - // "rules": ["rule1"], - // "subjects": ["subject1", "subject2"], - // }, - // { - // "rules": ["rule2"], - // "subjects": ["subject3", "subject4"], - // }, - // ] - // }, - - // low_pass_filter: [ - // { - // /// Optional Id, has to be unique - // "id": "filter1", - // /// Optional list of network interfaces messages will be processed on, the rest will not be filtered. - // /// If absent, the filter will be applied to all interfaces. - // interfaces: [ "wlan0" ], - // /// Optional list of link protocols. Transports with at least one of these links will have their messages filtered. - // /// If absent, the rule will be applied to all transports. An empty list is invalid. - // link_protocols: [ "tcp", "udp", "tls", "quic", "ws", "serial", "unixsock-stream", "unixpipe", "vsock"], - // /// Optional list of data flows messages will be processed on ("egress" and/or "ingress"). - // /// If absent, the filter will be applied to both flows. - // flows: ["ingress", "egress"], - // /// List of message type on which the filter will be applied. Must not be empty. - // messages: [ - // "put", - // "delete", - // "query", - // "reply" - // ], - // /// List of key_expressions which matching messages will be filtered - // key_exprs: [ - // "demo/**", - // ], - // /// Inclusive max size of serialized payload + serialized attachment - // size_limit: 8192, - // }, - // ], - - /// Enable stats per key expression. - // stats: { - // filters: [ - // { - // key: "some/key/expression/**", - // } - // ], - // }, - - /// Configure internal transport parameters - transport: { - unicast: { - /// Timeout in milliseconds when opening a link - /// ROS setting: increase the value to avoid timeout at launch time with a large number of Nodes starting all together - open_timeout: 60000, - /// Timeout in milliseconds when accepting a link - /// ROS setting: increase the value to avoid timeout at launch time with a large number of Nodes starting all together - accept_timeout: 60000, - /// Maximum number of links in pending state while performing the handshake for accepting it - /// ROS setting: increase the value to support a large number of Nodes starting all together - accept_pending: 10000, - /// Maximum number of transports that can be simultaneously alive for a single zenoh sessions - /// ROS setting: increase the value to support a large number of Nodes starting all together - max_sessions: 10000, - /// Maximum number of incoming links that are admitted per transport - max_links: 1, - /// Enables the LowLatency transport - /// This option does not make LowLatency transport mandatory, the actual implementation of transport - /// used will depend on Establish procedure and other party's settings - /// - /// NOTE: Currently, the LowLatency transport doesn't preserve QoS prioritization. - /// NOTE: Due to the note above, 'lowlatency' is incompatible with 'qos' option, so in order to - /// enable 'lowlatency' you need to explicitly disable 'qos'. - /// NOTE: LowLatency transport does not support the fragmentation, so the message size should be - /// smaller than the tx batch_size. - lowlatency: false, - /// Enables QoS on unicast communications. - qos: { - enabled: true, - }, - /// Enables compression on unicast communications. - /// Compression capabilities are negotiated during session establishment. - /// If both Zenoh nodes support compression, then compression is activated. - compression: { - enabled: false, - }, - }, - /// WARNING: multicast communication does not perform any negotiation upon group joining. - /// Because of that, it is important that all transport parameters are the same to make - /// sure all your nodes in the system can communicate. One common parameter to configure - /// is "transport/link/tx/batch_size" since its default value depends on the actual platform - /// when operating on multicast. - /// E.g., the batch size on Linux and Windows is 65535 bytes, on Mac OS X is 9216, and anything else is 8192. - multicast: { - /// JOIN message transmission interval in milliseconds. - join_interval: 2500, - /// Maximum number of multicast sessions. - max_sessions: 1000, - /// Enables QoS on multicast communication. - /// Default to false for Zenoh-to-Zenoh-Pico out-of-the-box compatibility. - qos: { - enabled: false, - }, - /// Enables compression on multicast communication. - /// Default to false for Zenoh-to-Zenoh-Pico out-of-the-box compatibility. - compression: { - enabled: false, - }, - }, - link: { - /// An optional whitelist of protocols to be used for accepting and opening sessions. If not - /// configured, all the supported protocols are automatically whitelisted. The supported - /// protocols are: ["tcp" , "udp", "tls", "quic", "ws", "unixsock-stream", "vsock"] For - /// example, to only enable "tls" and "quic": protocols: ["tls", "quic"], - /// - /// Configure the zenoh TX parameters of a link - tx: { - /// The resolution in bits to be used for the message sequence numbers. - /// When establishing a session with another Zenoh instance, the lowest value of the two instances will be used. - /// Accepted values: 8bit, 16bit, 32bit, 64bit. - sequence_number_resolution: "32bit", - /// Link lease duration in milliseconds to announce to other zenoh nodes - /// ROS setting: increase the value to avoid lease expiration at launch time with a large number of Nodes starting all together - lease: 60000, - /// Number of keep-alive messages in a link lease duration. If no data is sent, keep alive - /// messages will be sent at the configured time interval. - /// NOTE: In order to consider eventual packet loss and transmission latency and jitter, - /// set the actual keep_alive interval to one fourth of the lease time: i.e. send - /// 4 keep_alive messages in a lease period. Changing the lease time will have the - /// keep_alive messages sent more or less often. - /// This is in-line with the ITU-T G.8013/Y.1731 specification on continuous connectivity - /// check which considers a link as failed when no messages are received in 3.5 times the - /// target interval. - /// ROS setting: decrease the value since Nodes are communicating over the loopback - /// where keep-alive messages have less chances to be lost. - keep_alive: 2, - /// Batch size in bytes is expressed as a 16bit unsigned integer. - /// Therefore, the maximum batch size is 2^16-1 (i.e. 65535). - /// The default batch size value is the maximum batch size: 65535. - batch_size: 65535, - /// Each zenoh link has a transmission queue that can be configured - queue: { - /// The size of each priority queue indicates the number of batches a given queue can contain. - /// NOTE: the number of batches in each priority must be included between 1 and 16. Different values will result in an error. - /// The amount of memory being allocated for each queue is then SIZE_XXX * BATCH_SIZE. - /// In the case of the transport link MTU being smaller than the ZN_BATCH_SIZE, - /// then amount of memory being allocated for each queue is SIZE_XXX * LINK_MTU. - /// If qos is false, then only the DATA priority will be allocated. - size: { - control: 2, - real_time: 2, - interactive_high: 2, - interactive_low: 2, - data_high: 2, - data: 2, - data_low: 2, - background: 2, - }, - /// Congestion occurs when the queue is empty (no available batch). - congestion_control: { - /// Behavior pushing CongestionControl::Drop messages to the queue. - drop: { - /// The maximum time in microseconds to wait for an available batch before dropping a droppable message if still no batch is available. - wait_before_drop: 1000, - /// The maximum deadline limit for multi-fragment messages. - max_wait_before_drop_fragments: 50000, - }, - /// Behavior pushing CongestionControl::Block messages to the queue. - block: { - /// The maximum time in microseconds to wait for an available batch before closing the transport session when sending a blocking message - /// if still no batch is available. - /// ROS setting: unlike DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5, no change here: - /// as the router is routing messages to outside the robot, possibly over WiFi, - /// keeping a lower value ensure the router is not blocked for too long in case of congestioned WiFi. - wait_before_close: 5000000, - }, - }, - /// Perform batching of messages if they are smaller of the batch_size - batching: { - /// Perform adaptive batching of messages if they are smaller of the batch_size. - /// When the network is detected to not be fast enough to transmit every message individually, many small messages may be - /// batched together and sent all at once on the wire reducing the overall network overhead. This is typically of a high-throughput - /// scenario mainly composed of small messages. In other words, batching is activated by the network back-pressure. - enabled: true, - /// The maximum time limit (in ms) a message should be retained for batching when back-pressure happens. - time_limit: 1, - }, - allocation: { - /// Mode for memory allocation of batches in the priority queues. - /// - "init": batches are allocated at queue initialization time. - /// - "lazy": batches are allocated when needed up to the maximum number of batches configured in the size configuration parameter. - mode: "lazy", - }, - }, - }, - /// Configure the zenoh RX parameters of a link - rx: { - /// Receiving buffer size in bytes for each link - /// The default the rx_buffer_size value is the same as the default batch size: 65535. - /// For very high throughput scenarios, the rx_buffer_size can be increased to accommodate - /// more in-flight data. This is particularly relevant when dealing with large messages. - /// E.g. for 16MiB rx_buffer_size set the value to: 16777216. - buffer_size: 65535, - /// Maximum size of the defragmentation buffer at receiver end. - /// Fragmented messages that are larger than the configured size will be dropped. - /// The default value is 1GiB. This would work in most scenarios. - /// NOTE: reduce the value if you are operating on a memory constrained device. - max_message_size: 1073741824, - }, - /// Configure TLS specific parameters - tls: { - /// Path to the certificate of the certificate authority used to validate either the server - /// or the client's keys and certificates, depending on the node's mode. If not specified - /// on router mode then the default WebPKI certificates are used instead. - root_ca_certificate: null, - /// Path to the TLS listening side private key - listen_private_key: null, - /// Path to the TLS listening side public certificate - listen_certificate: null, - /// Enables mTLS (mutual authentication), client authentication - enable_mtls: false, - /// Path to the TLS connecting side private key - connect_private_key: null, - /// Path to the TLS connecting side certificate - connect_certificate: null, - /// Whether or not to verify the matching between hostname/dns and certificate when connecting, - /// if set to false zenoh will disregard the common names of the certificates when verifying servers. - /// This could be dangerous because your CA can have signed a server cert for foo.com, that's later being used to host a server at baz.com. If you wan't your - /// ca to verify that the server at baz.com is actually baz.com, let this be true (default). - verify_name_on_connect: true, - /// Whether or not to close links when remote certificates expires. - /// If set to true, links that require certificates (tls/quic) will automatically disconnect when the time of expiration of the remote certificate chain is reached - /// note that mTLS (client authentication) is required for a listener to disconnect a client on expiration - close_link_on_expiration: false, - /// Optional configuration for TCP system buffers sizes for TLS links - /// - /// Configure TCP read buffer size (bytes) - // so_rcvbuf: 123456, - /// Configure TCP write buffer size (bytes) - // so_sndbuf: 123456, - }, - // // Configure optional TCP link specific parameters - // tcp: { - // /// Optional configuration for TCP system buffers sizes for TCP links - // /// - // /// Configure TCP read buffer size (bytes) - // // so_rcvbuf: 123456, - // /// Configure TCP write buffer size (bytes) - // // so_sndbuf: 123456, - // }, - }, - /// Shared memory configuration. - /// NOTE: shared memory can be used only if zenoh is compiled with "shared-memory" feature, otherwise - /// settings in this section have no effect. - shared_memory: { - /// Whether shared memory is enabled or not. - /// If set to `true`, the SHM buffer optimization support will be announced to other parties. (default `true`). - /// This option doesn't make SHM buffer optimization mandatory, the real support depends on other party setting. - /// A probing procedure for shared memory is performed upon session opening. To enable zenoh to operate - /// over shared memory (and to not fallback on network mode), shared memory needs to be enabled also on the - /// subscriber side. By doing so, the probing procedure will succeed and shared memory will operate as expected. - /// - /// ROS setting: disabled by default until fully tested - enabled: false, - /// SHM resources initialization mode (default "lazy"). - /// - "lazy": SHM subsystem internals will be initialized lazily upon the first SHM buffer - /// allocation or reception. This setting provides better startup time and optimizes resource usage, - /// but produces extra latency at the first SHM buffer interaction. - /// - "init": SHM subsystem internals will be initialized upon Session opening. This setting sacrifices - /// startup time, but guarantees no latency impact when first SHM buffer is processed. - mode: "lazy", - /// ROS setting: the section below controls SHM parameters used for large message passing on ROS - transport_optimization: { - /// Enables transport optimization for large messages (default `true`). - /// Implicitly puts large messages into shared memory for transports with SHM-compatible connection. - enabled: true, - /// SHM memory size in bytes used for transport optimization (default `48 * 1024 * 1024`). - pool_size: 50331648, - /// Allow optimization for messages equal or larger than this threshold in bytes (default `3072`). - message_size_threshold: 512, - }, - }, - auth: { - /// The configuration of authentication. - /// A password implies a username is required. - usrpwd: { - user: null, - password: null, - /// The path to a file containing the user password dictionary - dictionary_file: null, - }, - pubkey: { - public_key_pem: null, - private_key_pem: null, - public_key_file: null, - private_key_file: null, - key_size: null, - known_keys_file: null, - }, - }, - }, - - /// Configure the Admin Space - /// Unstable: this configuration part works as advertised, but may change in a future release - adminspace: { - /// Enables the admin space - enabled: true, - /// read and/or write permissions on the admin space - permissions: { - read: true, - write: false, - }, - }, - -} diff --git a/rig/config/zenoh-session.json5 b/rig/config/zenoh-session.json5 deleted file mode 100644 index 6cb1d33d..00000000 --- a/rig/config/zenoh-session.json5 +++ /dev/null @@ -1,820 +0,0 @@ -/// This file attempts to list and document available configuration elements. -/// For a more complete view of the configuration's structure, check out `zenoh/src/config.rs`'s `Config` structure. -/// Note that the values here are correctly typed, but may not be sensible, so copying this file to change only the parts that matter to you is not good practice. -{ - /// The identifier (as unsigned 128bit integer in hexadecimal lowercase - leading zeros are not accepted) - /// that zenoh runtime will use. - /// If not set, a random unsigned 128bit integer will be used. - /// WARNING: this id must be unique in your zenoh network. - // id: "1234567890abcdef", - - /// The node's mode (router, peer or client) - mode: "peer", - - /// Which endpoints to connect to. E.g. tcp/localhost:7447. - /// By configuring the endpoints, it is possible to tell zenoh which router/peer to connect to at startup. - /// - /// For TCP/UDP on Linux, it is possible additionally specify the interface to be connected to: - /// E.g. tcp/192.168.0.1:7447#iface=eth0, for connect only if the IP address is reachable via the interface eth0 - /// - /// It is also possible to specify a priority range and/or a reliability setting to be used on the link. - /// For example `tcp/localhost?prio=6-7;rel=0` assigns priorities "data_low" and "background" to the established link. - /// - /// For TCP and TLS links, it is possible to specify the TCP buffer sizes: - /// E.g. tcp/192.168.0.1:7447#so_sndbuf=65000;so_rcvbuf=65000 - /// For TCP, UDP, Quic and TLS links, it is possible to specify a `bind` address for the local socket: - /// E.g. tcp/192.168.0.1:7447#bind=192.168.0.1:0 - /// Note!: Currently it is unsupported to specify both `bind` and `iface`. - /// - /// For TCP/UDP links, it's possible to specify the DSCP field of the IP header: - /// E.g. tcp/192.168.0.1:7447#dscp=0x08 - connect: { - /// timeout waiting for all endpoints connected (0: no retry, -1: infinite timeout) - /// Accepts a single value (e.g. timeout_ms: 0) - /// or different values for router, peer and client (e.g. timeout_ms: { router: -1, peer: -1, client: 0 }). - timeout_ms: { router: -1, peer: -1, client: 0 }, - - /// The list of endpoints to connect to. - /// Accepts a single list (e.g. endpoints: ["tcp/10.10.10.10:7447", "tcp/11.11.11.11:7447"]) - /// or different lists for router, peer and client (e.g. endpoints: { router: ["tcp/10.10.10.10:7447"], peer: ["tcp/11.11.11.11:7447"] }). - /// - /// See https://docs.rs/zenoh/latest/zenoh/config/struct.EndPoint.html - /// - /// ROS setting: By default connect to the Zenoh router on localhost on port 7447. - endpoints: [ - "tcp/127.0.0.1:7447" - ], - - /// Global connect configuration, - /// Accepts a single value or different values for router, peer and client. - /// The configuration can also be specified for the separate endpoint - /// it will override the global one - /// E.g. tcp/192.168.0.1:7447#retry_period_init_ms=20000;retry_period_max_ms=10000" - - /// exit from application, if timeout exceed - exit_on_failure: { router: false, peer: false, client: true }, - /// connect establishing retry configuration - retry: { - /// initial wait timeout until next connect try - period_init_ms: 1000, - /// maximum wait timeout until next connect try - period_max_ms: 4000, - /// increase factor for the next timeout until nexti connect try - period_increase_factor: 2, - }, - }, - - /// Which endpoints to listen on. E.g. tcp/0.0.0.0:7447. - /// By configuring the endpoints, it is possible to tell zenoh which are the endpoints that other routers, - /// peers, or client can use to establish a zenoh session. - /// - /// For TCP/UDP on Linux, it is possible additionally specify the interface to be listened to: - /// E.g. tcp/0.0.0.0:7447#iface=eth0, for listen connection only on eth0 - /// - /// It is also possible to specify a priority range and/or a reliability setting to be used on the link. - /// For example `tcp/localhost?prio=6-7;rel=0` assigns priorities "data_low" and "background" to the established link. - /// - /// For TCP and TLS links, it is possible to specify the TCP buffer sizes: - /// E.g. tcp/192.168.0.1:7447#so_sndbuf=65000;so_rcvbuf=65000 - /// - /// For TCP/UDP links, it's possible to specify the DSCP field of the IP header: - /// E.g. tcp/192.168.0.1:7447#dscp=0x08 - listen: { - /// timeout waiting for all listen endpoints (0: no retry, -1: infinite timeout) - /// Accepts a single value (e.g. timeout_ms: 0) - /// or different values for router, peer and client (e.g. timeout_ms: { router: -1, peer: -1, client: 0 }). - timeout_ms: 0, - - /// The list of endpoints to listen on. - /// Accepts a single list (e.g. endpoints: ["tcp/[::]:7447", "udp/[::]:7447"]) - /// or different lists for router, peer and client (e.g. endpoints: { router: ["tcp/[::]:7447"], peer: ["tcp/[::]:0"] }). - /// - /// See https://docs.rs/zenoh/latest/zenoh/config/struct.EndPoint.html - /// - /// ROS setting: By default accept incoming connections only from localhost (i.e. from colocalized Nodes). - /// All communications with other hosts are routed by the Zenoh router. - endpoints: [ - "tcp/localhost:0" - ], - - /// Global listen configuration, - /// Accepts a single value or different values for router, peer and client. - /// The configuration can also be specified for the separate endpoint - /// it will override the global one - /// E.g. tcp/192.168.0.1:7447#exit_on_failure=false;retry_period_max_ms=1000" - - /// exit from application, if timeout exceed - exit_on_failure: true, - /// listen retry configuration - retry: { - /// initial wait timeout until next try - period_init_ms: 1000, - /// maximum wait timeout until next try - period_max_ms: 4000, - /// increase factor for the next timeout until next try - period_increase_factor: 2, - }, - }, - - /// Configure the session open behavior. - open: { - /// Configure the conditions to be met before session open returns. - return_conditions: { - /// Session open waits to connect to scouted peers and routers before returning. - /// When set to false, first publications and queries after session open from peers may be lost. - connect_scouted: true, - /// Session open waits to receive initial declares from connected peers before returning. - /// Setting to false may cause extra traffic at startup from peers. - declares: true, - }, - }, - - /// Configure the scouting mechanisms and their behaviours - scouting: { - /// In client mode, the period in milliseconds dedicated to scouting for a router before failing. - timeout: 3000, - /// In peer mode, the maximum period in milliseconds dedicated to scouting remote peers before attempting other operations. - delay: 500, - /// The multicast scouting configuration. - multicast: { - /// Whether multicast scouting is enabled or not - /// - /// ROS setting: disable multicast discovery by default - enabled: false, - /// The socket which should be used for multicast scouting - address: "224.0.0.224:7446", - /// The network interface which should be used for multicast scouting - interface: "auto", // If not set or set to "auto" the interface if picked automatically - /// The time-to-live on multicast scouting packets - ttl: 1, - /// Which type of Zenoh instances to automatically establish sessions with upon discovery on UDP multicast. - /// Accepts a single value (e.g. autoconnect: ["router", "peer"]) which applies whatever the configured "mode" is, - /// or different values for router, peer or client mode (e.g. autoconnect: { router: [], peer: ["router", "peer"] }). - /// Each value is a list of: "peer", "router" and/or "client". - autoconnect: { router: [], peer: ["router", "peer"], client: ["router"] }, - /// Strategy for autoconnection, mainly to avoid nodes connecting to each other redundantly. - /// Possible options are: - /// - "always": always attempt to autoconnect, may result in redundant connections. - /// - "greater-zid": attempt to connect to another node only if its own zid is greater than the other's. - /// If both nodes use this strategy, only one will attempt the connection. - /// This strategy may not be suited if one of the nodes is not reachable by the other one, for example - /// because of a private IP. - /// Accepts a single value (e.g. autoconnect: "always") which applies whatever node would be auto-connected to, - /// or different values for router and/or peer depending on the type of node detected - /// (e.g. autoconnect_strategy : { to_router: "always", to_peer: "greater-zid" }), - /// or different values for router or peer mode - /// (e.g. autoconnect_strategy : { peer: { to_router: "always", to_peer: "greater-zid" } }). - /// ROS setting: by default all peers rely on the router to discover each other. Thus configuring the peer to send gossip - /// messages only to the router is sufficient and avoids unecessary traffic between Nodes at launch time. - autoconnect_strategy: { peer: { to_router: "always", to_peer: "greater-zid" } }, - /// Whether or not to listen for scout messages on UDP multicast and reply to them. - listen: true, - }, - /// The gossip scouting configuration. Note that instances in "client" mode do not participate in gossip. - gossip: { - /// Whether gossip scouting is enabled or not - enabled: true, - /// When true, gossip scouting information are propagated multiple hops to all nodes in the local network. - /// When false, gossip scouting information are only propagated to the next hop. - /// Activating multihop gossip implies more scouting traffic and a lower scalability. - /// It mostly makes sense when using "linkstate" routing mode where all nodes in the subsystem don't have - /// direct connectivity with each other. - multihop: false, - /// Which type of Zenoh instances to send gossip messages to. - /// Accepts a single value (e.g. target: ["router", "peer"]) which applies whatever the configured "mode" is, - /// or different values for router or peer mode (e.g. target: { router: ["router", "peer"], peer: ["router"] }). - /// Each value is a list of "peer" and/or "router". - /// ROS setting: by default all peers rely on the router to discover each other. Thus configuring the peer to send gossip - /// messages only to the router is sufficient and avoids unecessary traffic between Nodes at launch time. - target: { router: ["router", "peer"], peer: ["router"]}, - /// Which type of Zenoh instances to automatically establish sessions with upon discovery on gossip. - /// Accepts a single value (e.g. autoconnect: ["router", "peer"]) which applies whatever the configured "mode" is, - /// or different values for router or peer mode (e.g. autoconnect: { router: [], peer: ["router", "peer"] }). - /// Each value is a list of: "peer" and/or "router". - autoconnect: { router: [], peer: ["router", "peer"] }, - /// Strategy for autoconnection, mainly to avoid nodes connecting to each other redundantly. - /// Possible options are: - /// - "always": always attempt to autoconnect, may result in redundant connection which will then be closed. - /// - "greater-zid": attempt to connect to another node only if its own zid is greater than the other's. - /// If both nodes use this strategy, only one will attempt the connection. - /// This strategy may not be suited if one of the nodes is not reachable by the other one, for example - /// because of a private IP. - /// Accepts a single value (e.g. autoconnect: "always") which applies whatever node would be auto-connected to, - /// or different values for router and/or peer depending on the type of node detected - /// (e.g. autoconnect_strategy : { to_router: "always", to_peer: "greater-zid" }), - /// or different values for router or peer mode - /// (e.g. autoconnect_strategy : { peer: { to_router: "always", to_peer: "greater-zid" } }). - /// ROS setting: as by default all peers will interconnect to each other over the loopback interface, - /// they are all reachable to each other. Hence using "greater-zid" for peers connecting to - /// other peers is sufficient and avoids unecessary double connections between peers at startup. - autoconnect_strategy: { peer: { to_router: "always", to_peer: "greater-zid" } }, - }, - }, - - /// Configuration of data messages timestamps management. - timestamping: { - /// Whether data messages should be timestamped if not already. - /// Accepts a single boolean value or different values for router, peer and client. - /// - /// ROS setting: PublicationCache which is required for transient_local durability - /// only works when time-stamping is enabled. - enabled: { router: true, peer: true, client: true }, - /// Whether data messages with timestamps in the future should be dropped or not. - /// If set to false (default), messages with timestamps in the future are retimestamped. - /// Timestamps are ignored if timestamping is disabled. - drop_future_timestamp: false, - }, - - /// The default timeout to apply to queries in milliseconds. - /// ROS setting: The default value of 600000 ms (10 minutes) is already quite high, but it can be increased if needed. - /// For instance to avoid timeout with Service Server that that is unresponsive or lagging, - /// which could occur at launch time with a large number of Nodes starting all together. - /// It’s recommended to configure a value that exceeds the longest timeout specified in any - /// `spin_until_complete(service_call_future_result, timeout)` call. - /// Note that the action-related service "get_result" is hard-coded with an infinite timeout, - /// as in some use case an action could spend several hours (e.g. mission plans). - queries_default_timeout: 600000, - - /// The routing strategy to use and it's configuration. - routing: { - /// The routing strategy to use in routers and it's configuration. - router: { - /// When set to true a router will forward data between two peers - /// directly connected to it if it detects that those peers are not - /// connected to each other. - /// The failover brokering only works if gossip discovery is enabled - /// and peers are configured with gossip target "router". - peers_failover_brokering: true, - /// Linkstate mode configuration. - linkstate: { - /// Weights of the outgoing transports in linkstate mode. - /// If none of the two endpoint nodes of a transport specifies its weight, a weight of 100 is applied. - /// If only one of the two endpoint nodes of a transport specifies its weight, the specified weight is applied. - /// If both endpoint nodes of a transport specify its weight, the greater weight is applied. - // transport_weights: [ - // { dst_zid: "1", weight: "10" }, - // { dst_zid: "2", weight: "200" }, - // ] - }, - }, - /// The routing strategy to use in peers and it's configuration. - peer: { - /// The routing strategy to use in peers. ("peer_to_peer" or "linkstate"). - /// This option needs to be set to the same value in all peers and routers of the subsystem. - mode: "peer_to_peer", - /// Linkstate mode configuration (only taken into account if mode == "linkstate"). - linkstate: { - /// Weights of the outgoing transports in linkstate mode. - /// If none of the two endpoint nodes of a transport specifies its weight, a weight of 100 is applied. - /// If only one of the two endpoint nodes of a transport specifies its weight, the specified weight is applied. - /// If both endpoint nodes of a transport specify its weight, the greater weight is applied. - // transport_weights: [ - // { dst_zid: "1", weight: "10" }, - // { dst_zid: "2", weight: "200" }, - // ] - }, - }, - /// The interests-based routing configuration. - /// This configuration applies regardless of the mode (router, peer or client). - interests: { - /// The timeout to wait for incoming interests declarations in milliseconds. - /// The expiration of this timeout implies that the discovery protocol might be incomplete, - /// leading to potential loss of messages, queries or liveliness tokens. - timeout: 10000, - }, - }, - - // /// Overwrite QoS options for Zenoh messages by key expression (ignores Zenoh API QoS config for overwritten values) - // qos: { - // /// Overwrite QoS options for PUT and DELETE messages - // publication: [ - // { - // /// PUT and DELETE messages on key expressions that are included by these key expressions - // /// will have their QoS options overwritten by the given config. - // key_exprs: ["demo/**", "example/key"], - // /// Configurations that will be applied on the publisher. - // /// Options that are supplied here will overwrite the configuration given in Zenoh API - // config: { - // congestion_control: "block", - // priority: "data_high", - // express: true, - // reliability: "best_effort", - // allowed_destination: "remote", - // }, - // }, - // ], - // /// Overwrite QoS options for messages sent and received from/to the network - // /// This allows more fine grained rules (per network card, etc...) but is - // /// less performant than the publication option above. - // network: [ - // { - // /// Optional Id, has to be unique. - // id: "lo0_en0_qos_overwrite", - // /// Optional list of ZIDs on which qos will be overwritten when communicating with. - // // zids: ["38a4829bce9166ee"], - // /// Optional list of interfaces, if not specified, will be applied to all interfaces. - // interfaces: [ - // "lo0", - // "en0", - // ], - // /// Optional list of link protocols. Transports with at least one of these links will have their qos overwritten. - // /// If absent, the overwrite will be applied to all transports. An empty list is invalid. - // link_protocols: [ "tcp", "udp", "tls", "quic", "ws", "serial", "unixsock-stream", "unixpipe", "vsock"], - // /// List of message types to apply to. - // messages: [ - // "put", // put publications - // "delete", // delete publications - // "query", // get queries - // "reply", // replies to queries - // ], - // /// Optional list of data flows messages will be processed on ("egress" and/or "ingress"). - // /// If absent, the rules will be applied to both flows. - // flows: ["egress", "ingress"], - // /// QoS filter to apply to the messages matching this item. - // qos: { - // congestion_control: "drop", - // priority: "data", - // express: true, - // reliability: "reliable", - // }, - // /// payload_size range for the messages matching this item. - // payload_size: "1000000..", - // key_exprs: ["test/demo"], - // overwrite: { - // /// Optional new priority value, if not specified priority of the messages will stay unchanged. - // priority: "real_time", - // /// Optional new congestion control value, if not specified congestion control of the messages will stay unchanged. - // congestion_control: "block", - // /// Optional new express value, if not specified express flag of the messages will stay unchanged. - // express: true, - // }, - // }, - // ], - // }, - - // /// The declarations aggregation strategy. - // aggregation: { - // /// A list of key-expressions for which all included subscribers will be aggregated into. - // subscribers: [ - // // key_expression - // ], - // /// A list of key-expressions for which all included publishers will be aggregated into. - // publishers: [ - // // key_expression - // ], - // }, - - // /// Namespace prefix. - // /// If specified, all outgoing key expressions will be automatically prefixed with specified string, - // /// and all incoming key expressions will be stripped of specified prefix. - // /// The namespace prefix should satisfy all key expression constraints - // /// and additionally it can not contain wild characters ('*'). - // /// Namespace is applied to the session. - // /// E. g. if session has a namespace of "1" then session.put("my/keyexpr", my_message), - // /// will put a message into 1/my/keyexpr. Same applies to all other operations within this session. - // namespace: "my/namespace", - - // /// The downsampling declaration. - // downsampling: [ - // { - // /// Optional Id, has to be unique - // id: "wlan0egress", - // /// Optional list of network interfaces messages will be processed on, the rest will be passed as is. - // /// If absent, the rules will be applied to all interfaces. An empty list is invalid. - // interfaces: [ "wlan0" ], - // /// Optional list of link protocols. Transports with at least one of these links will have their messages filtered. - // /// If absent, the rules will be applied to all transports. An empty list is invalid. - // link_protocols: [ "tcp", "udp", "tls", "quic", "ws", "serial", "unixsock-stream", "unixpipe", "vsock"], - // /// Optional list of data flows messages will be processed on ("egress" and/or "ingress"). - // /// If absent, the rules will be applied to both flows. - // flows: ["ingress", "egress"], - // /// List of message type on which downsampling will be applied. Must not be empty. - // messages: [ - // /// Delete - // "delete", - // /// Put - // "put", - // /// Get - // "query", - // /// Queryable Reply to a Query - // "reply", - // ], - // /// A list of downsampling rules: key_expression and the maximum frequency in Hertz - // rules: [ - // { key_expr: "demo/example/zenoh-rs-pub", freq: 0.1 }, - // ], - // }, - // ], - - // /// Configure access control (ACL) rules - // access_control: { - // /// [true/false] acl will be activated only if this is set to true - // "enabled": false, - // /// [deny/allow] default permission is deny (even if this is left empty or not specified) - // "default_permission": "deny", - // /// Rule set for permissions allowing or denying access to key-expressions - // "rules": - // [ - // { - // /// Id has to be unique within the rule set - // "id": "rule1", - // "messages": [ - // "put", "delete", "declare_subscriber", - // "query", "reply", "declare_queryable", - // "liveliness_token", "liveliness_query", "declare_liveliness_subscriber", - // ], - // "flows":["egress","ingress"], - // "permission": "allow", - // "key_exprs": [ - // "test/demo" - // ], - // }, - // { - // "id": "rule2", - // "messages": [ - // "put", "delete", "declare_subscriber", - // "query", "reply", "declare_queryable", - // ], - // "flows":["ingress"], - // "permission": "allow", - // "key_exprs": [ - // "**" - // ], - // }, - // ], - // /// List of combinations of subjects. - // /// - // /// If a subject property (i.e. username, certificate common name or interface) is empty - // /// it is interpreted as a wildcard. Moreover, a subject property cannot be an empty list. - // "subjects": - // [ - // { - // /// Id has to be unique within the subjects list - // "id": "subject1", - // /// Subjects can be interfaces - // "interfaces": [ - // "lo0", - // "en0", - // ], - // /// Subjects can be cert_common_names when using TLS or Quic - // "cert_common_names": [ - // "example.zenoh.io" - // ], - // /// Subjects can be usernames when using user/password authentication - // "usernames": [ - // "zenoh-example" - // ], - // /// This instance translates internally to this filter: - // /// (interface="lo0" && cert_common_name="example.zenoh.io" && username="zenoh-example") || - // /// (interface="en0" && cert_common_name="example.zenoh.io" && username="zenoh-example") - // }, - // { - // "id": "subject2", - // "interfaces": [ - // "lo0", - // "en0", - // ], - // "cert_common_names": [ - // "example2.zenoh.io" - // ], - // /// This instance translates internally to this filter: - // /// (interface="lo0" && cert_common_name="example2.zenoh.io") || - // /// (interface="en0" && cert_common_name="example2.zenoh.io") - // }, - // { - // "id": "subject3", - // /// An empty subject combination is a wildcard - // }, - // { - // "id": "subject4", - // /// link protocols can also be used to identify transports to filter messages on. - // /// If absent, the rules will be applied to all transports. An empty list is invalid. - // link_protocols: [ "tcp", "udp", "tls", "quic", "ws", "serial", "unixsock-stream", "unixpipe", "vsock"], - // /// ZIDs can also be used to identify transports to filter messages on. - // /// NOTE: ZID is not backed by an authentication mechanism, it can only be trusted for ACL if it is - // /// dynamically added/removed by eventual dedicated Zenoh mechanisms when transports are opened/closed. - // /// If managed manually in ACL config, can be useful for prototyping but should not be used in production! - // zids: ["38a4829bce9166ee"], - // }, - // ], - // /// The policies list associates rules to subjects - // "policies": - // [ - // /// Each policy associates one or multiple rules to one or multiple subject combinations - // { - // /// Id is optional. If provided, it has to be unique within the policies list - // "id": "policy1", - // /// Rules and Subjects are identified with their unique IDs declared above - // "rules": ["rule1"], - // "subjects": ["subject1", "subject2"], - // }, - // { - // "rules": ["rule2"], - // "subjects": ["subject3", "subject4"], - // }, - // ] - // }, - - // low_pass_filter: [ - // { - // /// Optional Id, has to be unique - // "id": "filter1", - // /// Optional list of network interfaces messages will be processed on, the rest will not be filtered. - // /// If absent, the filter will be applied to all interfaces. - // interfaces: [ "wlan0" ], - // /// Optional list of link protocols. Transports with at least one of these links will have their messages filtered. - // /// If absent, the rule will be applied to all transports. An empty list is invalid. - // link_protocols: [ "tcp", "udp", "tls", "quic", "ws", "serial", "unixsock-stream", "unixpipe", "vsock"], - // /// Optional list of data flows messages will be processed on ("egress" and/or "ingress"). - // /// If absent, the filter will be applied to both flows. - // flows: ["ingress", "egress"], - // /// List of message type on which the filter will be applied. Must not be empty. - // messages: [ - // "put", - // "delete", - // "query", - // "reply" - // ], - // /// List of key_expressions which matching messages will be filtered - // key_exprs: [ - // "demo/**", - // ], - // /// Inclusive max size of serialized payload + serialized attachment - // size_limit: 8192, - // }, - // ], - - /// Enable stats per key expression. - // stats: { - // filters: [ - // { - // key: "some/key/expression/**", - // } - // ], - // }, - - /// Configure internal transport parameters - transport: { - unicast: { - /// Timeout in milliseconds when opening a link - /// ROS setting: increase the value to avoid timeout at launch time with a large number of Nodes starting all together - open_timeout: 60000, - /// Timeout in milliseconds when accepting a link - /// ROS setting: increase the value to avoid timeout at launch time with a large number of Nodes starting all together - accept_timeout: 60000, - /// Maximum number of links in pending state while performing the handshake for accepting it - /// ROS setting: increase the value to support a large number of Nodes starting all together - accept_pending: 10000, - /// Maximum number of transports that can be simultaneously alive for a single zenoh sessions - /// ROS setting: increase the value to support a large number of Nodes starting all together - max_sessions: 10000, - /// Maximum number of incoming links that are admitted per transport - max_links: 1, - /// Enables the LowLatency transport - /// This option does not make LowLatency transport mandatory, the actual implementation of transport - /// used will depend on Establish procedure and other party's settings - /// - /// NOTE: Currently, the LowLatency transport doesn't preserve QoS prioritization. - /// NOTE: Due to the note above, 'lowlatency' is incompatible with 'qos' option, so in order to - /// enable 'lowlatency' you need to explicitly disable 'qos'. - /// NOTE: LowLatency transport does not support the fragmentation, so the message size should be - /// smaller than the tx batch_size. - lowlatency: false, - /// Enables QoS on unicast communications. - qos: { - enabled: true, - }, - /// Enables compression on unicast communications. - /// Compression capabilities are negotiated during session establishment. - /// If both Zenoh nodes support compression, then compression is activated. - compression: { - enabled: false, - }, - }, - /// WARNING: multicast communication does not perform any negotiation upon group joining. - /// Because of that, it is important that all transport parameters are the same to make - /// sure all your nodes in the system can communicate. One common parameter to configure - /// is "transport/link/tx/batch_size" since its default value depends on the actual platform - /// when operating on multicast. - /// E.g., the batch size on Linux and Windows is 65535 bytes, on Mac OS X is 9216, and anything else is 8192. - multicast: { - /// JOIN message transmission interval in milliseconds. - join_interval: 2500, - /// Maximum number of multicast sessions. - max_sessions: 1000, - /// Enables QoS on multicast communication. - /// Default to false for Zenoh-to-Zenoh-Pico out-of-the-box compatibility. - qos: { - enabled: false, - }, - /// Enables compression on multicast communication. - /// Default to false for Zenoh-to-Zenoh-Pico out-of-the-box compatibility. - compression: { - enabled: false, - }, - }, - link: { - /// An optional whitelist of protocols to be used for accepting and opening sessions. If not - /// configured, all the supported protocols are automatically whitelisted. The supported - /// protocols are: ["tcp" , "udp", "tls", "quic", "ws", "unixsock-stream", "vsock"] For - /// example, to only enable "tls" and "quic": protocols: ["tls", "quic"], - /// - /// Configure the zenoh TX parameters of a link - tx: { - /// The resolution in bits to be used for the message sequence numbers. - /// When establishing a session with another Zenoh instance, the lowest value of the two instances will be used. - /// Accepted values: 8bit, 16bit, 32bit, 64bit. - sequence_number_resolution: "32bit", - /// Link lease duration in milliseconds to announce to other zenoh nodes - /// ROS setting: increase the value to avoid lease expiration at launch time with a large number of Nodes starting all together - lease: 60000, - /// Number of keep-alive messages in a link lease duration. If no data is sent, keep alive - /// messages will be sent at the configured time interval. - /// NOTE: In order to consider eventual packet loss and transmission latency and jitter, - /// set the actual keep_alive interval to one fourth of the lease time: i.e. send - /// 4 keep_alive messages in a lease period. Changing the lease time will have the - /// keep_alive messages sent more or less often. - /// This is in-line with the ITU-T G.8013/Y.1731 specification on continuous connectivity - /// check which considers a link as failed when no messages are received in 3.5 times the - /// target interval. - /// ROS setting: decrease the value since Nodes are communicating over the loopback - /// where keep-alive messages have less chances to be lost. - keep_alive: 2, - /// Batch size in bytes is expressed as a 16bit unsigned integer. - /// Therefore, the maximum batch size is 2^16-1 (i.e. 65535). - /// The default batch size value is the maximum batch size: 65535. - batch_size: 65535, - /// Each zenoh link has a transmission queue that can be configured - queue: { - /// The size of each priority queue indicates the number of batches a given queue can contain. - /// NOTE: the number of batches in each priority must be included between 1 and 16. Different values will result in an error. - /// The amount of memory being allocated for each queue is then SIZE_XXX * BATCH_SIZE. - /// In the case of the transport link MTU being smaller than the ZN_BATCH_SIZE, - /// then amount of memory being allocated for each queue is SIZE_XXX * LINK_MTU. - /// If qos is false, then only the DATA priority will be allocated. - size: { - control: 2, - real_time: 2, - interactive_high: 2, - interactive_low: 2, - data_high: 2, - data: 2, - data_low: 2, - background: 2, - }, - /// Congestion occurs when the queue is empty (no available batch). - congestion_control: { - /// Behavior pushing CongestionControl::Drop messages to the queue. - drop: { - /// The maximum time in microseconds to wait for an available batch before dropping a droppable message if still no batch is available. - wait_before_drop: 1000, - /// The maximum deadline limit for multi-fragment messages. - max_wait_before_drop_fragments: 50000, - }, - /// Behavior pushing CongestionControl::Block messages to the queue. - block: { - /// The maximum time in microseconds to wait for an available batch before closing the transport session when sending a blocking message - /// if still no batch is available. - /// ROS setting: increase the value to avoid unecessary link closure at launch time where congestion is likely - /// to occur even over the loopback since all the Nodes are starting at the same time. - wait_before_close: 60000000, - }, - }, - /// Perform batching of messages if they are smaller of the batch_size - batching: { - /// Perform adaptive batching of messages if they are smaller of the batch_size. - /// When the network is detected to not be fast enough to transmit every message individually, many small messages may be - /// batched together and sent all at once on the wire reducing the overall network overhead. This is typically of a high-throughput - /// scenario mainly composed of small messages. In other words, batching is activated by the network back-pressure. - enabled: true, - /// The maximum time limit (in ms) a message should be retained for batching when back-pressure happens. - time_limit: 1, - }, - allocation: { - /// Mode for memory allocation of batches in the priority queues. - /// - "init": batches are allocated at queue initialization time. - /// - "lazy": batches are allocated when needed up to the maximum number of batches configured in the size configuration parameter. - mode: "lazy", - }, - }, - }, - /// Configure the zenoh RX parameters of a link - rx: { - /// Receiving buffer size in bytes for each link - /// The default the rx_buffer_size value is the same as the default batch size: 65535. - /// For very high throughput scenarios, the rx_buffer_size can be increased to accommodate - /// more in-flight data. This is particularly relevant when dealing with large messages. - /// E.g. for 16MiB rx_buffer_size set the value to: 16777216. - buffer_size: 65535, - /// Maximum size of the defragmentation buffer at receiver end. - /// Fragmented messages that are larger than the configured size will be dropped. - /// The default value is 1GiB. This would work in most scenarios. - /// NOTE: reduce the value if you are operating on a memory constrained device. - max_message_size: 1073741824, - }, - /// Configure TLS specific parameters - tls: { - /// Path to the certificate of the certificate authority used to validate either the server - /// or the client's keys and certificates, depending on the node's mode. If not specified - /// on router mode then the default WebPKI certificates are used instead. - root_ca_certificate: null, - /// Path to the TLS listening side private key - listen_private_key: null, - /// Path to the TLS listening side public certificate - listen_certificate: null, - /// Enables mTLS (mutual authentication), client authentication - enable_mtls: false, - /// Path to the TLS connecting side private key - connect_private_key: null, - /// Path to the TLS connecting side certificate - connect_certificate: null, - /// Whether or not to verify the matching between hostname/dns and certificate when connecting, - /// if set to false zenoh will disregard the common names of the certificates when verifying servers. - /// This could be dangerous because your CA can have signed a server cert for foo.com, that's later being used to host a server at baz.com. If you wan't your - /// ca to verify that the server at baz.com is actually baz.com, let this be true (default). - verify_name_on_connect: true, - /// Whether or not to close links when remote certificates expires. - /// If set to true, links that require certificates (tls/quic) will automatically disconnect when the time of expiration of the remote certificate chain is reached - /// note that mTLS (client authentication) is required for a listener to disconnect a client on expiration - close_link_on_expiration: false, - /// Optional configuration for TCP system buffers sizes for TLS links - /// - /// Configure TCP read buffer size (bytes) - // so_rcvbuf: 123456, - /// Configure TCP write buffer size (bytes) - // so_sndbuf: 123456, - }, - // // Configure optional TCP link specific parameters - // tcp: { - // /// Optional configuration for TCP system buffers sizes for TCP links - // /// - // /// Configure TCP read buffer size (bytes) - // // so_rcvbuf: 123456, - // /// Configure TCP write buffer size (bytes) - // // so_sndbuf: 123456, - // }, - }, - /// Shared memory configuration. - /// NOTE: shared memory can be used only if zenoh is compiled with "shared-memory" feature, otherwise - /// settings in this section have no effect. - shared_memory: { - /// Whether shared memory is enabled or not. - /// If set to `true`, the SHM buffer optimization support will be announced to other parties. (default `true`). - /// This option doesn't make SHM buffer optimization mandatory, the real support depends on other party setting. - /// A probing procedure for shared memory is performed upon session opening. To enable zenoh to operate - /// over shared memory (and to not fallback on network mode), shared memory needs to be enabled also on the - /// subscriber side. By doing so, the probing procedure will succeed and shared memory will operate as expected. - /// - /// ROS setting: disabled by default until fully tested - enabled: false, - /// SHM resources initialization mode (default "lazy"). - /// - "lazy": SHM subsystem internals will be initialized lazily upon the first SHM buffer - /// allocation or reception. This setting provides better startup time and optimizes resource usage, - /// but produces extra latency at the first SHM buffer interaction. - /// - "init": SHM subsystem internals will be initialized upon Session opening. This setting sacrifices - /// startup time, but guarantees no latency impact when first SHM buffer is processed. - mode: "lazy", - /// ROS setting: the section below controls SHM parameters used for large message passing on ROS - transport_optimization: { - /// Enables transport optimization for large messages (default `true`). - /// Implicitly puts large messages into shared memory for transports with SHM-compatible connection. - enabled: true, - /// SHM memory size in bytes used for transport optimization (default `48 * 1024 * 1024`). - pool_size: 50331648, - /// Allow optimization for messages equal or larger than this threshold in bytes (default `3072`). - message_size_threshold: 512, - }, - }, - auth: { - /// The configuration of authentication. - /// A password implies a username is required. - usrpwd: { - user: null, - password: null, - /// The path to a file containing the user password dictionary - dictionary_file: null, - }, - pubkey: { - public_key_pem: null, - private_key_pem: null, - public_key_file: null, - private_key_file: null, - key_size: null, - known_keys_file: null, - }, - }, - }, - - /// Configure the Admin Space - /// Unstable: this configuration part works as advertised, but may change in a future release - adminspace: { - /// Enables the admin space - enabled: true, - /// read and/or write permissions on the admin space - permissions: { - read: true, - write: false, - }, - }, - -} diff --git a/rig/docs/shm-bench.md b/rig/docs/shm-bench.md deleted file mode 100644 index 3214d7bc..00000000 --- a/rig/docs/shm-bench.md +++ /dev/null @@ -1,67 +0,0 @@ -# Shared-memory and MCAP recording benchmarks (LAB-303) - -Three scripts in `rig/` measure rmw_zenoh with shared memory off vs on for image-sized -`sensor_msgs/Image` messages. None needs hardware. Each starts its own Zenoh router on -`127.0.0.1:7457` with `ROS_DOMAIN_ID` 42, so it never joins a rig graph on 7447 — but it loads the -CPU for a few minutes, so **never run it while an experiment is running on the PC** (Studio run, -FicTrac, BIAS or ScanImage acquisition). - -| script | subscriber | use it for | -|---|---|---| -| `shm_bench.py` | rclpy | the original (Mac, 2026-10-21); latency stamps from `time.monotonic_ns()` | -| `shm_bench_qpc.py` | rclpy | the same with `time.perf_counter_ns()` stamps — **use this one on Windows** | -| `mcap_bench.py` | rosbag2 recorder (C++, MCAP) | what a rig recorder sees: loss, latency, recorder CPU | - -**Why the `_qpc` copy on Windows:** with Python 3.12, `time.monotonic()` is `GetTickCount64()`, which -ticks every 15.625 ms, so every latency comes out as 0, 16, 31, … ms. `perf_counter_ns()` is -QueryPerformanceCounter counted from boot, the same in every process (on macOS and Linux it is -the system monotonic clock, so the copy is fine there too). Publish pacing still uses -`time.monotonic()`, so rows above ~64 Hz may send in small bursts. - -## Running it on another Windows PC - -1. Nothing rig-related running; port free: `netstat -ano | findstr ":7457"` prints nothing. -2. The default pixi environment is installed (`rig\.pixi\envs\default`); if not, see - `WINDOWS-TEST.md` step 1a (`pixi install --locked`). -3. PowerShell in `rig`, with `` = this PC's name (about 7 minutes in all): - -```powershell -pixi run python shm_bench_qpc.py run --out _shm_qpc.json -pixi run python shm_bench_qpc.py run --sizes 1048576,2097152,8388608 --rates 30,135,30 --out _shm_qpc_repeat.json -pixi run python shm_bench_qpc.py run --sizes 8388608,8388608 --rates 100,200 --duration 5 --out _shm_qpc_stress.json -pixi run python mcap_bench.py run --out _mcap.json -pixi run python mcap_bench.py run --cells 8388608@100,8388608@200 --duration 5 --out _mcap_stress.json -``` - -`mcap_bench.py` writes each bag to `%TEMP%\mcap_bench` (about 2.4 GB per 8 s cell, up to 8 GB per -stress cell) and deletes it after counting; `--bag-dir` tests another disk, `--keep-bags` keeps the -bags, `--preset fastwrite` uses rosbag2's no-CRC, no-index MCAP profile. - -4. Afterwards `tasklist | findstr rmw_zenohd` must print nothing. Leave the JSON files untracked and - send them back with the printed tables. - -## What to check - -- **Shared memory engaged:** the last column ("shm map") is each process's mapped shared memory after - its run. With shared memory on it is about 49 MB higher than off (ww18: 8.7M → 58.0M; Mac: - 48K → 49.3M). If the on and off rows show the same value, shared memory did not engage: report it. -- **Loss:** `recv/sent` (`bagged/sent` for the recorder) and the `rec log:` lines, which say whether - rosbag2 lost messages on the transport layer or in its cache. -- **Latency:** p50 / p99 / max. For `mcap_bench.py` this is rmw publish → recorder receive (MCAP - `publish_time` → `log_time`); the Python-side conversion is in the `pub()` column. - -## Reference: ww18 (Core Ultra 9 285K, Windows 11 25H2, 2026-10-21/22) - -Median latency, shared memory off → on (two runs each): - -| message | rclpy subscriber | rosbag2 recorder | -|---|---|---| -| 1 MB @ 30 Hz | 3.6 → 1.6–1.9 ms | — | -| 2 MB @ 135 Hz | 5.1–5.8 → 3.0–3.6 ms | 1.3 → 0.11–0.12 ms | -| 8 MB @ 30 Hz | 20–23 → 11–12 ms | 5.2–5.6 → 0.18–0.19 ms | - -With shared memory off, p99 was 25–67 ms and both subscribers lost messages (RELIABLE, depth 10) -at 2 MB @ 135 Hz and 8 MB @ 30 Hz; with it on, p99 was 3–14 ms (rclpy) or at most 0.4 ms -(recorder) and nothing was lost below 8 MB @ 200 Hz. The recorder costs about 1.1 ms of CPU per MB (31 % of a core for -2 MB @ 135 Hz). The rclpy subscriber, not the transport, sets the Python numbers: about 8–10 ms of -CPU per 8 MB message, 3–4 times the Mac's. diff --git a/rig/docs/typed-distribution-decision.md b/rig/docs/typed-distribution-decision.md deleted file mode 100644 index 510a32d4..00000000 --- a/rig/docs/typed-distribution-decision.md +++ /dev/null @@ -1,110 +0,0 @@ -# Typed interfaces on Windows rigs — distribution decision (LAB-303, 2026-10-16) - -**Decision: build `rig_interfaces` in CI and ship it as a conda channel; rigs never compile it.** -The default environment stays String-only and unchanged. The per-PC MSVC build remains available -for whoever edits a `.msg` (it is the same `pixi install -e typed` as today). - -Measurements: `typed-windows.md` (ww18, 2026-10-15/16). This page is the decision and the recipe. - -## The two routes, side by side - -| | per-PC MSVC build (`typed` today) | CI-built channel (recommended) | -|---|---|---| -| what a rig PC installs | compiler + build backend + the ROS toolchain, then builds | one 100 KiB `.conda` like every RoboStack package | -| prerequisites on the PC | MSVC **v143** (VS 2022 Build Tools, or the v143 group added to VS 2026 — admin, ~5 min), `pixi config set --local detached-environments C:\px` (MAX_PATH), network to prefix.dev for the backend | none beyond the default env; network to the channel host | -| `pixi install -e typed`, ww18, warm cache | 35–36 s (T2/T3) | **5–9 s** (T5/T6), no build backend started | -| harness | 48 / 48 | 48 / 48 (T5), 49 / 49 (T6) | -| upstream exposure | the `..`-in-manifest bug needs our CMakeLists workaround until pixi#7226 / rattler-build#2875 ship; `version = "*"` on the backend floats, so two rigs can build with different backends | the workaround runs once, in CI; the lock pins the package by sha256 on every machine | -| type-hash agreement (rmw_zenoh keys typed topics by the hash of the `.msg` text) | guaranteed only if every machine built the same source | guaranteed: one build per version, same bytes everywhere | -| who can be surprised | every new rig PC, every VS update, every student who clones to a long path | the maintainer who forgets to rebuild after a `.msg` change (the version bump below is the guard) | -| cost to run | 0 infrastructure, N × 5 min of setup and a compiler per PC | one workflow (`.github/workflows/rig-interfaces.yml`), three runners × 2–4 min per `.msg` change, one channel to own | - -The per-PC route works now (T2/T3) and is the right **developer** path. It is the wrong **rig** -path: the whole point of the two-environment split was that a rig PC always installs; a route -that needs an admin, a compiler, a path setting and an unmerged upstream fix on every PC -re-introduces exactly the install friction the decision procedure scored against. - -## Channel host - -Three options were measured or sketched (`typed-windows.md` §5). In order of preference: - -1. **In-repo channel, read over raw.githubusercontent.com** (T6: committed `rig/channel/`, - 5 s install on ww18). No account, no secret, no new host beyond GitHub, works today. Cost: the - repo grows by ~300 KiB per release (three platforms), and the channel URL must name an - immutable ref. **Use a tag, not a commit sha:** the commit that adds the packages also edits - `pixi.toml` to point at `rig-interfaces-vX.Y.Z`, and the tag is placed on that commit — one - commit, consistent, and the lock still pins each package's sha256. -2. **prefix.dev lab channel** with trusted publishing. No repo growth, OIDC instead of a token, - but someone has to own the channel and rigs gain `prefix.dev` in their allowlist (the source - build already needs it for the backend). The workflow's last step uploads there as soon as the - repository variable `RIG_INTERFACES_CHANNEL` and the secret `PREFIX_API_KEY` exist; nothing - else changes. -3. anaconda.org org channel: one host for everything, but an API-token secret to rotate. Not - chosen. - -Start with 1; move to 2 when the lab decides to own a channel. The workflow serves both. - -## What is implemented (this commit) - -`.github/workflows/rig-interfaces.yml`: - -- `build (win-64 | osx-arm64 | linux-64)` — `windows-2022` (VS 2022 → v143 found by conda-forge's - activation, no W2-1), `macos-14`, `ubuntu-24.04`; pixi `v0.80.0` (the ww18 pair; the backend is - not in the lock, so the version is pinned on purpose); on Windows - `pixi config set --local detached-environments C:\px` first (W2-2); then - `pixi build --path interfaces/rig_interfaces/pixi.toml --output-dir ../dist`, the archive - checked for its two inner tarballs, uploaded as `rig_interfaces-`. -- `channel` — downloads the three, lays them out as `channel//`, runs - `rattler-index fs channel` (the same indexer `pixi publish` used for the ww18 channel), prints - each package's sha256 and `ros2-distro-mutex` pin, uploads **`rig-interfaces-channel`** - (90 days). On a `rig-interfaces-v*` tag with the prefix.dev variable set it also uploads to - the hosted channel. -- Triggers: `pull_request` on `rig/interfaces/**` or the workflow file (build-only; the first - run is the push of this commit on PR #254 — the Windows job is the one to watch), tags - `rig-interfaces-v*`, `workflow_dispatch`. - -All three platforms are built because the workspace locks them together: a channel with only -win-64 cannot be re-locked (T5's first attempt). Nothing in `pixi.toml` changed: the default -environment is untouched, `typed` still builds from source, `typed-prebuilt` still reads the -ww18-built win-64 package committed on 2026-10-16. The CI build was verified locally on the -Mac before this commit (`pixi build` 17 s → `arena_interfaces-0.1.0-h60d57d3_0.conda`, -`rattler-index fs` → `repodata.json` + shards); the Windows runner is verified by the PR run. - -## Releasing a new build (the recipe) - -After any `.msg` change, or when re-locking onto a newer RoboStack (the package pins -`ros2-distro-mutex`): - -1. Bump the version in `interfaces/rig_interfaces/package.xml` **and** - `interfaces/rig_interfaces/pixi.toml` (same number). -2. Push; the PR run builds the three packages. Download the channel: - `gh run download -n rig-interfaces-channel -D rig/channel` (replace the - directory; `git rm -r rig/channel` first). -3. Point the prebuilt environment at the new tag and version (`rig/pixi.toml`): - - ```toml - [feature.typed-prebuilt] - platforms = ["win-64", "osx-arm64", "linux-64"] # all three are in the channel now - channels = ["https://raw.githubusercontent.com/reiserlab/webDisplayTools/rig-interfaces-v0.2.0/rig/channel"] - - [feature.typed-prebuilt.dependencies] - rig_interfaces = { version = "==0.2.0", channel = "https://raw.githubusercontent.com/reiserlab/webDisplayTools/rig-interfaces-v0.2.0/rig/channel" } - ``` - - `pixi lock` (or `pixi install -e typed-prebuilt`), commit packages + manifest + lock in ONE - commit, then `git tag rig-interfaces-v0.2.0 && git push --tags` on that commit. The tag push - runs the workflow once more (and uploads to prefix.dev when configured). -4. Rigs: `git pull && pixi install --locked -e typed-prebuilt`. - -**Second step, once the first CI channel is committed:** rename the environments so the rig path -is the short name — `typed` = the channel (what `WINDOWS-TEST.md` 7b calls `typed-prebuilt`), -`typed-src` = today's source build in its own solve group (the sketch in `typed-windows.md` §5). -Not done in this commit: it changes which environment the Windows test notes refer to, so it -belongs with the next rebuild, after the Bergamo PC run. - -## Not covered - -A per-PC build stays documented in `WINDOWS-TEST.md` 1b / `typed-windows.md` §2–§3 for `.msg` -authors. The workflow does not run the harness against the built package (that needs the 1 GB -ROS environment per runner; the harness runs on the rig PCs and the Mac). Hardware runs with -`-e typed` / `-e typed-prebuilt` were not repeated on ww18 (ww18 results, "Still open"). diff --git a/rig/docs/typed-windows.md b/rig/docs/typed-windows.md deleted file mode 100644 index 5b8e5d51..00000000 --- a/rig/docs/typed-windows.md +++ /dev/null @@ -1,326 +0,0 @@ -# Typed messages on Windows — W2 follow-up (ww18, 2026-10-15) - -*Paths in this record predate the 2026-10-26 rename `ros2-poc/` → `rig/`, `arena_interfaces` → `rig_interfaces`.* - -LAB-303 Plan B. Follow-up to finding **W2** in `../windows-results-ww18-2026-10-15.md`: the `typed` -environment compiled and linked on ww18, then failed while packaging with -``paths in archives must not have `..` when setting path for Library``. - -**Short answer.** Rig PCs can use typed messages without compiling anything: build -`arena_interfaces` once per platform in CI, publish it to a conda channel, and have the `typed` -environment depend on that package. Tested end to end on ww18 with a local file channel: a fresh -`pixi install --locked -e typed` took **9 s**, never started a build backend, and the harness -passed **48 / 48** with typed topics in the bag (§5). Building on the PC also works now: a -package-level CMake workaround (§2, commit 538cc85) plus a short build directory (§3) give a -35–36 s install and 48 / 48. That route still needs the MSVC v143 toolset and the `detached-environments` -setting on every PC. The upstream bug is known and a fix is open but not merged (§1, §4). - -## What was measured - -All on ww18: pixi 0.80.0, pixi-build-ros `0.7.6.20261014.1408.4ef64dd` (the newest build on -`prefix.dev/pixi-build-backends` today), MSVC 14.44.35207 (the v143 group inside VS 2026 Build -Tools), cmake 4.4.4, RoboStack Jazzy. Package cache warm. - -| # | Setup | `pixi install … -e typed` | Then | -|---|---|---|---| -| T1 | as committed before today, checkout `C:\w\t\ros2-poc` (15 chars) | **FAIL** after 32 s (17 s build): the `..` error; 21 of 151 entries in `.rattler-build-package-files` read `/Library/../Lib/site-packages/…` | — | -| T2 | + the CMakeLists.txt workaround (§2), same checkout, `--locked`, clean `bld/` | **PASS** 35 s (16 s build), lock unchanged; 151 files, 0 with `..` | `build_interfaces.py --check`: importable, serializes; harness **48 / 48** in 61 s, `typed topics: True` | -| T3 | T2 from this worktree (checkout path **79 chars**) + `detached-environments = 'C:\w\px'` | **PASS** 36 s; longest object path 253 chars | `--check`: importable, serializes | -| T4 | `pixi publish --path interfaces\arena_interfaces\pixi.toml --target-channel C:\w\chan` | 26 s → an indexed file channel, `win-64/arena_interfaces-0.1.0-ha41a7fa_0.conda` (101 KiB) | `pixi build --path … --output-dir` the same, 27 s | -| T5 | `typed` feature depends on `arena_interfaces` from that channel (no path dep, no toolchain), fresh env, `--locked` | **PASS 9 s, no build backend started** | `--check`: importable, serializes; harness **48 / 48** in 56 s, `typed topics: True` | -| T6 | 2026-10-16, **committed**: the T4 package in `channel/` (3051258), read by the new win-64 env `typed-prebuilt` over raw.githubusercontent.com pinned to that commit; own solve group (lock +552 lines, nothing else changed) | **PASS 5 s** `--locked`, nothing built; a second, fresh checkout path also passed (4 s), where pixi started the backend once to read the `typed` env's metadata | `--check`: importable, serializes; harness **49 / 49** in 52 s (one check more than T2/T5 by now), `typed topics: True` | - -T1–T3 and T5 were run in a scratch detached worktree at `C:\w\t` (T5's manifest change is not committed; -§5 has it). Logs, T1's package-file list and the §4b recipes are on ww18 in `C:\w\logs-w2\` (not -committed); the scratch worktree and envs were removed. - -## 1. Where the `..` comes from - -Three pieces, each fine alone: - -1. **pixi-build-ros' Windows template** (`crates/pixi_build_ros/templates/bld_ament_cmake.bat` in - prefix-dev/pixi, embedded in `pixi-build-ros.exe`) sets - `PYTHON_INSTALL_DIR = os.path.relpath(SP_DIR, LIBRARY_PREFIX)` = `../Lib/site-packages`. - This line comes from RoboStack's vinca templates. On conda's Windows layout, C/C++ files go - under `Library\` and Python under `Lib\site-packages`, so the relative value has to climb out. - On Linux and macOS the value is `lib/python3.12/site-packages` (no `..`), which is why the Mac - build always worked. -2. **prefix-dev/pixi#6691** (commit 40a25ff, 2026-07-28, "clean stale files from incremental - ROS Python builds"): the backend now reuses its host prefix between builds, so the template - stopped letting rattler-build diff the prefix. Instead it appends CMake's `install_manifest.txt` - to `%RATTLER_BUILD_PACKAGE_FILES%`. CMake records each destination as spelled: - `%PREFIX%/Library/../Lib/site-packages/arena_interfaces/msg/_arena_frame.py`. -3. **rattler-build's `Files::from_paths`** (`crates/rattler_build_core/src/packaging/file_finder.rs`, - the `RATTLER_BUILD_PACKAGE_FILES` reader from rattler-build #2476) accepts an entry when - `strip_prefix(prefix)` succeeds (a lexical check) and `exists()` is true (the OS resolves the - `..`). It never normalizes the path, and the tar writer then refuses the `..` component. - Reproduced with rattler-build 0.76.1 alone, no ROS and no compiler, in under 1 s (§4b). An entry - outside the prefix, spelled `$PREFIX/../outside.txt`, passes the containment check the same way. - -**Fixed upstream?** Not in any release. prefix-dev/pixi#6955 is open (since 2026-09-04); a -2026-10-09 comment reports exactly our error on `micro_ros_msgs`, plus the MAX_PATH problem. -prefix-dev/pixi#7226 (open since 2026-10-10, waiting for review) passes an absolute forward-slash -`PYTHON_INSTALL_DIR` instead. The newest backend build (2026-10-14) still has the `relpath` line; -I checked the template embedded in the binary. Nobody has filed the rattler-build side. - -Note for reproducibility: the backend is not in `pixi.lock`. `version = "*"` in -`interfaces/arena_interfaces/pixi.toml` floats to the newest nightly-style build on every fresh -build. That will pick up #7226 automatically, but it also means two rigs can build with different -backends. - -## 2. Package-level workaround (commit 538cc85) - -`interfaces/arena_interfaces/CMakeLists.txt`, before `find_package(ament_cmake)`: - -```cmake -if(WIN32 AND PYTHON_INSTALL_DIR MATCHES "^\\.\\./") - cmake_path(ABSOLUTE_PATH PYTHON_INSTALL_DIR BASE_DIRECTORY "${CMAKE_INSTALL_PREFIX}" - NORMALIZE OUTPUT_VARIABLE _arena_python_install_dir) - set(PYTHON_INSTALL_DIR "${_arena_python_install_dir}") -endif() -``` - -This is the value #7226 would pass: absolute, normalized, forward slashes (backslashes would break -the generated `cmake_install.cmake`). A normal variable shadows the `-D` cache entry and reaches -rosidl's `arena_interfaces__py` subdirectory. The block is a no-op once upstream passes an -absolute path, and it never runs under colcon (`Lib/site-packages` relative to the install -prefix) or on Linux/macOS. Side effects, both harmless here: - -- ament_cmake_python byte-compiles `"${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_DIR}/"`, so - with an absolute value it logs `Can't list '%PREFIX%/Library/%PREFIX%/Lib/site-packages/arena_interfaces'` - and compiles nothing. The package is unchanged either way: the 5 `.pyc` files in it come from - rattler-build's own post-build step ("Compiling 5 .py files to .pyc", in the failing build and in - the fixed one), not from ament's compileall, whose output never reaches `install_manifest.txt`. - (Corrected 2026-10-16; an earlier version said no `.pyc` were packaged.) -- `share/arena_interfaces/environment/pythonpath.dsv` now holds an absolute path. rattler-build - rewrites it to the install prefix (checked in the installed env); conda environments don't - read these hooks. - -## 3. MAX_PATH: `detached-environments` - -`cl.exe` failed with `C1083` once an object path passed 260 characters (W2-2). The build adds -about 211 characters below the pixi directory. pixi 0.80 offers no override for `.pixi/bld` -alone, but `detached-environments` moves the whole pixi directory (`pixi_dir()` in pixi_core), -build workspaces included, to `\-`: - -```powershell -pixi config set --local detached-environments C:\px # once per checkout (.pixi\config.toml) -pixi install -e typed -``` - -With `C:\w\px` the longest object path was 253 characters, from a checkout 79 characters deep (T3). -**Keep the directory at 12 characters or fewer.** One script assumed `.pixi\envs`: `rig.py`'s -viz-env check now uses the running env's sibling (`CONDA_PREFIX`), so `--foxglove` works with -detached envs. The harness's `find_node()` looks in the *root* workspace, which this setting -doesn't touch. `LongPathsEnabled` was not tried (it is 0 on ww18, and changing it needs admin). - -## 4. Upstream — filed 2026-10-16 (text below as posted) - -### 4a. Comment on prefix-dev/pixi#7226 — [posted](https://github.com/prefix-dev/pixi/pull/7226#issuecomment-6217653890) - -> Confirming this on a second machine with the newest backend build, plus one side effect. -> -> **Setup:** pixi 0.80.0, `pixi-build-ros 0.7.6.20261014.1408.4ef64dd` (newest on -> prefix.dev/pixi-build-backends as of 2026-10-15; still has the `relpath` line), win-64 -> (Windows 11 26200), MSVC 14.44.35207 (v143 inside VS 2026 Build Tools), robostack-jazzy. The -> package is three `.msg` files: `ament_cmake` + `rosidl_generate_interfaces`, nothing else. -> -> **Before:** build and install succeed; packaging fails with -> ``paths in archives must not have `..` when setting path for Library``. 21 of the 151 lines in -> `.rattler-build-package-files` are `/Library/../Lib/site-packages/…`: every Python file, -> the egg-info and the three `.pyd`. -> -> **With the value this PR passes:** we can't change the template, so we applied it from the -> package's own CMakeLists.txt. If `PYTHON_INSTALL_DIR` starts with `../`, replace it with -> `cmake_path(ABSOLUTE_PATH PYTHON_INSTALL_DIR BASE_DIRECTORY "${CMAKE_INSTALL_PREFIX}" NORMALIZE …)`. -> The package then builds, packages (151 files, none with `..`) and installs. The generated -> Python types import and serialize, and our end-to-end test passes with typed topics. -> -> **Side effect worth a line in the PR:** ament_cmake_python byte-compiles -> `"${CMAKE_INSTALL_PREFIX}/${ARG_DESTINATION}/"` (`ament_python_install_package.cmake`). With an -> absolute `PYTHON_INSTALL_DIR` that becomes `%PREFIX%/Library/%PREFIX%/Lib/site-packages/`, and the -> build logs `Can't list …` (not fatal). The package doesn't change: its 5 `.pyc` files come from -> rattler-build's own post-build step ("Compiling 5 .py files to .pyc", in the failing build and the fixed -> one alike), not from ament's compileall, whose output never reaches `install_manifest.txt`. If you'd rather keep the relative value the ament README asks for, you could instead normalize -> the manifest lines before appending them to `%RATTLER_BUILD_PACKAGE_FILES%`. Or rattler-build could -> normalize the list itself (prefix-dev/rattler-build#2875), which would cover every template. - -Edited on GitHub 2026-10-16: the `.pyc` sentence first said none were packaged; the package does -hold 5, compiled by rattler-build. The quote above is the corrected text. -> -> **On the MAX_PATH note in #6955:** `detached-environments` moves `bld/` along with the envs. With -> `pixi config set --local detached-environments C:\px`, a checkout 79 characters deep built fine for -> us (longest object path 253 characters). - -### 4b. Issue prefix-dev/rattler-build#2875 — [filed](https://github.com/prefix-dev/rattler-build/issues/2875) (links back to 4a) - -**Title:** `RATTLER_BUILD_PACKAGE_FILES` entries are not normalized: a `..` inside the prefix breaks -packaging (and passes the outside-prefix check) - -> `Files::from_paths` (`packaging/file_finder.rs`, the reader for `$RATTLER_BUILD_PACKAGE_FILES` -> from #2476) accepts an entry when `resolved.strip_prefix(prefix)` succeeds and `resolved.exists()` -> is true, then packages it under that spelling. `strip_prefix` is lexical but `exists()` resolves `..`, -> so: -> -> 1. a file inside the prefix spelled through `..` (`$PREFIX/Library/../Lib/x.py`) is accepted, then -> rejected by the archive writer: ``paths in archives must not have `..` when setting path for Library``; -> 2. a file **outside** the prefix spelled `$PREFIX/../outside.txt` is also accepted ("Largest files: -> 9 B - ../outside.txt"). The build then fails the same way instead of with `PackageFileOutsidePrefix`. -> -> This is how pixi-build-ros fails on Windows for every ROS interface package (prefix-dev/pixi#6955). -> CMake writes `install_manifest.txt` with each destination as spelled -> (`%LIBRARY_PREFIX%/../Lib/site-packages/…`), and the build script appends that manifest to the -> list. A template fix is open (prefix-dev/pixi#7226), but any build script that records CMake, meson -> or setuptools output paths can hit the same thing. -> -> **Repro** (rattler-build 0.76.1, win-64, no compiler, < 1 s): -> -> ```yaml -> package: -> name: dotdot-repro -> version: "0.1.0" -> build: -> number: 0 -> script: -> - if: win -> then: -> - mkdir "%LIBRARY_PREFIX%" "%PREFIX%\Lib\site-packages\repro" -> - echo hello> "%PREFIX%\Lib\site-packages\repro\hello.txt" -> - echo %LIBRARY_PREFIX:\=/%/../Lib/site-packages/repro/hello.txt>> "%RATTLER_BUILD_PACKAGE_FILES%" -> else: -> - mkdir -p "$PREFIX/share" "$PREFIX/lib/repro" -> - echo hello > "$PREFIX/lib/repro/hello.txt" -> - echo "$PREFIX/share/../lib/repro/hello.txt" >> "$RATTLER_BUILD_PACKAGE_FILES" -> ``` -> -> `rattler-build build --recipe recipe.yaml`: -> -> ``` -> │ │ Files in package: -> │ │ ├─ Library/../Lib/site-packages/repro/hello.txt (7 B) -> … -> Error: × Could not open or create, or write to file -> ╰─▶ paths in archives must not have `..` when setting path for Library -> ``` -> -> Variant 2: write `"%PREFIX%\..\outside.txt"` and record `%PREFIX:\=/%/../outside.txt`. The result -> is `9 B - ../outside.txt` in the package listing, then ``… must not have `..` when setting path for -> ././@LongLink``. (Only win-64 was run; the `else:` branch is the same mechanism on Unix.) -> -> **Suggested fix:** before the containment check, normalize each entry lexically: drop `.` and -> resolve `..` against the previous component, with no filesystem access. Then `strip_prefix`, and -> return `PackageFileOutsidePrefix` if the result leaves the prefix. Normalizing also makes the -> `HashSet` dedupe one file listed under two spellings. - -## 5. Fallback: build once in CI, publish to a channel - -**Decided 2026-10-16: this is the rig route** — `typed-distribution-decision.md` has the decision, the -implemented workflow (`.github/workflows/arena-interfaces.yml`) and the release recipe; the text below is the -measurement record and the original sketch. - -Rigs install `arena_interfaces` as a plain binary, like every RoboStack package. That means no -MSVC, no backend, no MAX_PATH and no `detached-environments`, and the `typed` install becomes a -download like the default one. T4 + T5 tested this on ww18 with a local file channel. - -**Consumer side** (what T5 ran, with the real channel URL): - -```toml -[feature.typed] -channels = ["https://prefix.dev/"] - -[feature.typed.dependencies] -arena_interfaces = { version = "0.1.*", channel = "https://prefix.dev/" } -ros-jazzy-rosidl-default-runtime = "*" - -# For whoever edits a .msg: today's source build, in its own solve group (the same package name -# from a path and from a channel cannot share one). -[feature.typed-src.dependencies] -arena_interfaces = { path = "interfaces/arena_interfaces" } -# … the ament/rosidl toolchain the typed feature carries today - -[environments] -typed = { features = ["typed"], solve-group = "poc" } -typed-src = { features = ["typed-src"], solve-group = "typed-src" } -``` - -**Build side** — a sketch, not added to `.github/workflows/` (it would run on this PR): - -```yaml -name: arena-interfaces -on: - push: - tags: ['arena-interfaces-v*'] - workflow_dispatch: -permissions: - contents: read - id-token: write # prefix.dev trusted publishing (OIDC), no stored token -jobs: - build: - strategy: - matrix: - include: - - { os: windows-2022, subdir: win-64 } # VS 2022 → conda-forge vs2022 finds v143 - - { os: macos-14, subdir: osx-arm64 } - - { os: ubuntu-24.04, subdir: linux-64 } - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v5 - - uses: prefix-dev/setup-pixi@v0 # pin an exact version + pixi-version: v0.80.0 - with: { run-install: false } - - if: runner.os == 'Windows' # D:\a\webDisplayTools\webDisplayTools\ros2-poc is 45 chars: at the limit - working-directory: ros2-poc - run: pixi config set --local detached-environments C:\px - - working-directory: ros2-poc - run: pixi build --path interfaces/arena_interfaces/pixi.toml --output-dir ../dist - - uses: actions/upload-artifact@v5 - with: { name: arena_interfaces-${{ matrix.subdir }}, path: dist/*.conda } - publish: # all three or nothing: see "partial channel" below - needs: build - runs-on: ubuntu-24.04 - steps: - - uses: actions/download-artifact@v5 - with: { path: dist, merge-multiple: true } - - uses: prefix-dev/setup-pixi@v0 - with: { run-install: false } - # trusted publishing: check the OIDC flag/behaviour of the rattler-build version you pin - - run: pixi exec rattler-build upload prefix --channel dist/*.conda -``` - -Notes and costs: - -- **Channel host.** A prefix.dev channel (free for public ones) gets OIDC trusted publishing, - so there is no token to rotate. It does add `prefix.dev` to a rig's network allowlist: today's - default env reaches only `conda.anaconda.org`, and the source build already reaches prefix.dev - for the backend. An anaconda.org org channel (`conda.anaconda.org/`) keeps a single host but - needs an API-token secret. A third option, tried for win-64 in T6: commit the `.conda` files - (~100 KiB each) to the repo. A relative `./channel` doesn't work, because pixi writes it into - `pixi.lock` as the committing machine's absolute path. Reading the same files over - raw.githubusercontent.com, pinned to a commit, keeps the lock portable. It also gives every rig a - dependency on GitHub's raw host, and the repo grows with every rebuild. -- **Partial channel = no lock.** The workspace locks win-64, osx-arm64 and linux-64 together. With - only the win-64 build in the channel, the lock could not resolve the other two platforms (seen in - T5 until the scratch feature was limited to win-64). So publish all three platforms in one job. -- **When to rebuild.** On every `.msg` change: bump the version in `package.xml` and in - `interfaces/arena_interfaces/pixi.toml`, tag, let CI publish, then `pixi update arena_interfaces` and commit the lock. Also - rebuild when re-locking onto a newer RoboStack: the package pins `ros2-distro-mutex` (`>=0.19,<0.20` - on win-64 and linux-64 in today's lock, `>=0.16,<0.17` on osx-arm64). Until someone re-locks, the - lock keeps every rig on the old build. -- **One build for the whole graph.** rmw_zenoh puts the message type hash in its key expressions, - so every node needs the same `.msg` version. The hash comes from the `.msg` text, so the Mac and - a rig agree when both install the same channel version. A source build on one machine and a stale - one on another would not see each other's typed topics. With the channel, the lock pins exact bytes - (`sha256`) on every machine. -- **Effort.** About 50 lines of workflow, one channel to own, three runner jobs of about 2–4 min per - `.msg` change. The CMakeLists workaround (§2) is still needed for the Windows CI build until - #7226 ships. - -## 6. What a Windows rig PC needs, per route - -| | default env (String topics) | typed, built on the PC (today) | typed, prebuilt channel (§5) | -|---|---|---|---| -| install | `pixi install` | `pixi install -e typed` | `pixi install -e typed` (today, for testing: `-e typed-prebuilt`, win-64, WINDOWS-TEST.md 7b) | -| compiler | — | MSVC **v143** toolset (VS 2022 Build Tools, or the v143 group in VS 2026; UAC, < 5 min) | — | -| path setup | — | short checkout **or** `detached-environments` ≤ 12 chars | — | -| network | conda.anaconda.org | + prefix.dev (backend) | + the channel host | -| ww18 time (warm) | 25 s | 35–36 s | 9 s | -| harness | 47 / 47 | 48 / 48 | 48 / 48 | diff --git a/rig/interfaces/rig_interfaces/CMakeLists.txt b/rig/interfaces/rig_interfaces/CMakeLists.txt deleted file mode 100644 index 3ea7d7de..00000000 --- a/rig/interfaces/rig_interfaces/CMakeLists.txt +++ /dev/null @@ -1,27 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(rig_interfaces) - -# Windows + pixi-build-ros (<= 0.7.6, 2026-10-14): the backend passes PYTHON_INSTALL_DIR as -# ../Lib/site-packages (relative to %LIBRARY_PREFIX%), CMake records that spelling in -# install_manifest.txt, the backend hands the manifest to rattler-build as the package's file -# list, and the archive writer refuses `Library/../Lib/...` ("paths in archives must not have -# `..`", prefix-dev/pixi#6955). Use the absolute, normalized, forward-slash path instead — the -# same value the pending upstream fix (prefix-dev/pixi#7226) passes, so this is a no-op once it -# ships. The installed tree is unchanged. colcon and Linux/macOS never take this branch. -if(WIN32 AND PYTHON_INSTALL_DIR MATCHES "^\\.\\./") - cmake_path(ABSOLUTE_PATH PYTHON_INSTALL_DIR BASE_DIRECTORY "${CMAKE_INSTALL_PREFIX}" - NORMALIZE OUTPUT_VARIABLE _arena_python_install_dir) - set(PYTHON_INSTALL_DIR "${_arena_python_install_dir}") -endif() - -find_package(ament_cmake REQUIRED) -find_package(rosidl_default_generators REQUIRED) - -rosidl_generate_interfaces(${PROJECT_NAME} - "msg/FicTracFrame.msg" - "msg/ArenaFrame.msg" - "msg/ConnectorReply.msg" -) - -ament_export_dependencies(rosidl_default_runtime) -ament_package() diff --git a/rig/interfaces/rig_interfaces/msg/ArenaFrame.msg b/rig/interfaces/rig_interfaces/msg/ArenaFrame.msg deleted file mode 100644 index 344ad927..00000000 --- a/rig/interfaces/rig_interfaces/msg/ArenaFrame.msg +++ /dev/null @@ -1,38 +0,0 @@ -# One closed-loop evaluation: the frame index the display is asked to show for one FicTrac -# frame (LAB-303 Plan B, /arena/frame). THE field the record of truth needs is t_ms — the -# closed-loop node's OWN sample time, the instant idx, the bias phase and a pending tare were -# evaluated. A recorder's receive time lags it; offline reconstruction must use t_ms / ms. -# -# Since 2026-10-18 this is also THE FicTrac record in the bag (docs/development/ -# fictrac-columns-in-the-bag.md): the raw FicTrac topics are no longer recorded by default, and -# the 10 FicTrac columns the lab keeps ride here — cols 1, 15, 16, 17, 22 as before, plus -# cols 5, 6-8 and 23 below. One message per frame; one type for the live topic and the bag. -int64 t_ms # the node's wall clock at evaluation (ms since the Unix epoch) -int32 ms # the same instant relative to the run's t0 (behavior_v1 column `ms`) -int64 fc # FicTrac frame counter (col 1); 0 when an untracked frame carried none -int32 idx # displayed frame index (0-based) -bool has_ft # false when FicTrac's col-22 timestamp was absent -float64 ft # FicTrac camera timestamp relative to the first frame, ms (behavior_v1 `ft`) -float64 x # integrated x position, radians (col 15) -float64 y # integrated y position, radians (col 16) -float64 hd # integrated heading, radians (col 17) -uint32 epoch # +1 per heading tare; 0 before the first -float64 bias_deg # bias angle applied at this evaluation (0 when the bias is `none`) -uint64 seq # the bridge writer's emission order within the run (0 when unknown) -# Derived channels for live viewing (Foxglove) and ROS-native consumers ONLY — the hub message -# to the Studio and the behavior_v1 columns do not carry them. Two-point differences over -# consecutive frames on the FicTrac camera clock `ft` (falling back to the bridge clock when -# ft is absent), the way js/kinematics.js derives the same channels; NaN on the first frame -# of a run, when the clock does not advance, or when FicTrac restarted. In the BAG these two -# are always NaN (live-only since 2026-10-18): exactly recomputable offline, and 16 B per frame -# of incompressible doubles otherwise — a fifth of the record. -float64 turning_dps # heading rate, deg/s (positive = increasing FicTrac heading) -float64 forward_mms # forward velocity, mm/s (x/y step projected onto the heading × ball radius; --ball-mm, 9 mm default) -# The FicTrac columns kept beyond the behavior row (NaN / 0 when the line did not carry them). -float64 err # col 5: delta-rotation error score (FicTrac's optimizer residual; its only per-frame quality signal) -float64 dr_lab_x # cols 6-8: delta rotation vector in laboratory coordinates, radians/frame — -float64 dr_lab_y # the primary measurement everything else is integrated from -float64 dr_lab_z # (FicTrac: heading -= dr_lab_z; velx = dr_lab_y; vely = -dr_lab_x) -int64 ft_seq # col 23: sequence counter — equals fc until FicTrac's tracking is reset, then restarts at 1 -int64 ft_ns # col 22 as received, truncated to an integer (a ns camera clock on our rigs; FicTrac's doc says ms) -uint8 flags # bit 0: untracked frame (an FT_BADFR line — no columns; recorded so the bag says "untracked", not "missing"; no run-log row) diff --git a/rig/interfaces/rig_interfaces/msg/ConnectorReply.msg b/rig/interfaces/rig_interfaces/msg/ConnectorReply.msg deleted file mode 100644 index fd4bd6dc..00000000 --- a/rig/interfaces/rig_interfaces/msg/ConnectorReply.msg +++ /dev/null @@ -1,14 +0,0 @@ -# A device node's answer to one connector_command (LAB-303: BIAS today). Replies are typed so a -# ROS-native consumer (MATLAB, ros2 topic echo) sees named fields; the JSON-valued parts stay -# JSON strings because their shape is the device's, not ours. -string id # the command id the browser (or bias_cmd.py) minted -string connector # "bias" -string command # protocol plugin command, e.g. "startRecording" -bool ok -string outcome # "ok" | "error" | "unknown" (a timeout: the command may have taken effect) -string error # empty when ok -string value_json # the device's value, JSON-encoded ("null" when none) -string artifact_json # {"kind":"video","path":…} for startRecording, else "null" -string steps_json # per-HTTP-step results, JSON array -float64 rtt_ms -int64 t_ms # device-node wall clock when the command started (ms since the Unix epoch) diff --git a/rig/interfaces/rig_interfaces/msg/FicTracFrame.msg b/rig/interfaces/rig_interfaces/msg/FicTracFrame.msg deleted file mode 100644 index 05ca250f..00000000 --- a/rig/interfaces/rig_interfaces/msg/FicTracFrame.msg +++ /dev/null @@ -1,9 +0,0 @@ -# One FicTrac record as the UDP adapter received it (LAB-303 Plan B, typed topic /fictrac/frame). -# The adapter parses the line; `raw` keeps the verbatim bytes so the closed-loop math can stay -# byte-for-byte bridge 3.4's (Pipeline.handle_line) and nothing is lost if a column is added. -uint64 seq # adapter counter, 1-based -int64 rx_epoch_ms # adapter wall clock at receipt (ms since the Unix epoch) -int64 rx_mono_ns # adapter monotonic clock at receipt -string tag # "FT" (good frame), "FT_BADFR" (untracked), "" (offline / simulator line) -float64[] fields # the numeric columns after the tag (25 for FicTrac 2.x); empty when unparseable -string raw # the line, verbatim, without the newline diff --git a/rig/interfaces/rig_interfaces/package.xml b/rig/interfaces/rig_interfaces/package.xml deleted file mode 100644 index d2dd632e..00000000 --- a/rig/interfaces/rig_interfaces/package.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - rig_interfaces - 0.2.0 - Typed messages for the Reiser Lab arena bridge graph (LAB-303 Plan B spike): FicTracFrame, ArenaFrame, ConnectorReply. - Michael Reiser - MIT - - ament_cmake - rosidl_default_generators - rosidl_default_runtime - rosidl_interface_packages - - - ament_cmake - - diff --git a/rig/interfaces/rig_interfaces/pixi.toml b/rig/interfaces/rig_interfaces/pixi.toml deleted file mode 100644 index 8699997a..00000000 --- a/rig/interfaces/rig_interfaces/pixi.toml +++ /dev/null @@ -1,21 +0,0 @@ -# rig_interfaces as a pixi source package (LAB-303 Plan B item 3). The rig workspace -# depends on it by path (`rig_interfaces = { path = "interfaces/rig_interfaces" }`), so -# `pixi install` builds it with the RoboStack pixi-build-ros backend — a conda package made from -# this package.xml/CMakeLists.txt, with no colcon step and nothing to source. Preview feature: -# `preview = ["pixi-build"]` in the workspace manifest. Measured on the Mac: README "Plan B spike". -[package] -name = "rig_interfaces" -version = "0.2.0" - -[package.build] -backend = { name = "pixi-build-ros", version = "*", channels = ["https://prefix.dev/pixi-build-backends", "https://prefix.dev/conda-forge", "https://prefix.dev/robostack-jazzy"] } - -[package.build.config] -distro = "jazzy" - -[package.host-dependencies] -ros-jazzy-ament-cmake = "*" -ros-jazzy-rosidl-default-generators = "*" - -[package.run-dependencies] -ros-jazzy-rosidl-default-runtime = "*" diff --git a/rig/mcap_bench.py b/rig/mcap_bench.py deleted file mode 100644 index b07e5005..00000000 --- a/rig/mcap_bench.py +++ /dev/null @@ -1,313 +0,0 @@ -#!/usr/bin/env python3 -"""mcap_bench.py — rosbag2 (C++) recording an image topic to MCAP, rmw_zenoh shared memory off vs on (LAB-303). - -The publisher is shm_bench_qpc.py's `pub` (rclpy, sensor_msgs/Image of a fixed size at a fixed -rate, incompressible payload). The only subscriber is a rosbag2 Recorder: a C++ generic -subscription that never deserializes, writing MCAP with the default storage profile. It is -driven through rosbag2_py the way `ros2 bag record` drives it, but stopped by a line on stdin -instead of SIGINT (Windows cannot deliver Ctrl+C to one child process). - - pixi run python mcap_bench.py run --out ww18_mcap.json - pixi run python mcap_bench.py run --cells 2097152@135 --modes on --duration 5 - -Per cell it reports what was sent, what ended up in the bag (by the frame_id sequence numbers in -the recorded CDR), the recorder's CPU per message (including the flush at stop), how long the -stop flush took, the recorder's mapped shared memory, and the rmw publish -> recorder receive -latency from each MCAP record's publish_time and log_time (both the system clock; rmw_zenoh -stamps the source timestamp after serialization, so rclpy's conversion is not included). -Bags go to --bag-dir and are deleted after they are counted unless --keep-bags. -""" - -from __future__ import annotations - -import argparse -import glob -import json -import os -import platform -import shutil -import statistics -import struct -import subprocess -import sys -import tempfile -import time - -import shm_bench as sb - -HERE = os.path.dirname(os.path.abspath(__file__)) -PUB_SCRIPT = os.path.join(HERE, "shm_bench_qpc.py") - - -# ── the recorder process ────────────────────────────────────────────────────────────────────── - - -def cmd_rec(args): - import datetime - - from ros2cli.node import NODE_NAME_PREFIX - from rosbag2_py import Recorder, RecordOptions, StorageOptions - - storage = StorageOptions( - uri=args.uri, - storage_id="mcap", - max_cache_size=args.cache_mb << 20, - storage_preset_profile=args.preset, - ) - ro = RecordOptions() - ro.topics = [sb.TOPIC] - ro.rmw_serialization_format = "" - ro.topic_polling_interval = datetime.timedelta(milliseconds=100) - ro.node_prefix = NODE_NAME_PREFIX - ro.disable_keyboard_controls = True - rec = Recorder(storage, ro, "info", "mcap_bench_recorder") - rec.start_spin() - rec.record() - print("READY", flush=True) - - cpu0, wall0 = time.process_time(), time.monotonic() - for line in sys.stdin: - cmd = line.strip() - if cmd == "mark": # the publisher is being started - cpu0, wall0 = time.process_time(), time.monotonic() - elif cmd == "stop": - break - cpu1, wall1 = time.process_time(), time.monotonic() - rec.stop() # flushes the cache and closes the bag - cpu2, wall2 = time.process_time(), time.monotonic() - shm = sb._shm_mapped() - rec.stop_spin() - print( - json.dumps( - { - "role": "rec", - "cpu_s": cpu2 - cpu0, - "wall_s": wall1 - wall0, - "stop_s": wall2 - wall1, - "shm_mapped": shm, - } - ), - flush=True, - ) - return 0 - - -# ── reading the bag ─────────────────────────────────────────────────────────────────────────── - - -def _read_bag(uri, size): - """Count what the recorder wrote: measured ("m") messages by sequence number, plus the - rmw publish -> recorder receive latency from MCAP publish_time / log_time.""" - from mcap.reader import make_reader - - files = sorted(glob.glob(os.path.join(uri, "*.mcap"))) - out = {"bag_files": len(files), "bag_bytes": sum(os.path.getsize(f) for f in files)} - seqs, lat, n_all, short = [], [], 0, 0 - same_t = 0 - for f in files: - with open(f, "rb") as fh: - for _schema, _chan, msg in make_reader(fh).iter_messages(log_time_order=False): - n_all += 1 - d = msg.data - # CDR_LE: 4-byte encapsulation, stamp sec/nanosec, then frame_id length + chars + NUL - (n,) = struct.unpack_from(" 20: - sys.exit(f"router did not come up on :{args.port}") - time.sleep(0.2) - - cells = [] - for c in args.cells.split(","): - size, rate = c.split("@") - cells.append((int(size), float(rate))) - - pub_args = [ - "--depth", str(args.depth), - "--duration", str(args.duration), - "--warmup", str(args.warmup), - ] + (["--reliable"] if args.reliable else ["--no-reliable"]) - - results = [] - try: - for mode in args.modes.split(","): - override = f"connect/endpoints={endpoint};transport/shared_memory/enabled={'true' if mode == 'on' else 'false'}" - env = dict(base, ZENOH_CONFIG_OVERRIDE=override) - for size, rate in cells: - uri = os.path.join(args.bag_dir, f"{mode}_{size}_{rate:g}") - shutil.rmtree(uri, ignore_errors=True) # rosbag2 refuses an existing directory - with open(uri + ".log", "w") as log: - rec = subprocess.Popen( - [sys.executable, me, "rec", "--uri", uri, "--cache-mb", str(args.cache_mb), "--preset", args.preset], - env=env, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=log, text=True, - ) - for _ in range(200): - line = rec.stdout.readline() - if not line or line.strip() == "READY": - break - print(f" [rec] {line.rstrip()}", file=sys.stderr) - if not line: - sys.exit(f"recorder did not start (see {uri}.log)") - rec.stdin.write("mark\n") - rec.stdin.flush() - pub = subprocess.Popen( - [sys.executable, PUB_SCRIPT, "pub", "--size", str(size), "--rate", str(rate)] + pub_args, - env=env, stdout=subprocess.PIPE, text=True, - ) - pout, _ = pub.communicate(timeout=args.duration + 60) - time.sleep(args.drain) - rec.stdin.write("stop\n") - rec.stdin.flush() - rout, _ = rec.communicate(timeout=180) - row = {"mode": mode, "size": size, "rate": rate} - for line in (pout + rout).splitlines(): - if line.startswith("{"): - d = json.loads(line) - role = d.pop("role") - row.update({f"{role}_{k}": v for k, v in d.items()}) - if os.path.isdir(uri): - row.update(_read_bag(uri, size)) - if row.get("bag_msgs") and row.get("rec_cpu_s") is not None: - row["rec_cpu_ms_per_msg"] = 1000 * row["rec_cpu_s"] / row["bag_msgs"] - if row.get("pub_sent") is not None and row.get("bagged") is not None: - row["lost"] = row["pub_sent"] - row["bagged"] - with open(uri + ".log") as f: - row["rec_log"] = [ - ln.rstrip() for ln in f if any(k in ln for k in ("lost", "WARN", "ERROR", "dropped")) - ] - if not args.keep_bags: - shutil.rmtree(uri, ignore_errors=True) - results.append(row) - _print_row(row) - for ln in row["rec_log"]: - print(f" rec log: {ln}", flush=True) - finally: - if router: - router.terminate() - try: - router.wait(5) - except subprocess.TimeoutExpired: - router.kill() - - meta = { - "host": platform.node(), - "platform": platform.platform(), - "python": platform.python_version(), - "rmw": "rmw_zenoh_cpp", - "recorder": "rosbag2_py Recorder, storage mcap", - "preset": args.preset or "default", - "cache_mb": args.cache_mb, - "bag_dir": os.path.abspath(args.bag_dir), - "reliable": args.reliable, - "depth": args.depth, - "duration_s": args.duration, - "when": time.strftime("%Y-%m-%d %H:%M:%S"), - } - if args.out: - with open(args.out, "w") as f: - json.dump({"meta": meta, "results": results}, f, indent=1) - print(f"wrote {args.out}") - return 0 - - -_HDR_DONE = False - - -def _print_row(r): - global _HDR_DONE - if not _HDR_DONE: - print( - f"{'shm':>3} {'size':>8} {'Hz':>5} {'MB/s':>6} {'bagged/sent':>11} {'lost':>4} {'pub()':>6} " - f"{'pubCPU':>6} {'recCPU':>6} {'stop s':>6} {'p50 ms':>7} {'p99 ms':>7} {'max ms':>7} {'shm map pub/rec':>16}", - flush=True, - ) - _HDR_DONE = True - g = r.get - nan = float("nan") - rec_pct = g("rec_cpu_ms_per_msg", nan) * g("pub_rate_hz", nan) / 10 # ms/message x achieved Hz - shm_s = f"{g('pub_shm_mapped') or 'n/a'}/{g('rec_shm_mapped') or 'n/a'}" - mbps = r["size"] * g("pub_rate_hz", 0) / 1e6 - print( - f"{r['mode']:>3} {sb._human(r['size']):>8} {r['rate']:>5g} {mbps:>6.1f} " - f"{g('bagged', 0):>5}/{g('pub_sent', 0):<5} {g('lost', -1):>4} " - f"{g('pub_publish_call_ms_p50', nan):>6.2f} {g('pub_cpu_pct', nan):>5.0f}% {rec_pct:>5.0f}% " - f"{g('rec_stop_s', nan):>6.2f} {g('lat_ms_p50', nan):>7.2f} {g('lat_ms_p99', nan):>7.2f} " - f"{g('lat_ms_max', nan):>7.2f} {shm_s:>16}", - flush=True, - ) - - -def main(): - ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - sp = ap.add_subparsers(dest="cmd", required=True) - p = sp.add_parser("rec") - p.add_argument("--uri", required=True) - p.add_argument("--cache-mb", type=int, default=100) - p.add_argument("--preset", default="") - p = sp.add_parser("run") - p.add_argument( - "--cells", - default="2097152@135,8388608@30", - help="size@rate list (default: BIAS-rate 2 MP frame, 8 MB at 30 Hz)", - ) - p.add_argument("--modes", default="off,on") - p.add_argument("--duration", type=float, default=8.0, help="measured seconds per cell") - p.add_argument("--warmup", type=float, default=1.0) - p.add_argument("--depth", type=int, default=10) - p.add_argument("--reliable", action=argparse.BooleanOptionalAction, default=True) - p.add_argument("--drain", type=float, default=1.0, help="seconds between the publisher exiting and stop") - p.add_argument("--cache-mb", type=int, default=100, help="rosbag2 max_cache_size (ros2 bag record default 100)") - p.add_argument("--preset", default="", help="MCAP storage preset ('' = default, fastwrite, zstd_fast, ...)") - p.add_argument("--bag-dir", default=os.path.join(tempfile.gettempdir(), "mcap_bench")) - p.add_argument("--keep-bags", action="store_true") - p.add_argument("--port", type=int, default=7457) - p.add_argument("--domain", type=int, default=42) - p.add_argument("--out") - args = ap.parse_args() - return {"rec": cmd_rec, "run": cmd_run}[args.cmd](args) - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/rig/nodes/_common.py b/rig/nodes/_common.py deleted file mode 100644 index f5d42efc..00000000 --- a/rig/nodes/_common.py +++ /dev/null @@ -1,245 +0,0 @@ -"""_common.py — the few things every PoC node shares (kept tiny on purpose). - -* `wrap_line` — THE adapter envelope the bridge node parses. One definition, so a field - added for one source cannot silently differ for another. -* `RELIABLE_QOS` — reliable / keep-last 200: the run log must hold every frame. -* `spin` — rclpy.spin + the Jazzy shutdown boilerplate (Ctrl-C raises - ExternalShutdownException from spin, and rclpy's own handler may already - have shut the context down, so try_shutdown can raise too). -* `wait_port` — poll a TCP port (the Zenoh router on 127.0.0.1:7447). -* `wall_ns` / `wall_ms` / `mono_ns` / `raise_timer_resolution` — sub-ms clocks on Windows too. -""" - -from __future__ import annotations - -import json -import os -import signal -import socket -import subprocess -import time - -import rclpy -from rclpy.executors import ExternalShutdownException -from rclpy.qos import QoSDurabilityPolicy, QoSHistoryPolicy, QoSProfile, QoSReliabilityPolicy - -# ── clocks ─────────────────────────────────────────────────────────────────────────────── -# Python 3.12 on Windows (RoboStack Jazzy pins it): time.time() is GetSystemTimeAsFileTime, -# which advances once per timer interrupt — 15.625 ms unless some process has raised the rate — -# and time.monotonic() is GetTickCount64, 15.625 ms always. Measured on ww18 2026-10-15: idle -# PC, run-log `ms` stamps would come in 15.6 ms steps, 2.3 ms behind the true time. -# GetSystemTimePreciseAsFileTime is the wall clock interpolated with the performance counter -# (~1 µs; what Python 3.13 made time.time()), and perf_counter is QueryPerformanceCounter. -# Elsewhere these are the stdlib clocks unchanged. -if os.name == "nt": - import ctypes - from ctypes import wintypes - - _k32 = ctypes.WinDLL("kernel32", use_last_error=True) - _k32.GetSystemTimePreciseAsFileTime.argtypes = [ctypes.POINTER(ctypes.c_ulonglong)] - _k32.GetSystemTimePreciseAsFileTime.restype = None - _k32.GetCurrentProcess.restype = wintypes.HANDLE - _k32.SetProcessInformation.argtypes = [wintypes.HANDLE, ctypes.c_int, ctypes.c_void_p, wintypes.DWORD] - _k32.SetProcessInformation.restype = wintypes.BOOL - _FILETIME_UNIX_EPOCH = 116444736000000000 # 100 ns intervals from 1601-01-01 to 1970-01-01 - - def wall_ns() -> int: - ft = ctypes.c_ulonglong() - _k32.GetSystemTimePreciseAsFileTime(ctypes.byref(ft)) - return (ft.value - _FILETIME_UNIX_EPOCH) * 100 - - mono_ns = time.perf_counter_ns -else: - wall_ns = time.time_ns - mono_ns = time.monotonic_ns - - -def wall_ms() -> int: - """Wall-clock ms since the epoch, like bridge.py's now_ms() but precise on Windows.""" - return wall_ns() // 1_000_000 - - -def raise_timer_resolution(period_ms: int = 1) -> bool: - """Windows: a `period_ms` system timer for THIS process (timeBeginPeriod; per process since - Windows 10 2004), kept when its console is hidden (Windows 11 otherwise may ignore the - request for an occluded or minimized process). Sharpens waits and timeouts — socket, - asyncio, rcl; the stamps do not depend on it (wall_ns). Windows releases it at exit. - Returns True when granted; a no-op elsewhere.""" - if os.name != "nt": - return False - try: - granted = ctypes.WinDLL("winmm").timeBeginPeriod(period_ms) == 0 # TIMERR_NOERROR - - class _PowerThrottling(ctypes.Structure): - _fields_ = [("Version", wintypes.ULONG), ("ControlMask", wintypes.ULONG), ("StateMask", wintypes.ULONG)] - - # ProcessPowerThrottling = 4; PROCESS_POWER_THROTTLING_IGNORE_TIMER_RESOLUTION = 0x4, - # StateMask 0 = never ignore this process's timer request. - st = _PowerThrottling(1, 0x4, 0) - _k32.SetProcessInformation(_k32.GetCurrentProcess(), 4, ctypes.byref(st), ctypes.sizeof(st)) - return granted - except (AttributeError, OSError): - return False - - -RELIABLE_QOS = QoSProfile( - reliability=QoSReliabilityPolicy.RELIABLE, - history=QoSHistoryPolicy.KEEP_LAST, - depth=200, - durability=QoSDurabilityPolicy.VOLATILE, -) - - -def wrap_line(src: str, seq: int, raw: str, rx_epoch_ms: int, rx_mono_ns: int) -> str: - """Adapter envelope: {"src","seq","rx_epoch_ms","rx_mono_ns","raw"} as compact JSON.""" - return json.dumps( - {"src": src, "seq": seq, "rx_epoch_ms": rx_epoch_ms, "rx_mono_ns": rx_mono_ns, "raw": raw}, - separators=(",", ":"), - ) - - -def spin(node) -> None: - """rclpy.spin(node) until Ctrl-C / external shutdown, then destroy + shut down quietly.""" - try: - rclpy.spin(node) - except (KeyboardInterrupt, ExternalShutdownException): - pass - finally: - node.destroy_node() - try: - rclpy.try_shutdown() - except Exception: # rclpy's SIGINT handler may already have shut the context down - pass - - -# Windows' signal module has no SIGKILL; every "kill it" site uses this constant so the -# escalation paths (rig.py, the test harness, signal_group) do not raise AttributeError there. -SIGKILL = getattr(signal, "SIGKILL", 9) - - -def popen_group(argv: list, **kwargs) -> subprocess.Popen: - """Popen with the child in its OWN process group, on every platform, so a stop signal - reaches wrappers and what they spawn (`ros2 run … rmw_zenohd` does not forward SIGINT - to the router binary). POSIX: setsid; Windows: CREATE_NEW_PROCESS_GROUP, which is also - what makes CTRL_BREAK_EVENT deliverable to that child.""" - if os.name == "nt": - kwargs.setdefault("creationflags", subprocess.CREATE_NEW_PROCESS_GROUP) - else: - kwargs.setdefault("start_new_session", True) - return subprocess.Popen(argv, **kwargs) - - -def signal_group(proc: subprocess.Popen, sig: int) -> None: - """Send SIGINT / SIGTERM / SIGKILL to the child's whole group, portably. - Windows has no SIGINT for other processes (send_signal raises ValueError): SIGINT maps to - CTRL_BREAK_EVENT on the child's group, SIGTERM and SIGKILL to TerminateProcess.""" - if os.name == "nt": - if sig == signal.SIGINT: - try: - proc.send_signal(signal.CTRL_BREAK_EVENT) # type: ignore[attr-defined] - return - except (ValueError, OSError): - pass - proc.kill() if sig == SIGKILL else proc.terminate() - return - try: - os.killpg(proc.pid, sig) - except (ProcessLookupError, PermissionError): - proc.send_signal(sig) - - -def wait_port(host: str, port: int, timeout_s: float) -> bool: - end = time.monotonic() + timeout_s - while time.monotonic() < end: - try: - with socket.create_connection((host, port), timeout=0.5): - return True - except OSError: - time.sleep(0.2) - return False - - -# ── typed interfaces (LAB-303 Plan B item 3) ────────────────────────────────────────── -INTERFACES_INSTALL = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "interfaces", "install") - - -def _prepend_env(name: str, value: str) -> None: - cur = os.environ.get(name, "") - parts = cur.split(os.pathsep) if cur else [] - if value not in parts: - os.environ[name] = os.pathsep.join([value] + parts) - - -def setup_interfaces(prefix: str | None = None) -> bool: - """Make a colcon-built `interfaces/install` visible to THIS process and its children — - the equivalent of sourcing install/setup.sh, done in Python so Windows needs no shell - script. Returns True when the prefix exists. Call it BEFORE importing rig_interfaces.""" - import sys as _sys - - prefix = prefix or INTERFACES_INSTALL - if not os.path.isdir(prefix): - return False - _prepend_env("AMENT_PREFIX_PATH", prefix) - libdir = os.path.join(prefix, "lib") - bindir = os.path.join(prefix, "bin") - _prepend_env("PATH", bindir if os.name == "nt" else libdir) - # rcpputils::find_library_path searches these for the typesupport libraries. - _prepend_env("DYLD_LIBRARY_PATH" if _sys.platform == "darwin" else "LD_LIBRARY_PATH", libdir) - if os.name == "nt": - _prepend_env("PATH", libdir) - try: - os.add_dll_directory(libdir) - except (AttributeError, OSError): - pass - sp = None - if os.name == "nt": - cand = os.path.join(prefix, "Lib", "site-packages") - sp = cand if os.path.isdir(cand) else None - if sp is None: - pyver = f"python{_sys.version_info.major}.{_sys.version_info.minor}" - cand = os.path.join(libdir, pyver, "site-packages") - sp = cand if os.path.isdir(cand) else None - if sp: - _prepend_env("PYTHONPATH", sp) - if sp not in _sys.path: - _sys.path.insert(0, sp) - return True - - -def probe_interfaces(): - """(ArenaFrame, FicTracFrame) when rig_interfaces imports AND its typesupport actually - loads — else None. An import alone is not enough: a package that is importable but whose - typesupport library cannot be dlopen'ed (seen with a colcon install visible from the - default env: `RMWError: … Could not load library librig_interfaces__rosidl_typesupport_ - fastrtps_c.dylib`) would otherwise make a node pick typed topics and die at its first - message. One serialize_message() is the test. - - The ENVIRONMENT's package (pixi-build, `pixi install -e typed`) is tried FIRST and a colcon - `interfaces/install` is consulted only when nothing imports without it. Prepending a stale - colcon prefix on top of the env mixed two builds (2026-10-14, after ArenaFrame gained two - fields): the old Python class + C struct from the prefix, the new typesupport library from - the env — rclpy serialized 16 bytes PAST the struct, and every recorded frame carried - garbage in the new fields while the harness stayed green. One build per process, always.""" - found = _try_interfaces() - if found is not None: - return found - if setup_interfaces(): - return _try_interfaces() - return None - - -def _try_interfaces(): - try: - from rig_interfaces.msg import ArenaFrame, FicTracFrame - from rclpy.serialization import serialize_message - - serialize_message(ArenaFrame()) - serialize_message(FicTracFrame()) - return ArenaFrame, FicTracFrame - except Exception: - return None - - -def interfaces_available() -> bool: - """True when rig_interfaces imports and serializes (after setup_interfaces).""" - return probe_interfaces() is not None diff --git a/rig/nodes/_rows.py b/rig/nodes/_rows.py index ca975912..5c786c9d 100644 --- a/rig/nodes/_rows.py +++ b/rig/nodes/_rows.py @@ -5,7 +5,7 @@ without a ROS process. * Kinefly KF/1 → the compact ["kf", …] row (kf_row) - * a FicTrac line → (tag, fields) (parse_fictrac_line) + * a FicTrac line → (tag, fields) (parse_fictrac_line, from rig_nodes.fictrac) * the FicTrac columns kept in the ArenaFrame record (docs/development/fictrac-columns-in-the-bag.md, decided 2026-10-18): cols 5, 6-8, 22 native, 23 (fictrac_extras) * an ArenaFrame record (typed fields or the hub message) → the behavior_v1 row @@ -28,25 +28,10 @@ BEHAVIOR_ROW_COLS = ("ms", "fc", "idx", "ft", "x", "y", "hd") # == bridge.py BEHAVIOR_V1_COLS (never widened) -def parse_fictrac_line(raw: str) -> tuple[str, list[float]]: - """(tag, fields) the way bridge.py's Pipeline parses: a leading FT* token is the tag - ('' when absent, as in offline .dat lines and the simulator); fields = the floats after - it, or [] when the line is not numeric (a bad frame has no usable data).""" - parts = raw.strip().split(",") - tag = "" - if parts and parts[0].strip()[:2].upper() == "FT": - tag = parts[0].strip() - parts = parts[1:] - try: - return tag, [float(p) for p in parts] - except ValueError: - return tag, [] - - -def is_bad_frame_tag(tag: str) -> bool: - """FicTrac's socket output tags every record: "FT" = tracked, anything else starting with - FT (seen: "FT_BADFR") = a frame it could not track.""" - return tag[:2].upper() == "FT" and tag != "FT" +# The FicTrac line grammar (tag + 25 columns) is device knowledge and lives with the adapter in +# rig_nodes.fictrac (reiserlab/rig-nodes; pure, no ROS). Re-exported so the gateway and the +# converter keep ONE parser — the fidelity promise `converted == live` depends on it. +from rig_nodes.fictrac import is_bad_frame_tag, parse_fictrac_line # noqa: E402,F401 def fictrac_extras(fields: list[float] | None) -> dict: diff --git a/rig/nodes/bias_cmd.py b/rig/nodes/bias_cmd.py deleted file mode 100644 index b6e871d6..00000000 --- a/rig/nodes/bias_cmd.py +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/env python3 -"""bias_cmd.py — send one plugin command to bias_node.py and print its reply. - - pixi run bias-cmd -- connect - pixi run bias-cmd -- startRecording --filename trial_001.avi - pixi run bias-cmd -- stopRecording - pixi run bias-cmd -- getTimestamp --json - -Exit 0 on `ok`, 1 on an error reply, 3 on an UNKNOWN outcome (timeout), 2 on no reply. -""" - -from __future__ import annotations - -import argparse -import json -import sys -import threading -import time -import uuid - -import rclpy -from rclpy.node import Node -from rclpy.qos import QoSDurabilityPolicy, QoSHistoryPolicy, QoSProfile, QoSReliabilityPolicy -from std_msgs.msg import String - -QOS = QoSProfile( - reliability=QoSReliabilityPolicy.RELIABLE, - history=QoSHistoryPolicy.KEEP_LAST, - depth=50, - durability=QoSDurabilityPolicy.VOLATILE, -) - - -def main(argv: list[str] | None = None) -> int: - p = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - p.add_argument("command", help="connect | startRecording | stopRecording | startPreview | stopCapture | getTimestamp | disconnect") - p.add_argument("--filename", help="startRecording: video file name/path") - p.add_argument("--ip", help="connect: BIAS host") - p.add_argument("--port", type=int, help="connect: BIAS command port") - p.add_argument("--config-file", help="connect: BIAS configuration file to load") - p.add_argument("--timeout", type=float, default=10.0, help="seconds to wait for the reply (default: 10)") - p.add_argument("--json", action="store_true", help="print the raw reply JSON") - args, ros_args = p.parse_known_args(argv) - params = {k: v for k, v in (("filename", args.filename), ("ip", args.ip), ("port", args.port), ("config_file", args.config_file)) if v} - cid = str(uuid.uuid4())[:8] - - rclpy.init(args=ros_args) - node = Node("bias_cmd_" + cid) - got = {} - done = threading.Event() - - def on_reply(msg: String) -> None: - try: - rep = json.loads(msg.data) - except json.JSONDecodeError: - return - if isinstance(rep, dict) and rep.get("id") == cid: - got.update(rep) - done.set() - - node.create_subscription(String, "/bias/reply", on_reply, QOS) - pub = node.create_publisher(String, "/bias/cmd", QOS) - time.sleep(0.5) # discovery - m = String() - m.data = json.dumps({"id": cid, "command": args.command, "params": params}) - pub.publish(m) - deadline = time.monotonic() + args.timeout - while not done.is_set() and time.monotonic() < deadline: - rclpy.spin_once(node, timeout_sec=0.1) - node.destroy_node() - try: - rclpy.try_shutdown() - except Exception: # rclpy's own SIGINT handler may already have shut the context down (races in Jazzy) - pass - if not got: - print(f"[bias-cmd] no reply within {args.timeout:g}s (is `pixi run bias-node` running?)", file=sys.stderr) - return 2 - if args.json: - print(json.dumps(got, indent=1)) - else: - print(f"{got.get('command')} → {got.get('outcome')} ({got.get('rtt_ms')} ms)" + (f" value={got.get('value')!r}" if got.get("value") not in (None, "") else "") + (f" error={got.get('error')}" if got.get("error") else "")) - if got.get("artifact"): - print(f"artifact: {got['artifact']}") - return 0 if got.get("ok") else (3 if got.get("outcome") == "unknown" else 1) - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/nodes/bias_node.py b/rig/nodes/bias_node.py deleted file mode 100644 index 32c94913..00000000 --- a/rig/nodes/bias_node.py +++ /dev/null @@ -1,378 +0,0 @@ -#!/usr/bin/env python3 -"""bias_node.py — the BIAS camera as a ROS 2 node: protocol plugin commands in, replies + status out. - -BIAS has no ROS node; this adapter talks to its external-control HTTP interface -(`http://host:port/?command[=value]`, JSON-array replies — see bias_sim.py) and exposes it -on three topics, all std_msgs/String JSON (no custom message types): - - /bias/cmd IN {"id": , "command": , "params": {…}} - /bias/reply OUT {"id", "command", "ok", "outcome": "ok"|"error"|"unknown", "value", - "error", "steps": [...per HTTP command...], "rtt_ms", "t_ms", - "rx_epoch_ms", "artifact": {"kind":"video","path":…} (startRecording)} - /bias/status OUT every --status-every s: {"reachable", "connected", "capturing", - "logging", "frameCount", "framesPerSec", "videoFile", "rtt_ms", …} - /bias/frames OUT after stopRecording: every frame's BIAS timestamp from its stamp log, - {"video", "stamp_log", "chunk", "chunks", "first_index", "t": […]} - -The `command` vocabulary is the protocol's `camera` plugin (js/plugin-registry.js -BiasPlugin): connect(ip, port, config_file), startRecording(filename), stopRecording, -startPreview, stopCapture, getTimestamp, disconnect — each mapped to the BIAS HTTP -sequence `BiasPlugin.m` performs. The bridge node logs every reply and status line into the -run log as `{"type":"connector","src":"bias",…}` events, so the video file identity -(`artifact`) and every command/reply pair sit in the same file as the FicTrac rows. - -LAB-303 semantics carried here: `timeout_s` per HTTP call (`slow_timeout_s` for the camera / -writer commands in SLOW_HTTP — a real camera connect takes seconds); a timeout is an UNKNOWN outcome -(`outcome: "unknown"`), after which the node reconciles with `get-status` before anything -else. `critical` / `on_loss` are the runner's decision (the Studio side, shared by both -plans) — the node only reports. - - pixi run bias-node -- --host 127.0.0.1 --port 5010 - pixi run bias-cmd -- startRecording --filename trial_001.avi -""" - -from __future__ import annotations - -import argparse -import glob -import hashlib -import json -import os -import queue -import sys -import threading -import time -import urllib.error -import urllib.parse -import urllib.request - -import rclpy -from rclpy.node import Node -from std_msgs.msg import String - -from _common import RELIABLE_QOS, raise_timer_resolution, spin, wall_ms - -CMD_TOPIC = "/bias/cmd" -REPLY_TOPIC = "/bias/reply" -STATUS_TOPIC = "/bias/status" -# Every frame's BIAS timestamp for a finished recording, read from BIAS's stamp_log_cam.txt at -# stopRecording: {"video", "stamp_log", "chunk", "chunks", "first_index", "t": [s, …]}, ≤ STAMP_CHUNK each. -FRAMES_TOPIC = "/bias/frames" -STAMP_CHUNK = 20000 -QOS = RELIABLE_QOS -PLUGIN_COMMANDS = ("connect", "startRecording", "stopRecording", "startPreview", "stopCapture", "getTimestamp", "disconnect") -# HTTP commands that touch the camera or the video writer and can legitimately take seconds: -# the Atlas10 BIAS on ww18 answers `connect` after 2.18 s (camera discovery + transport setup), -# past the 2 s per-call timeout, so a successful connect came back `outcome: "unknown"`. -SLOW_HTTP = frozenset({"connect", "disconnect", "load-configuration", "start-capture", "stop-capture", "close"}) - - -class BiasHttp: - """Blocking HTTP client for BIAS's command port. One command per request.""" - - def __init__(self, host: str, port: int, timeout_s: float, slow_timeout_s: float | None = None) -> None: - self.host = host - self.port = port - self.timeout_s = timeout_s - self.slow_timeout_s = max(timeout_s, slow_timeout_s if slow_timeout_s is not None else timeout_s) - - @property - def base(self) -> str: - return f"http://{self.host}:{self.port}/" - - def timeout_for(self, command: str) -> float: - return self.slow_timeout_s if command in SLOW_HTTP else self.timeout_s - - def call(self, command: str, value: str | None = None) -> dict: - """→ {"command", "ok", "message", "value", "rtt_ms"} or raises TimeoutError / OSError.""" - q = command if value is None else f"{command}={urllib.parse.quote(str(value), safe='/:\\')}" - url = f"{self.base}?{q}" - # perf_counter, not monotonic: on Windows monotonic ticks every 15.625 ms (GetTickCount64), - # which turned every RTT into 0 / 15 / 16 / 31 ms (ww18 2026-10-15). - t0 = time.perf_counter() - try: - with urllib.request.urlopen(url, timeout=self.timeout_for(command)) as resp: - body = resp.read() - except urllib.error.URLError as exc: - if isinstance(exc.reason, TimeoutError) or "timed out" in str(exc.reason): - raise TimeoutError(str(exc)) from exc - raise OSError(str(exc)) from exc - except TimeoutError: - raise - rtt = (time.perf_counter() - t0) * 1000.0 - try: - arr = json.loads(body.decode("utf-8")) - except (UnicodeDecodeError, json.JSONDecodeError): - raise OSError(f"non-JSON reply from BIAS: {body[:80]!r}") - rep = arr[0] if isinstance(arr, list) and arr else (arr if isinstance(arr, dict) else {}) - if not isinstance(rep, dict): - raise OSError(f"unexpected reply element from BIAS: {rep!r}") - return { - "command": command, - "ok": bool(rep.get("success", False)), - "message": rep.get("message", ""), - "value": rep.get("value", None), - "rtt_ms": round(rtt, 2), - } - - -def resolve_video(requested: str, since_epoch_s: float) -> str | None: - """The file BIAS actually writes for `requested`, or None. BIAS's `get-video-file` answers - `/.`, but its writer adds the auto-naming suffix (`_cam_0_date_…_v001.` - on the Atlas10 build, a `…_v001` folder on the Mac port), so that path never exists (ww18 - 2026-10-15: artifact `poc.ufmf`, file `poc_cam_0_date_2026_10_15_time_13_43_10_v001.ufmf`). - Newest `*` entry in that folder touched since the recording started; the exact name - wins when it exists (bias_sim, or BIAS with auto-naming off).""" - if not requested: - return None - folder, base = os.path.split(os.path.normpath(requested)) - stem, ext = os.path.splitext(base) - if os.path.exists(os.path.join(folder, base)): - return os.path.join(folder, base) - cands = [p for p in glob.glob(os.path.join(glob.escape(folder), glob.escape(stem) + "*")) - if (os.path.isdir(p) or p.lower().endswith(ext.lower())) and os.path.getmtime(p) >= since_epoch_s - 5.0] - return max(cands, key=os.path.getmtime) if cands else None - - -def read_stamp_log(folder: str, since_epoch_s: float, settle_s: float = 3.0) -> dict | None: - """BIAS's per-frame timestamps for the recording that just stopped: the newest - `stamp_log_cam*.txt` in the video folder written since the start (BIAS writes ONE per camera - and overwrites it on the next recording, so it has to be read now). Waits until the size is - stable — the logger drains its queue after stop-capture. → {path, t: [s…], sha256, bytes}.""" - cands = [p for p in glob.glob(os.path.join(glob.escape(folder), "stamp_log_cam*.txt")) - if os.path.getmtime(p) >= since_epoch_s - 5.0] - if not cands: - return None - path = max(cands, key=os.path.getmtime) - end, last = time.monotonic() + settle_s, -1 - while time.monotonic() < end: - size = os.path.getsize(path) - if size == last and size > 0: - break - last = size - time.sleep(0.15) - with open(path, "rb") as fh: - raw = fh.read() - t = [] - for line in raw.decode("ascii", errors="replace").splitlines(): - try: - t.append(float(line.split()[0])) - except (ValueError, IndexError): - continue - return {"path": path, "t": t, "sha256": hashlib.sha256(raw).hexdigest(), "bytes": len(raw)} - - -def plan(command: str, params: dict) -> list[tuple[str, str | None]]: - """Plugin command → BIAS HTTP steps (the sequence BiasPlugin.m performs).""" - params = params or {} - if command == "connect": - steps: list[tuple[str, str | None]] = [("connect", None)] - if params.get("config_file"): - steps.append(("load-configuration", str(params["config_file"]))) - return steps - if command == "startRecording": - steps = [] - if params.get("filename"): - steps.append(("set-video-file", str(params["filename"]))) - steps += [("enable-logging", None), ("start-capture", None), ("get-video-file", None)] - return steps - if command == "stopRecording": - return [("stop-capture", None), ("disable-logging", None)] - if command == "startPreview": - return [("disable-logging", None), ("start-capture", None)] - if command == "stopCapture": - return [("stop-capture", None)] - if command == "getTimestamp": - return [("get-time-stamp", None)] - if command == "disconnect": - return [("disconnect", None)] - raise ValueError(f"unknown plugin command {command!r} (one of {PLUGIN_COMMANDS})") - - -class BiasNode(Node): - def __init__(self, http: BiasHttp, status_every_s: float, video_dir: str | None = None) -> None: - super().__init__("bias_camera") - self.http = http - # Where a RELATIVE startRecording filename lands (MATLAB's BiasPlugin resolves it - # against the experiment folder; on a rig this comes from the rig YAML). None = pass - # the name through and warn (BIAS then resolves it against ITS cwd). - self.video_dir = video_dir - self.reply_pub = self.create_publisher(String, REPLY_TOPIC, QOS) - self.status_pub = self.create_publisher(String, STATUS_TOPIC, QOS) - self.frames_pub = self.create_publisher(String, FRAMES_TOPIC, QOS) - self._rec: dict | None = None # the recording in progress: {"requested", "t0"} (startRecording → stopRecording) - self.create_subscription(String, CMD_TOPIC, self._on_cmd, QOS) - self._q: queue.Queue = queue.Queue() - self._status_pending = False # at most ONE get-status poll waits in the queue - self._worker = threading.Thread(target=self._work, name="bias-http", daemon=True) - self._worker.start() - self._status_every = status_every_s - if status_every_s > 0: - self.create_timer(status_every_s, self._enqueue_status) - self.commands = 0 - self.get_logger().info(f"BIAS at {http.base} ← {CMD_TOPIC} → {REPLY_TOPIC}, {STATUS_TOPIC} every {status_every_s:g}s") - - def _publish(self, pub, obj: dict) -> None: - obj.setdefault("rx_epoch_ms", wall_ms()) - m = String() - m.data = json.dumps(obj, separators=(",", ":"), default=str) - pub.publish(m) - - def _on_cmd(self, msg: String) -> None: - try: - req = json.loads(msg.data) - except json.JSONDecodeError: - self._publish(self.reply_pub, {"id": None, "ok": False, "outcome": "error", "error": "command is not JSON"}) - return - if not isinstance(req, dict): - return - self._q.put(("cmd", req)) - - def _enqueue_status(self) -> None: - # Coalesce: when BIAS is slow or black-holed each poll blocks up to timeout_s, and a - # poll per period would build an unbounded line that commands then wait behind. - if not self._status_pending: - self._status_pending = True - self._q.put(("status", None)) - - def _work(self) -> None: - while True: - kind, payload = self._q.get() - try: - if kind == "status": - self._status_pending = False - self._do_status() - else: - self._do_cmd(payload) - except Exception as exc: # a malformed BIAS body, HTTPException, … must not kill the worker - self.get_logger().error(f"{kind} failed: {exc!r}") - if kind == "cmd": - self._publish(self.reply_pub, {"id": (payload or {}).get("id"), "command": (payload or {}).get("command"), - "ok": False, "outcome": "error", "error": f"node error: {exc!r}"}) - - def _do_status(self) -> None: - t_ms = wall_ms() - try: - r = self.http.call("get-status") - st = r["value"] if isinstance(r["value"], dict) else {} - self._publish(self.status_pub, {"reachable": True, "t_ms": t_ms, "rtt_ms": r["rtt_ms"], **st}) - except (TimeoutError, OSError) as exc: - self._publish(self.status_pub, {"reachable": False, "t_ms": t_ms, "error": str(exc)}) - - def _finish_recording(self, cid, out: dict) -> None: - """After a successful stopRecording: the final video file (+ size) and every frame's BIAS - timestamp — the summary into the reply's `artifact` (so the run log names them), the - timestamps themselves on /bias/frames (so the bag holds them).""" - rec, self._rec = self._rec, None - if rec is None: - out["warning"] = "stopRecording without a startRecording from this node: video file and frame timestamps not collected" - return - video = resolve_video(rec["requested"], rec["t0"]) - art = {"kind": "video", "path": video or rec["requested"], "requested": rec["requested"], "resolved": video is not None, - "program": "bias", "bytes": os.path.getsize(video) if video and os.path.isfile(video) else None} - try: - sl = read_stamp_log(os.path.dirname(os.path.normpath(video or rec["requested"])), rec["t0"]) - except OSError as exc: - sl, art["stamp_log_error"] = None, str(exc) - if sl is not None: - t = sl["t"] - chunks = max(1, -(-len(t) // STAMP_CHUNK)) - for k in range(chunks): - part = t[k * STAMP_CHUNK:(k + 1) * STAMP_CHUNK] - self._publish(self.frames_pub, {"id": cid, "video": art["path"], "stamp_log": sl["path"], "chunk": k, "chunks": chunks, - "first_index": k * STAMP_CHUNK, "t": part}) - art["stamp_log"] = {"path": sl["path"], "frames": len(t), "first_s": t[0] if t else None, "last_s": t[-1] if t else None, - "sha256": sl["sha256"], "bytes": sl["bytes"], "chunks": chunks, "topic": FRAMES_TOPIC} - out["artifact"] = art - - def _do_cmd(self, req: dict) -> None: - self.commands += 1 - cid = req.get("id") - command = str(req.get("command", "")) - params = req.get("params") or {} - t_ms = wall_ms() - t0 = time.perf_counter() - t_epoch = time.time() # file mtimes are wall clock: the recording's start for resolve_video - out: dict = {"id": cid, "command": command, "params": params, "t_ms": t_ms, "steps": []} - try: - if command == "connect" and (params.get("ip") or params.get("port")): - # The protocol's connect(ip, port) retargets the node (rig YAML normally sets these). - self.http.host = str(params.get("ip") or self.http.host) - self.http.port = int(params.get("port") or self.http.port) - if command == "startRecording" and params.get("filename") and not os.path.isabs(str(params["filename"])): - if self.video_dir: - params = dict(params) - params["filename"] = os.path.join(self.video_dir, str(params["filename"])) - out["params"] = params - else: - # Seen on the real Mac port (2026-10-14): a relative name resolves against BIAS's - # own cwd (`/` when launched with `open`), start-capture still answers success, - # and nothing captures. Say so in the reply instead of letting the run go dark. - out["warning"] = f"relative filename {params['filename']!r} resolves against BIAS's working directory, not the rig's; use an absolute path or --video-dir" - self.get_logger().warning(out["warning"]) - steps = plan(command, params) - except ValueError as exc: - out.update({"ok": False, "outcome": "error", "error": str(exc)}) - self._publish(self.reply_pub, out) - return - value = None - for http_cmd, val in steps: - try: - r = self.http.call(http_cmd, val) - except TimeoutError as exc: - # UNKNOWN: the command may or may not have taken effect. Reconcile before - # anything else runs, and say so. - out["steps"].append({"command": http_cmd, "ok": None, "error": f"timeout after {self.http.timeout_for(http_cmd)}s"}) - out.update({"ok": False, "outcome": "unknown", "error": str(exc)}) - self._do_status() - break - except OSError as exc: - out["steps"].append({"command": http_cmd, "ok": False, "error": str(exc)}) - out.update({"ok": False, "outcome": "error", "error": f"BIAS unreachable at {self.http.base}: {exc}"}) - break - out["steps"].append(r) - if not r["ok"]: - out.update({"ok": False, "outcome": "error", "error": f"{http_cmd}: {r['message']}"}) - break - value = r["value"] - if command == "startRecording" and http_cmd == "get-video-file" and r["value"]: - self._rec = {"requested": str(r["value"]), "t0": t_epoch} - found = resolve_video(self._rec["requested"], t_epoch) - out["artifact"] = {"kind": "video", "path": found or self._rec["requested"], "requested": self._rec["requested"], - "resolved": found is not None, "program": "bias"} - else: - out.update({"ok": True, "outcome": "ok", "value": value}) - if command == "stopRecording": - self._finish_recording(cid, out) - out["rtt_ms"] = round((time.perf_counter() - t0) * 1000.0, 2) - self._publish(self.reply_pub, out) - # rclpy caches a severity per call site, so info and warning need separate statements. - if out["ok"]: - self.get_logger().info(f"{command} → ok ({out['rtt_ms']} ms)") - else: - self.get_logger().warning(f"{command} → {out['outcome']} ({out['rtt_ms']} ms): {out.get('error')}") - - -def main(argv: list[str] | None = None) -> int: - p = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - p.add_argument("--host", default="127.0.0.1", help="BIAS command-port host (default: 127.0.0.1)") - p.add_argument("--port", type=int, default=5010, help="BIAS command port (default: 5010)") - p.add_argument("--timeout-s", type=float, default=2.0, help="per-HTTP-call timeout; a timeout is an UNKNOWN outcome (default: 2)") - p.add_argument("--slow-timeout-s", type=float, default=15.0, - help=f"timeout for the camera/writer commands ({', '.join(sorted(SLOW_HTTP))}); default: 15") - # 5 Hz: the (frameCount, BIAS timeStamp) samples, stamped with this node's precise wall clock, - # map BIAS's clock onto the run's (with the /bias/frames timestamps: every frame on the run - # timeline) and show drops live; ~10 ms of BIAS's GUI thread per poll. - p.add_argument("--status-every", type=float, default=0.2, help="get-status poll period in s; 0 = off (default: 0.2 = 5 Hz)") - p.add_argument("--video-dir", default=None, help="directory a RELATIVE startRecording filename is resolved against (default: pass through + warn)") - args, ros_args = p.parse_known_args(argv) - raise_timer_resolution() # Windows: 1 ms system timer for this process (_common "clocks") - rclpy.init(args=ros_args) - node = BiasNode(BiasHttp(args.host, args.port, args.timeout_s, args.slow_timeout_s), args.status_every, video_dir=args.video_dir) - spin(node) - print(f"[bias-node] {node.commands} commands handled", file=sys.stderr) - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/nodes/bias_sim.py b/rig/nodes/bias_sim.py deleted file mode 100644 index f9620f19..00000000 --- a/rig/nodes/bias_sim.py +++ /dev/null @@ -1,238 +0,0 @@ -#!/usr/bin/env python3 -"""bias_sim.py — a stand-in for the BIAS camera program's external-control HTTP interface. - -BIAS (IO Rodeo) is controlled over HTTP GET on its command port (5010 by default in our -rig YAMLs): `http://host:port/?[=][&…]`, answering a JSON ARRAY -with one object per command: `{"success": bool, "message": str, "value": …, "command": str}`. -This is the interface `BiasPlugin.m` (maDisplayTools) and BIAS's own `bias.py` client use. -The sim implements the subset bias_node.py needs, with a real state machine so sequencing -mistakes show up (start-capture before connect fails, as on the real program): - - connect / disconnect connected flag - start-capture / stop-capture capturing flag; frameCount grows at --fps - enable-logging / disable-logging logging flag (video written while capturing) - set-video-file= / get-video-file the artifact: on stop-capture with logging on, - a small file is written at that path (relative - paths land in --video-dir) and reported as value - get-status {"connected","capturing","logging","frameCount", - "framesPerSec","timeStamp","videoFile", - "sim": true} (so a run log says who answered) - get-time-stamp / get-frame-count scalars - load-configuration= accepted, echoed - -VERIFY AGAINST THE REAL PROGRAM: the command names and the array response shape are from -BIAS's documented external interface; the exact `value` payloads of the Mac port must be -confirmed on Michael's Mac (bias_node.py treats them as opaque and logs them verbatim). - - pixi run bias-sim -- --port 5010 --video-dir /tmp/bias-videos - curl 'http://127.0.0.1:5010/?connect' -""" - -from __future__ import annotations - -import argparse -import json -import os -import socket -import sys -import threading -import time -from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer -from urllib.parse import unquote, urlparse - -DEFAULT_PORT = 5010 - - -class BiasState: - def __init__(self, fps: float, video_dir: str, latency_s: float) -> None: - self.fps = fps - self.video_dir = video_dir - self.latency_s = latency_s - self.lock = threading.Lock() - self.connected = False - self.capturing = False - self.logging = False - self.video_file = "" - self.capture_t0: float | None = None - self.frames_before = 0 # frames from earlier capture segments - self.t0 = time.time() - self.written: list[str] = [] - - def frame_count(self) -> int: - n = self.frames_before - if self.capturing and self.capture_t0 is not None: - n += int((time.time() - self.capture_t0) * self.fps) - return n - - def status(self) -> dict: - return { - "connected": self.connected, - "capturing": self.capturing, - "logging": self.logging, - "frameCount": self.frame_count(), - "framesPerSec": self.fps if self.capturing else 0.0, - "timeStamp": round(time.time() - self.t0, 6), - "videoFile": self.video_file, - "sim": True, - } - - def _video_path(self) -> str: - p = self.video_file - if p and not os.path.isabs(p): - p = os.path.join(self.video_dir, p) - return p - - def handle(self, cmd: str, value: str | None) -> dict: - """One command → one response object. Mirrors BIAS's success/message/value shape.""" - ok, msg, val = True, "", "" - if cmd == "connect": - self.connected = True - msg = "connected" - elif cmd == "disconnect": - if self.capturing: - ok, msg = False, "camera is capturing" - else: - self.connected = False - msg = "disconnected" - elif cmd == "start-capture": - if not self.connected: - ok, msg = False, "camera not connected" - elif self.capturing: - ok, msg = False, "already capturing" - else: - self.capturing = True - self.capture_t0 = time.time() - msg = "capture started" - elif cmd == "stop-capture": - if not self.capturing: - ok, msg = False, "not capturing" - else: - self.frames_before = self.frame_count() - self.capturing = False - self.capture_t0 = None - msg = "capture stopped" - if self.logging and self.video_file: - path = self._video_path() - os.makedirs(os.path.dirname(path) or ".", exist_ok=True) - with open(path, "wb") as fh: - fh.write(json.dumps({"bias_sim": True, "frames": self.frames_before, "fps": self.fps}).encode()) - self.written.append(path) - # Like BIAS: one camera timestamp per frame (s from capture start), next to the - # video, ONE file per camera that the next recording overwrites. - with open(os.path.join(os.path.dirname(path) or ".", "stamp_log_cam0.txt"), "w", encoding="ascii", newline="\n") as fh: - fh.write("".join(f"{i / self.fps:.6f}\n" for i in range(self.frames_before))) - val = path - msg = f"capture stopped, video written {path}" - elif cmd == "enable-logging": - self.logging = True - msg = "logging enabled" - elif cmd == "disable-logging": - self.logging = False - msg = "logging disabled" - elif cmd == "set-video-file": - if value is None: - ok, msg = False, "set-video-file needs a value" - else: - self.video_file = value - val = self._video_path() - msg = "video file set" - elif cmd == "get-video-file": - val = self._video_path() - elif cmd == "get-status": - val = self.status() - elif cmd == "get-time-stamp": - val = round(time.time() - self.t0, 6) - elif cmd == "get-frame-count": - val = self.frame_count() - elif cmd == "load-configuration": - if value is None: - ok, msg = False, "load-configuration needs a file" - else: - msg = f"configuration loaded from {value}" - val = value - elif cmd == "get-configuration": - val = {"sim": True, "fps": self.fps} - else: - ok, msg = False, f"unknown command {cmd!r}" - return {"success": ok, "message": msg, "value": val, "command": cmd} - - -def make_handler(state: BiasState): - class Handler(BaseHTTPRequestHandler): - server_version = "bias_sim/0.1" - - def log_message(self, fmt, *args): # quiet; the node logs replies - pass - - def do_GET(self): - q = urlparse(self.path).query - replies = [] - with state.lock: - for part in q.split("&"): - if not part: - continue - cmd, _, value = part.partition("=") - replies.append(state.handle(unquote(cmd), unquote(value) if _ else None)) - if state.latency_s > 0: - time.sleep(state.latency_s) - body = json.dumps(replies).encode("utf-8") - self.send_response(200) - self.send_header("Content-Type", "application/json") - self.send_header("Content-Length", str(len(body))) - self.end_headers() - self.wfile.write(body) - - return Handler - - -class _Server(ThreadingHTTPServer): - # Windows: socketserver's SO_REUSEADDR would let a second sim bind OVER this one; bind - # exclusively there instead (the two options cannot be combined). - allow_reuse_address = os.name != "nt" - - def server_bind(self) -> None: - if os.name == "nt" and hasattr(socket, "SO_EXCLUSIVEADDRUSE"): - self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_EXCLUSIVEADDRUSE, 1) - super().server_bind() - - -def answering(host: str, port: int) -> bool: - try: - with socket.create_connection((host, port), timeout=0.5): - return True - except OSError: - return False - - -def main(argv: list[str] | None = None) -> int: - p = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - p.add_argument("--host", default="127.0.0.1") - p.add_argument("--port", type=int, default=DEFAULT_PORT) - p.add_argument("--fps", type=float, default=100.0, help="simulated capture rate (default: 100)") - p.add_argument("--video-dir", default="bias-videos", help="where relative video paths land (default: ./bias-videos)") - p.add_argument("--latency-ms", type=float, default=0.0, help="artificial reply delay, for timeout tests") - args = p.parse_args(argv) - # Refuse to start next to a live program on the port. On Windows the real BIAS's listener - # (Qt, 0.0.0.0) shares its address, so our bind would SUCCEED and every 127.0.0.1 client — - # the rig's bias node included — would then talk to this sim (ww18 2026-10-15). Only a - # connect sees that listener. - if answering(args.host, args.port): - print(f"[bias-sim] cannot start: something already answers on {args.host}:{args.port} — probably the real BIAS " - f"(or another bias-sim); binding here would hide it from every local client. Close it, or pass --port.", - file=sys.stderr) - return 2 - state = BiasState(args.fps, args.video_dir, args.latency_ms / 1000.0) - srv = _Server((args.host, args.port), make_handler(state)) - print(f"[bias-sim] http://{args.host}:{args.port}/? (fps {args.fps:g}, videos → {args.video_dir})", file=sys.stderr) - try: - srv.serve_forever() - except KeyboardInterrupt: - pass - finally: - srv.server_close() - print(f"[bias-sim] videos written: {state.written}", file=sys.stderr) - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/nodes/bridge_node.py b/rig/nodes/bridge_node.py index 90143653..3628eada 100644 --- a/rig/nodes/bridge_node.py +++ b/rig/nodes/bridge_node.py @@ -37,7 +37,7 @@ PLAN B SPIKE (LAB-303, 2026-10-14) — MCAP as the record of truth: * While a run's log is open, EVERYTHING is recorded into `/.bag/` with - rosbag2_py + the MCAP storage plugin (nodes/recorder.py): the device topics as received + rosbag2_py + the MCAP storage plugin (rig_nodes.recorder, reiserlab/rig-nodes): the device topics as received (`/fictrac/raw` or the typed `/fictrac/frame`, `/kinefly/raw`, `/bias/cmd|reply|status`), `/arena/frame` (the closed-loop evaluation with ITS OWN sample time `t`/`ms`), and two bridge-side streams — `/arena/browser` (every browser message, verbatim, with the receive @@ -49,7 +49,7 @@ at every export and printed) and the crash-loss baseline. `--export live` returns it instead. A bag the writer never closed (this node was killed mid-run; no metadata.yaml / torn tail) is RECOVERED on export — salvaged, indexed, metadata.yaml written by rosbag2's Reindexer, - `{"event":"recovered"}` appended to its /arena/session (nodes/mcap_index.recover_bag) — + `{"event":"recovered"}` appended to its /arena/session (rig_nodes.mcap_index.recover_bag) — and the reply carries `recovered: true`; a freshly started node adopts the newest such bag in --log-dir for its first export, so the Studio's export after a bridge restart gets the salvaged run. A bag with nothing salvageable falls back to the run's shadow NDJSON. @@ -71,6 +71,7 @@ import json import math import os +import re import signal import sys import threading @@ -88,10 +89,10 @@ REPO = HERE.parents[1] BRIDGE_PY = REPO / "fictrac-bridge" / "bridge.py" sys.path.insert(0, str(HERE)) -from _common import mono_ns, probe_interfaces, raise_timer_resolution, wall_ms, wall_ns # noqa: E402 +from rig_nodes._common import mono_ns, probe_interfaces, raise_timer_resolution, wall_ms, wall_ns # noqa: E402 (reiserlab/rig-nodes, installed package) +from rig_nodes.mcap_index import needs_recovery, recover_bag # noqa: E402 +from rig_nodes.recorder import PROFILES, STRING_TYPE, Recorder # noqa: E402 from mcap_convert import convert_bag # noqa: E402 -from mcap_index import needs_recovery, recover_bag # noqa: E402 -from recorder import PROFILES, STRING_TYPE, Recorder # noqa: E402 from _rows import FLAG_BAD_FRAME, KF_TAG, fictrac_extras, is_bad_frame_tag, kf_row, parse_fictrac_line # noqa: E402 (one encoder for the node and the converter) # Typed messages only when the package imports AND serializes (pixi's `typed` env, or a @@ -119,6 +120,31 @@ def load_bridge_module(path: Path = BRIDGE_PY): B.now_ms = wall_ms NODE_VERSION = f"{B.BRIDGE_VERSION} · rig plan-b (rmw_zenoh, mcap record, connectors, merged frame record)" + + +def package_versions() -> dict: + """The rig-nodes package set this gateway runs on (rig-software-repos-and-runners.md §7.7: every + package version into the run's record). `rig_nodes` from the Python package; `rig_interfaces` + from its ament index entry (a conda package without a Python distribution); None when absent.""" + out: dict = {} + try: + import rig_nodes + + out["rig_nodes"] = getattr(rig_nodes, "__version__", None) + except Exception: + out["rig_nodes"] = None + try: + from ament_index_python.packages import get_package_share_directory + + xml = Path(get_package_share_directory("rig_interfaces")) / "package.xml" + m = re.search(r"([^<]+)", xml.read_text(encoding="utf-8")) + out["rig_interfaces"] = m.group(1) if m else None + except Exception: + out["rig_interfaces"] = None + return out + + +PACKAGES = package_versions() FICTRAC_TOPIC = "/fictrac/raw" FICTRAC_FRAME_TOPIC = "/fictrac/frame" # typed rig_interfaces/FicTracFrame BROWSER_TOPIC = "/arena/browser" @@ -328,7 +354,7 @@ def _open(self, name: str, event: str) -> None: else: self._record(SESSION_TOPIC, {"seq": self.next_seq(), "event": event, "file": name, "ms": self._t0, "level": self.level, "bag": bag, "connectors": sorted(self._connectors), "node": NODE_VERSION, "typed": self._typed, - "profile": self._profile}) + "profile": self._profile, "packages": PACKAGES}) print(f"[record] {bag} ({self._profile}, typed={self._typed}; opened in {1000 * (time.perf_counter() - t_open):.0f} ms)", file=sys.stderr) if self.on_open is not None: self.on_open() @@ -824,7 +850,7 @@ async def dispatch(raw, websocket=None) -> None: log.write_inbound(text) await ws_reply(websocket, {"type": "hello_ack", "bridge": B.BRIDGE_VERSION, "levels": list(B.LOG_LEVELS), "level": log.level, "logging": log.active, "connectors": sorted(CONNECTORS), - "record": "mcap", "typed": typed}) + "record": "mcap", "typed": typed, "packages": PACKAGES}) return if kind == "connector_command": await on_connector_command(obj, websocket, text) diff --git a/rig/nodes/build_interfaces.py b/rig/nodes/build_interfaces.py deleted file mode 100644 index 62c70145..00000000 --- a/rig/nodes/build_interfaces.py +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/env python3 -"""build_interfaces.py — build interfaces/rig_interfaces inside this pixi env, and time it. - - pixi run build-interfaces # colcon build → interfaces/install, result JSON printed + saved - pixi run build-interfaces -- --clean # wipe build/ + install/ first (a cold build; the number to report) - pixi run build-interfaces -- --check # just report: built? importable? which typesupports? - -LAB-303 Plan B, item 3: typed messages mean an ament_cmake interfaces package, and rosidl -generates C typesupport + a Python C extension — so a C/C++ compiler is needed on every machine -that builds it (RoboStack's `cxx-compiler`: clang on macOS, GCC on Linux, MSVC 2022 on Windows, -which pixi cannot install). This script is the measurement: wall time, steps, failures, verbatim. -The result goes to interfaces/build-result.json and the README's "Plan B spike" table. - -Nodes pick the built package up through `_common.setup_interfaces()` (prepends the install -prefix to AMENT_PREFIX_PATH / PYTHONPATH / the dynamic-library path in-process), so no shell -has to source `install/setup.*` — the same command works on Windows. -""" - -from __future__ import annotations - -import argparse -import json -import os -import platform -import shutil -import subprocess -import sys -import time -from pathlib import Path - -HERE = Path(__file__).resolve().parent -POC = HERE.parent -IFACES = POC / "interfaces" -PKG = IFACES / "rig_interfaces" -BUILD = IFACES / "build" -INSTALL = IFACES / "install" -RESULT = IFACES / "build-result.json" - -sys.path.insert(0, str(HERE)) -from _common import probe_interfaces, setup_interfaces # noqa: E402 - - -def check() -> dict: - out = {"install_prefix": str(INSTALL), "built": INSTALL.exists(), "usable": probe_interfaces() is not None} - setup_interfaces() - try: - from rig_interfaces.msg import ArenaFrame, ConnectorReply, FicTracFrame # noqa: F401 - - out["importable"] = True - out["msgs"] = ["FicTracFrame", "ArenaFrame", "ConnectorReply"] - # Can rclpy serialize it (loads the C typesupport)? - from rclpy.serialization import serialize_message - - f = FicTracFrame(seq=1, raw="FT,1,2", tag="FT", fields=[1.0, 2.0]) - out["serializes"] = len(serialize_message(f)) > 4 - except Exception as exc: # ImportError, OSError (dlopen), … - out["importable"] = False - out["error"] = f"{type(exc).__name__}: {exc}" - return out - - -def build(clean: bool) -> dict: - res: dict = {"platform": f"{platform.system()} {platform.machine()}", "python": sys.version.split()[0], - "steps": [], "ok": False} - if clean: - for d in (BUILD, INSTALL): - shutil.rmtree(d, ignore_errors=True) - res["clean"] = True - for tool in ("colcon", "cmake", "ninja"): - res.setdefault("tools", {})[tool] = shutil.which(tool) - cxx = shutil.which("clang++") or shutil.which("c++") or shutil.which("cl") - res["tools"]["cxx"] = cxx - cmd = [ - "colcon", "build", - "--base-paths", str(IFACES), - "--build-base", str(BUILD), - "--install-base", str(INSTALL), - "--merge-install", - "--event-handlers", "console_direct+", - "--cmake-args", "-GNinja", "-DCMAKE_BUILD_TYPE=Release", - f"-DPython3_EXECUTABLE={sys.executable}", f"-DPython_EXECUTABLE={sys.executable}", - # RoboStack's toolchain sets the install rpath to the ENV's lib only; the generated - # Python extension then cannot find librig_interfaces__*.dylib next to itself, and - # macOS SIP strips DYLD_LIBRARY_PATH on the way through pixi's shell (first build on - # the Mac: `UnsupportedTypeSupport: Could not import 'rosidl_typesupport_c'`). Add - # the package's own lib dir to the rpath. - f"-DCMAKE_INSTALL_RPATH={INSTALL / 'lib'};{Path(sys.executable).resolve().parents[1] / 'lib'}", - "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON", - ] - res["command"] = " ".join(cmd) - t0 = time.monotonic() - env = os.environ.copy() - env.setdefault("PYTHONUTF8", "1") - p = subprocess.run(cmd, cwd=str(IFACES), capture_output=True, text=True, env=env) - res["wall_s"] = round(time.monotonic() - t0, 1) - res["returncode"] = p.returncode - tail = (p.stdout + p.stderr).strip().splitlines() - res["log_tail"] = tail[-25:] - (IFACES / "build.log").write_text(p.stdout + "\n--- stderr ---\n" + p.stderr, encoding="utf-8") - res["steps"].append({"step": "colcon build", "s": res["wall_s"], "rc": p.returncode}) - if p.returncode == 0: - t1 = time.monotonic() - chk = check() - res["check"] = chk - res["steps"].append({"step": "import + serialize", "s": round(time.monotonic() - t1, 2), "ok": chk.get("serializes", False)}) - res["ok"] = bool(chk.get("serializes")) - libs = sorted(p.name for p in (INSTALL / "lib").glob("librig_interfaces__*")) if (INSTALL / "lib").exists() else [] - res["typesupport_libs"] = libs - return res - - -def main(argv=None) -> int: - ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - ap.add_argument("--clean", action="store_true", help="remove interfaces/build + install first") - ap.add_argument("--check", action="store_true", help="only report whether the package imports") - a = ap.parse_args(argv) - if a.check: - r = check() - print(json.dumps(r, indent=1)) - return 0 if r.get("usable") else 1 - r = build(a.clean) - RESULT.write_text(json.dumps(r, indent=1) + "\n", encoding="utf-8") - print(json.dumps({k: v for k, v in r.items() if k != "log_tail"}, indent=1)) - if not r["ok"]: - print("\n".join(r["log_tail"]), file=sys.stderr) - return 0 if r["ok"] else 1 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/nodes/fictrac_udp_adapter.py b/rig/nodes/fictrac_udp_adapter.py deleted file mode 100644 index 8d6ed945..00000000 --- a/rig/nodes/fictrac_udp_adapter.py +++ /dev/null @@ -1,148 +0,0 @@ -#!/usr/bin/env python3 -"""fictrac_udp_adapter.py — FicTrac UDP → ROS 2 topic, one std_msgs/String per record. - -FicTrac itself is untouched: it keeps sending its 25-field CSV line per camera frame to -a UDP port (the same `sock_host`/`sock_port` it has today, 127.0.0.1:60000). This node -owns that socket and republishes every datagram line as JSON on `/fictrac/raw`: - - {"src": "fictrac", "seq": , - "rx_epoch_ms": , "rx_mono_ns": , - "raw": ""} - -The line is NOT parsed here. The bridge node parses it with bridge.py's Pipeline, so the -closed-loop mapping, the heading tare and the logged row are byte-for-byte what bridge -3.4 produces — the adapter only moves bytes and stamps when it saw them. No custom -message types (LAB-303 PoC rule): std_msgs/String carrying JSON. - -QoS: RELIABLE, KEEP_LAST 200. The run log must hold EVERY FicTrac frame (bridge.py -write_frame), so the topic is reliable; the bridge node's Hub coalesces for the browser -separately, as before. ~50-100 Hz × ~250 B is nothing for Zenoh on loopback. - - pixi run fictrac-adapter -- --port 60000 - pixi run sim -- --proto udp --rate 50 # the unmodified simulator feeds it - -PLAN B (LAB-303, typed topic): with `--typed` (default `auto` = when rig_interfaces imports) -the adapter ALSO publishes `/fictrac/frame` as rig_interfaces/FicTracFrame — the parsed -columns, the FT tag, the receive stamps AND the verbatim line — so the closed-loop node can -subscribe to a typed topic while the mapping math still parses exactly the bytes FicTrac sent. -`/fictrac/raw` keeps being published (`--typed only` drops it) so `ros2 topic echo` and older -consumers see no change. -""" - -from __future__ import annotations - -import argparse -import json -import socket -import sys -import threading -import time - -import rclpy -from rclpy.node import Node -from std_msgs.msg import String - -from _common import RELIABLE_QOS, mono_ns, probe_interfaces, raise_timer_resolution, spin, wall_ms, wrap_line -from _rows import parse_fictrac_line # ONE parser for the adapter, the bridge node and the converter - -_IFACES = probe_interfaces() # import + serialize; None → String only -HAVE_IFACES = _IFACES is not None -FicTracFrame = _IFACES[1] if _IFACES else None # type: ignore[assignment] - -TOPIC = "/fictrac/raw" -TYPED_TOPIC = "/fictrac/frame" -RAW_QOS = RELIABLE_QOS - - -class FicTracUdpAdapter(Node): - def __init__(self, host: str, port: int, status_every_s: float, typed: str = "auto") -> None: - super().__init__("fictrac_udp_adapter") - want_typed = HAVE_IFACES if typed == "auto" else typed in ("on", "only") - if typed in ("on", "only") and not HAVE_IFACES: - raise SystemExit("--typed on/only, but rig_interfaces is not importable (pixi install builds it)") - self.typed_pub = self.create_publisher(FicTracFrame, TYPED_TOPIC, RAW_QOS) if want_typed else None - self.pub = None if typed == "only" else self.create_publisher(String, TOPIC, RAW_QOS) - self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - self.sock.bind((host, port)) - self.sock.settimeout(0.5) # lets the thread notice shutdown - self.seq = 0 - self.lines = 0 - self.datagrams = 0 - self._stop = threading.Event() - self._buf = b"" - self._thread = threading.Thread(target=self._recv_loop, name="udp-recv", daemon=True) - self._thread.start() - self.get_logger().info(f"UDP {host}:{port} → {TOPIC if self.pub else '-'}" + (f" + {TYPED_TOPIC} (rig_interfaces/FicTracFrame)" if self.typed_pub else " (std_msgs/String JSON, reliable)")) - if status_every_s > 0: - self._last = (0, time.monotonic()) - self.create_timer(status_every_s, self._status) - - def _publish(self, raw: str) -> None: - self.seq += 1 - rx_ms, rx_ns = wall_ms(), mono_ns() # precise on Windows too (_common "clocks") - if self.pub is not None: - msg = String() - msg.data = wrap_line("fictrac", self.seq, raw, rx_ms, rx_ns) - self.pub.publish(msg) - if self.typed_pub is not None: - tag, fields = parse_fictrac_line(raw) - self.typed_pub.publish(FicTracFrame(seq=self.seq, rx_epoch_ms=rx_ms, rx_mono_ns=rx_ns, tag=tag, fields=fields, raw=raw)) - self.lines += 1 - - def _recv_loop(self) -> None: - # One record per datagram is FicTrac's behaviour; buffer + split on newlines anyway - # (same tolerance as bridge.py's _UdpProtocol) so a coalesced or split datagram - # never produces a half line. - while not self._stop.is_set(): - try: - data, _ = self.sock.recvfrom(65535) - except socket.timeout: - continue - except OSError: - break - self.datagrams += 1 - self._buf += data - while b"\n" in self._buf: - line, self._buf = self._buf.split(b"\n", 1) - if line.strip(): - self._publish(line.decode("ascii", errors="replace")) - if self._buf and b"\n" not in data: - self._publish(self._buf.decode("ascii", errors="replace")) - self._buf = b"" - - def _status(self) -> None: - n0, t0 = self._last - now = time.monotonic() - rate = (self.lines - n0) / max(1e-9, now - t0) - self._last = (self.lines, now) - self.get_logger().info(f"{self.lines} lines published ({rate:.1f}/s), {self.datagrams} datagrams") - - def destroy_node(self) -> bool: - self._stop.set() - try: - self.sock.close() - except OSError: - pass - return super().destroy_node() - - -def main(argv: list[str] | None = None) -> int: - p = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - p.add_argument("--host", default="127.0.0.1", help="UDP bind host (default: 127.0.0.1)") - p.add_argument("--port", type=int, default=60000, help="UDP bind port — FicTrac's sock_port (default: 60000)") - p.add_argument("--status-every", type=float, default=5.0, help="stderr rate line interval in s; 0 = off (default: 5)") - p.add_argument("--typed", choices=("auto", "on", "off", "only"), default="auto", - help="also publish /fictrac/frame as rig_interfaces/FicTracFrame (auto: when the package imports; only: drop /fictrac/raw)") - # ros2 run / launch pass --ros-args; keep them for rclpy. - args, ros_args = p.parse_known_args(argv) - raise_timer_resolution() # Windows: 1 ms system timer for this process (_common "clocks") - rclpy.init(args=ros_args) - node = FicTracUdpAdapter(args.host, args.port, args.status_every, args.typed) - spin(node) - print(f"[fictrac-adapter] {node.lines} lines, {node.datagrams} datagrams", file=sys.stderr) - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/nodes/foxglove_json.py b/rig/nodes/foxglove_json.py index fc0c5494..aec7745f 100644 --- a/rig/nodes/foxglove_json.py +++ b/rig/nodes/foxglove_json.py @@ -1,57 +1,35 @@ #!/usr/bin/env python3 -"""foxglove_json.py — a String-topic arena bag → a Foxglove-plottable MCAP (JSON messages + JSON Schema). +"""foxglove_json.py — an ARENA String-topic bag → a Foxglove-plottable MCAP, with the arena derivations. - python foxglove_json.py [--ball-mm 9] + pixi run fox-json -- [--ball-mm 9] -The default (String) environment records every topic as std_msgs/String holding JSON text, so -Foxglove shows each message as one string and cannot plot a field. This rewrites the same -messages, same topics, same log/publish times, as MCAP `json` messages with a `jsonschema` -schema per topic, so `/arena/frame.idx`, `/bias/status.framesPerSec`, … plot directly and -`docs/foxglove-arena-layout.json` works unchanged. Per topic: +The generic rewriter (same messages, same topics, same times, as MCAP `json` messages with a +`jsonschema` per topic) is `rig_nodes.foxglove_json` (reiserlab/rig-nodes). This wrapper adds what +only the arena knows, through its `enrich` hook, so `docs/foxglove-arena-layout.json` works +unchanged: -- every topic: the JSON object as recorded (a non-object payload becomes {"value": …}); - /arena/frame: plus `bias_deg` (= `bias`, 0 when absent) and `turning_dps` / `forward_mms`, derived exactly as bridge_node.FrameDeriver does for the typed ArenaFrame (two-point differences on the FicTrac camera clock `ft`, else the bridge clock `t`; null where the typed message has NaN). These three are the only fields the original does not carry; -- /fictrac/raw: `cols`, FicTrac's 25 output columns by name, parsed from `raw`; -- /arena/browser: `msg`, the browser message parsed from `raw` (when it is JSON). +- /fictrac/raw: `cols`, FicTrac's 25 output columns by name (rig_nodes.fictrac.FICTRAC_COLS), + parsed from `raw`; +- /arena/browser: `msg`, the browser message parsed from `raw` (the generic envelope rule). Slim by default: where `raw` was parsed into `cols` / `msg`, the `raw` text is dropped (it is the same data twice); `--keep-raw` keeps it. The original bag stays the record of truth. - -The source is read record by record, so a crash-torn bag (no metadata.yaml, no index) converts -too; the output is chunked, zstd-compressed and indexed. A metadata record `foxglove_json` -names the source file and its sha256. """ from __future__ import annotations import argparse -import hashlib import json import math -import struct import sys from pathlib import Path -FICTRAC_COLS = [ - "frame", # 1 frame counter - "dr_cam_x", "dr_cam_y", "dr_cam_z", # 2-4 delta rotation vector, camera frame (rad) - "dr_err", # 5 delta rotation error score - "dr_lab_x", "dr_lab_y", "dr_lab_z", # 6-8 delta rotation vector, lab frame (rad) - "r_cam_x", "r_cam_y", "r_cam_z", # 9-11 absolute rotation vector, camera frame - "r_lab_x", "r_lab_y", "r_lab_z", # 12-14 absolute rotation vector, lab frame - "x", "y", # 15-16 integrated x/y position, lab (rad) - "heading", # 17 integrated animal heading, lab (rad) - "direction", # 18 animal movement direction, lab (rad) - "speed", # 19 animal movement speed (rad/frame) - "forward", "side", # 20-21 integrated forward / side motion (rad) - "timestamp", # 22 frame timestamp (ms) - "seq", # 23 sequence counter - "dt", # 24 delta timestamp (ms) - "alt_timestamp", # 25 alternative timestamp (ms) -] +from rig_nodes.fictrac import FICTRAC_COLS, parse_fictrac_line +from rig_nodes.foxglove_json import convert as generic_convert def wrap_to_pi(r: float) -> float: @@ -84,172 +62,28 @@ def step(self, msg: dict): return math.degrees(d_hd) / dt_s, (dx * math.cos(h_mid) + dy * math.sin(h_mid)) / dt_s * self.radius_mm -def cdr_string(data: bytes) -> str: - """std_msgs/String in CDR: 4-byte encapsulation header, uint32 length (incl. NUL), bytes.""" - little = data[1] == 1 - (n,) = struct.unpack_from("I", data, 4) - return data[8:8 + n].rstrip(b"\x00").decode("utf-8") - - -def finite(v): - """JSON has no NaN/Infinity — Foxglove's parser would reject the message.""" - if isinstance(v, float) and not math.isfinite(v): - return None - if isinstance(v, dict): - return {k: finite(x) for k, x in v.items()} - if isinstance(v, list): - return [finite(x) for x in v] - return v - - -def json_type(v) -> str: - if v is None: - return "null" - if isinstance(v, bool): - return "boolean" - if isinstance(v, (int, float)): - return "number" - if isinstance(v, str): - return "string" - if isinstance(v, list): - return "array" - return "object" - - -def merge_schema(s: dict, v, depth: int = 0) -> dict: - t = json_type(v) - types = set(s.get("type", []) if isinstance(s.get("type"), list) else ([s["type"]] if "type" in s else [])) - types.add(t) - s["type"] = sorted(types) - if depth < 6 and t == "object": - props = s.setdefault("properties", {}) - for k, x in v.items(): - props[k] = merge_schema(props.get(k, {}), x, depth + 1) - elif depth < 6 and t == "array": - items = s.get("items", {}) - for x in v[:64]: - items = merge_schema(items, x, depth + 1) - if items: - s["items"] = items - return s - - -TYPE_PRIORITY = ("object", "array", "string", "number", "boolean") - - -def finish_schema(s: dict) -> dict | None: - """One `type` per node. Foxglove rejects type unions ("Unsupported type ["boolean","number"]", - seen on /arena/browser msg.value and /bias/reply steps.value), so a field seen with several - types gets the widest one (object > array > string > number > boolean; null dropped). A field - that was only ever null is left out of the schema (nothing to plot; raw views still show it).""" - t = s.get("type") - types = [x for x in (t if isinstance(t, list) else [t]) if x and x != "null"] - if not types: - return None - s["type"] = next(p for p in TYPE_PRIORITY if p in types) - if s["type"] != "object": - s.pop("properties", None) - if s["type"] != "array": - s.pop("items", None) - for k in list(s.get("properties", {})): - if finish_schema(s["properties"][k]) is None: - del s["properties"][k] - if "items" in s and finish_schema(s["items"]) is None: - del s["items"] - if s["type"] == "array" and "items" not in s: - # an array that was always empty (e.g. /arena/browser msg.flagged_trials): Foxglove needs - # an item type ("Cannot read properties of undefined (reading 'type')" without one) - s["items"] = {"type": "string"} - return s - - -def read_messages(path: Path): - """(topic, schema_name, log_time, publish_time, sequence, data) for every message, torn tail tolerated.""" - from mcap.records import Channel, Message, Schema - from mcap.stream_reader import StreamReader - - schemas, channels, out, torn = {}, {}, [], None - with open(path, "rb") as f: - try: - for rec in StreamReader(f, skip_magic=False, emit_chunks=False, validate_crcs=False).records: - if isinstance(rec, Schema): - schemas[rec.id] = rec - elif isinstance(rec, Channel): - channels[rec.id] = rec - elif isinstance(rec, Message): - ch = channels[rec.channel_id] - sc = schemas.get(ch.schema_id) - out.append((ch.topic, sc.name if sc else None, rec.log_time, rec.publish_time, rec.sequence, rec.data)) - except Exception as e: # a SIGKILLed recorder leaves a partial record and no footer - torn = f"{type(e).__name__}: {e}" - return out, torn - - -def convert(src: Path, dst: Path, ball_mm: float, keep_raw: bool = False) -> dict: - from mcap.writer import CompressionType, Writer - - if src.is_dir(): - src = next(p for p in sorted(src.glob("*.mcap"))) - msgs, torn = read_messages(src) +def arena_enricher(ball_mm: float, keep_raw: bool = False): + """The `enrich(topic, obj)` hook for rig_nodes.foxglove_json.convert: arena derivations only.""" deriver = FrameDeriver(ball_mm) - rows, schemas, skipped = [], {}, 0 - for topic, sname, log_t, pub_t, seq, data in msgs: - if sname != "std_msgs/msg/String": - skipped += 1 - continue - try: - obj = json.loads(cdr_string(data)) - except (ValueError, UnicodeDecodeError, struct.error): - skipped += 1 - continue - if not isinstance(obj, dict): - obj = {"value": obj} + + def enrich(topic: str, obj: dict) -> dict: if topic == "/arena/frame" and obj.get("type", "frame") == "frame": obj["bias_deg"] = float(obj.get("bias", 0.0) or 0.0) obj["turning_dps"], obj["forward_mms"] = deriver.step(obj) elif topic == "/fictrac/raw" and isinstance(obj.get("raw"), str): - parts = [p.strip() for p in obj["raw"].split(",")] - if parts and parts[0] == "FT": - parts = parts[1:] - try: - obj["cols"] = {k: float(v) for k, v in zip(FICTRAC_COLS, parts)} - if not keep_raw: - del obj["raw"] - except ValueError: - pass - elif topic == "/arena/browser" and isinstance(obj.get("raw"), str): - try: - obj["msg"] = json.loads(obj["raw"]) + _tag, fields = parse_fictrac_line(obj["raw"]) + if fields: + obj["cols"] = {k: v for k, v in zip(FICTRAC_COLS, fields)} if not keep_raw: del obj["raw"] - except ValueError: - pass - obj = finite(obj) - schemas[topic] = merge_schema(schemas.get(topic, {}), obj) - rows.append((topic, log_t, pub_t, seq, json.dumps(obj, separators=(",", ":")).encode())) + return obj - sha = hashlib.sha256(src.read_bytes()).hexdigest() - dst.parent.mkdir(parents=True, exist_ok=True) - with open(dst, "wb") as f: - w = Writer(f, compression=CompressionType.ZSTD) - w.start(profile="", library="rig foxglove_json.py") - chan = {} - for topic in sorted(schemas): - sc = finish_schema(schemas[topic]) or {"type": "object"} - sc = {"$schema": "https://json-schema.org/draft/2020-12/schema", "title": topic, **sc} - sid = w.register_schema(name=topic.strip("/").replace("/", "_"), encoding="jsonschema", - data=json.dumps(sc).encode()) - chan[topic] = w.register_channel(topic=topic, message_encoding="json", schema_id=sid) - for topic, log_t, pub_t, seq, data in sorted(rows, key=lambda r: r[1]): - w.add_message(channel_id=chan[topic], log_time=log_t, publish_time=pub_t, sequence=seq, data=data) - w.add_metadata("foxglove_json", {"source": src.name, "source_sha256": sha, "ball_mm": f"{ball_mm:g}", - "raw_kept": "yes" if keep_raw else "no", "torn_source": torn or "no"}) - w.finish() - counts = {} - for r in rows: - counts[r[0]] = counts.get(r[0], 0) + 1 - return {"source": src.name, "messages": len(rows), "skipped": skipped, "torn": torn, "topics": counts, - "bytes": dst.stat().st_size} + return enrich + + +def convert(src: Path, dst: Path, ball_mm: float, keep_raw: bool = False) -> dict: + return generic_convert(src, dst, enrich=arena_enricher(ball_mm, keep_raw), keep_raw=keep_raw, + library="rig foxglove_json.py", metadata={"ball_mm": f"{ball_mm:g}"}) def main(argv=None) -> int: diff --git a/rig/nodes/graph_dump.py b/rig/nodes/graph_dump.py deleted file mode 100644 index 77b9e3b3..00000000 --- a/rig/nodes/graph_dump.py +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/env python3 -"""graph_dump.py — what the running graph looks like: nodes, topics, who publishes/subscribes. - - pixi run graph # Mermaid diagram of the LIVE graph on stdout (paste into a .md / GitHub) - pixi run graph -- --dot # Graphviz DOT instead (dot -Tsvg graph.dot > graph.svg) - pixi run graph -- --text # plain table: topic, type, publishers, subscribers, rate (1 s sample) - pixi run graph -- --out docs/graph.md - -The ROS 2 answer to "what/how are we using ROS": the graph is discoverable at run time, so this -asks the middleware (rclpy's node/topic introspection) instead of reading our code. Run it while -`pixi run rig` is up (any environment of this workspace). The interactive equivalents are -`rqt_graph` (live, GUI) and Foxglove Studio (live via foxglove_bridge, or offline on the -MCAP bag) — both in the opt-in `viz` environment (`pixi install -e viz`). -""" - -from __future__ import annotations - -import argparse -import sys -import time - -import rclpy -from rclpy.node import Node - -OWN = {"graph_dump", "_ros2cli"} # introspection nodes to hide - - -def collect(node: Node, sample_s: float) -> dict: - nodes = [(n, ns) for n, ns in node.get_node_names_and_namespaces() if not any(n.startswith(o) for o in OWN)] - topics: dict[str, dict] = {} - for name, typ in node.get_topic_names_and_types(): - if name.startswith("/parameter_events") or name.startswith("/rosout"): - continue - topics[name] = {"types": typ, "pubs": [], "subs": [], "hz": None} - for n, ns in nodes: - full = (ns.rstrip("/") + "/" + n) if ns != "/" else "/" + n - for t, _ in node.get_publisher_names_and_types_by_node(n, ns): - if t in topics: - topics[t]["pubs"].append(full) - for t, _ in node.get_subscriber_names_and_types_by_node(n, ns): - if t in topics: - topics[t]["subs"].append(full) - if sample_s > 0: - from rclpy.qos import QoSProfile, QoSReliabilityPolicy, QoSHistoryPolicy - from rosidl_runtime_py.utilities import get_message - - counts = {t: 0 for t in topics} - subs = [] - for t, info in topics.items(): - try: - cls = get_message(info["types"][0]) - except Exception: - continue - qos = QoSProfile(reliability=QoSReliabilityPolicy.BEST_EFFORT, history=QoSHistoryPolicy.KEEP_LAST, depth=10) - subs.append(node.create_subscription(cls, t, (lambda tt: (lambda _m: counts.__setitem__(tt, counts[tt] + 1)))(t), qos)) - end = time.monotonic() + sample_s - while time.monotonic() < end: - rclpy.spin_once(node, timeout_sec=0.05) - for s in subs: - node.destroy_subscription(s) - for t in topics: - topics[t]["hz"] = round(counts[t] / sample_s, 1) - return {"nodes": sorted(("/" + n) if ns == "/" else ns.rstrip("/") + "/" + n for n, ns in nodes), "topics": topics} - - -def _id(s: str) -> str: - return s.strip("/").replace("/", "_").replace("-", "_") - - -def mermaid(g: dict) -> str: - out = ["```mermaid", "flowchart LR"] - for n in g["nodes"]: - out.append(f' {_id(n)}(["{n}"])') - for t, info in sorted(g["topics"].items()): - label = t + ("\\n" + info["types"][0].split("/")[-1] if info["types"] else "") + (f"\\n{info['hz']} Hz" if info["hz"] else "") - out.append(f' {_id(t)}[/"{label}"/]') - for p in info["pubs"]: - out.append(f" {_id(p)} --> {_id(t)}") - for s in info["subs"]: - out.append(f" {_id(t)} --> {_id(s)}") - out.append("```") - return "\n".join(out) - - -def dot(g: dict) -> str: - out = ["digraph arena {", " rankdir=LR; node [fontname=Helvetica];"] - for n in g["nodes"]: - out.append(f' "{n}" [shape=ellipse,style=filled,fillcolor="#e8f5e9"];') - for t, info in sorted(g["topics"].items()): - label = t + ("\\n" + info["types"][0] if info["types"] else "") + (f"\\n{info['hz']} Hz" if info["hz"] else "") - out.append(f' "{t}" [shape=box,label="{label}"];') - for p in info["pubs"]: - out.append(f' "{p}" -> "{t}";') - for s in info["subs"]: - out.append(f' "{t}" -> "{s}";') - out.append("}") - return "\n".join(out) - - -def text(g: dict) -> str: - rows = [("topic", "type", "publishers", "subscribers", "Hz")] - for t, info in sorted(g["topics"].items()): - rows.append((t, info["types"][0] if info["types"] else "?", ", ".join(info["pubs"]) or "—", ", ".join(info["subs"]) or "—", str(info["hz"]) if info["hz"] is not None else "")) - w = [max(len(r[i]) for r in rows) for i in range(5)] - return "nodes: " + ", ".join(g["nodes"]) + "\n" + "\n".join(" ".join(c.ljust(w[i]) for i, c in enumerate(r)) for r in rows) - - -def main(argv=None) -> int: - ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - ap.add_argument("--dot", action="store_true") - ap.add_argument("--text", action="store_true") - ap.add_argument("--sample", type=float, default=1.0, help="seconds to sample message rates (0 = skip)") - ap.add_argument("--out", default=None) - ap.add_argument("--wait", type=float, default=2.0, help="seconds to let discovery settle") - a, ros_args = ap.parse_known_args(argv) - rclpy.init(args=ros_args) - node = Node("graph_dump") - end = time.monotonic() + a.wait - while time.monotonic() < end: - rclpy.spin_once(node, timeout_sec=0.1) - g = collect(node, a.sample) - node.destroy_node() - rclpy.try_shutdown() - s = dot(g) if a.dot else text(g) if a.text else mermaid(g) - if a.out: - open(a.out, "w", encoding="utf-8").write(s + "\n") - print(f"[graph] {len(g['nodes'])} nodes, {len(g['topics'])} topics → {a.out}", file=sys.stderr) - else: - print(s) - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/nodes/kinefly_sim.py b/rig/nodes/kinefly_sim.py deleted file mode 100644 index b7c5e724..00000000 --- a/rig/nodes/kinefly_sim.py +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python3 -"""kinefly_sim.py — a synthetic KF/1 producer (stands in for Kinefly, like fictrac_sim.py for FicTrac). - -Emits one KF/1 datagram per frame at --rate Hz to --host:--port, byte-compatible with -mbreiser/Kinefly-MacOS `kinefly/core/udp.py` (`protocol: "Kinefly"`, `version: 1`, a fresh -session UUID, `sequence` from 1, `source`, `timestamp_s`, `host_monotonic_s`, five `parts`). -The wings are tracked (`edge` mode, one angle each); head/abdomen/aux are disabled with the -empty-array/null shape the real encoder uses for disabled parts. - -Kinematics: a steering fly. Left and right wing-stroke amplitudes sit at `--mean-deg` and -the DIFFERENCE L−R follows a slow sine of `--diff-deg` peak at `--diff-hz` (plus a little -noise), so a downstream L−R → yaw integrator has something smooth and known to chase. ---seed makes the bytes reproducible. - - pixi run kinefly-sim -- --rate 100 --diff-deg 10 --diff-hz 0.1 --seed 1 -""" - -from __future__ import annotations - -import argparse -import json -import math -import random -import socket -import sys -import time -import uuid - -DEFAULT_PORT = 60001 -PARTS = ("head", "abdomen", "left", "right", "aux") - - -def disabled_part(mode: str | None) -> dict: - return dict(enabled=False, valid=False, mode=mode, angles_rad=[], radii_px=[], gradients=[], - intensity=None, frequency_hz=None, frequency_valid=False) - - -def wing_part(angle_rad: float, gradient: float) -> dict: - return dict(enabled=True, valid=True, mode="edge", angles_rad=[angle_rad], radii_px=[], - gradients=[gradient], intensity=None, frequency_hz=None, frequency_valid=False) - - -def kf1_packet(session: str, seq: int, t_s: float, left_rad: float, right_rad: float, fps: float, grad: float) -> dict: - return dict( - protocol="Kinefly", version=1, session=session, sequence=seq, - source=dict(kind="synthetic", id="kinefly_sim.py", clock="host_monotonic_after_capture", - fps=fps, timestamp_units="s"), - timestamp_s=t_s, host_monotonic_s=time.monotonic(), - parts=dict(head=disabled_part("area"), abdomen=disabled_part("area"), - left=wing_part(left_rad, grad), right=wing_part(right_rad, grad), - aux=disabled_part("intensity")), - ) - - -def main(argv: list[str] | None = None) -> int: - p = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - p.add_argument("--host", default="127.0.0.1") - p.add_argument("--port", type=int, default=DEFAULT_PORT) - p.add_argument("--rate", type=float, default=100.0, help="frames per second (default: 100)") - p.add_argument("--count", type=int, default=0, help="emit N frames then exit (0 = forever)") - p.add_argument("--mean-deg", type=float, default=70.0, help="mean wing-stroke angle, both wings (default: 70)") - p.add_argument("--diff-deg", type=float, default=10.0, help="peak L−R difference (default: 10)") - p.add_argument("--diff-hz", type=float, default=0.1, help="frequency of the L−R sine (default: 0.1)") - p.add_argument("--noise-deg", type=float, default=0.5, help="per-frame Gaussian noise per wing (default: 0.5)") - p.add_argument("--seed", type=int, default=None) - args = p.parse_args(argv) - - rng = random.Random(args.seed) - session = str(uuid.UUID(int=rng.getrandbits(128))) if args.seed is not None else str(uuid.uuid4()) - sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - dst = (args.host, args.port) - period = 1.0 / args.rate - t0 = time.perf_counter() - seq = 0 - print(f"[kinefly-sim] KF/1 → udp://{dst[0]}:{dst[1]} at {args.rate:g} Hz, session {session}", file=sys.stderr) - try: - while args.count == 0 or seq < args.count: - seq += 1 - t_s = (seq - 1) * period - half = 0.5 * args.diff_deg * math.sin(2 * math.pi * args.diff_hz * t_s) - left = args.mean_deg + half + rng.gauss(0, args.noise_deg) - right = args.mean_deg - half + rng.gauss(0, args.noise_deg) - pkt = kf1_packet(session, seq, t_s, math.radians(left), math.radians(right), args.rate, 0.8) - sock.sendto(json.dumps(pkt, allow_nan=False, separators=(",", ":")).encode("utf-8"), dst) - target = t0 + seq * period - delay = target - time.perf_counter() - if delay > 0: - time.sleep(delay) - except KeyboardInterrupt: - pass - print(f"[kinefly-sim] sent {seq} frames", file=sys.stderr) - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/nodes/kinefly_udp_adapter.py b/rig/nodes/kinefly_udp_adapter.py deleted file mode 100644 index 7aab68f9..00000000 --- a/rig/nodes/kinefly_udp_adapter.py +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env python3 -"""kinefly_udp_adapter.py — Kinefly KF/1 UDP → ROS 2 topic, one std_msgs/String per frame. - -Michael's Kinefly fork (mbreiser/Kinefly-MacOS, `--udp HOST:PORT`) sends one UTF-8 JSON -datagram per processed frame: the KF/1 record documented in its docs/udp-protocol.md -(`protocol: "Kinefly"`, `version: 1`, `session`, `sequence`, `source`, `timestamp_s`, -`host_monotonic_s`, `parts.{head,abdomen,left,right,aux}`). Kinefly is untouched; this -node owns the receiving socket and republishes each datagram verbatim on `/kinefly/raw` -inside the same envelope the FicTrac adapter uses: - - {"src": "kinefly", "seq": , "rx_epoch_ms": …, "rx_mono_ns": …, - "raw": ""} - -Protocol discrimination happens HERE, before anything downstream decodes: a datagram -that is not JSON, or whose `protocol`/`version` are not `Kinefly`/1, is counted and -dropped (Kinefly's bridge plan, step 1: discriminate protocol before decoding, never pad -KF data into FicTrac fields). Nothing else is interpreted — the bridge node derives the -logged `["kf", …]` row and (later) the L−R → yaw integrator from the parsed record, so -the mapping lives in one place. - - pixi run kinefly-adapter -- --port 60001 - pixi run kinefly-sim -- --port 60001 --rate 100 # synthetic KF/1 producer -""" - -from __future__ import annotations - -import argparse -import json -import socket -import sys -import threading -import time - -import rclpy -from rclpy.node import Node -from std_msgs.msg import String - -from _common import RELIABLE_QOS, mono_ns, raise_timer_resolution, spin, wall_ms, wrap_line - -TOPIC = "/kinefly/raw" -DEFAULT_PORT = 60001 -MAX_DATAGRAM = 16384 # KF/1 encoder bound (kinefly/core/udp.py) -RAW_QOS = RELIABLE_QOS - - -def kf1_reject_reason(data: bytes) -> str | None: - """Why a datagram is NOT a KF/1 record (None = accept). Cheap and strict on the - identity fields only; full field validation is the bridge node's job.""" - if len(data) > MAX_DATAGRAM: - return "oversize" - try: - obj = json.loads(data.decode("utf-8")) - except (UnicodeDecodeError, json.JSONDecodeError): - return "not JSON" - if not isinstance(obj, dict): - return "not an object" - if obj.get("protocol") != "Kinefly" or obj.get("version") != 1: - return f"protocol/version {obj.get('protocol')!r}/{obj.get('version')!r}" - if not isinstance(obj.get("sequence"), int) or not isinstance(obj.get("parts"), dict): - return "missing sequence/parts" - return None - - - -class KineflyUdpAdapter(Node): - def __init__(self, host: str, port: int, status_every_s: float) -> None: - super().__init__("kinefly_udp_adapter") - self.pub = self.create_publisher(String, TOPIC, RAW_QOS) - self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - self.sock.bind((host, port)) - self.sock.settimeout(0.5) - self.seq = 0 - self.published = 0 - self.rejected = 0 - self._reject_reasons: dict[str, int] = {} - self._stop = threading.Event() - self._thread = threading.Thread(target=self._recv_loop, name="udp-recv", daemon=True) - self._thread.start() - self.get_logger().info(f"UDP {host}:{port} (KF/1) → {TOPIC} (std_msgs/String JSON, reliable)") - if status_every_s > 0: - self._last = (0, time.monotonic()) - self.create_timer(status_every_s, self._status) - - def _recv_loop(self) -> None: - while not self._stop.is_set(): - try: - data, _ = self.sock.recvfrom(65535) - except socket.timeout: - continue - except OSError: - break - rx_epoch_ms, rx_mono_ns = wall_ms(), mono_ns() # precise on Windows too (_common "clocks") - why = kf1_reject_reason(data) - if why is not None: - self.rejected += 1 - self._reject_reasons[why] = self._reject_reasons.get(why, 0) + 1 - if self._reject_reasons[why] <= 3: - self.get_logger().warning(f"dropped non-KF/1 datagram ({why})") - continue - self.seq += 1 - msg = String() - msg.data = wrap_line("kinefly", self.seq, data.decode("utf-8"), rx_epoch_ms, rx_mono_ns) - self.pub.publish(msg) - self.published += 1 - - def _status(self) -> None: - n0, t0 = self._last - now = time.monotonic() - rate = (self.published - n0) / max(1e-9, now - t0) - self._last = (self.published, now) - self.get_logger().info(f"{self.published} KF/1 frames published ({rate:.1f}/s), {self.rejected} rejected") - - def destroy_node(self) -> bool: - self._stop.set() - try: - self.sock.close() - except OSError: - pass - return super().destroy_node() - - -def main(argv: list[str] | None = None) -> int: - p = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - p.add_argument("--host", default="127.0.0.1", help="UDP bind host (default: 127.0.0.1)") - p.add_argument("--port", type=int, default=DEFAULT_PORT, help=f"UDP bind port — Kinefly's --udp destination (default: {DEFAULT_PORT})") - p.add_argument("--status-every", type=float, default=5.0, help="stderr rate line interval in s; 0 = off (default: 5)") - args, ros_args = p.parse_known_args(argv) - raise_timer_resolution() # Windows: 1 ms system timer for this process (_common "clocks") - rclpy.init(args=ros_args) - node = KineflyUdpAdapter(args.host, args.port, args.status_every) - spin(node) - print(f"[kinefly-adapter] {node.published} published, {node.rejected} rejected", file=sys.stderr) - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/nodes/mcap_convert.py b/rig/nodes/mcap_convert.py index 63843fe5..3c2840ea 100644 --- a/rig/nodes/mcap_convert.py +++ b/rig/nodes/mcap_convert.py @@ -103,85 +103,9 @@ def load_bridge_module(path: Path = BRIDGE_PY): B = load_bridge_module() -# ───────────────────────────────────────────────────────────────────────────── -# CDR decoding (XCDR1, little-endian; alignment origin = right after the 4-byte header) -# ───────────────────────────────────────────────────────────────────────────── -_PRIM = { - "bool": ("?", 1), "byte": ("B", 1), "char": ("b", 1), "int8": ("b", 1), "uint8": ("B", 1), - "int16": (" None: - if len(data) < 4: - raise ValueError("CDR payload shorter than its header") - self.d = data - self.p = 4 # the encapsulation header is not part of the aligned stream - self.le = data[1] == 1 - - def _align(self, n: int) -> None: - rel = self.p - 4 - pad = (-rel) % n - self.p += pad - - def prim(self, t: str): - fmt, size = _PRIM[t] - self._align(size) - if not self.le and len(fmt) == 2: - fmt = ">" + fmt[1] - v = struct.unpack_from(fmt, self.d, self.p)[0] - self.p += size - return v - - def string(self) -> str: - n = self.prim("uint32") - raw = self.d[self.p : self.p + n] - self.p += n - return raw.rstrip(b"\x00").decode("utf-8", errors="replace") - - def seq_prim(self, t: str) -> list: - n = self.prim("uint32") - return [self.prim(t) for _ in range(n)] - - -def parse_msgdef(text: str) -> list[tuple[str, str]]: - """ros2msg schema text → [(type, name)] for the TOP message (the first block; nested - definitions after a '====' separator are not needed by our types).""" - fields = [] - for line in text.splitlines(): - if line.startswith("===="): - break - s = line.split("#", 1)[0].strip() - if not s or "=" in s: - continue - typ, name = s.split()[:2] - fields.append((typ, name)) - return fields - - -def decode_cdr(schema_name: str | None, schema_text: str | None, data: bytes): - """→ dict of fields (or {'data': str} for std_msgs/String). Only the shapes our .msg files - use: primitives, string, primitive sequences.""" - if schema_name in (None, "std_msgs/msg/String"): - c = Cdr(data) - return {"data": c.string()} - if not schema_text: - raise ValueError(f"no schema text for {schema_name}; cannot decode without ROS") - c = Cdr(data) - out = {} - for typ, name in parse_msgdef(schema_text): - if typ.endswith("[]"): - base = typ[:-2] - out[name] = c.seq_prim(base) if base in _PRIM else [c.string() for _ in range(c.prim("uint32"))] - elif typ == "string": - out[name] = c.string() - elif typ in _PRIM: - out[name] = c.prim(typ) - else: - raise ValueError(f"{schema_name}: field {name} of type {typ} is not supported by this decoder") - return out +# CDR decoding (XCDR1): rig_nodes.cdr (reiserlab/rig-nodes) — ONE decoder for this converter, the +# sizing study and the arena harness; the names stay importable from here. +from rig_nodes.cdr import Cdr, decode_cdr, parse_msgdef # noqa: E402,F401 # ───────────────────────────────────────────────────────────────────────────── diff --git a/rig/nodes/mcap_index.py b/rig/nodes/mcap_index.py deleted file mode 100644 index dd0f8771..00000000 --- a/rig/nodes/mcap_index.py +++ /dev/null @@ -1,292 +0,0 @@ -#!/usr/bin/env python3 -"""mcap_index.py — rewrite a finished bag as an indexed, chunked, compressed MCAP; recover a torn one. - - pixi run reindex -- runlogs/.bag # in place (keeps .unindexed.mcap until verified, then deletes it) - pixi run reindex -- runlogs/.bag --keep # keep the original beside the new file - pixi run reindex -- runlogs/.bag --recover # a bag the bridge never closed (crash): salvage, index, metadata.yaml - -Why: the bridge node records with the `crashsafe` profile — no chunking, no cache, every record -reaches the disk as it is written — so a SIGKILL loses at most the record in progress. The price is -an MCAP without a chunk/message index: readers must scan it ("Problems: file is unindexed" in -Foxglove; `ros2 bag` and our converter do not mind). Once a run has CLOSED cleanly there is no -crash left to survive, so the bridge calls `reindex()` from Recorder.close(): the same records, -same schemas/channels/metadata, written again by the `mcap` library with chunking, zstd and the -full index. Pure Python; the result is a standard MCAP (rosbag2's `metadata.yaml` is untouched). -The rewrite is verified by re-reading and counting messages per channel before the original is -removed; on any mismatch the original stays and the function reports it. - -Recovery (`recover_bag`, LAB-303 adoption week): a bag whose writer was killed has no -`metadata.yaml` and an MCAP without footer/summary (a 0-byte file with rosbag2's default profile). -`recover_bag` (1) rewrites every `.mcap` with `reindex(recover=True)`, which stops at the torn -tail instead of raising, appends ONE `/arena/session` record `{"event":"recovered",…}` so the bag -itself says it was salvaged, and keeps the torn original as `.torn.bak` (not `.mcap`, so no -reader picks it up); then (2) asks rosbag2's own `Reindexer` for `metadata.yaml`. Afterwards the -bag opens in Foxglove, `ros2 bag info`, and the converter WITHOUT `--recover`. The bridge node runs -this itself when a `log_export` meets such a bag (`needs_recovery`), so the Studio's export after -a bridge restart gets the salvaged log and a `recovered: true` flag. -""" - -from __future__ import annotations - -import argparse -import json -import os -import struct -import sys -import time -from pathlib import Path - -SESSION_TOPIC = "/arena/session" -STRING_SCHEMA = ("std_msgs/msg/String", "ros2msg", b"string data") -RECOVERED_SEQ = 1 << 40 # sorts after every real emission seq (the converter orders by seq) - - -def cdr_string(s: str) -> bytes: - """A std_msgs/String payload as rosbag2 writes it: XCDR1 LE header + uint32 length (incl. - the NUL) + bytes + NUL, padded to 4 — what nodes/mcap_convert.py's decoder reads back.""" - raw = s.encode("utf-8") + b"\x00" - body = struct.pack(" None: - self.level = level - - def __enter__(self): - import zstandard - - self._mod = zstandard - self._saved = zstandard.compress - lvl = self.level - zstandard.compress = lambda data, _l=lvl: zstandard.ZstdCompressor(level=_l).compress(data) - return self - - def __exit__(self, *exc) -> None: - self._mod.compress = self._saved - - -def reindex(mcap_path: str | os.PathLike, keep_original: bool = False, compression: str = "zstd", - recover: bool = False, marker: dict | None = None, level: int = ZSTD_LEVEL) -> dict: - """Rewrite one MCAP indexed + compressed. `recover=True` tolerates a torn tail (the records - read up to it are kept), appends the `recovered` session marker (`marker` adds fields) and - keeps the original as `.torn.bak`. Returns a report; `verified` False = nothing replaced. - - The final layout (2026-10-18): a CHUNK index only — no per-message index, which costs more - than the messages of a 50 Hz stream compress to — and zstd at `level` (19; the mcap writer's - own 3 is a streaming default). Readers seek by chunk; Foxglove and `ros2 bag` are unaffected.""" - from mcap.records import Attachment, Channel, Header, Message, Metadata, Schema - from mcap.writer import CompressionType, IndexType, Writer - - src = Path(mcap_path) - tmp = src.with_suffix(".indexed.tmp") - comp = {"zstd": CompressionType.ZSTD, "lz4": CompressionType.LZ4, "none": CompressionType.NONE}[compression] - t0 = time.perf_counter() - schema_map: dict[int, int] = {} - channel_map: dict[int, int] = {} - topic_of: dict[int, str] = {} - want: dict[str, int] = {} - n = 0 - torn, error = False, None - marker_written = False - with open(tmp, "wb") as fout, _zstd_level(level if compression == "zstd" else 3): - w = Writer(fout, compression=comp, index_types=IndexType.ALL & ~IndexType.MESSAGE) - started = False - gen = _scan(src, recover) - while True: - try: - rec = next(gen) - except StopIteration as stop: - if stop.value: - torn, error = stop.value - break - if isinstance(rec, Header): - w.start(profile=rec.profile, library=f"{rec.library} + mcap_index.py") - started = True - elif isinstance(rec, Schema): - if rec.id not in schema_map: - schema_map[rec.id] = w.register_schema(name=rec.name, encoding=rec.encoding, data=rec.data) - elif isinstance(rec, Channel): - if rec.id not in channel_map: - channel_map[rec.id] = w.register_channel(topic=rec.topic, message_encoding=rec.message_encoding, - schema_id=schema_map.get(rec.schema_id, 0), metadata=rec.metadata) - topic_of[rec.id] = rec.topic - elif isinstance(rec, Message): - if not started: - raise ValueError("message before header") - w.add_message(channel_id=channel_map[rec.channel_id], log_time=rec.log_time, data=rec.data, - publish_time=rec.publish_time, sequence=rec.sequence) - want[topic_of[rec.channel_id]] = want.get(topic_of[rec.channel_id], 0) + 1 - n += 1 - elif isinstance(rec, Metadata): - w.add_metadata(name=rec.name, data=rec.metadata) - elif isinstance(rec, Attachment): - w.add_attachment(create_time=rec.create_time, log_time=rec.log_time, name=rec.name, media_type=rec.media_type, data=rec.data) - if recover and started: - # The bag says so itself: one session record, after everything salvaged. The - # converter turns it into a `{"type":"session","event":"recovered",…}` line. - ch = next((cid for sid, cid in channel_map.items() if topic_of.get(sid) == SESSION_TOPIC), None) - if ch is None: - sid = w.register_schema(name=STRING_SCHEMA[0], encoding=STRING_SCHEMA[1], data=STRING_SCHEMA[2]) - ch = w.register_channel(topic=SESSION_TOPIC, message_encoding="cdr", schema_id=sid) - now_ns = time.time_ns() - body = {"seq": RECOVERED_SEQ, "event": "recovered", "ms": now_ns // 1_000_000, "recovered": True, - "salvaged_records": n, "torn": torn, "torn_error": error, "file": src.name, **(marker or {})} - w.add_message(channel_id=ch, log_time=now_ns, publish_time=now_ns, sequence=0, - data=cdr_string(json.dumps(body, separators=(",", ":")))) - want[SESSION_TOPIC] = want.get(SESSION_TOPIC, 0) + 1 - marker_written = True - if started: - w.finish() - if not started: - # Nothing readable (rosbag2's default profile leaves a 0-byte file when killed early). - tmp.unlink(missing_ok=True) - return {"file": str(src), "messages": 0, "bytes_before": src.stat().st_size, "verified": False, - "recovered": recover, "torn": True, "torn_error": error or "no MCAP header", - "error": "nothing salvageable: the file holds no complete record", - "seconds": round(time.perf_counter() - t0, 2)} - # Verify: the new file must yield the same per-topic counts, through the indexed reader. - from mcap.reader import make_reader - - with open(tmp, "rb") as fh: - rd = make_reader(fh) - summ = rd.get_summary() - got: dict[str, int] = {} - for _, chn, _ in rd.iter_messages(log_time_order=False): - got[chn.topic] = got.get(chn.topic, 0) + 1 - ok = got == want and summ is not None and bool(summ.chunk_indexes) - res = {"file": str(src), "messages": n, "bytes_before": src.stat().st_size, "bytes_after": tmp.stat().st_size, - "chunks": len(summ.chunk_indexes) if summ else 0, "compression": compression, - "level": level if compression == "zstd" else None, "message_index": False, "verified": ok, - "seconds": round(time.perf_counter() - t0, 2)} - if recover: - res.update({"recovered": True, "torn": torn, "torn_error": error, "marker": marker_written}) - if not ok: - tmp.unlink(missing_ok=True) - res["error"] = f"verification failed: per-topic counts {got} vs {want}" - return res - # Replace ATOMICALLY (os.replace: rename(2) / MoveFileEx on the same filesystem). A kill - # between an unlink and a rename used to leave a bag directory with metadata.yaml and no - # .mcap at all — for the record of truth that is the one unacceptable state. With - # `recover` / `keep_original` the source is moved aside first, so at every instant either - # the original or the verified rewrite is in place under a name a reader will find. - if recover: - src.rename(src.with_name(src.name + ".torn.bak")) # never a `.mcap` name: no reader must find it - elif keep_original: - src.rename(src.with_name(src.stem + ".unindexed.mcap")) - os.replace(tmp, src) - return res - - -def bag_mcaps(bag: Path) -> list[Path]: - return sorted(f for f in bag.glob("*.mcap") if not f.name.endswith((".unindexed.mcap", ".indexed.tmp"))) - - -def needs_recovery(bag_dir: str | os.PathLike) -> str | None: - """Why a bag needs `recover_bag`, or None when it is whole: no `metadata.yaml` (the writer never - closed), or an `.mcap` without a readable summary/footer (a torn last chunk).""" - bag = Path(bag_dir) - if not bag.is_dir(): - return None - files = bag_mcaps(bag) - if not files: - return None - if not (bag / "metadata.yaml").exists(): - return "no metadata.yaml (the writer never closed this bag)" - from mcap.reader import make_reader - - for f in files: - try: - with open(f, "rb") as fh: - if make_reader(fh, validate_crcs=False).get_summary() is None: - return f"{f.name}: no summary section (torn)" - except Exception as exc: - return f"{f.name}: {type(exc).__name__} reading the summary (torn)" - return None - - -def write_metadata(bag_dir: Path) -> dict: - """rosbag2's own Reindexer → `metadata.yaml` for the bag (`ros2 bag info` then works).""" - try: - import rosbag2_py - except Exception as exc: # pure-Python environment: the MCAP is still whole without it - return {"written": False, "error": f"rosbag2_py unavailable: {exc!r}"} - try: - rosbag2_py.Reindexer().reindex(rosbag2_py.StorageOptions(uri=str(bag_dir), storage_id="mcap")) - return {"written": (bag_dir / "metadata.yaml").exists()} - except Exception as exc: - return {"written": False, "error": f"{type(exc).__name__}: {exc}"} - - -def recover_bag(bag_dir: str | os.PathLike, compression: str = "zstd", marker: dict | None = None) -> dict: - """Salvage a bag the bridge never closed: every `.mcap` rewritten whole + indexed (torn tail - dropped, `recovered` session marker appended, original kept as `.torn.bak`), then - `metadata.yaml`. Idempotent: a bag that needs nothing is left alone (`recovered: False`).""" - bag = Path(bag_dir) - t0 = time.perf_counter() - reason = needs_recovery(bag) - if reason is None: - return {"bag": str(bag), "recovered": False, "reason": None} - files = [] - for f in bag_mcaps(bag): - try: - files.append(reindex(f, compression=compression, recover=True, marker=marker)) - except Exception as exc: - files.append({"file": str(f), "verified": False, "error": f"{type(exc).__name__}: {exc}"}) - salvaged = sum(int(r.get("messages") or 0) for r in files if r.get("verified")) - meta = write_metadata(bag) if salvaged else {"written": False, "error": "nothing salvaged"} - return {"bag": str(bag), "recovered": True, "reason": reason, "files": files, "salvaged_records": salvaged, - "metadata_yaml": meta, "whole": all(r.get("verified") for r in files) and bool(meta.get("written")), - "seconds": round(time.perf_counter() - t0, 2)} - - -def main(argv=None) -> int: - ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - ap.add_argument("bag", help="a bag directory or a single .mcap file") - ap.add_argument("--keep", action="store_true", help="keep the original as .unindexed.mcap") - ap.add_argument("--recover", action="store_true", - help="a bag the writer never closed: salvage the records up to the tear, index, write metadata.yaml") - ap.add_argument("--compression", choices=("zstd", "lz4", "none"), default="zstd") - a = ap.parse_args(argv) - p = Path(a.bag) - if a.recover: - if not p.is_dir(): - ap.error("--recover takes the bag DIRECTORY") - r = recover_bag(p, compression=a.compression) - print(json.dumps(r)) - return 0 if (r.get("whole") or not r.get("recovered")) else 1 - files = bag_mcaps(p) if p.is_dir() else [p] - rc = 0 - for f in files: - r = reindex(f, keep_original=a.keep, compression=a.compression) - print(json.dumps(r)) - rc |= 0 if r.get("verified") else 1 - return rc - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/nodes/recorder.py b/rig/nodes/recorder.py deleted file mode 100644 index 07e2698e..00000000 --- a/rig/nodes/recorder.py +++ /dev/null @@ -1,177 +0,0 @@ -"""recorder.py — one MCAP bag per run, written with rosbag2_py (LAB-303 Plan B). - -The bridge node records EVERY topic it touches into `/.bag/` while a run's log -is open (log_control enabled → off / log_export / shutdown), so the bag — not the live NDJSON — -is the record of truth. mcap_convert.py derives the behavior_v2 run log from it. - -Two kinds of records go in: - * device topics as received (raw CDR bytes from the subscriptions — `/fictrac/raw` or - `/fictrac/frame`, `/kinefly/raw`, `/bias/cmd`, `/bias/reply`, `/bias/status`), stamped - with the bridge's receive time (MCAP log_time); - * bridge-authored records, serialized here (`/arena/browser` = every browser message, - `/arena/event`, `/arena/frame`, `/arena/session`), each carrying the writer's emission - sequence number `seq`, so the converter can reproduce the live writer's line order. - -Profiles (`--bag-profile`): `default` = rosbag2's MCAP defaults (768 KiB chunks — a chunk is -only flushed when full or at close, so a short run is ONE chunk written at close — plus the -writer's 100 MiB message cache); `crashsafe` = no chunking, no cache — every message reaches -the file as it is written, so a SIGKILL loses at most the record in progress (both measured in -tests/test_ros2_poc.py's crash phase). Thread-safe: subscriptions write from the executor -thread, the asyncio side from the loop thread. Records that arrive while the bag is still -opening (rosbag2 takes ~150 ms to open one) are buffered and written first. - -Timestamps: rosbag2_py's 4-argument write is (topic, data, recv_timestamp, send_timestamp) -→ MCAP log_time = recv, publish_time = send (checked by reading the bag back). -""" - -from __future__ import annotations - -import json -import os -import threading -import time -from pathlib import Path - -import rosbag2_py -from rclpy.serialization import serialize_message -from std_msgs.msg import String - -from _common import wall_ns # the precise wall clock on Windows (time.time_ns elsewhere) - -STRING_TYPE = "std_msgs/msg/String" - -PROFILES = { - # name: (storage_preset_profile, storage_config (dict → YAML), max_cache_size bytes) - # `default` = rosbag2's chunked writer (768 KiB chunks + a 100 MiB message cache, flushed when - # full or at close) with the final layout's options (2026-10-18, docs/development/ - # fictrac-columns-in-the-bag.md §4): zstd at the plugin's slowest level, no per-message index. - # `crashsafe` writes every record at once, uncompressed; Recorder.close() rewrites it into - # the same final layout (mcap_index.reindex) once the run has closed cleanly. - "default": ("", {"compression": "Zstd", "compressionLevel": "Slowest", "noMessageIndex": True}, 100 * 1024 * 1024), - "crashsafe": ("", {"noChunking": True, "noChunkCRC": True, "compression": "None"}, 0), -} - - -def _yaml_from(d: dict) -> str: - # rosbag2_storage_mcap's storage_config_uri is a YAML mapping of its own option names. - return "".join(f"{k}: {json.dumps(v)}\n" for k, v in d.items()) - - -class Recorder: - def __init__(self, bag_dir: str | os.PathLike, topics: dict[str, str], profile: str = "default", - max_bag_bytes: int = 0) -> None: - """`topics`: topic name → ROS type name (e.g. 'std_msgs/msg/String'). `max_bag_bytes` > 0 - asks rosbag2 to split the bag into `_0.mcap`, `_1.mcap`, … at about that size (a - threshold rosbag2 checks after each write, not a hard cap; off by default, plan §3).""" - self.bag_dir = Path(bag_dir) - self.topics = dict(topics) - self.profile = profile - self.max_bag_bytes = int(max_bag_bytes or 0) - self._w = None - self._lock = threading.Lock() - self.count = 0 - self.bytes = 0 - self.dropped = 0 # writes attempted while closed - self.opened_mono = None - self._pending: list | None = None # records that arrived while open() was running - - @property - def active(self) -> bool: - return self._w is not None - - def open(self) -> None: - preset, cfg, cache = PROFILES[self.profile] - cfg_path = "" - if cfg: - # ONE constant sidecar per log dir and profile (its content never changes), not one - # hidden file per run — those accumulated in runlogs/ forever. - cfg_path = str(self.bag_dir.parent / f".mcap-storage-{self.profile}.yaml") - text = _yaml_from(cfg) - try: - if Path(cfg_path).read_text(encoding="utf-8") != text: - raise FileNotFoundError - except (FileNotFoundError, OSError): - Path(cfg_path).write_text(text, encoding="utf-8") - so = rosbag2_py.StorageOptions(uri=str(self.bag_dir), storage_id="mcap", max_cache_size=cache, - storage_preset_profile=preset, storage_config_uri=cfg_path) - if self.max_bag_bytes > 0: - so.max_bagfile_size = self.max_bag_bytes - co = rosbag2_py.ConverterOptions(input_serialization_format="cdr", output_serialization_format="cdr") - with self._lock: - self._pending = [] - self.count = 0 - self.bytes = 0 - w = rosbag2_py.SequentialWriter() - w.open(so, co) - for i, (name, typ) in enumerate(sorted(self.topics.items())): - w.create_topic(rosbag2_py.TopicMetadata(id=i, name=name, type=typ, serialization_format="cdr")) - with self._lock: - self._w = w - self.opened_mono = time.perf_counter() - pending, self._pending = self._pending, None - for topic, data, log_ns, pub_ns in pending or []: - self._write_locked(topic, data, log_ns, pub_ns) - - def write_raw(self, topic: str, data: bytes, t_ns: int | None = None, pub_ns: int | None = None) -> bool: - """Record already-serialized CDR bytes (a raw subscription's payload). `t_ns` = the - recorder's receive time (MCAP log_time; default now); `pub_ns` = the producer's own - stamp when it has one (MCAP publish_time; the closed-loop node's sample time).""" - log_ns = wall_ns() if t_ns is None else t_ns - with self._lock: - if self._w is None: - if self._pending is not None: # open() in progress: keep, write once open - self._pending.append((topic, data, log_ns, pub_ns)) - return True - self.dropped += 1 - return False - self._write_locked(topic, data, log_ns, pub_ns) - return True - - def _write_locked(self, topic: str, data: bytes, log_ns: int, pub_ns: int | None) -> None: - if pub_ns is None: - self._w.write(topic, data, log_ns) - else: - self._w.write(topic, data, log_ns, pub_ns) # (recv_timestamp, send_timestamp) - self.count += 1 - self.bytes += len(data) - - def write_json(self, topic: str, obj, t_ns: int | None = None, pub_ns: int | None = None) -> bool: - """Record a JSON object as std_msgs/String (compact separators, like the live log).""" - m = String() - m.data = json.dumps(obj, separators=(",", ":")) - return self.write_raw(topic, serialize_message(m), t_ns, pub_ns) - - def write_msg(self, topic: str, msg, t_ns: int | None = None, pub_ns: int | None = None) -> bool: - """Record a typed ROS message object.""" - return self.write_raw(topic, serialize_message(msg), t_ns, pub_ns) - - def close(self, reindex: bool = True) -> dict: - with self._lock: - w, self._w = self._w, None - if w is None: - return {} - if hasattr(w, "close"): - w.close() - else: # older rosbag2_py: the destructor closes - del w - files = sorted(self.bag_dir.glob("*.mcap")) - indexed = None - if reindex and self.profile == "crashsafe": - # The run closed cleanly: trade the crash-safe layout for an indexed, compressed one - # (same records; Foxglove and every seeking reader then open it without a scan). - try: - from mcap_index import reindex as _reindex - - indexed = [_reindex(f) for f in files] - except Exception as exc: # never let a post-close rewrite lose the run - indexed = [{"error": repr(exc)}] - return { - "indexed": indexed, - "bag": str(self.bag_dir), - "files": [f.name for f in files], - "bytes_on_disk": sum(f.stat().st_size for f in files), - "records": self.count, - "payload_bytes": self.bytes, - "profile": self.profile, - "open_s": round(time.perf_counter() - self.opened_mono, 3) if self.opened_mono else None, - } diff --git a/rig/nodes/rig.py b/rig/nodes/rig.py index 8d337e9f..1c046ac8 100644 --- a/rig/nodes/rig.py +++ b/rig/nodes/rig.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -"""rig.py — the one command a rig runs: Zenoh router + adapters + bridge node, supervised. +"""rig.py — the one command an ARENA rig runs: Zenoh router + adapters + the Studio gateway, supervised. pixi run rig # router, fictrac adapter, bridge node pixi run rig -- --kinefly --bias # + Kinefly adapter + BIAS node @@ -8,148 +8,69 @@ pixi run rig -- --scanimage # + the ScanImage node (JSON server on this PC); --si-mock for a stand-in pixi run rig -- --foxglove # + foxglove_bridge (:8766) from the `viz` environment +This file is the arena rig's COMPOSITION (rig-software-repos-and-runners.md §3.2): which nodes an +arena rig runs, in which order, and what happens when one dies. The device nodes and simulators +come from the installed `rig_nodes` package (reiserlab/rig-nodes) and are started as +`python -m rig_nodes.`; the mechanics — process groups, portable signals, the port +preflight, the supervised Child — are `rig_nodes.supervise`. What stays here is policy: the +gateway (bridge_node.py, this directory) and the arena visualization (viz_node.py) are this rig's +own nodes, and the rig exits when the gateway or the router dies (the Studio's WebSocket is gone, +nothing else matters). + Order: the router first (nodes retry until it answers on 127.0.0.1:7447), then every adapter/node. Each child's stderr is prefixed with its name. Ctrl-C stops everything in -reverse order; a child that dies on its own is reported (and the whole rig exits if it was -the bridge node — the Studio's WebSocket is gone, nothing else matters). Options after a -child's name are passed through, e.g. `--bridge-args "--frames 60"`. +reverse order; a child that dies on its own is reported. Options after a child's name are +passed through, e.g. `--bridge-args "--frames 60"`. """ from __future__ import annotations import argparse import os -import shlex import shutil -import socket import signal -import subprocess import sys import threading import time from pathlib import Path +from rig_nodes import zenoh +from rig_nodes.supervise import Child, preflight, split_args, wait_port + HERE = Path(__file__).resolve().parent NODES = HERE ROOT = HERE.parent # rig/ (the pixi workspace) -SIM = HERE.parents[1] / "fictrac-bridge" / "fictrac_sim.py" # `pixi install -e viz` puts foxglove_bridge in a sibling of the env this runs in: under # .pixi/envs, or under the `detached-environments` directory when one is configured (the -# Windows short-path setup for the typed build, WINDOWS-TEST.md). +# Windows short-path setup, WINDOWS-TEST.md). _ENVS = Path(os.environ["CONDA_PREFIX"]).parent if os.environ.get("CONDA_PREFIX") else ROOT / ".pixi" / "envs" VIZ_ENV = _ENVS / "viz" FOXGLOVE_PORT = 8766 -sys.path.insert(0, str(HERE)) -from _common import SIGKILL, popen_group, signal_group, wait_port # noqa: E402 - - -def port_in_use(proto: str, port: int, host: str = "127.0.0.1") -> bool: - """True when binding host:port fails (something else holds it) — or, on Windows, when a - TCP connect to it succeeds.""" - kind = socket.SOCK_STREAM if proto == "tcp" else socket.SOCK_DGRAM - s = socket.socket(socket.AF_INET, kind) - try: - if proto == "tcp" and os.name != "nt": - # Ignore TIME_WAIT leftovers from a just-stopped rig; a LIVE listener still fails. - # Not on Windows: there SO_REUSEADDR lets this probe bind OVER a live listener (ww18 - # 2026-10-15: a running router on 7447 went unreported), and TIME_WAIT does not block - # a plain bind. - s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - s.bind((host, port)) - except OSError: - return True - finally: - s.close() - if proto == "tcp" and os.name == "nt": - # Windows: a listener that shares its address blocks NO bind, wildcard or specific — the - # real BIAS (Qt, 0.0.0.0:5010) on ww18 2026-10-15. Only a connect sees it. - try: - with socket.create_connection((host, port), timeout=0.3): - return True - except OSError: - pass - return False - - -def split_args(s: str) -> list[str]: - """`--x-args "…"` → argv. POSIX shlex treats `\\` as an escape, so on Windows - `--video-dir D:\\rec\\reiserm\\ros2-poc` became the drive-relative `D:recreisermros2-poc` - and BIAS wrote the run's video there (ww18 2026-10-15). Windows: split without escapes, - then drop the quotes around a token ("C:\\My Videos\\x").""" - if os.name != "nt": - return shlex.split(s) - return [t[1:-1] if len(t) >= 2 and t[0] == t[-1] and t[0] in "\"'" else t for t in shlex.split(s, posix=False)] - - -class Child: - def __init__(self, name: str, argv: list[str]) -> None: - self.name = name - self.argv = argv - self.proc: subprocess.Popen | None = None - - def start(self) -> None: - # Own process group per child (popen_group), so a stop signal reaches wrappers AND - # what they spawn (`ros2 run … rmw_zenohd` does not forward SIGINT to the router). - self.proc = popen_group( - self.argv, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - text=True, - bufsize=1, - env=os.environ.copy(), - ) - threading.Thread(target=self._pump, name=f"pump-{self.name}", daemon=True).start() - - def _signal(self, sig: int) -> None: - assert self.proc - signal_group(self.proc, sig) - - def _pump(self) -> None: - assert self.proc and self.proc.stdout - for line in self.proc.stdout: - sys.stderr.write(f"[{self.name:8}] {line}") - sys.stderr.flush() - - def alive(self) -> bool: - return self.proc is not None and self.proc.poll() is None - - def stop(self, grace_s: float = 3.0) -> None: - if not self.alive(): - return - assert self.proc - try: - self._signal(signal.SIGINT) - self.proc.wait(grace_s) - except subprocess.TimeoutExpired: - self._signal(signal.SIGTERM) - try: - self.proc.wait(2.0) - except subprocess.TimeoutExpired: - self._signal(SIGKILL) - except (ProcessLookupError, OSError, ValueError): - pass +def node_argv(module: str, *args: str) -> list[str]: + """A rig_nodes module as a child process of THIS interpreter (the installed package).""" + return [sys.executable, "-m", module, *args] def main(argv: list[str] | None = None) -> int: p = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) p.add_argument("--kinefly", action="store_true", help="also run the Kinefly KF/1 adapter") p.add_argument("--bias", action="store_true", help="also run the BIAS camera node") - p.add_argument("--bias-sim", action="store_true", help="also run bias_sim.py (a fake BIAS program)") + p.add_argument("--bias-sim", action="store_true", help="also run the BIAS simulator (a fake BIAS program)") p.add_argument("--scanimage", action="store_true", help="also run the ScanImage node (talks to ScanImage's JSON server, default 127.0.0.1:5555)") - p.add_argument("--si-mock", action="store_true", help="also run tests/si_json_mock.py (a stand-in for ScanImage's JSON server, port 5555)") + p.add_argument("--si-mock", action="store_true", help="also run the ScanImage JSON-server stand-in (port 5555)") p.add_argument("--sim", action="store_true", help="also run the FicTrac simulator (random walk, 50 Hz)") p.add_argument("--viz-args", default="", help="extra args for viz_node.py (--deg-per-frame, --frame-dir, --feature-az0, --frames)") p.add_argument("--foxglove", action="store_true", help=f"also run foxglove_bridge on ws://127.0.0.1:{FOXGLOVE_PORT} (the `viz` environment; skipped with a note when it is not installed)") p.add_argument("--no-router", action="store_true", help="a Zenoh router is already running on this host") p.add_argument("--bridge-args", default="", help="extra args for bridge_node.py") - p.add_argument("--fictrac-args", default="", help="extra args for fictrac_udp_adapter.py") - p.add_argument("--kinefly-args", default="", help="extra args for kinefly_udp_adapter.py") - p.add_argument("--bias-args", default="", help="extra args for bias_node.py") - p.add_argument("--scanimage-args", default="", help="extra args for scanimage_node.py (e.g. --port 5555 --status-every 1)") - p.add_argument("--sim-args", default="--proto udp --rate 50", help="args for fictrac_sim.py") + p.add_argument("--fictrac-args", default="", help="extra args for the FicTrac adapter") + p.add_argument("--kinefly-args", default="", help="extra args for the Kinefly adapter") + p.add_argument("--bias-args", default="", help="extra args for the BIAS node") + p.add_argument("--scanimage-args", default="", help="extra args for the ScanImage node (e.g. --port 5555 --status-every 1)") + p.add_argument("--sim-args", default="--proto udp --rate 50", help="args for the FicTrac simulator") args = p.parse_args(argv) py = sys.executable @@ -167,45 +88,46 @@ def main(argv: list[str] | None = None) -> int: # Pre-flight: the ports this rig will bind. A clear line beats the router's Rust # panic text or a Python OSError traceback when a second `pixi run rig`, a stray # router, or the shipping bridge 3.4 (also ws :8765 + udp :60000) is still running. - taken = [] - for proto, port, who in ( - ("tcp", 7447, "a Zenoh router (another `pixi run rig` / `pixi run router`)") if not args.no_router else (None, 0, ""), + ports = [ ("tcp", 8765, "a bridge on the Studio WebSocket port — bridge 3.4 (`pixi run bridge` at the repo root) or another rig"), ("udp", 60000, "a FicTrac receiver — bridge 3.4 or another fictrac adapter"), - ("udp", 60001, "another Kinefly adapter") if args.kinefly else (None, 0, ""), - ("tcp", 5010, "a BIAS program or bias_sim") if args.bias_sim else (None, 0, ""), - ("tcp", 5555, "ScanImage's JSON server or si_json_mock") if args.si_mock else (None, 0, ""), - ("tcp", FOXGLOVE_PORT, "another foxglove_bridge (`pixi run -e viz foxglove-bridge` or another rig --foxglove)") if foxglove else (None, 0, ""), - ): - if proto and port_in_use(proto, port): - taken.append(f" {proto} 127.0.0.1:{port} is in use — probably {who}") + ] + if not args.no_router: + ports.insert(0, ("tcp", zenoh.ROUTER_PORT, "a Zenoh router (another `pixi run rig` / `pixi run router`)")) + if args.kinefly: + ports.append(("udp", 60001, "another Kinefly adapter")) + if args.bias_sim: + ports.append(("tcp", 5010, "a BIAS program or the BIAS simulator")) + if args.si_mock: + ports.append(("tcp", 5555, "ScanImage's JSON server or its stand-in")) + if foxglove: + ports.append(("tcp", FOXGLOVE_PORT, "another foxglove_bridge (`pixi run -e viz foxglove-bridge` or another rig --foxglove)")) + taken = preflight(ports) if taken: print("[rig] cannot start, ports already bound:\n" + "\n".join(taken) + "\n[rig] stop that process first (or pass --no-router if the router is meant to be shared)", file=sys.stderr) return 2 - # The Zenoh config paths: pixi's activation.env sets them via $PIXI_PROJECT_ROOT, which a - # Windows shell would leave literal — set them explicitly here so `pixi run rig` is the - # same command on every platform. - cfg_dir = HERE.parent / "config" - os.environ["ZENOH_ROUTER_CONFIG_URI"] = str(cfg_dir / "zenoh-router.json5") - os.environ["ZENOH_SESSION_CONFIG_URI"] = str(cfg_dir / "zenoh-session.json5") - os.environ.setdefault("RMW_IMPLEMENTATION", "rmw_zenoh_cpp") - os.environ.setdefault("ZENOH_ROUTER_CHECK_ATTEMPTS", "0") + # The Zenoh config paths come from the installed rig_nodes package (loopback-only), set here so + # `pixi run rig` is the same command on every platform — a Windows shell would leave pixi's + # `$PIXI_PROJECT_ROOT` activation value literal. + os.environ["ZENOH_ROUTER_CONFIG_URI"] = str(zenoh.ROUTER_CONFIG) + os.environ["ZENOH_SESSION_CONFIG_URI"] = str(zenoh.SESSION_CONFIG) + zenoh.apply_env_defaults() children: list[Child] = [] if not args.no_router: - children.append(Child("router", ["ros2", "run", "rmw_zenoh_cpp", "rmw_zenohd"])) + children.append(Child("router", zenoh.router_argv())) nodes: list[Child] = [ - Child("fictrac", [py, str(NODES / "fictrac_udp_adapter.py"), *split_args(args.fictrac_args)]), + Child("fictrac", node_argv("rig_nodes.fictrac_udp_adapter", *split_args(args.fictrac_args))), ] if args.kinefly: - nodes.append(Child("kinefly", [py, str(NODES / "kinefly_udp_adapter.py"), *split_args(args.kinefly_args)])) + nodes.append(Child("kinefly", node_argv("rig_nodes.kinefly_udp_adapter", *split_args(args.kinefly_args)))) if args.bias_sim: - nodes.append(Child("bias-sim", [py, str(NODES / "bias_sim.py")])) + nodes.append(Child("bias-sim", node_argv("rig_nodes.sims.bias_sim"))) if args.bias: - nodes.append(Child("bias", [py, str(NODES / "bias_node.py"), *split_args(args.bias_args)])) + nodes.append(Child("bias", node_argv("rig_nodes.bias_node", *split_args(args.bias_args)))) if args.si_mock: - nodes.append(Child("si-mock", [py, str(HERE.parent / "tests" / "si_json_mock.py")])) + nodes.append(Child("si-mock", node_argv("rig_nodes.sims.si_json_mock"))) if args.scanimage: - nodes.append(Child("scanimage", [py, str(NODES / "scanimage_node.py"), *split_args(args.scanimage_args)])) + nodes.append(Child("scanimage", node_argv("rig_nodes.scanimage_node", *split_args(args.scanimage_args)))) bridge = Child("bridge", [py, str(NODES / "bridge_node.py"), *split_args(args.bridge_args)]) nodes.append(bridge) if foxglove: @@ -217,7 +139,7 @@ def main(argv: list[str] | None = None) -> int: # packages; RMW_IMPLEMENTATION + the Zenoh configs pass through the environment. nodes.append(Child("foxglove", [pixi, "run", "--manifest-path", str(ROOT / "pixi.toml"), "-e", "viz", "foxglove-bridge"])) if args.sim: - nodes.append(Child("sim", [py, str(SIM), *split_args(args.sim_args)])) + nodes.append(Child("sim", node_argv("rig_nodes.sims.fictrac_sim", *split_args(args.sim_args)))) stop = threading.Event() for sig in (signal.SIGINT, signal.SIGTERM): @@ -229,10 +151,10 @@ def main(argv: list[str] | None = None) -> int: for c in children: c.start() if children: - if wait_port("127.0.0.1", 7447, 15.0): - print("[rig] zenoh router listening on 127.0.0.1:7447", file=sys.stderr) + if wait_port("127.0.0.1", zenoh.ROUTER_PORT, 15.0): + print(f"[rig] zenoh router listening on 127.0.0.1:{zenoh.ROUTER_PORT}", file=sys.stderr) else: - print("[rig] router did not come up on 127.0.0.1:7447 within 15 s", file=sys.stderr) + print(f"[rig] router did not come up on 127.0.0.1:{zenoh.ROUTER_PORT} within 15 s", file=sys.stderr) rc = 1 return rc for c in nodes: @@ -245,8 +167,7 @@ def main(argv: list[str] | None = None) -> int: time.sleep(0.5) for c in children: if not c.alive(): - code = c.proc.returncode if c.proc else None - print(f"[rig] {c.name} exited (code {code})", file=sys.stderr) + print(f"[rig] {c.name} exited (code {c.returncode})", file=sys.stderr) children.remove(c) if c is bridge or c.name == "router": # Without the router every node retries forever while the Studio still diff --git a/rig/nodes/scanimage_cmd.py b/rig/nodes/scanimage_cmd.py deleted file mode 100644 index 0d4ec478..00000000 --- a/rig/nodes/scanimage_cmd.py +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env python3 -"""scanimage_cmd.py — send one plugin command to scanimage_node.py and print its reply. - - pixi run scanimage-cmd -- ping - pixi run scanimage-cmd -- status --json - pixi run scanimage-cmd -- setFileStem --stem violet_d7 - pixi run scanimage-cmd -- set --property hStackManager.framesPerSlice --value 750 - pixi run scanimage-cmd -- grab - pixi run scanimage-cmd -- waitIdle --timeout-s 40 - pixi run scanimage-cmd -- abort - -Exit 0 on `ok`, 1 on an error reply, 3 on an UNKNOWN outcome (timeout), 2 on no reply. -""" - -from __future__ import annotations - -import argparse -import json -import sys -import threading -import time -import uuid - -import rclpy -from rclpy.node import Node -from rclpy.qos import QoSDurabilityPolicy, QoSHistoryPolicy, QoSProfile, QoSReliabilityPolicy -from std_msgs.msg import String - -QOS = QoSProfile(reliability=QoSReliabilityPolicy.RELIABLE, history=QoSHistoryPolicy.KEEP_LAST, depth=50, durability=QoSDurabilityPolicy.VOLATILE) - - -def parse_value(text: str): - """--value as JSON when it parses (750, true, "x"), else the plain string.""" - try: - return json.loads(text) - except (json.JSONDecodeError, TypeError): - return text - - -def main(argv: list[str] | None = None) -> int: - p = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - p.add_argument("command", help="ping | status | setFileStem | set | grab | waitIdle | abort | get") - p.add_argument("--stem", help="setFileStem: the log file stem") - p.add_argument("--property", help="get/set: property path, e.g. hStackManager.framesPerSlice") - p.add_argument("--value", help="set: the value (JSON if it parses, else a string)") - p.add_argument("--timeout-s", type=float, help="waitIdle: seconds to wait for acqState idle") - p.add_argument("--timeout", type=float, default=45.0, help="seconds to wait for the reply (default: 45)") - p.add_argument("--json", action="store_true", help="print the raw reply JSON") - args, ros_args = p.parse_known_args(argv) - params: dict = {} - if args.stem is not None: - params["stem"] = args.stem - if args.property is not None: - params["property"] = args.property - if args.value is not None: - params["value"] = parse_value(args.value) - if args.timeout_s is not None: - params["timeout_s"] = args.timeout_s - cid = str(uuid.uuid4())[:8] - - rclpy.init(args=ros_args) - node = Node("scanimage_cmd_" + cid) - got: dict = {} - done = threading.Event() - - def on_reply(msg: String) -> None: - try: - rep = json.loads(msg.data) - except json.JSONDecodeError: - return - if isinstance(rep, dict) and rep.get("id") == cid: - got.update(rep) - done.set() - - node.create_subscription(String, "/scanimage/reply", on_reply, QOS) - pub = node.create_publisher(String, "/scanimage/cmd", QOS) - time.sleep(0.5) # discovery - m = String() - m.data = json.dumps({"id": cid, "command": args.command, "params": params}) - pub.publish(m) - deadline = time.monotonic() + args.timeout - while not done.is_set() and time.monotonic() < deadline: - rclpy.spin_once(node, timeout_sec=0.1) - node.destroy_node() - try: - rclpy.try_shutdown() - except Exception: - pass - if not got: - print(f"[scanimage-cmd] no reply within {args.timeout:g}s (is `pixi run scanimage-node` running?)", file=sys.stderr) - return 2 - if args.json: - print(json.dumps(got, indent=1)) - else: - v = got.get("value") - print(f"{got.get('command')} → {got.get('outcome')} ({got.get('rtt_ms')} ms)" + (f" value={v!r}" if v not in (None, "") else "") + (f" error={got.get('error')}" if got.get("error") else "")) - if got.get("artifact"): - print(f"artifact: {got['artifact']}") - if got.get("reconciled"): - print(f"reconciled status: {got['reconciled']}") - return 0 if got.get("ok") else (3 if got.get("outcome") == "unknown" else 1) - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/nodes/scanimage_node.py b/rig/nodes/scanimage_node.py deleted file mode 100644 index b5efc369..00000000 --- a/rig/nodes/scanimage_node.py +++ /dev/null @@ -1,486 +0,0 @@ -#!/usr/bin/env python3 -"""scanimage_node.py — ScanImage as a ROS 2 node: protocol plugin commands in, replies + status out. - -ScanImage (2026.0.0) has no ROS node. This adapter talks to its built-in JSON server -(`most.network.json.Server`, started in MATLAB with `hJ = most.network.json.Server(5555)`; -chosen over si_zmp on LAB-305's measurements: event-driven, no frame-timing disturbance, -~2 ms replies) and exposes it on three topics, all std_msgs/String JSON (no custom types): - - /scanimage/cmd IN {"id": , "command": , "params": {…}} - /scanimage/reply OUT {"id", "command", "params", "ok", "outcome": "ok"|"error"|"unknown", "value", - "error", "steps": [...per JSON request...], "rtt_ms", "t_ms", "rx_epoch_ms", - "artifact": {"kind":"tiff", "path", "stem", "counter"} (grab)} - /scanimage/status OUT every --status-every s: {"reachable", "acqState", "lastFrameNumber", - "logFileCounter", "logFileStem", "logFilePath", "loggingEnable", "rtt_ms", "t_ms"} - -The `command` vocabulary is the protocol's `scanimage` plugin (js/plugin-registry.js, -class "ScanImagePlugin" — MATLAB has no such class yet): - - setFileStem(stem) hScan2D.logFileStem = stem (one TIFF series per stem) - set(property, value) ONE scalar property from SET_ALLOWLIST (framesPerSlice, logging on/off, - file path/stem/counter); anything else is refused here, never sent - grab eval hSI.startGrab(), then confirm acqState == 'grab' - waitIdle(timeout_s) poll acqState until 'idle' (the grab finished) or timeout_s (default 30) - abort eval hSI.abort(), then confirm acqState == 'idle' - get(property) ONE scalar property from GET_ALLOWLIST (also what status polls) - ping / status reachability + the status snapshot - -Why the allowlists (LAB-305, stock server on the rig, patches reverted): B2 — a `get` of an -OBJECT-valued property gets no reply and the client hangs; B4 — a partial message blocks -MATLAB for ~10 s, so every request is one length-prefixed write; the server is single-client, -so this node is the ONLY client and status polling is coalesced; `eval` exists on the server -but this node sends exactly two fixed expressions (startGrab, abort) and never a string from -a protocol. The JSON client is ported from tests/remote-control/si_remote.py (JsonClient) in -reiserlab/scanimage-2026-bergamo (Hannah Marie Santos), with attribution. - -LAB-303 semantics (as bias_node.py): `timeout_s` per request (`slow_timeout_s` for grab/abort/ -startFocus — ScanImage's startGrab is synchronous and takes 1.2–2.4 s on the Bergamo PC); a -timeout is an UNKNOWN outcome (`outcome: "unknown"`), the TCP connection is dropped and -rebuilt (the stream is out of sync after a timeout), and the node reconciles with a status -read before anything else. `critical` / `on_loss` are the runner's decision — the node reports. - - pixi run scanimage-node -- --host 127.0.0.1 --port 5555 - pixi run scanimage-cmd -- status - pixi run scanimage-cmd -- setFileStem --stem violet_d7 - pixi run scanimage-cmd -- grab && pixi run scanimage-cmd -- waitIdle --timeout-s 40 -""" - -from __future__ import annotations - -import argparse -import json -import queue -import socket -import struct -import sys -import threading -import time - -import rclpy -from rclpy.node import Node -from std_msgs.msg import String - -from _common import RELIABLE_QOS, raise_timer_resolution, spin, wall_ms - -CMD_TOPIC = "/scanimage/cmd" -REPLY_TOPIC = "/scanimage/reply" -STATUS_TOPIC = "/scanimage/status" -QOS = RELIABLE_QOS -PLUGIN_COMMANDS = ("setFileStem", "set", "grab", "waitIdle", "abort", "get", "ping", "status") - -# Scalar properties this node will read. Everything here encodes as a JSON scalar or a flat -# numeric vector in ScanImage 2026.0.0 — never an object (B2). -GET_ALLOWLIST = frozenset({ - "hSI.acqState", - "hSI.acqsPerLoop", - "hSI.hDisplay.lastFrameNumber", - "hSI.hScan2D.logFileStem", - "hSI.hScan2D.logFilePath", - "hSI.hScan2D.logFileCounter", - "hSI.hScan2D.logAverageFactor", - "hSI.hScan2D.bidirectional", - "hSI.hChannels.loggingEnable", - "hSI.hChannels.channelSave", - "hSI.hStackManager.framesPerSlice", - "hSI.hStackManager.numSlices", - "hSI.hRoiManager.scanFrameRate", - "hSI.hRoiManager.scanZoomFactor", - "hSI.hRoiManager.linesPerFrame", - "hSI.hRoiManager.pixelsPerLine", -}) -# Scalar properties a protocol may set. Deliberately small: scan geometry, zoom, channels, -# power, gate windows (B3) and anything saved to the MDF stay in ScanImage's own UI/config. -SET_ALLOWLIST = frozenset({ - "hSI.hScan2D.logFileStem", - "hSI.hScan2D.logFilePath", - "hSI.hScan2D.logFileCounter", - "hSI.hStackManager.framesPerSlice", - "hSI.hChannels.loggingEnable", -}) -# The only two expressions ever sent as `eval` (plus startFocus for the CLI's bench check). -EVAL_GRAB = "hSI.startGrab()" -EVAL_ABORT = "hSI.abort()" -EVAL_FOCUS = "hSI.startFocus()" -SLOW_COMMANDS = frozenset({"grab", "abort", "focus"}) -STATUS_PROPS = ("hSI.acqState", "hSI.hDisplay.lastFrameNumber", "hSI.hScan2D.logFileCounter", - "hSI.hScan2D.logFileStem", "hSI.hScan2D.logFilePath", "hSI.hChannels.loggingEnable") - - -def canon(prop: str) -> str: - """'hScan2D.logFileStem' and 'hSI.hScan2D.logFileStem' name the same property.""" - prop = str(prop or "").strip() - return prop if prop.startswith("hSI.") or not prop else "hSI." + prop - - -def coerce_scalar(value): - """A protocol's `set` value arrives as text from the designer ("640", "true", "F:\\data"): - make it the JSON scalar the ScanImage property wants — int, float, bool — and leave real - text (paths, stems) alone. Non-strings pass through unchanged.""" - if not isinstance(value, str): - return value - t = value.strip() - low = t.lower() - if low in ("true", "false"): - return low == "true" - try: - return int(t) - except ValueError: - pass - try: - f = float(t) - return f if t.lower() not in ("nan", "inf", "-inf", "+inf") else value - except ValueError: - return value - - -class SiError(RuntimeError): - """The server replied with an error.""" - - -class SiTimeout(TimeoutError): - """No (complete) reply within the timeout — an UNKNOWN outcome.""" - - -class JsonClient: - """ScanImage's JSON server over TCP: ` None: - self.host, self.port = host, port - self.timeout_s = timeout_s - self.slow_timeout_s = max(timeout_s, slow_timeout_s if slow_timeout_s is not None else timeout_s) - self._sock: socket.socket | None = None - self.reconnects = 0 - - @property - def base(self) -> str: - return f"json://{self.host}:{self.port}" - - def _connect(self) -> None: - self._sock = socket.create_connection((self.host, self.port), timeout=self.timeout_s) - self._sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) - - def drop(self) -> None: - """Close the connection; the next request reconnects. REQUIRED after a timeout: the - stream may hold a late reply that would be read as the answer to the next request.""" - if self._sock is not None: - try: - self._sock.close() - except OSError: - pass - self._sock = None - self.reconnects += 1 - - def _recv_exact(self, n: int) -> bytes: - assert self._sock is not None - buf = b"" - while len(buf) < n: - chunk = self._sock.recv(n - len(buf)) - if not chunk: - raise ConnectionError("ScanImage JSON server closed the connection") - buf += chunk - return buf - - def request(self, msg: dict, timeout_s: float | None = None) -> tuple[dict, float]: - """→ (reply dict, rtt_ms). Raises SiTimeout (connection dropped), SiError, OSError.""" - data = json.dumps(msg, separators=(",", ":")).encode("utf-8") - payload = struct.pack(" tuple[object, float]: - rep, rtt = self.request({"command": "get", "property": prop}, timeout_s) - return rep.get("value"), rtt - - def set(self, prop: str, value, timeout_s: float | None = None) -> tuple[object, float]: - rep, rtt = self.request({"command": "set", "property": prop, "value": value}, timeout_s) - return rep.get("actual", value), rtt - - def eval(self, expr: str, timeout_s: float | None = None) -> float: - _, rtt = self.request({"command": "eval", "function": expr, "num_outputs": 0}, timeout_s) - return rtt - - -class ScanImageNode(Node): - def __init__(self, cli: JsonClient, status_every_s: float, poll_s: float, default_wait_s: float) -> None: - super().__init__("scanimage") - self.cli = cli - self.poll_s = poll_s - self.default_wait_s = default_wait_s - self.reply_pub = self.create_publisher(String, REPLY_TOPIC, QOS) - self.status_pub = self.create_publisher(String, STATUS_TOPIC, QOS) - self.create_subscription(String, CMD_TOPIC, self._on_cmd, QOS) - self._q: queue.Queue = queue.Queue() - self._status_pending = False # at most ONE status poll waits in the queue (coalesced) - self._worker = threading.Thread(target=self._work, name="scanimage-json", daemon=True) - self._worker.start() - if status_every_s > 0: - self.create_timer(status_every_s, self._enqueue_status) - self.commands = 0 - self.get_logger().info(f"ScanImage JSON server at {cli.host}:{cli.port} ← {CMD_TOPIC} → {REPLY_TOPIC}, {STATUS_TOPIC} every {status_every_s:g}s") - - # ── plumbing ──────────────────────────────────────────────────────────────────────── - def _publish(self, pub, obj: dict) -> None: - obj.setdefault("rx_epoch_ms", wall_ms()) - m = String() - m.data = json.dumps(obj, separators=(",", ":"), default=str) - pub.publish(m) - - def _on_cmd(self, msg: String) -> None: - try: - req = json.loads(msg.data) - except json.JSONDecodeError: - self._publish(self.reply_pub, {"id": None, "ok": False, "outcome": "error", "error": "command is not JSON"}) - return - if isinstance(req, dict): - self._q.put(("cmd", req)) - - def _enqueue_status(self) -> None: - if not self._status_pending: - self._status_pending = True - self._q.put(("status", None)) - - def _work(self) -> None: - while True: - kind, payload = self._q.get() - try: - if kind == "status": - self._status_pending = False - self._do_status() - else: - self._do_cmd(payload) - except Exception as exc: # must not kill the worker - self.get_logger().error(f"{kind} failed: {exc!r}") - if kind == "cmd": - self._publish(self.reply_pub, {"id": (payload or {}).get("id"), "command": (payload or {}).get("command"), - "ok": False, "outcome": "error", "error": f"node error: {exc!r}"}) - - # ── status ────────────────────────────────────────────────────────────────────────── - def _snapshot(self, steps: list | None = None) -> dict: - """The status snapshot: one `get` per STATUS_PROPS (all scalar). acqState must read; any - other property that ScanImage answers with an error is None + `errors[prop]` — e.g. - hDisplay.lastFrameNumber throws "Index exceeds array bounds" until the first acquisition - after ScanImage starts (Bergamo, 2026-10-16). Timeouts and socket errors still raise.""" - out: dict = {} - errors: dict = {} - rtt_total = 0.0 - for prop in STATUS_PROPS: - try: - v, rtt = self.cli.get(prop) - except SiError as exc: - if prop == "hSI.acqState": - raise - out[prop.split(".")[-1]] = None - errors[prop] = str(exc).splitlines()[0] - if steps is not None: - steps.append({"command": "get", "property": prop, "ok": False, "error": errors[prop]}) - continue - rtt_total += rtt - out[prop.split(".")[-1]] = v - if steps is not None: - steps.append({"command": "get", "property": prop, "ok": True, "value": v, "rtt_ms": rtt}) - if errors: - out["errors"] = errors - out["rtt_ms"] = round(rtt_total, 2) - return out - - def _do_status(self) -> dict | None: - t_ms = wall_ms() - try: - st = self._snapshot() - self._publish(self.status_pub, {"reachable": True, "t_ms": t_ms, **st}) - return st - except (SiTimeout, SiError, OSError) as exc: - self._publish(self.status_pub, {"reachable": False, "t_ms": t_ms, "error": str(exc)}) - return None - - # ── commands ──────────────────────────────────────────────────────────────────────── - def _do_cmd(self, req: dict) -> None: - self.commands += 1 - cid = req.get("id") - command = str(req.get("command", "")) - params = req.get("params") if isinstance(req.get("params"), dict) else {} - t_ms = wall_ms() - t0 = time.perf_counter() - out: dict = {"id": cid, "command": command, "params": params, "t_ms": t_ms, "steps": []} - steps = out["steps"] - try: - if command not in PLUGIN_COMMANDS: - raise ValueError(f"unknown plugin command {command!r} (one of {PLUGIN_COMMANDS})") - value = self._run(command, params, steps) - out.update({"ok": True, "outcome": "ok", "value": value}) - if command == "grab" and isinstance(value, dict): - out["artifact"] = {"kind": "tiff", "program": "scanimage", "path": value.get("logFilePath"), - "stem": value.get("logFileStem"), "counter": value.get("logFileCounter")} - except SiTimeout as exc: - # UNKNOWN: the request may or may not have taken effect (the eval may have started - # the grab). The connection was dropped; reconcile with a status read, and say so. - steps.append({"ok": None, "error": str(exc)}) - out.update({"ok": False, "outcome": "unknown", "error": str(exc)}) - st = self._do_status() - if st is not None: - out["reconciled"] = st - except SiError as exc: - steps.append({"ok": False, "error": str(exc)}) - out.update({"ok": False, "outcome": "error", "error": f"ScanImage: {exc}"}) - except (ValueError, TypeError) as exc: - out.update({"ok": False, "outcome": "error", "error": str(exc)}) - except OSError as exc: - steps.append({"ok": False, "error": str(exc)}) - out.update({"ok": False, "outcome": "error", "error": str(exc)}) - out["rtt_ms"] = round((time.perf_counter() - t0) * 1000.0, 2) - self._publish(self.reply_pub, out) - if out["ok"]: - self.get_logger().info(f"{command} → ok ({out['rtt_ms']} ms)") - else: - self.get_logger().warning(f"{command} → {out['outcome']} ({out['rtt_ms']} ms): {out.get('error')}") - - def _get(self, prop: str, steps: list): - prop = canon(prop) - if prop not in GET_ALLOWLIST: - raise ValueError(f"{prop!r} is not a readable scalar property (allowlist: {sorted(GET_ALLOWLIST)})") - v, rtt = self.cli.get(prop) - steps.append({"command": "get", "property": prop, "ok": True, "value": v, "rtt_ms": rtt}) - return v - - def _set(self, prop: str, value, steps: list): - prop = canon(prop) - if prop not in SET_ALLOWLIST: - raise ValueError(f"{prop!r} may not be set from a protocol (allowlist: {sorted(SET_ALLOWLIST)})") - if isinstance(value, (dict, list)): - raise ValueError(f"{prop}: only scalar values may be set") - value = coerce_scalar(value) - actual, rtt = self.cli.set(prop, value) - steps.append({"command": "set", "property": prop, "value": value, "ok": True, "actual": actual, "rtt_ms": rtt}) - return actual - - def _acq_state(self, steps: list | None = None) -> str: - v, rtt = self.cli.get("hSI.acqState") - if steps is not None: - steps.append({"command": "get", "property": "hSI.acqState", "ok": True, "value": v, "rtt_ms": rtt}) - return str(v) - - def _wait_state(self, want, timeout_s: float, steps: list) -> str: - """Poll acqState every poll_s until it is in `want` (a set) or timeout_s elapses. Returns - the last state. Polling, not blocking: each poll is one ~2 ms request (LAB-305: polling - the JSON server at 1–20 Hz did not disturb frame timing).""" - end = time.monotonic() + timeout_s - polls = 0 - while True: - st = self._acq_state() - polls += 1 - if st in want or time.monotonic() >= end: - steps.append({"command": "poll", "property": "hSI.acqState", "ok": st in want, "value": st, "polls": polls}) - return st - time.sleep(self.poll_s) - - def _run(self, command: str, params: dict, steps: list): - if command == "ping": - st = self._acq_state(steps) - return {"acqState": st} - if command == "status": - return self._snapshot(steps) - if command == "get": - return self._get(params.get("property", ""), steps) - if command == "set": - if "property" not in params or "value" not in params: - raise ValueError("set needs params.property and params.value") - return self._set(params["property"], params["value"], steps) - if command == "setFileStem": - stem = str(params.get("stem") or params.get("filename") or "").strip() - if not stem: - raise ValueError("setFileStem needs params.stem") - actual = self._set("hSI.hScan2D.logFileStem", stem, steps) - return {"logFileStem": actual, "logFileCounter": self._get("hSI.hScan2D.logFileCounter", steps)} - if command == "grab": - before = self._acq_state(steps) - if before != "idle": - raise SiError(f"cannot start a grab while acqState is '{before}' (abort first)") - stem = self._get("hSI.hScan2D.logFileStem", steps) - path = self._get("hSI.hScan2D.logFilePath", steps) - counter = self._get("hSI.hScan2D.logFileCounter", steps) - rtt = self.cli.eval(EVAL_GRAB, self.cli.slow_timeout_s) - steps.append({"command": "eval", "function": EVAL_GRAB, "ok": True, "rtt_ms": rtt}) - # Confirm: ScanImage's startGrab is synchronous, so 'grab' should be immediate; allow - # a short window (a busy GUI thread) before calling the outcome an error. - st = self._wait_state({"grab", "loop"}, min(5.0, self.cli.slow_timeout_s), steps) - if st not in ("grab", "loop"): - raise SiError(f"startGrab returned but acqState is '{st}'") - return {"acqState": st, "logFileStem": stem, "logFilePath": path, "logFileCounter": counter, "start_rtt_ms": rtt} - if command == "waitIdle": - to = params.get("timeout_s", self.default_wait_s) - try: - to = float(to) - except (TypeError, ValueError): - raise ValueError(f"waitIdle: timeout_s must be a number, got {to!r}") - t0 = time.monotonic() - st = self._wait_state({"idle"}, to, steps) - waited = round(time.monotonic() - t0, 3) - if st != "idle": - raise SiError(f"still '{st}' after {waited:g} s (timeout_s {to:g}); use abort") - # lastFrameNumber is informational: on the Bergamo (2026.0.0) it throws "Index exceeds - # array bounds" even right after a grab, so it must not turn a reached idle into an error. - try: - last = self._get("hSI.hDisplay.lastFrameNumber", steps) - except SiError as exc: - last = None - steps.append({"command": "get", "property": "hSI.hDisplay.lastFrameNumber", "ok": False, - "error": str(exc).splitlines()[0]}) - return {"acqState": st, "waited_s": waited, "lastFrameNumber": last, - "logFileCounter": self._get("hSI.hScan2D.logFileCounter", steps)} - if command == "abort": - rtt = self.cli.eval(EVAL_ABORT, self.cli.slow_timeout_s) - steps.append({"command": "eval", "function": EVAL_ABORT, "ok": True, "rtt_ms": rtt}) - st = self._wait_state({"idle"}, min(5.0, self.cli.slow_timeout_s), steps) - if st != "idle": - raise SiError(f"abort returned but acqState is '{st}'") - return {"acqState": st} - raise ValueError(f"unhandled command {command!r}") - - -def main(argv: list[str] | None = None) -> int: - p = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - p.add_argument("--host", default="127.0.0.1", help="ScanImage JSON server host (default: 127.0.0.1 — keep it local; the server binds all interfaces)") - p.add_argument("--port", type=int, default=5555, help="ScanImage JSON server port (default: 5555)") - p.add_argument("--timeout-s", type=float, default=2.0, help="per-request timeout; a timeout is an UNKNOWN outcome and drops the connection (default: 2)") - p.add_argument("--slow-timeout-s", type=float, default=15.0, help="timeout for grab/abort (ScanImage's startGrab is synchronous, 1.2–2.4 s on the Bergamo PC; default: 15)") - p.add_argument("--status-every", type=float, default=1.0, help="status poll period in s; 0 = off (default: 1 — six ~2 ms gets)") - p.add_argument("--poll-s", type=float, default=0.25, help="acqState poll period inside grab/waitIdle/abort (default: 0.25)") - p.add_argument("--wait-s", type=float, default=30.0, help="waitIdle default timeout_s when the command carries none (default: 30)") - args, ros_args = p.parse_known_args(argv) - raise_timer_resolution() - rclpy.init(args=ros_args) - node = ScanImageNode(JsonClient(args.host, args.port, args.timeout_s, args.slow_timeout_s), args.status_every, args.poll_s, args.wait_s) - spin(node) - print(f"[scanimage-node] {node.commands} commands handled, {node.cli.reconnects} reconnects", file=sys.stderr) - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/nodes/viz_node.py b/rig/nodes/viz_node.py index b1a10ea4..fbd49b65 100644 --- a/rig/nodes/viz_node.py +++ b/rig/nodes/viz_node.py @@ -55,7 +55,7 @@ from std_msgs.msg import Bool, ColorRGBA, Float64, String from visualization_msgs.msg import Marker, MarkerArray -from _common import RELIABLE_QOS, spin +from rig_nodes._common import RELIABLE_QOS, spin BALL_R = 1.0 ARENA_R = 3.2 diff --git a/rig/pixi.toml b/rig/pixi.toml index 587d871a..c355e95e 100644 --- a/rig/pixi.toml +++ b/rig/pixi.toml @@ -1,107 +1,115 @@ -# rig — the ROS 2 bridge graph (LAB-303). Renamed from `ros2-poc/` on 2026-10-26 -# (docs/development/rig-software-repos-and-runners.md §3.2 / §7.12). +# rig — the ARENA rig's ROS 2 workspace (LAB-303): the Studio gateway, the arena composition and the +# arena visualization, on top of the shared rig-nodes package set. Renamed from `ros2-poc/` on +# 2026-10-26; the shared part (interfaces, device adapters + simulators, recorder, supervision, +# benches) moved to reiserlab/rig-nodes the same day (docs/development/rig-software-repos-and-runners.md +# §3.3, LAB-338) and is INSTALLED here as the `rig_nodes` (+ optional `rig_interfaces`) packages. # # A SEPARATE pixi workspace from the repo root one on purpose: the root `pixi.toml` # (bridge 3.4, tests, release tooling) stays untouched, and the two environments -# live side by side on a rig PC — `pixi run bridge` at the root is the shipping -# bridge, `pixi run rig` here is the PoC graph. +# live side by side on a rig PC — `pixi run bridge` at the root is the legacy +# bridge, `pixi run rig` here is the graph. # -# pixi install # RoboStack Jazzy (ros-base) + rmw_zenoh + our Python deps +# pixi install # RoboStack Jazzy (ros-base) + rmw_zenoh + rosbag2/MCAP + rig_nodes (from the rig-nodes channel) # pixi run rig # Zenoh router + fictrac adapter + bridge node (one command) +# pixi install -e typed # + rig_interfaces: typed /fictrac/frame + /arena/frame (same solve group, one RoboStack set) +# pixi install -e dev # a sibling checkout of rig-nodes (../../rig-nodes) built from source instead of the channel # -# Channels: RoboStack publishes ROS 2 as conda packages; conda-forge first so the -# non-ROS stack (python, websockets, pyzmq) resolves from there. Bare channel names -# resolve through pixi's default channel alias (conda.anaconda.org), which is what -# a lab network with an allowlisting proxy is most likely to permit. +# Channels: RoboStack publishes ROS 2 as conda packages; conda-forge first so the non-ROS stack +# (python, websockets, pyzmq) resolves from there. Bare channel names resolve through pixi's +# default channel alias (conda.anaconda.org), which is what a lab network with an allowlisting +# proxy is most likely to permit. The rig-nodes channel is read over raw.githubusercontent.com +# pinned to a RELEASE TAG of that repository (its channel/ directory holds the payload on the +# tagged commit only; git history serves the URL). [workspace] name = "rig" version = "0.1.0" -channels = ["conda-forge", "robostack-jazzy"] +channels = ["conda-forge", "robostack-jazzy", "https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel"] platforms = ["osx-arm64", "win-64", "linux-64"] -# pixi-build (preview): `pixi install` builds interfaces/rig_interfaces (our .msg types) as a -# conda package with the RoboStack pixi-build-ros backend. On Windows that build needs the MSVC -# v143 toolset and a short build path (docs/typed-windows.md — the cost LAB-303 Plan B records); -# everything else is downloaded as before. preview = ["pixi-build"] +# rmw_zenoh ≥ 0.2.11 (the RoboStack 0.19 set) is built for macOS ≥ 14; without this floor the +# osx-arm64 solve falls back to the 0.16 set and the platforms drift apart (rig-nodes pins 0.19). +[system-requirements] +macos = "14.0" + [activation.env] # Every ROS 2 process in this workspace uses the Zenoh middleware. rmw_zenoh needs # ONE router per host (`pixi run router`); nodes keep retrying until it is up. RMW_IMPLEMENTATION = "rmw_zenoh_cpp" ZENOH_ROUTER_CHECK_ATTEMPTS = "0" -# Loopback-only Zenoh: the stock rmw_zenoh configs listen on `tcp/[::]:7447` (fails on a -# host without IPv6) and connect to `tcp/localhost:7447`. Ours bind/connect 127.0.0.1 — -# a rig PC's graph is not reachable from the lab network. Stock files with ONLY the two -# endpoint lines changed (diff them against share/rmw_zenoh_cpp/config/ in the env). -ZENOH_ROUTER_CONFIG_URI = "$PIXI_PROJECT_ROOT/config/zenoh-router.json5" -ZENOH_SESSION_CONFIG_URI = "$PIXI_PROJECT_ROOT/config/zenoh-session.json5" +# Loopback-only Zenoh: the stock rmw_zenoh configs listen on `tcp/[::]:7447` (fails on a host +# without IPv6) and connect to `tcp/localhost:7447`; the rig-nodes configs bind/connect 127.0.0.1 — +# a rig PC's graph is not reachable from the lab network. The two json5 files ship INSIDE the +# installed rig_nodes package (rig_nodes/zenoh.py applies them as defaults to every node that +# imports rig_nodes._common, and rig.py sets them for its children); these lines only make +# `ros2 topic echo` and friends in this workspace use them too. Python is pinned to 3.12, so the +# site-packages path is stable. +ZENOH_ROUTER_CONFIG_URI = "$CONDA_PREFIX/lib/python3.12/site-packages/rig_nodes/config/zenoh-router.json5" +ZENOH_SESSION_CONFIG_URI = "$CONDA_PREFIX/lib/python3.12/site-packages/rig_nodes/config/zenoh-session.json5" # Same reason as the root workspace: the adapters print non-ASCII to stderr and # Python on Windows would pick cp1252 when stdio is a pipe. PYTHONUTF8 = "1" -# Windows: pixi builds the activation as a cmd.exe script, so `$PIXI_PROJECT_ROOT` above stays -# literal there (rmw_zenohd: `Failed to read config from $PIXI_PROJECT_ROOT/config/…`, ww18 -# 2026-10-15) while `%PIXI_PROJECT_ROOT%` expands under `pixi run`. These keys override the two -# above on win-64 only. +# Windows: pixi builds the activation as a cmd.exe script, so `$CONDA_PREFIX` above stays +# literal there while `%CONDA_PREFIX%` expands under `pixi run` (ww18 2026-10-15, for +# `$PIXI_PROJECT_ROOT`). These keys override the two above on win-64 only. [target.win-64.activation.env] -ZENOH_ROUTER_CONFIG_URI = '%PIXI_PROJECT_ROOT%\config\zenoh-router.json5' -ZENOH_SESSION_CONFIG_URI = '%PIXI_PROJECT_ROOT%\config\zenoh-session.json5' +ZENOH_ROUTER_CONFIG_URI = '%CONDA_PREFIX%\Lib\site-packages\rig_nodes\config\zenoh-router.json5' +ZENOH_SESSION_CONFIG_URI = '%CONDA_PREFIX%\Lib\site-packages\rig_nodes\config\zenoh-session.json5' [dependencies] +# ── ONE RoboStack set, pinned (2026-10-26): the set the rig-nodes packages were built against ── +# The mutex decides which RoboStack Jazzy rebuild every ros-jazzy-* package comes from. 0.19 + +# Python 3.12 is what the rigs run; rig_nodes / rig_interfaces pin the same, so a rig gets one set. +ros2-distro-mutex = "0.19.*" +python = "3.12.*" ros-jazzy-ros-base = "*" ros-jazzy-rmw-zenoh-cpp = "*" # The canonical talker/listener smoke test (`ros2 run demo_nodes_py …`); not part of ros-base. ros-jazzy-demo-nodes-py = "*" -python = "*" websockets = ">=12" pyzmq = "*" -# ── Plan B spike (LAB-303): MCAP as the record of truth ───────────────────── -# rosbag2's Python API + the MCAP storage plugin record every topic per run -# (nodes/recorder.py); the pure-Python `mcap` reader converts a bag — or a -# crash-truncated one — back to the behavior_v2 NDJSON (nodes/mcap_convert.py) -# without needing a ROS process. +# ── MCAP as the record of truth (LAB-303 Plan B) ───────────────────────────── +# rosbag2's Python API + the MCAP storage plugin record every topic per run (rig_nodes.recorder, +# driven by nodes/bridge_node.py); the pure-Python `mcap` reader converts a bag — or a +# crash-truncated one — back to the behavior_v2 NDJSON (nodes/mcap_convert.py) without a ROS process. ros-jazzy-rosbag2-py = "*" ros-jazzy-rosbag2-storage-mcap = "*" mcap = ">=1.2" +# ── the shared rig-nodes package set, pinned (one version for the set; README "Releasing") ── +# Device adapters (FicTrac, Kinefly, BIAS, ScanImage) and their simulators, the MCAP recorder and +# indexer, the CDR decoder, the Foxglove rewriter, the supervision primitives rig.py composes with. +# Written into every run's record by the gateway (hello_ack + /arena/session `packages`). +rig_nodes = "==0.2.1" -# ── typed messages = the OPT-IN `typed` environment ─────────────────────────── -# `pixi install -e typed` builds interfaces/rig_interfaces (FicTracFrame, ArenaFrame, -# ConnectorReply) from source with the RoboStack pixi-build-ros backend and brings the -# ament/rosidl toolchain. rosidl generates C typesupport + a Python C extension, so this -# needs a C/C++ compiler on the installing machine (Windows: the MSVC v143 toolset, which pixi -# cannot install, plus `pixi config set --local detached-environments C:\px` for MAX_PATH; -# docs/typed-windows.md also tests the no-compiler alternative, a CI-built channel) — kept OUT of -# the default environment so a rig PC can always `pixi install` and -# run the graph with String topics (the nodes fall back on their own, `--typed auto`). -# The build cost is the LAB-303 data point: `pixi run -e typed test` and README.md. +# ── typed messages = the OPT-IN `typed` environment ─────────────────────────────────────── +# `pixi install -e typed` adds rig_interfaces (FicTracFrame, ArenaFrame, ConnectorReply) from the +# SAME channel, built in rig-nodes' CI for win-64 / osx-arm64 / linux-64 — no compiler, no build +# backend, no MAX_PATH (docs in rig-nodes: docs/typed-distribution-decision.md). Same solve group +# as the default environment: since the package pins the 0.19 set too, the two environments share +# one RoboStack set (the 0.2.0 build did not — rig-nodes channel/README.md). Kept OUT of the default +# environment so the rigs keep recording String topics until typed recording is decided for them; +# the nodes fall back on their own (`--typed auto`). [feature.typed.dependencies] -rig_interfaces = { path = "interfaces/rig_interfaces" } +rig_interfaces = "==0.2.1" + +# ── developer path: a sibling checkout of rig-nodes, built from source ─────────────────────── +# `pixi install -e dev` swaps the two channel pins for path dependencies on ../../rig-nodes (a +# checkout beside webDisplayTools), so a node fix is tested here without a rig-nodes release +# (rig-software-repos-and-runners.md §7.6). Builds both packages in place (pixi-build), so it +# needs the rosidl toolchain and a C/C++ compiler like the rig-nodes workspace itself. Own solve +# group: the default/typed locks are untouched. +[feature.dev.dependencies] +rig_nodes = { path = "../../rig-nodes/src/rig_nodes" } +rig_interfaces = { path = "../../rig-nodes/src/rig_interfaces" } ros-jazzy-ament-cmake = "*" ros-jazzy-rosidl-default-generators = "*" ros-jazzy-rosidl-default-runtime = "*" ros-jazzy-ros-environment = "*" -colcon-common-extensions = "*" cmake = "*" ninja = "*" cxx-compiler = "*" -# ── typed messages WITHOUT a compiler = the OPT-IN `typed-prebuilt` environment ────────── -# "Build once, publish to a channel" (docs/typed-distribution-decision.md): `pixi install -e -# typed-prebuilt` downloads rig_interfaces 0.2.0 like any RoboStack package: no MSVC, no build -# backend, no MAX_PATH. The channel is built by .github/workflows/rig-interfaces.yml (win-64, -# osx-arm64, linux-64; channel/README.md lists the files and sha256s) and read over -# raw.githubusercontent.com pinned to the payload commit — git history serves it, the tree holds -# only channel/README.md (a relative `./channel` would be written into pixi.lock as this machine's -# absolute path). Its own solve group, so the other environments' locks are untouched; the CI -# packages pin the ros2-distro-mutex their runner resolved (channel/README.md), not the poc -# group's, so this group resolves its own RoboStack set per platform. -[feature.typed-prebuilt] -platforms = ["win-64", "osx-arm64", "linux-64"] -channels = ["https://raw.githubusercontent.com/reiserlab/webDisplayTools/39eeb1fa43874aae7d845dfec2a8f049c68f8954/rig/channel"] - -[feature.typed-prebuilt.dependencies] -rig_interfaces = { version = "==0.2.0", channel = "https://raw.githubusercontent.com/reiserlab/webDisplayTools/39eeb1fa43874aae7d845dfec2a8f049c68f8954/rig/channel" } - # ── seeing the graph = the OPT-IN `viz` environment ────────────────────────── # `pixi install -e viz`: rqt_graph (live node/topic graph, Qt), rqt_topic / rqt_console, and # foxglove_bridge (Foxglove Studio connects to ws://localhost:8766 for live plots; Foxglove @@ -114,38 +122,39 @@ ros-jazzy-rqt-console = "*" ros-jazzy-foxglove-bridge = "*" [environments] -default = { solve-group = "poc" } -typed = { features = ["typed"], solve-group = "poc" } -viz = { features = ["viz"], solve-group = "poc" } -typed-prebuilt = { features = ["typed-prebuilt"], solve-group = "prebuilt" } +default = { solve-group = "rig" } +typed = { features = ["typed"], solve-group = "rig" } +viz = { features = ["viz"], solve-group = "rig" } +dev = { features = ["dev", "typed"], solve-group = "dev" } [tasks] # ── hour one: middleware bring-up ─────────────────────────────────────────── -router = "ros2 run rmw_zenoh_cpp rmw_zenohd" +router = "rig-router" talker = "ros2 run demo_nodes_py talker" listener = "ros2 run demo_nodes_py listener" -# ── adapters (device programs → ROS topics; no custom message types) ──────── -fictrac-adapter = "python nodes/fictrac_udp_adapter.py" -kinefly-adapter = "python nodes/kinefly_udp_adapter.py" -bias-node = "python nodes/bias_node.py" -bias-cmd = "python nodes/bias_cmd.py" +# ── device adapters + command tools (rig_nodes console scripts) ───────────── +fictrac-adapter = "rig-fictrac-adapter" +kinefly-adapter = "rig-kinefly-adapter" +bias-node = "rig-bias-node" +bias-cmd = "rig-bias-cmd" # ScanImage (built-in JSON server on the ScanImage PC, LAB-303/LAB-306): node + one-shot command. -scanimage-node = "python nodes/scanimage_node.py" -scanimage-cmd = "python nodes/scanimage_cmd.py" -# ── the bridge node: bridge.py's hub + log writer + dispatcher on ROS input ── +scanimage-node = "rig-scanimage-node" +scanimage-cmd = "rig-scanimage-cmd" +# ── the bridge node (this rig's gateway): bridge.py's hub + log writer + dispatcher on ROS input ── bridge-node = "python nodes/bridge_node.py" -# ── simulators (the root workspace's fictrac_sim.py, unmodified) ──────────── -sim = "python ../fictrac-bridge/fictrac_sim.py" -kinefly-sim = "python nodes/kinefly_sim.py" -bias-sim = "python nodes/bias_sim.py" +# ── simulators (rig_nodes.sims) ──────────────────────────────────────────── +sim = "rig-fictrac-sim" +kinefly-sim = "rig-kinefly-sim" +bias-sim = "rig-bias-sim" # A stand-in for ScanImage's JSON server (stock behaviors incl. bug B2) for off-rig tests. -si-mock = "python tests/si_json_mock.py" +si-mock = "rig-si-mock" # ── the one command a rig runs ────────────────────────────────────────────── rig = "python nodes/rig.py" # ── acceptance test (LAB-303 PoC criteria): whole graph + Studio emulator + model fly ── +# This is also the cross-repository smoke for the installed rig-nodes package set (record §7.8). test = "python tests/test_ros2_poc.py" studio-emulator = "python tests/studio_emulator.py" -# ── Plan B spike: MCAP record + converter + typed interfaces ────────────────── +# ── MCAP record + converter ────────────────────────────────────────────────── # bag → behavior_v2 NDJSON (also `-- --level behavior_v1|full`, `-- --order time`); # reads a crash-truncated bag too (`-- --recover`). convert = "python nodes/mcap_convert.py" @@ -155,18 +164,14 @@ convert = "python nodes/mcap_convert.py" export = "python nodes/export_log.py" # Rewrite a finished bag indexed + zstd-compressed (the bridge does this itself when a run # closes cleanly; use it on a bag recorded before that, or after `--recover`). -reindex = "python nodes/mcap_index.py" -# Bag-size study of the FicTrac record (docs/development/fictrac-columns-in-the-bag.md): a bag vs its -# jsonl.gz under the final layout and the alternatives that were measured and declined. -size-columns = "python sizing/columns.py" -# Build interfaces/rig_interfaces with colcon inside the `typed` env (the alternative to -# the pixi-build route); timed and recorded in README.md → "Plan B spike". -build-interfaces = "python nodes/build_interfaces.py" +reindex = "rig-reindex" +# Is the typed package usable in THIS environment (imports AND serializes)? +check-typed = "python -m rig_nodes.build_interfaces --check" # ── seeing the graph ───────────────────────────────────────────────────────── # The live graph as Mermaid (default), DOT (`-- --dot`) or a table with rates (`-- --text`); # works in every environment while `pixi run rig` is up. -graph = "python nodes/graph_dump.py" -# Foxglove dashboards: the typed republisher (plots/3D markers from the JSON streams; `pixi run rig -- --foxglove` starts it with foxglove_bridge), its unit test, and the offline String-bag → plottable-MCAP converter +graph = "rig-graph" +# Foxglove dashboards: the typed republisher (plots/3D markers from the JSON streams; `pixi run rig -- --foxglove` starts it with foxglove_bridge), its unit test, and the offline String-bag → plottable-MCAP converter with the arena derivations viz = "python nodes/viz_node.py" test-viz = "python tests/test_viz_node.py" fox-json = "python nodes/foxglove_json.py" diff --git a/rig/shm_bench.py b/rig/shm_bench.py deleted file mode 100644 index 559ad6a7..00000000 --- a/rig/shm_bench.py +++ /dev/null @@ -1,403 +0,0 @@ -#!/usr/bin/env python3 -"""shm_bench.py — rmw_zenoh shared memory on vs off, for image-sized ROS 2 messages (LAB-303). - -One publisher process and one subscriber process exchange sensor_msgs/Image messages of a fixed -size at a fixed rate. Latency is publish-call → subscriber callback, both stamped with -time.monotonic_ns() (one system-wide clock on macOS, Linux and Windows), so it includes rclpy's -Python→C conversion, CDR serialization, the transport, deserialization and callback dispatch. - - pixi run python shm_bench.py run # the default matrix, shm off then on - pixi run python shm_bench.py run --sizes 1048576 --rates 30 --modes on --duration 5 - pixi run python shm_bench.py run --out results.json - -`run` starts its own Zenoh router on --port (default 7457, not the rig's 7447) and a separate -ROS_DOMAIN_ID, so it never touches a running rig. Shared memory is switched with rmw_zenoh's -ZENOH_CONFIG_OVERRIDE (transport/shared_memory/enabled) on both sessions; the pool size can be -raised with --pool-mb (rmw_zenoh's ZENOH_SHM_ALLOC_SIZE, default 48 MiB). After its measured -window each process reports how much shared memory it has mapped (macOS: vmmap; Linux: /dev/shm; -Windows: committed MEM_MAPPED regions): the direct evidence that the Zenoh pool was used. With -shared memory on, it is about 48 MB higher than with it off. -""" - -from __future__ import annotations - -import argparse -import json -import os -import platform -import shutil -import socket -import statistics -import subprocess -import sys -import time - -TOPIC = "/bench/image" - - -# ── the two ROS processes ────────────────────────────────────────────────────────────────────── - - -def _qos(args): - from rclpy.qos import HistoryPolicy, QoSProfile, ReliabilityPolicy - - return QoSProfile( - history=HistoryPolicy.KEEP_LAST, - depth=args.depth, - reliability=ReliabilityPolicy.RELIABLE if args.reliable else ReliabilityPolicy.BEST_EFFORT, - ) - - -def cmd_pub(args): - import rclpy - from sensor_msgs.msg import Image - - rclpy.init() - node = rclpy.create_node("shm_bench_pub") - pub = node.create_publisher(Image, TOPIC, _qos(args)) - msg = Image() - msg.height, msg.width, msg.step, msg.encoding = 1, args.size, args.size, "mono8" - msg.data = os.urandom(args.size) # incompressible, built once - - t_wait = time.monotonic() - while pub.get_subscription_count() == 0: - if time.monotonic() - t_wait > 15: - print(json.dumps({"role": "pub", "error": "no subscriber after 15 s"}), flush=True) - return 1 - rclpy.spin_once(node, timeout_sec=0.05) - time.sleep(0.5) - - warm = max(1, int(args.rate * args.warmup)) - n = max(1, int(args.rate * args.duration)) - period = 1.0 / args.rate - call_ns = [] - next_t = time.monotonic() - cpu0 = wall0 = None - for i in range(warm + n): - dt = next_t - time.monotonic() - if dt > 0: - time.sleep(dt) - if i == warm: - cpu0, wall0 = time.process_time(), time.monotonic() - msg.header.frame_id = f"w{i}" if i < warm else f"m{i - warm}" - t = time.monotonic_ns() - msg.header.stamp.sec, msg.header.stamp.nanosec = divmod(t, 1_000_000_000) - pub.publish(msg) - if i >= warm: - call_ns.append(time.monotonic_ns() - t) - next_t += period - cpu1, wall1 = time.process_time(), time.monotonic() - msg.header.frame_id = "end" - for _ in range(3): - pub.publish(msg) - time.sleep(0.05) - print( - json.dumps( - { - "role": "pub", - "sent": n, - "rate_hz": n / (wall1 - wall0), - "cpu_pct": 100 * (cpu1 - cpu0) / (wall1 - wall0), - "publish_call_ms_p50": statistics.median(call_ns) / 1e6, - "publish_call_ms_p99": _pct(call_ns, 99) / 1e6, - "shm_mapped": _shm_mapped(), - } - ), - flush=True, - ) - time.sleep(0.3) - node.destroy_node() - rclpy.shutdown() - return 0 - - -def cmd_sub(args): - import rclpy - from sensor_msgs.msg import Image - - rclpy.init() - node = rclpy.create_node("shm_bench_sub") - st = {"lat": [], "seqs": [], "bad": 0, "cpu0": None, "wall0": None, "done": False} - - def cb(msg): - now = time.monotonic_ns() - fid = msg.header.frame_id - if fid == "end": - st["done"] = True - return - if fid[0] != "m": - return - if st["cpu0"] is None: - st["cpu0"], st["wall0"] = time.process_time(), time.monotonic() - if len(msg.data) != args.size: - st["bad"] += 1 - st["lat"].append(now - (msg.header.stamp.sec * 1_000_000_000 + msg.header.stamp.nanosec)) - st["seqs"].append(int(fid[1:])) - - node.create_subscription(Image, TOPIC, cb, _qos(args)) - print("READY", flush=True) - deadline = time.monotonic() + args.warmup + args.duration + 30 - while not st["done"] and time.monotonic() < deadline: - rclpy.spin_once(node, timeout_sec=0.1) - cpu1, wall1 = time.process_time(), time.monotonic() - lat = st["lat"] - out = {"role": "sub", "received": len(lat), "bad_size": st["bad"], "timed_out": not st["done"]} - if lat: - seqs = st["seqs"] - out.update( - { - "lost": (max(seqs) + 1) - len(set(seqs)), - "lat_ms_p50": statistics.median(lat) / 1e6, - "lat_ms_p95": _pct(lat, 95) / 1e6, - "lat_ms_p99": _pct(lat, 99) / 1e6, - "lat_ms_max": max(lat) / 1e6, - "cpu_pct": 100 * (cpu1 - st["cpu0"]) / max(1e-9, wall1 - st["wall0"]), - } - ) - out["shm_mapped"] = _shm_mapped() - print(json.dumps(out), flush=True) - node.destroy_node() - rclpy.shutdown() - return 0 - - -def _shm_mapped(): - """Shared memory this process has mapped — the direct evidence that the Zenoh pool is in use. - - Called only AFTER the measured window: macOS `vmmap` suspends the process it inspects. - macOS: vmmap's "shared memory" virtual size (about 48 kB without the pool, 49 MB with the - default 48 MiB pool). Linux: the /dev/shm mappings. Windows: committed MEM_MAPPED regions. - Anything else: None (not measured).""" - try: - if sys.platform == "darwin": - out = subprocess.run( - ["vmmap", "-summary", str(os.getpid())], capture_output=True, text=True, timeout=20 - ).stdout - for ln in out.splitlines(): - if ln.startswith("shared memory"): - return ln.split()[2] - elif sys.platform.startswith("linux"): - total = 0 - with open("/proc/self/maps") as f: - for ln in f: - if "/dev/shm/" in ln: - a, b = ln.split()[0].split("-") - total += int(b, 16) - int(a, 16) - return f"{total / (1 << 20):.1f}M" - elif sys.platform == "win32": - # Committed MEM_MAPPED regions (section views: the Zenoh pool, plus a few MB of other - # mapped files). Compare off vs on: the pool shows up as a ~48 MB step. - import ctypes - from ctypes import wintypes - - class MBI(ctypes.Structure): - _fields_ = [ - ("BaseAddress", ctypes.c_void_p), - ("AllocationBase", ctypes.c_void_p), - ("AllocationProtect", wintypes.DWORD), - ("PartitionId", wintypes.WORD), - ("RegionSize", ctypes.c_size_t), - ("State", wintypes.DWORD), - ("Protect", wintypes.DWORD), - ("Type", wintypes.DWORD), - ] - - k32 = ctypes.WinDLL("kernel32", use_last_error=True) - k32.VirtualQuery.argtypes = [ctypes.c_void_p, ctypes.POINTER(MBI), ctypes.c_size_t] - k32.VirtualQuery.restype = ctypes.c_size_t - mbi, addr, total = MBI(), 0, 0 - while addr < (1 << 47) and k32.VirtualQuery(addr, ctypes.byref(mbi), ctypes.sizeof(mbi)): - if mbi.State == 0x1000 and mbi.Type == 0x40000: # MEM_COMMIT, MEM_MAPPED - total += mbi.RegionSize - addr = (mbi.BaseAddress or 0) + mbi.RegionSize - return f"{total / (1 << 20):.1f}M" - except Exception: - pass - return None - - -def _pct(xs, p): - s = sorted(xs) - return s[min(len(s) - 1, int(round(p / 100 * (len(s) - 1))))] - - -# ── the orchestrator ────────────────────────────────────────────────────────────────────────── - - -def _port_open(port): - with socket.socket() as s: - s.settimeout(0.2) - return s.connect_ex(("127.0.0.1", port)) == 0 - - -def _router_argv(): - """The rmw_zenohd binary itself, so terminate() stops the router and not just a wrapper - (`ros2` is a launcher script on Windows). Falls back to `ros2 run`.""" - try: - from ament_index_python.packages import get_package_prefix - - libdir = os.path.join(get_package_prefix("rmw_zenoh_cpp"), "lib", "rmw_zenoh_cpp") - for name in ("rmw_zenohd.exe", "rmw_zenohd"): - exe = os.path.join(libdir, name) - if os.path.isfile(exe): - return [exe] - except Exception: - pass - return [shutil.which("ros2") or "ros2", "run", "rmw_zenoh_cpp", "rmw_zenohd"] - - -def _human(n): - for unit, k in (("MB", 1 << 20), ("kB", 1 << 10)): - if n >= k: - v = n / k - return f"{v:g} {unit}" - return f"{n} B" - - -def cmd_run(args): - me = os.path.abspath(__file__) - base = dict(os.environ) - base["ROS_DOMAIN_ID"] = str(args.domain) - base["RMW_IMPLEMENTATION"] = "rmw_zenoh_cpp" - base.setdefault("RUST_LOG", "error") # silence zenoh_config deprecation warnings - endpoint = f'["tcp/127.0.0.1:{args.port}"]' - - router = None - if not _port_open(args.port): - renv = dict(base, ZENOH_CONFIG_OVERRIDE=f"listen/endpoints={endpoint}") - router = subprocess.Popen( - _router_argv(), env=renv, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL - ) - t0 = time.monotonic() - while not _port_open(args.port): - if time.monotonic() - t0 > 20: - sys.exit(f"router did not come up on :{args.port}") - time.sleep(0.2) - - sizes = [int(s) for s in args.sizes.split(",")] - rates = [float(r) for r in args.rates.split(",")] - if len(rates) == 1: - rates *= len(sizes) - if len(rates) != len(sizes): - sys.exit("--rates must be one value or one per size") - - common = [ - "--depth", str(args.depth), - "--duration", str(args.duration), - "--warmup", str(args.warmup), - ] + (["--reliable"] if args.reliable else []) - - results = [] - try: - for mode in args.modes.split(","): - override = f"connect/endpoints={endpoint};transport/shared_memory/enabled={'true' if mode == 'on' else 'false'}" - env = dict(base, ZENOH_CONFIG_OVERRIDE=override) - if args.pool_mb: - env["ZENOH_SHM_ALLOC_SIZE"] = str(int(args.pool_mb * (1 << 20))) - for size, rate in zip(sizes, rates): - argv = common + ["--size", str(size), "--rate", str(rate)] - sub = subprocess.Popen( - [sys.executable, me, "sub"] + argv, env=env, stdout=subprocess.PIPE, text=True - ) - for _ in range(200): # rmw/zenoh may log to stdout before the marker - line = sub.stdout.readline() - if not line or line.strip() == "READY": - break - print(f" [sub] {line.rstrip()}", file=sys.stderr) - if not line: - sys.exit("subscriber did not start") - pub = subprocess.Popen( - [sys.executable, me, "pub"] + argv, env=env, stdout=subprocess.PIPE, text=True - ) - pout, _ = pub.communicate(timeout=args.duration + 60) - sout, _ = sub.communicate(timeout=60) - row = {"mode": mode, "size": size, "rate": rate} - for line in (pout + sout).splitlines(): - if line.startswith("{"): - d = json.loads(line) - role = d.pop("role") - row.update({f"{role}_{k}": v for k, v in d.items()}) - results.append(row) - _print_row(row) - finally: - if router: - router.terminate() - try: - router.wait(5) - except subprocess.TimeoutExpired: - router.kill() - - meta = { - "host": platform.node(), - "platform": platform.platform(), - "machine": platform.machine(), - "python": platform.python_version(), - "rmw": "rmw_zenoh_cpp", - "reliable": args.reliable, - "depth": args.depth, - "duration_s": args.duration, - "pool_mb": args.pool_mb or 48, - "when": time.strftime("%Y-%m-%d %H:%M:%S"), - } - if args.out: - with open(args.out, "w") as f: - json.dump({"meta": meta, "results": results}, f, indent=1) - print(f"wrote {args.out}") - return 0 - - -_HDR_DONE = False - - -def _print_row(r): - global _HDR_DONE - if not _HDR_DONE: - print( - f"{'shm':>3} {'size':>8} {'Hz':>5} {'MB/s':>6} {'recv/sent':>11} {'p50 ms':>7} {'p99 ms':>7} " - f"{'max ms':>7} {'pub()':>6} {'pubCPU':>6} {'subCPU':>6} {'shm map pub/sub':>16}", - flush=True, - ) - _HDR_DONE = True - g = r.get - shm_s = f"{g('pub_shm_mapped') or 'n/a'}/{g('sub_shm_mapped') or 'n/a'}" - mbps = r["size"] * g("pub_rate_hz", 0) / 1e6 - print( - f"{r['mode']:>3} {_human(r['size']):>8} {r['rate']:>5g} {mbps:>6.1f} " - f"{g('sub_received', 0):>5}/{g('pub_sent', 0):<5} " - f"{g('sub_lat_ms_p50', float('nan')):>7.2f} {g('sub_lat_ms_p99', float('nan')):>7.2f} " - f"{g('sub_lat_ms_max', float('nan')):>7.2f} {g('pub_publish_call_ms_p50', float('nan')):>6.2f} " - f"{g('pub_cpu_pct', float('nan')):>5.0f}% {g('sub_cpu_pct', float('nan')):>5.0f}% {shm_s:>16}", - flush=True, - ) - - -def main(): - ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - sp = ap.add_subparsers(dest="cmd", required=True) - for name in ("pub", "sub", "run"): - p = sp.add_parser(name) - p.add_argument("--depth", type=int, default=10) - p.add_argument("--reliable", action=argparse.BooleanOptionalAction, default=True) - p.add_argument("--duration", type=float, default=8.0, help="measured seconds per cell") - p.add_argument("--warmup", type=float, default=1.0) - if name == "run": - p.add_argument( - "--sizes", - default="1024,65536,1048576,2097152,8388608,2097152", - help="bytes per message (default: FicTrac-ish, preview, 2P frame, 2 MP frame, 8 MB, BIAS-rate 2 MP)", - ) - p.add_argument("--rates", default="100,100,30,30,30,135", help="Hz, one value or one per size") - p.add_argument("--modes", default="off,on") - p.add_argument("--pool-mb", type=float, default=0, help="shared-memory pool (0 = rmw_zenoh default 48)") - p.add_argument("--port", type=int, default=7457) - p.add_argument("--domain", type=int, default=42) - p.add_argument("--out") - else: - p.add_argument("--size", type=int, required=True) - p.add_argument("--rate", type=float, required=True) - args = ap.parse_args() - return {"pub": cmd_pub, "sub": cmd_sub, "run": cmd_run}[args.cmd](args) - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/rig/shm_bench_qpc.py b/rig/shm_bench_qpc.py deleted file mode 100644 index aa0d3167..00000000 --- a/rig/shm_bench_qpc.py +++ /dev/null @@ -1,403 +0,0 @@ -#!/usr/bin/env python3 -"""shm_bench.py — rmw_zenoh shared memory on vs off, for image-sized ROS 2 messages (LAB-303). - -One publisher process and one subscriber process exchange sensor_msgs/Image messages of a fixed -size at a fixed rate. Latency is publish-call → subscriber callback, both stamped with -time.perf_counter_ns() (one system-wide clock on macOS, Linux and Windows), so it includes rclpy's -Python→C conversion, CDR serialization, the transport, deserialization and callback dispatch. - - pixi run python shm_bench.py run # the default matrix, shm off then on - pixi run python shm_bench.py run --sizes 1048576 --rates 30 --modes on --duration 5 - pixi run python shm_bench.py run --out results.json - -`run` starts its own Zenoh router on --port (default 7457, not the rig's 7447) and a separate -ROS_DOMAIN_ID, so it never touches a running rig. Shared memory is switched with rmw_zenoh's -ZENOH_CONFIG_OVERRIDE (transport/shared_memory/enabled) on both sessions; the pool size can be -raised with --pool-mb (rmw_zenoh's ZENOH_SHM_ALLOC_SIZE, default 48 MiB). After its measured -window each process reports how much shared memory it has mapped (macOS: vmmap; Linux: /dev/shm; -Windows: committed MEM_MAPPED regions): the direct evidence that the Zenoh pool was used. With -shared memory on, it is about 48 MB higher than with it off. -""" - -from __future__ import annotations - -import argparse -import json -import os -import platform -import shutil -import socket -import statistics -import subprocess -import sys -import time - -TOPIC = "/bench/image" - - -# ── the two ROS processes ────────────────────────────────────────────────────────────────────── - - -def _qos(args): - from rclpy.qos import HistoryPolicy, QoSProfile, ReliabilityPolicy - - return QoSProfile( - history=HistoryPolicy.KEEP_LAST, - depth=args.depth, - reliability=ReliabilityPolicy.RELIABLE if args.reliable else ReliabilityPolicy.BEST_EFFORT, - ) - - -def cmd_pub(args): - import rclpy - from sensor_msgs.msg import Image - - rclpy.init() - node = rclpy.create_node("shm_bench_pub") - pub = node.create_publisher(Image, TOPIC, _qos(args)) - msg = Image() - msg.height, msg.width, msg.step, msg.encoding = 1, args.size, args.size, "mono8" - msg.data = os.urandom(args.size) # incompressible, built once - - t_wait = time.monotonic() - while pub.get_subscription_count() == 0: - if time.monotonic() - t_wait > 15: - print(json.dumps({"role": "pub", "error": "no subscriber after 15 s"}), flush=True) - return 1 - rclpy.spin_once(node, timeout_sec=0.05) - time.sleep(0.5) - - warm = max(1, int(args.rate * args.warmup)) - n = max(1, int(args.rate * args.duration)) - period = 1.0 / args.rate - call_ns = [] - next_t = time.monotonic() - cpu0 = wall0 = None - for i in range(warm + n): - dt = next_t - time.monotonic() - if dt > 0: - time.sleep(dt) - if i == warm: - cpu0, wall0 = time.process_time(), time.monotonic() - msg.header.frame_id = f"w{i}" if i < warm else f"m{i - warm}" - t = time.perf_counter_ns() - msg.header.stamp.sec, msg.header.stamp.nanosec = divmod(t, 1_000_000_000) - pub.publish(msg) - if i >= warm: - call_ns.append(time.perf_counter_ns() - t) - next_t += period - cpu1, wall1 = time.process_time(), time.monotonic() - msg.header.frame_id = "end" - for _ in range(3): - pub.publish(msg) - time.sleep(0.05) - print( - json.dumps( - { - "role": "pub", - "sent": n, - "rate_hz": n / (wall1 - wall0), - "cpu_pct": 100 * (cpu1 - cpu0) / (wall1 - wall0), - "publish_call_ms_p50": statistics.median(call_ns) / 1e6, - "publish_call_ms_p99": _pct(call_ns, 99) / 1e6, - "shm_mapped": _shm_mapped(), - } - ), - flush=True, - ) - time.sleep(0.3) - node.destroy_node() - rclpy.shutdown() - return 0 - - -def cmd_sub(args): - import rclpy - from sensor_msgs.msg import Image - - rclpy.init() - node = rclpy.create_node("shm_bench_sub") - st = {"lat": [], "seqs": [], "bad": 0, "cpu0": None, "wall0": None, "done": False} - - def cb(msg): - now = time.perf_counter_ns() - fid = msg.header.frame_id - if fid == "end": - st["done"] = True - return - if fid[0] != "m": - return - if st["cpu0"] is None: - st["cpu0"], st["wall0"] = time.process_time(), time.monotonic() - if len(msg.data) != args.size: - st["bad"] += 1 - st["lat"].append(now - (msg.header.stamp.sec * 1_000_000_000 + msg.header.stamp.nanosec)) - st["seqs"].append(int(fid[1:])) - - node.create_subscription(Image, TOPIC, cb, _qos(args)) - print("READY", flush=True) - deadline = time.monotonic() + args.warmup + args.duration + 30 - while not st["done"] and time.monotonic() < deadline: - rclpy.spin_once(node, timeout_sec=0.1) - cpu1, wall1 = time.process_time(), time.monotonic() - lat = st["lat"] - out = {"role": "sub", "received": len(lat), "bad_size": st["bad"], "timed_out": not st["done"]} - if lat: - seqs = st["seqs"] - out.update( - { - "lost": (max(seqs) + 1) - len(set(seqs)), - "lat_ms_p50": statistics.median(lat) / 1e6, - "lat_ms_p95": _pct(lat, 95) / 1e6, - "lat_ms_p99": _pct(lat, 99) / 1e6, - "lat_ms_max": max(lat) / 1e6, - "cpu_pct": 100 * (cpu1 - st["cpu0"]) / max(1e-9, wall1 - st["wall0"]), - } - ) - out["shm_mapped"] = _shm_mapped() - print(json.dumps(out), flush=True) - node.destroy_node() - rclpy.shutdown() - return 0 - - -def _shm_mapped(): - """Shared memory this process has mapped — the direct evidence that the Zenoh pool is in use. - - Called only AFTER the measured window: macOS `vmmap` suspends the process it inspects. - macOS: vmmap's "shared memory" virtual size (about 48 kB without the pool, 49 MB with the - default 48 MiB pool). Linux: the /dev/shm mappings. Windows: committed MEM_MAPPED regions. - Anything else: None (not measured).""" - try: - if sys.platform == "darwin": - out = subprocess.run( - ["vmmap", "-summary", str(os.getpid())], capture_output=True, text=True, timeout=20 - ).stdout - for ln in out.splitlines(): - if ln.startswith("shared memory"): - return ln.split()[2] - elif sys.platform.startswith("linux"): - total = 0 - with open("/proc/self/maps") as f: - for ln in f: - if "/dev/shm/" in ln: - a, b = ln.split()[0].split("-") - total += int(b, 16) - int(a, 16) - return f"{total / (1 << 20):.1f}M" - elif sys.platform == "win32": - # Committed MEM_MAPPED regions (section views: the Zenoh pool, plus a few MB of other - # mapped files). Compare off vs on: the pool shows up as a ~48 MB step. - import ctypes - from ctypes import wintypes - - class MBI(ctypes.Structure): - _fields_ = [ - ("BaseAddress", ctypes.c_void_p), - ("AllocationBase", ctypes.c_void_p), - ("AllocationProtect", wintypes.DWORD), - ("PartitionId", wintypes.WORD), - ("RegionSize", ctypes.c_size_t), - ("State", wintypes.DWORD), - ("Protect", wintypes.DWORD), - ("Type", wintypes.DWORD), - ] - - k32 = ctypes.WinDLL("kernel32", use_last_error=True) - k32.VirtualQuery.argtypes = [ctypes.c_void_p, ctypes.POINTER(MBI), ctypes.c_size_t] - k32.VirtualQuery.restype = ctypes.c_size_t - mbi, addr, total = MBI(), 0, 0 - while addr < (1 << 47) and k32.VirtualQuery(addr, ctypes.byref(mbi), ctypes.sizeof(mbi)): - if mbi.State == 0x1000 and mbi.Type == 0x40000: # MEM_COMMIT, MEM_MAPPED - total += mbi.RegionSize - addr = (mbi.BaseAddress or 0) + mbi.RegionSize - return f"{total / (1 << 20):.1f}M" - except Exception: - pass - return None - - -def _pct(xs, p): - s = sorted(xs) - return s[min(len(s) - 1, int(round(p / 100 * (len(s) - 1))))] - - -# ── the orchestrator ────────────────────────────────────────────────────────────────────────── - - -def _port_open(port): - with socket.socket() as s: - s.settimeout(0.2) - return s.connect_ex(("127.0.0.1", port)) == 0 - - -def _router_argv(): - """The rmw_zenohd binary itself, so terminate() stops the router and not just a wrapper - (`ros2` is a launcher script on Windows). Falls back to `ros2 run`.""" - try: - from ament_index_python.packages import get_package_prefix - - libdir = os.path.join(get_package_prefix("rmw_zenoh_cpp"), "lib", "rmw_zenoh_cpp") - for name in ("rmw_zenohd.exe", "rmw_zenohd"): - exe = os.path.join(libdir, name) - if os.path.isfile(exe): - return [exe] - except Exception: - pass - return [shutil.which("ros2") or "ros2", "run", "rmw_zenoh_cpp", "rmw_zenohd"] - - -def _human(n): - for unit, k in (("MB", 1 << 20), ("kB", 1 << 10)): - if n >= k: - v = n / k - return f"{v:g} {unit}" - return f"{n} B" - - -def cmd_run(args): - me = os.path.abspath(__file__) - base = dict(os.environ) - base["ROS_DOMAIN_ID"] = str(args.domain) - base["RMW_IMPLEMENTATION"] = "rmw_zenoh_cpp" - base.setdefault("RUST_LOG", "error") # silence zenoh_config deprecation warnings - endpoint = f'["tcp/127.0.0.1:{args.port}"]' - - router = None - if not _port_open(args.port): - renv = dict(base, ZENOH_CONFIG_OVERRIDE=f"listen/endpoints={endpoint}") - router = subprocess.Popen( - _router_argv(), env=renv, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL - ) - t0 = time.monotonic() - while not _port_open(args.port): - if time.monotonic() - t0 > 20: - sys.exit(f"router did not come up on :{args.port}") - time.sleep(0.2) - - sizes = [int(s) for s in args.sizes.split(",")] - rates = [float(r) for r in args.rates.split(",")] - if len(rates) == 1: - rates *= len(sizes) - if len(rates) != len(sizes): - sys.exit("--rates must be one value or one per size") - - common = [ - "--depth", str(args.depth), - "--duration", str(args.duration), - "--warmup", str(args.warmup), - ] + (["--reliable"] if args.reliable else []) - - results = [] - try: - for mode in args.modes.split(","): - override = f"connect/endpoints={endpoint};transport/shared_memory/enabled={'true' if mode == 'on' else 'false'}" - env = dict(base, ZENOH_CONFIG_OVERRIDE=override) - if args.pool_mb: - env["ZENOH_SHM_ALLOC_SIZE"] = str(int(args.pool_mb * (1 << 20))) - for size, rate in zip(sizes, rates): - argv = common + ["--size", str(size), "--rate", str(rate)] - sub = subprocess.Popen( - [sys.executable, me, "sub"] + argv, env=env, stdout=subprocess.PIPE, text=True - ) - for _ in range(200): # rmw/zenoh may log to stdout before the marker - line = sub.stdout.readline() - if not line or line.strip() == "READY": - break - print(f" [sub] {line.rstrip()}", file=sys.stderr) - if not line: - sys.exit("subscriber did not start") - pub = subprocess.Popen( - [sys.executable, me, "pub"] + argv, env=env, stdout=subprocess.PIPE, text=True - ) - pout, _ = pub.communicate(timeout=args.duration + 60) - sout, _ = sub.communicate(timeout=60) - row = {"mode": mode, "size": size, "rate": rate} - for line in (pout + sout).splitlines(): - if line.startswith("{"): - d = json.loads(line) - role = d.pop("role") - row.update({f"{role}_{k}": v for k, v in d.items()}) - results.append(row) - _print_row(row) - finally: - if router: - router.terminate() - try: - router.wait(5) - except subprocess.TimeoutExpired: - router.kill() - - meta = { - "host": platform.node(), - "platform": platform.platform(), - "machine": platform.machine(), - "python": platform.python_version(), - "rmw": "rmw_zenoh_cpp", - "reliable": args.reliable, - "depth": args.depth, - "duration_s": args.duration, - "pool_mb": args.pool_mb or 48, - "when": time.strftime("%Y-%m-%d %H:%M:%S"), - } - if args.out: - with open(args.out, "w") as f: - json.dump({"meta": meta, "results": results}, f, indent=1) - print(f"wrote {args.out}") - return 0 - - -_HDR_DONE = False - - -def _print_row(r): - global _HDR_DONE - if not _HDR_DONE: - print( - f"{'shm':>3} {'size':>8} {'Hz':>5} {'MB/s':>6} {'recv/sent':>11} {'p50 ms':>7} {'p99 ms':>7} " - f"{'max ms':>7} {'pub()':>6} {'pubCPU':>6} {'subCPU':>6} {'shm map pub/sub':>16}", - flush=True, - ) - _HDR_DONE = True - g = r.get - shm_s = f"{g('pub_shm_mapped') or 'n/a'}/{g('sub_shm_mapped') or 'n/a'}" - mbps = r["size"] * g("pub_rate_hz", 0) / 1e6 - print( - f"{r['mode']:>3} {_human(r['size']):>8} {r['rate']:>5g} {mbps:>6.1f} " - f"{g('sub_received', 0):>5}/{g('pub_sent', 0):<5} " - f"{g('sub_lat_ms_p50', float('nan')):>7.2f} {g('sub_lat_ms_p99', float('nan')):>7.2f} " - f"{g('sub_lat_ms_max', float('nan')):>7.2f} {g('pub_publish_call_ms_p50', float('nan')):>6.2f} " - f"{g('pub_cpu_pct', float('nan')):>5.0f}% {g('sub_cpu_pct', float('nan')):>5.0f}% {shm_s:>16}", - flush=True, - ) - - -def main(): - ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - sp = ap.add_subparsers(dest="cmd", required=True) - for name in ("pub", "sub", "run"): - p = sp.add_parser(name) - p.add_argument("--depth", type=int, default=10) - p.add_argument("--reliable", action=argparse.BooleanOptionalAction, default=True) - p.add_argument("--duration", type=float, default=8.0, help="measured seconds per cell") - p.add_argument("--warmup", type=float, default=1.0) - if name == "run": - p.add_argument( - "--sizes", - default="1024,65536,1048576,2097152,8388608,2097152", - help="bytes per message (default: FicTrac-ish, preview, 2P frame, 2 MP frame, 8 MB, BIAS-rate 2 MP)", - ) - p.add_argument("--rates", default="100,100,30,30,30,135", help="Hz, one value or one per size") - p.add_argument("--modes", default="off,on") - p.add_argument("--pool-mb", type=float, default=0, help="shared-memory pool (0 = rmw_zenoh default 48)") - p.add_argument("--port", type=int, default=7457) - p.add_argument("--domain", type=int, default=42) - p.add_argument("--out") - else: - p.add_argument("--size", type=int, required=True) - p.add_argument("--rate", type=float, required=True) - args = ap.parse_args() - return {"pub": cmd_pub, "sub": cmd_sub, "run": cmd_run}[args.cmd](args) - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/rig/sizing/columns.py b/rig/sizing/columns.py deleted file mode 100644 index ca31cedf..00000000 --- a/rig/sizing/columns.py +++ /dev/null @@ -1,275 +0,0 @@ -"""columns.py — size a bridge-node bag vs its jsonl.gz under the FicTrac-record layouts. - - pixi run size-columns -- runlogs/.bag [runlogs/.jsonl] [--all] - -The study behind docs/development/fictrac-columns-in-the-bag.md (decided 2026-10-18): ONE record per -FicTrac frame on /arena/frame carrying 10 of the 25 FicTrac columns, float64, one MCAP message per -frame, chunk-only index, zstd 19 — measured on the two 2026-10-14 bench bags at 2.24× / 2.48× the -jsonl.gz. Every variant is written by the pure-Python `mcap` writer (the same one mcap_index.reindex -uses for the final layout), so the numbers are what a cleanly closed run ends up with. - -Without --all: the reference jsonl.gz, the bag as it is on disk, and the ADOPTED layout rebuilt from -the bag's records. With --all: the alternatives that were measured and declined (two-topic layouts, -column subsets, 1 s batching, int32 fixed-point), as in the doc's §3 table. A bag recorded before -2026-10-18 holds the raw FicTrac topics (/fictrac/frame or /fictrac/raw), so every variant can be -rebuilt from it; a bag recorded after holds the kept columns in /arena/frame only, and the -25-column rows are reported as "n/a". - -Pure Python (mcap, zstandard); no ROS process needed. -""" - -from __future__ import annotations - -import argparse -import collections -import gzip -import io -import json -import math -import os -import struct -import sys -from pathlib import Path - -import zstandard -from mcap.reader import make_reader -from mcap.writer import CompressionType, IndexType, Writer - -sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "nodes")) -from mcap_convert import decode_cdr # noqa: E402 (the converter's CDR decoder; reads the schema text in the bag) -from mcap_index import ZSTD_LEVEL, _zstd_level # noqa: E402 - -TOPIC_FRAME = "/arena/frame" -FICTRAC_TOPICS = ("/fictrac/frame", "/fictrac/raw") - -# 1-based FicTrac columns (doc §1) -BEHAVIOR_5 = [1, 15, 16, 17, 22] -KEPT_10 = [1, 5, 6, 7, 8, 15, 16, 17, 22, 23] -ALL_25 = list(range(1, 26)) -EXTRA_COLS = [5, 6, 7, 8, 23] # kept beyond the behavior row (col 22 native rides as ft_ns) -INT_COLS = {1, 22, 23} # packed as int64 (col 22 = ns on our rigs) - -ARENA_FLOATS = ("ft", "x", "y", "hd", "bias_deg", "turning_dps", "forward_mms", "err", "dr_lab_x", "dr_lab_y", "dr_lab_z") - - -def load(path: Path) -> list[tuple]: - """(topic, schema name, log_ns, pub_ns, data, decoded) per record, file order.""" - files = sorted(path.glob("*.mcap")) if path.is_dir() else [path] - recs = [] - for f in files: - with open(f, "rb") as fh: - for schema, ch, m in make_reader(fh).iter_messages(log_time_order=False): - sn = schema.name if schema else None - st = schema.data.decode() if schema and schema.data else None - recs.append((ch.topic, sn, m.log_time, m.publish_time, m.data, decode_cdr(sn, st, m.data))) - return recs - - -def fictrac_fields(sn: str | None, msg: dict) -> list[float] | None: - if sn == "rig_interfaces/msg/FicTracFrame": - return list(msg["fields"]) - try: - env = json.loads(msg["data"]) - parts = env["raw"].strip().split(",") - except (KeyError, TypeError, json.JSONDecodeError): - return None - if parts and parts[0].strip()[:2].upper() == "FT": - parts = parts[1:] - try: - return [float(p) for p in parts] - except ValueError: - return None - - -def arena_fields(sn: str | None, msg: dict) -> dict: - """The /arena/frame record as a flat dict, from the typed message or the String-path JSON.""" - if sn == "rig_interfaces/msg/ArenaFrame": - return dict(msg) - o = json.loads(msg["data"]) - return {"t_ms": o["t"], "ms": o["ms"], "fc": o["fc"], "idx": o["idx"], "has_ft": o.get("ft") is not None, - "ft": o.get("ft") if o.get("ft") is not None else math.nan, "x": o.get("x"), "y": o.get("y"), "hd": o.get("hd"), - "epoch": o.get("epoch", 0), "bias_deg": o.get("bias", 0.0) or 0.0, "seq": o.get("wseq", 0), - "turning_dps": math.nan, "forward_mms": math.nan, - "err": o.get("err", math.nan), "dr_lab_x": o.get("dr_lab_x", math.nan), "dr_lab_y": o.get("dr_lab_y", math.nan), - "dr_lab_z": o.get("dr_lab_z", math.nan), "ft_seq": o.get("ft_seq", 0), "ft_ns": o.get("ft_ns", 0), "flags": o.get("flags", 0)} - - -def _f(v) -> float: - return float(v) if v is not None else math.nan - - -def pack_num(v, enc: str) -> bytes: - if enc == "f64": - return struct.pack(" bytes: - out = b"" - for c in cols: - v = fields[c - 1] if len(fields) >= c else math.nan - out += struct.pack(" bytes: - """≈ the typed ArenaFrame's CDR cost: ints as declared, floats per `enc`; `extras` adds the - kept FicTrac columns (the adopted record); `dedup` drops x/y/hd/ft (the join-by-fc variant); - `derived` keeps the live turning_dps/forward_mms values — the adopted record stores NaN there - (a constant, free), which is what the node records since 2026-10-18.""" - out = struct.pack(" int | None: - """Rewrite the bag's records in one layout; returns the MCAP's size in bytes. - layout: 'merged' (the adopted record: /arena/frame + extras, no FicTrac topic) · 'split' (a FicTrac - topic with `cols` beside today's ArenaFrame) · 'dedup' (split, ArenaFrame without x/y/hd/ft) · - 'floor' (ArenaFrame alone, no extras). None when the bag lacks what the variant needs.""" - ft_by_fc: dict[int, list[float]] = {} - have_ft_topic = any(r[0] in FICTRAC_TOPICS for r in recs) - if layout in ("split", "dedup") and not have_ft_topic: - return None - if have_ft_topic: - for topic, sn, lt, pt, data, msg in recs: - if topic in FICTRAC_TOPICS: - f = fictrac_fields(sn, msg) - if f and len(f) >= 1: - ft_by_fc[int(f[0])] = f - buf = io.BytesIO() - with _zstd_level(level): - w = Writer(buf, compression=CompressionType.ZSTD, index_types=IndexType.ALL & ~IndexType.MESSAGE) - w.start(profile="ros2", library="columns.py") - chans: dict[str, int] = {} - - def chan(name: str) -> int: - if name not in chans: - chans[name] = w.register_channel(name, "cdr", w.register_schema(name, "ros2msg", b"")) - return chans[name] - - seq = 0 - buckets: dict[tuple, list] = collections.OrderedDict() - - def emit(topic: str, lt: int, pt: int, payload: bytes, batch: bool) -> None: - nonlocal seq - if batch: - buckets.setdefault((topic, lt // 1_000_000_000), []).append((lt, payload)) - else: - seq += 1 - w.add_message(chan(topic), log_time=lt, publish_time=pt, data=payload, sequence=seq) - - for topic, sn, lt, pt, data, msg in recs: - if topic in FICTRAC_TOPICS: - if layout in ("split", "dedup") and cols: - f = fictrac_fields(sn, msg) - if f is not None: - emit("/fictrac/frame", lt, pt, pack_fictrac(f, cols, enc), batch_ft) - continue # merged / floor: the raw topic is not recorded - if topic == TOPIC_FRAME: - a = arena_fields(sn, msg) - if layout == "merged": - # The extras come from the record itself (a bag after 2026-10-18) or, for an old - # bag, from the raw topic joined by fc — what the node now writes directly. - if math.isnan(_f(a.get("err"))) and int(a["fc"]) in ft_by_fc: - f = ft_by_fc[int(a["fc"])] - a.update({"err": f[4] if len(f) > 4 else math.nan, "dr_lab_x": f[5] if len(f) > 5 else math.nan, - "dr_lab_y": f[6] if len(f) > 6 else math.nan, "dr_lab_z": f[7] if len(f) > 7 else math.nan, - "ft_seq": int(f[22]) if len(f) > 22 else 0, "ft_ns": int(f[21]) if len(f) > 21 else 0}) - payload = pack_arena(a, enc, extras=True) - elif layout == "dedup": - payload = pack_arena(a, enc, extras=False, dedup=True) - else: - payload = pack_arena(a, enc, extras=False, derived=True) # the pre-2026-10-18 record as it was - emit(topic, lt, pt, payload, batch_arena) - else: - emit(topic, lt, pt, data, False) - for (topic, _b), items in sorted(buckets.items(), key=lambda kv: kv[0][1]): - body = struct.pack(" dict: - recs = load(bag) - n_frames = sum(1 for r in recs if r[0] == TOPIC_FRAME) - on_disk = sum(f.stat().st_size for f in (bag.glob("*.mcap") if bag.is_dir() else [bag])) - rows: list[tuple[str, int | None]] = [] - gz = None - if jsonl is None: - cand = bag.parent / (bag.name[:-4] + ".jsonl") if bag.name.endswith(".bag") else None - if cand and cand.exists(): - jsonl = cand - if jsonl and jsonl.exists(): - raw = jsonl.read_bytes() - gz = len(raw) if jsonl.suffix == ".gz" else len(gzip.compress(raw, 9)) - rows.append(("jsonl.gz (reference)", gz)) - rows.append(("bag as on disk", on_disk)) - rows.append(("ADOPTED: one record per frame, kept 10 cols, float64, one message per frame, chunk-only index, zstd 19", - write_variant(recs, **ADOPTED))) - if all_variants: - for label, kw in ALTERNATIVES: - rows.append((label, write_variant(recs, **kw))) - return {"bag": str(bag), "frames": n_frames, "jsonl_gz": gz, "rows": rows} - - -def main(argv: list[str] | None = None) -> int: - ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - ap.add_argument("bag", help="a rosbag2 bag directory or a single .mcap file") - ap.add_argument("jsonl", nargs="?", help="the run's exported .jsonl or .jsonl.gz (default: .jsonl beside the bag)") - ap.add_argument("--all", action="store_true", help="also the declined alternatives (doc §3 table)") - ap.add_argument("--json", action="store_true", help="machine-readable output") - a = ap.parse_args(argv) - res = study(Path(a.bag), Path(a.jsonl) if a.jsonl else None, a.all) - if a.json: - print(json.dumps(res)) - return 0 - gz = res["jsonl_gz"] - print(f"{Path(res['bag']).name}: {res['frames']} frames" + (f"; jsonl.gz {gz} B" if gz else "; no jsonl beside the bag (ratios omitted)")) - print(f"{'variant':100s} {'bytes':>9s} {'x jsonl.gz':>10s} {'B/frame':>8s}") - for label, n in res["rows"]: - if n is None: - print(f"{label:100s} {'n/a':>9s} {'':>10s} {'':>8s} (needs the raw FicTrac topics)") - continue - ratio = f"{n / gz:9.2f}x" if gz else "" - per = f"{n / res['frames']:8.1f}" if res["frames"] else "" - print(f"{label:100s} {n:9d} {ratio:>10s} {per:>8s}") - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/sizing/compare.py b/rig/sizing/compare.py deleted file mode 100644 index 919455ed..00000000 --- a/rig/sizing/compare.py +++ /dev/null @@ -1,94 +0,0 @@ -"""compare.py — size one behavior_v2 run log (.jsonl or .jsonl.gz) as NDJSON vs MCAP layouts. - - pixi run size-study -- path/to/run.jsonl[.gz] - -Size comparison: our behavior_v2 NDJSON run log vs the same content in MCAP. - -Variants: - ndjson raw / gzip-9 (what the bridge writes) / gzip-6 / zstd-3 / zstd-19 / lz4 - mcap-json one channel per stream or event type, JSON-encoded messages with a JSON schema, - chunk compression none / lz4 / zstd (what the Foxglove SDK would produce) - mcap-packed high-rate rows as fixed little-endian structs (≈ what typed ROS 2 CDR messages - cost; CDR adds a 4-byte header + alignment), events still JSON; zstd -""" -import gzip, io, json, struct, sys, math, zlib -import zstandard, lz4.frame -from mcap.writer import Writer, CompressionType - -path = sys.argv[1] -raw = open(path, "rb").read() -if raw[:2] == b"\x1f\x8b": - raw = gzip.decompress(raw) -objs = [json.loads(l) for l in raw.decode().splitlines() if l.strip()] -t0 = next(o["ms"] for o in objs if isinstance(o, dict) and o.get("type") == "session") - -def kinds(o): - if isinstance(o, list): - return "fictrac/frame" if isinstance(o[0], (int, float)) else f"stream/{o[0]}" - t = o.get("type") - return f"event/{t}" + (f"/{o.get('event')}" if t == "log" else "") - -def log_time_ns(o): - if isinstance(o, list): - if isinstance(o[0], (int, float)): - rel = o[0] - elif o[0] == "a": - rel = o[1] - else: - rel = o[1] if isinstance(o[1], (int, float)) else 0 - return int((t0 + rel) * 1e6) - if isinstance(o.get("ms"), (int, float)): - ms = o["ms"] - return int((ms if ms > 1e11 else t0 + ms) * 1e6) - if isinstance(o.get("rx_ms"), (int, float)): - return int(o["rx_ms"] * 1e6) - return int(t0 * 1e6) - - -import mcap.writer as MW - -def write_mcap(level=3, msg_index=True, batch_streams=(), batch_s=1.0): - """JSON-schema channels, one per stream/event type; optional 1 s batching of named streams; - zstd chunk compression at `level` (the library hard-codes 3, so it is swapped underneath).""" - saved = MW.zstandard.compress - MW.zstandard.compress = lambda d, _l=level: zstandard.ZstdCompressor(level=_l).compress(d) - try: - buf = io.BytesIO() - from mcap.writer import IndexType - w = Writer(buf, compression=CompressionType.ZSTD, index_types=IndexType.ALL if msg_index else (IndexType.ALL & ~IndexType.MESSAGE)) - w.start(profile="", library="compare.py") - chans = {} - def chan(name): - if name not in chans: - chans[name] = w.register_channel(name, "json", w.register_schema(name, "jsonschema", b"{}")) - return chans[name] - seq = 0; buckets = {} - for o in objs: - k = kinds(o); ts = log_time_ns(o) - if k in batch_streams: - buckets.setdefault((k, int(ts // int(batch_s * 1e9))), []).append(o); continue - seq += 1 - w.add_message(chan(k), log_time=ts, publish_time=ts, data=json.dumps(o, separators=(",", ":")).encode(), sequence=seq) - for (k, b), rows in sorted(buckets.items(), key=lambda kv: kv[0][1]): - ts = log_time_ns(rows[0]); seq += 1 - w.add_message(chan(k + "/batch"), log_time=ts, publish_time=ts, data=json.dumps(rows, separators=(",", ":")).encode(), sequence=seq) - w.finish() - return len(buf.getvalue()) - finally: - MW.zstandard.compress = saved - -n = len(objs) -g9 = len(gzip.compress(raw, 9)) -print(f"{path.rsplit('/', 1)[-1]}: {n} records") -print(f"{'variant':62s} {'bytes':>9s} {'B/rec':>6s} {'vs gzip-9':>9s}") -for name, b in [ - ("NDJSON raw", len(raw)), - ("NDJSON gzip-9 (bridge 3.4 writes this)", g9), - ("NDJSON zstd-19", len(zstandard.ZstdCompressor(level=19).compress(raw))), - ("MCAP per record, rosbag2/SDK defaults (zstd-3, message index)", write_mcap()), - ("MCAP per record, no message index, zstd-3", write_mcap(msg_index=False)), - ("MCAP per record, no message index, zstd-19", write_mcap(level=19, msg_index=False)), - ("MCAP tuned: arena echoes batched 1 s, no msg index, zstd-19", write_mcap(level=19, msg_index=False, batch_streams=("stream/a",))), - ("MCAP all high-rate batched 1 s, zstd-19", write_mcap(level=19, msg_index=False, batch_streams=("stream/a", "stream/kf", "fictrac/frame"))), -]: - print(f"{name:62s} {b:9d} {b/n:6.1f} {b/g9:8.2f}×") diff --git a/rig/sizing/frames300.py b/rig/sizing/frames300.py deleted file mode 100644 index 1f943e78..00000000 --- a/rig/sizing/frames300.py +++ /dev/null @@ -1,73 +0,0 @@ -"""One hour of controller frame records at 300 Hz in the telemetry ring's cf shape: - ["cf", rx_epoch_ms, t_us, seq, idx, pattern, sd_load_us, spi_us, req_age_us, superseded, flags] -Realistic jitter: t_us steps 3333 µs ± a few µs; sd_load/spi vary; idx follows a 50 Hz Mode-3 loop -(changes every 6th frame on average). 'changes only' = one record per idx change.""" -import io, json, gzip, random, zstandard -import mcap.writer as MW -from mcap.writer import Writer, CompressionType, IndexType - -random.seed(1) -HZ, HOURS = 300, 1 -N = HZ * 3600 * HOURS -t0_ms = 1_792_000_000_000 -rows, changes = [], [] -t_us = 0; idx = 0; rx = t0_ms -for i in range(N): - t_us += 3333 + random.randint(-3, 3) - if i % 6 == 0: # a 0x70 landed (≈50 Hz): idx steps by -1..+2 - idx = (idx + random.choice((-1, 0, 1, 1, 2))) % 200 - changed = True - else: - changed = False - rx = t0_ms + (t_us // 1000) + random.randint(0, 2) # host epoch ms at drain - r = ["cf", rx, t_us, i, idx, 3, 180 + random.randint(0, 40), 95 + random.randint(0, 6), - random.randint(50, 900), 0, 0] - rows.append(r) - if changed: - changes.append(r) - -def ndjson_gz(rs): - return len(gzip.compress("".join(json.dumps(r, separators=(",", ":")) + "\n" for r in rs).encode(), 9)) - -def mcap_size(rs, batch_s=None, level=19, msg_index=False): - saved = MW.zstandard.compress - MW.zstandard.compress = lambda d, _l=level: zstandard.ZstdCompressor(level=_l).compress(d) - try: - buf = io.BytesIO() - w = Writer(buf, compression=CompressionType.ZSTD, - index_types=IndexType.ALL if msg_index else (IndexType.ALL & ~IndexType.MESSAGE)) - w.start(profile="", library="frames300") - cid = w.register_channel("controller/frame", "json", w.register_schema("cf", "jsonschema", b"{}")) - if batch_s is None: - for k, r in enumerate(rs): - ts = r[1] * 1_000_000 - w.add_message(cid, log_time=ts, publish_time=ts, data=json.dumps(r, separators=(",", ":")).encode(), sequence=k) - else: - cur, bucket, k = None, [], 0 - for r in rs: - b = int(r[1] // (batch_s * 1000)) - if cur is not None and b != cur: - ts = bucket[0][1] * 1_000_000; k += 1 - w.add_message(cid, log_time=ts, publish_time=ts, data=json.dumps(bucket, separators=(",", ":")).encode(), sequence=k) - bucket = [] - cur = b; bucket.append(r) - if bucket: - ts = bucket[0][1] * 1_000_000 - w.add_message(cid, log_time=ts, publish_time=ts, data=json.dumps(bucket, separators=(",", ":")).encode(), sequence=k + 1) - w.finish() - return len(buf.getvalue()) - finally: - MW.zstandard.compress = saved - -MB = 1024 * 1024 -print(f"{N} frame records/hour at {HZ} Hz; {len(changes)} idx changes/hour ({len(changes)/3600:.0f} Hz)") -print(f"{'variant':58s} {'every frame':>12s} {'changes only':>13s}") -for name, fn in [ - ("NDJSON gzip-9 (today's format)", lambda rs: ndjson_gz(rs)), - ("MCAP per-record, rosbag2/SDK defaults (zstd-3, msg index)", lambda rs: mcap_size(rs, level=3, msg_index=True)), - ("MCAP per-record, tuned (zstd-19, no msg index)", lambda rs: mcap_size(rs)), - ("MCAP batched 1 s per message, zstd-19", lambda rs: mcap_size(rs, batch_s=1.0)), - ("MCAP batched 10 s per message, zstd-19", lambda rs: mcap_size(rs, batch_s=10.0)), -]: - a, b = fn(rows), fn(changes) - print(f"{name:58s} {a/MB:9.1f} MB {b/MB:10.1f} MB") diff --git a/rig/tests/si_json_mock.py b/rig/tests/si_json_mock.py deleted file mode 100644 index a98606fb..00000000 --- a/rig/tests/si_json_mock.py +++ /dev/null @@ -1,223 +0,0 @@ -#!/usr/bin/env python3 -"""si_json_mock.py — a stand-in for ScanImage's built-in JSON server (`most.network.json.Server`). - -Ported from `tests/remote-control/mock_servers.py` (`serve_json`) in reiserlab/scanimage-2026-bergamo -(Hannah Marie Santos, LAB-305), with attribution; the acquisition model below is ours. It imitates -the server's WIRE and its stock (unpatched) behaviors, not ScanImage's timing: - - * TCP, single client (listen(1), like AsyncServer); every message is ` str: - return path[4:] if path.startswith("hSI.") else path - - -def _resolve(path: str): - node = STATE - parts = _strip(path).split(".") - for p in parts[:-1]: - if not isinstance(node, dict) or p not in node: - raise ValueError(f'"{path}" is not a valid property name') - node = node[p] - if not isinstance(node, dict) or parts[-1] not in node: - raise ValueError(f'"{path}" is not a valid property name') - return node, parts[-1] - - -def get(path: str): - _tick() - if path in STALL_ON or ("hSI." + path) in STALL_ON: - raise _Stall(path) - if _strip(path) in OBJECT_VALUED: - return object() # unencodable → B2 - node, key = _resolve(path) - return node[key] - - -def set_(path: str, value): - node, key = _resolve(path) - if _strip(path) == "acqState": - raise ValueError("acqState is read-only") - node[key] = value - return value - - -def _tick() -> None: - """Advance the acquisition model to `now`.""" - with _lock: - if STATE["acqState"] in ("grab", "focus") and _acq["t_start"] is not None: - fps = STATE["hRoiManager"]["scanFrameRate"] - STATE["hDisplay"]["lastFrameNumber"] = int((time.monotonic() - _acq["t_start"]) * fps) - if STATE["acqState"] == "grab" and _acq["t_end"] is not None and time.monotonic() >= _acq["t_end"]: - STATE["acqState"] = "idle" - _acq["t_end"] = None - - -def _eval(expr: str, args: argparse.Namespace): - expr = expr.strip() - if expr in ("hSI.startGrab()", "hSI.startGrab"): - _tick() - if STATE["acqState"] != "idle": - raise ValueError(f"Cannot start a grab while acqState is '{STATE['acqState']}'") - time.sleep(args.start_delay_s) - with _lock: - dur = args.grab_s if args.grab_s is not None else STATE["hStackManager"]["framesPerSlice"] / STATE["hRoiManager"]["scanFrameRate"] - STATE["acqState"] = "grab" - _acq["t_start"] = time.monotonic() - _acq["t_end"] = _acq["t_start"] + dur - _acq["grabs"] += 1 - STATE["hDisplay"]["lastFrameNumber"] = 0 - if STATE["hChannels"]["loggingEnable"]: - STATE["hScan2D"]["logFileCounter"] += 1 - return [] - if expr in ("hSI.startFocus()", "hSI.startFocus"): - _tick() - if STATE["acqState"] != "idle": - raise ValueError(f"Cannot start focus while acqState is '{STATE['acqState']}'") - time.sleep(args.start_delay_s) - with _lock: - STATE["acqState"] = "focus" - _acq["t_start"] = time.monotonic() - _acq["t_end"] = None - return [] - if expr in ("hSI.abort()", "hSI.abort"): - with _lock: - STATE["acqState"] = "idle" - _acq["t_end"] = None - _acq["aborts"] += 1 - return [] - raise ValueError(f"mock cannot eval {expr!r} (only hSI.startGrab(), hSI.startFocus(), hSI.abort())") - - -def _recv_exact(conn: socket.socket, n: int) -> bytes: - buf = b"" - while len(buf) < n: - chunk = conn.recv(n - len(buf)) - if not chunk: - raise ConnectionError - buf += chunk - return buf - - -def serve(args: argparse.Namespace, stop: threading.Event | None = None) -> None: - srv = socket.socket() - srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - srv.bind((args.host, args.port)) - srv.listen(1) # single client, like AsyncServer - srv.settimeout(0.2) - print(f"[si-json-mock] ScanImage JSON server stand-in on {args.host}:{args.port} (B2 {'on' if args.b2 else 'patched'}, " - f"start delay {args.start_delay_s:g} s, grab {args.grab_s if args.grab_s is not None else 'framesPerSlice/fps'} s)", file=sys.stderr, flush=True) - while not (stop and stop.is_set()): - try: - conn, peer = srv.accept() - except socket.timeout: - continue - conn.settimeout(10.0) - with conn: - while not (stop and stop.is_set()): - try: - n = struct.unpack(" int: - p = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - p.add_argument("--host", default="127.0.0.1") - p.add_argument("--port", type=int, default=5555) - p.add_argument("--no-b2", dest="b2", action="store_false", help="patched behavior: an error reply instead of silence on object-valued gets") - p.add_argument("--start-delay-s", type=float, default=0.3, help="how long startGrab/startFocus block before replying (Bergamo: 1.2–2.4 s)") - p.add_argument("--grab-s", type=float, default=None, help="grab duration override (default: framesPerSlice / scanFrameRate)") - p.add_argument("--stall-on", action="append", default=[], help="property path whose get is never answered (harness: the UNKNOWN path on an allowlisted property)") - args = p.parse_args(argv) - STALL_ON.update(a if a.startswith("hSI.") else "hSI." + a for a in args.stall_on) - try: - serve(args) - except KeyboardInterrupt: - pass - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/rig/tests/test_ros2_poc.py b/rig/tests/test_ros2_poc.py index c74ca01f..c0d27743 100644 --- a/rig/tests/test_ros2_poc.py +++ b/rig/tests/test_ros2_poc.py @@ -16,9 +16,9 @@ ───────────────────────────────────────────────────────────────────────────────────── pixi install, no manual steps; one `pixi run rig` this test runs in that env; rig.py is the launcher no custom message types std_msgs/String everywhere (grep in CI below) - FicTrac via the sim through a UDP→ROS adapter, untouched fictrac_sim.py unmodified, adapter in nodes/ + FicTrac via the sim through a UDP→ROS adapter, untouched rig_nodes.sims.fictrac_sim, adapter rig_nodes.fictrac_udp_adapter Kinefly fork via a KF/1 adapter kinefly_sim.py (KF/1 bytes) → adapter → ["kf",…] rows - BIAS via the Mac port bias_sim.py here; real BIAS = same HTTP interface + BIAS via the Mac port rig_nodes.sims.bias_sim; real BIAS = same HTTP interface unmodified Studio passes the closed-loop report emulator speaks the client's protocol; report: rejection > 0.8 on uninterrupted epochs, idx mismatch 0 … and the runlog format tests js/runlog-format + runlog-replay readers accept every line; @@ -74,11 +74,10 @@ POC = HERE.parent REPO = POC.parent NODES = POC / "nodes" -SIM = REPO / "fictrac-bridge" / "fictrac_sim.py" BRIDGE_PY = REPO / "fictrac-bridge" / "bridge.py" PY = sys.executable sys.path.insert(0, str(NODES)) -from _common import SIGKILL, popen_group, signal_group, wait_port # noqa: E402 +from rig_nodes.supervise import SIGKILL, popen_group, signal_group, wait_port # noqa: E402 (reiserlab/rig-nodes) results: list[tuple[str, bool, str]] = [] @@ -337,7 +336,7 @@ def frame_record_size(bag: Path, export: Path) -> dict: from mcap.writer import CompressionType, IndexType, Writer sys.path.insert(0, str(NODES)) - from mcap_index import ZSTD_LEVEL, _zstd_level # noqa: E402 + from rig_nodes.mcap_index import ZSTD_LEVEL, _zstd_level # noqa: E402 buf = io.BytesIO() n = 0 @@ -393,28 +392,28 @@ def start(name: str, argv: list[str]) -> Proc: if not a.no_router: start("router", ["ros2", "run", "rmw_zenoh_cpp", "rmw_zenohd"]) check("zenoh router listening on 127.0.0.1:7447", wait_port("127.0.0.1", 7447, 20.0)) - fictrac = start("fictrac-adapter", [PY, str(NODES / "fictrac_udp_adapter.py"), "--status-every", "0"]) - start("kinefly-adapter", [PY, str(NODES / "kinefly_udp_adapter.py"), "--status-every", "0"]) + fictrac = start("fictrac-adapter", [PY, "-m", "rig_nodes.fictrac_udp_adapter", "--status-every", "0"]) + start("kinefly-adapter", [PY, "-m", "rig_nodes.kinefly_udp_adapter", "--status-every", "0"]) # The sim on a free port, not BIAS's 5010: a rig PC often has the real BIAS open. bias_port = free_tcp_port() - start("bias-sim", [PY, str(NODES / "bias_sim.py"), "--port", str(bias_port), "--video-dir", str(videos)]) - start("bias-node", [PY, str(NODES / "bias_node.py"), "--port", str(bias_port), "--status-every", "1", "--video-dir", str(videos)]) + start("bias-sim", [PY, "-m", "rig_nodes.sims.bias_sim", "--port", str(bias_port), "--video-dir", str(videos)]) + start("bias-node", [PY, "-m", "rig_nodes.bias_node", "--port", str(bias_port), "--status-every", "1", "--video-dir", str(videos)]) # ScanImage stand-in on a free port (a rig PC may have the real JSON server on 5555): short # grabs, a short start delay, and one allowlisted property it never answers (the UNKNOWN path). si_port = free_tcp_port() - start("si-mock", [PY, str(HERE / "si_json_mock.py"), "--port", str(si_port), "--grab-s", "1.0", "--start-delay-s", "0.2", "--stall-on", "hSI.hRoiManager.scanZoomFactor"]) - start("scanimage-node", [PY, str(NODES / "scanimage_node.py"), "--port", str(si_port), "--status-every", "1", "--timeout-s", "1.5"]) + start("si-mock", [PY, "-m", "rig_nodes.sims.si_json_mock", "--port", str(si_port), "--grab-s", "1.0", "--start-delay-s", "0.2", "--stall-on", "hSI.hRoiManager.scanZoomFactor"]) + start("scanimage-node", [PY, "-m", "rig_nodes.scanimage_node", "--port", str(si_port), "--status-every", "1", "--timeout-s", "1.5"]) bridge_argv = [PY, str(NODES / "bridge_node.py"), "--log-dir", str(runlogs), "--source-timeout", "1.5", "--bag-profile", a.bag_profile] bridge = start("bridge-node", bridge_argv) check("bridge node serving ws://127.0.0.1:8765", wait_port("127.0.0.1", 8765, 20.0)) time.sleep(1.5) # discovery - start("kinefly-sim", [PY, str(NODES / "kinefly_sim.py"), "--rate", "100", "--seed", "1"]) - start("model-fly", [PY, str(SIM), "--model", "fly", "--kp", "2", "--seed", "1", "--rate", "50"]) + start("kinefly-sim", [PY, "-m", "rig_nodes.sims.kinefly_sim", "--rate", "100", "--seed", "1"]) + start("model-fly", [PY, "-m", "rig_nodes.sims.fictrac_sim", "--model", "fly", "--kp", "2", "--seed", "1", "--rate", "50"]) time.sleep(1.5) # ── side actors during the run: BIAS commands + the adapter kill ───────────── def bias_cmd(*args: str) -> dict: - r = run_capture([PY, str(NODES / "bias_cmd.py"), *args, "--json", "--timeout", "10"], timeout=30) + r = run_capture([PY, "-m", "rig_nodes.bias_cmd", *args, "--json", "--timeout", "10"], timeout=30) try: return json.loads(r.stdout) if r.stdout.strip().startswith("{") else {"rc": r.returncode, "err": r.stderr[-300:]} except json.JSONDecodeError: @@ -690,7 +689,7 @@ def side_actor() -> None: print(" skip JS reader check: no `node` and no root pixi env (run `pixi install` at the repo root)", file=sys.stderr) # Plan B item 3/4: typed topics when the interfaces package is built in this env. - ifc = run_capture([PY, str(NODES / "build_interfaces.py"), "--check"], timeout=60) + ifc = run_capture([PY, "-m", "rig_nodes.build_interfaces", "--check"], timeout=60) have_ifaces = ifc.returncode == 0 if have_ifaces: check("typed: rig_interfaces importable → ArenaFrame recorded in the bag (and no FicTracFrame by default)", diff --git a/tests/test-fictrac-sim.py b/tests/test-closed-loop-report.py similarity index 57% rename from tests/test-fictrac-sim.py rename to tests/test-closed-loop-report.py index b117fa7f..473a00a3 100644 --- a/tests/test-fictrac-sim.py +++ b/tests/test-closed-loop-report.py @@ -1,9 +1,10 @@ #!/usr/bin/env python3 -"""Offline tests for fictrac-bridge/fictrac_sim.py (run-log replay + model fly) and -scripts/closed-loop-report.py. No sockets: the pure pieces are driven directly and the -report is run on a synthetic run log written to a temp dir. Wired into `pixi run test`. +"""Offline tests for scripts/closed-loop-report.py: bias_angle_deg mirrors fictrac-bridge/bridge.py and +the report is run on synthetic run logs written to a temp dir. Wired into `pixi run test`. +(Until 2026-10-26 this file also tested fictrac_sim.py; those tests moved with the simulator to +reiserlab/rig-nodes, tests/test_fictrac_sim.py.) -Run: python tests/test-fictrac-sim.py +Run: python tests/test-closed-loop-report.py """ from __future__ import annotations @@ -25,7 +26,6 @@ def load(name, rel): return mod -sim = load("fictrac_sim", "fictrac-bridge/fictrac_sim.py") rep = load("closed_loop_report", "scripts/closed-loop-report.py") bridge = load("bridge", "fictrac-bridge/bridge.py") @@ -47,113 +47,6 @@ def check_close(name, got, expected, tol): print("=== pack_record / wrap ===") -f = sim.pack_record(7, 20.0, 7.0, 0.1, 0.02, 7.0, 1.0, 2.0, 3.0, 4.0) -check("frame counter col 1", f[0], 7) -check_close("heading col 17 wrapped to [0, 2π)", f[16], 7.0 % (2 * math.pi), 1e-12) -check("delta heading col 8", f[7], 0.1) -check("timestamp col 22 in ns", f[21], 7 * 20.0 * 1e6) -check("25 fields", len(f), 25) -check("fmt_record ints for cols 1/23", sim.fmt_record(f).split(", ")[0], "7") -check("wrap180(190) = -170", sim.wrap180(190.0), -170.0) -check("wrap180(-180) stays -180 (range is [-180, 180))", sim.wrap180(-180.0), -180.0) -check("wrap180(180) = -180", sim.wrap180(180.0), -180.0) -check_close("wrap_pi(3π) = -π", sim.wrap_pi(3 * math.pi), -math.pi, 1e-9) -check_close("wrap_pi(0.5) unchanged", sim.wrap_pi(0.5), 0.5, 1e-12) - -print("=== feature azimuth ===") -check("frame 0 → az0", sim.feature_azimuth(0, 1.8, 1, 0.0), 0.0) -check_close("idx 50 at 1.8°/frame → +90° right", sim.feature_azimuth(50, 1.8, 1, 0.0), 90.0, 1e-9) -check_close("frame_dir -1 flips", sim.feature_azimuth(50, 1.8, -1, 0.0), -90.0, 1e-9) -check_close("idx 150 wraps to -90", sim.feature_azimuth(150, 1.8, 1, 0.0), -90.0, 1e-9) - -print("=== load_runlog_rows (mixed v2 log, gzipped) ===") -with tempfile.TemporaryDirectory() as d: - p = os.path.join(d, "log.jsonl.gz") - lines = [ - {"type": "session", "event": "logging_started", "ms": 1000}, - {"type": "frame_schema", "level": "behavior_v2", "cols": ["ms", "fc", "idx", "ft", "x", "y", "hd"], "t0": 1000}, - [0, 10, 0, 0.0, 0.1, 0.2, 0.5], - ["a", 3, 2, "03700100", 0, 5], - ["cc", 1005, 40000000, 1, 112, 0, "0100"], - [20, 11, 1, 20.0, 0.11, 0.21, 0.52], - [40, 12, 1, 40.0, 0.12, 0.22, None], # hd null → skipped - {"type": "log", "event": "runner", "phase": "step-start"}, - "garbage", - [3000, 13, 2, 60.0, 0.13, 0.23, 6.2], - ] - with gzip.open(p, "wt") as fh: - for l in lines: - fh.write((json.dumps(l) if not isinstance(l, str) else l) + "\n") - rows = sim.load_runlog_rows(p) - check("three usable rows", len(rows), 3) - check("row = (ms, fc, x, y, hd)", rows[0], (0.0, 10, 0.1, 0.2, 0.5)) - - print("=== replay_records: pacing + heading continuity across loops ===") - recs = list(sim.replay_records(rows, loop=False)) - check("one record per row", len(recs), 3) - check("first delay 0", recs[0][0], 0.0) - check_close("20 ms gap → 0.02 s", recs[1][0], 0.02, 1e-9) - check_close("2960 ms gap clamped to 1 s", recs[2][0], 1.0, 1e-9) - check_close("heading col 17 = hd", recs[0][1][16], 0.5, 1e-9) - check_close("delta heading wraps (6.2 − 0.52 → −0.60)", recs[2][1][7], sim.wrap_pi(6.2 - 0.52), 1e-9) - check_close("timestamp col 22 = ms in ns", recs[1][1][21], 20.0 * 1e6, 1e-3) - gen = sim.replay_records(rows, loop=True) - two_passes = [next(gen)[1] for _ in range(6)] - check_close("loop restart keeps heading continuous", two_passes[3][16], two_passes[2][16], 1e-9) - check("frame counter keeps counting across the loop", two_passes[5][0], 6) - check_close("second pass delta heading is a small step, not a jump", abs(two_passes[3][7]), 0.0, 1e-9) - -print("=== ModelFly ===") -fly = sim.ModelFly(rate_hz=50, seed=1, kp=2.0, noise_dps=0.0, saccade_rate_hz=0.0) -h0 = fly.heading -for _ in range(50): - fly.step(30.0) # feature 30° to the RIGHT -check("kp>0, feature right → heading DEcreases (turns right, FicTrac CCW+)", fly.heading < h0, True) -check_close("1 s at kp 2 × 30° with τ 0.1 → ≈ −60°·(1 − τ/1)", math.degrees(fly.heading - h0), -60.0 + 6.0, 2.0) -fly = sim.ModelFly(rate_hz=50, seed=1, kp=2.0, noise_dps=0.0, saccade_rate_hz=0.0) -for _ in range(50): - fly.step(-30.0) -check("feature left → heading increases", fly.heading > 0, True) -fly = sim.ModelFly(rate_hz=50, seed=1, kp=2.0, noise_dps=0.0, saccade_rate_hz=0.0) -for _ in range(50): - fly.step(None) -check("display unseen → no fixation drive", fly.heading, 0.0) - -fly = sim.ModelFly(rate_hz=50, seed=2, kv=1.0, noise_dps=0.0, saccade_rate_hz=0.0, tau_s=0.02) -az = 0.0 -for _ in range(100): - az += 0.9 # feature drifting RIGHT at 45 °/s - fly.step(az) -w = math.degrees(fly.omega) -check_close("kv 1, world moving right at 45°/s → fly turns right at ≈ −45°/s", w, -45.0, 3.0) - -a = sim.ModelFly(rate_hz=50, seed=7, kp=1.0) -b = sim.ModelFly(rate_hz=50, seed=7, kp=1.0) -same = all(a.step(10.0) == b.step(10.0) for _ in range(200)) -check("deterministic given the seed", same, True) - -fly = sim.ModelFly(rate_hz=100, seed=3, noise_dps=0.0, saccade_rate_hz=2.0, saccade_deg=45.0, saccade_ms=80.0) -for _ in range(100 * 60): - fly.step(None) -check("saccade count over 60 s at 2/s is Poisson-ish (90..150)", 90 <= fly.saccades <= 150, True) -check("saccade lasts 8 frames at 100 Hz", fly.saccade_frames, 8) - -fly = sim.ModelFly(rate_hz=50, seed=4, noise_dps=20.0, saccade_rate_hz=0.0, pause_s=1.0, bout_s=1.0, speed_rad_s=1.0) -walked = paused = 0 -speed_paused = 0.0 -for _ in range(50 * 60): - r = fly.step(None) - if fly.walking: - walked += 1 - else: - paused += 1 - speed_paused = max(speed_paused, r[18]) -check("two-state bouts: both states visited", walked > 500 and paused > 500, True) -check("paused fly has zero forward speed", speed_paused, 0.0) -r = fly.step(None) -check("record heading col 17 wrapped", 0.0 <= r[16] < 2 * math.pi, True) -check_close("col 22 in ns", r[21], fly.frame * 20.0 * 1e6, 1e-3) - print("=== closed-loop-report: bias_angle_deg mirrors the bridge ===") for kind, amp, fr, t in (("constant", 90, 0, 1.3), ("sine", 90, 0.5, 0.37), ("square", 60, 1.0, 0.61), ("square", 60, 1.0, 0.9), ("none", 5, 1, 2)): check_close(f"{kind} A={amp} f={fr} t={t}", rep.bias_angle_deg(kind, amp, fr, t), bridge.bias_angle_deg(kind, amp, fr, t), 1e-9) From d9dc5c58b3ea820ee8bf78b21a466e62e7060f3c Mon Sep 17 00:00:00 2001 From: Michael B Reiser Date: Mon, 26 Oct 2026 20:48:31 -0400 Subject: [PATCH 3/8] rig: re-lock on the rig-nodes v0.2.1 channel (one RoboStack set, mutex 0.19 + Python 3.12, all three platforms) Co-Authored-By: Claude Fable 5.1 --- rig/pixi.lock | 21070 +++++++++++++++++------------------------------- 1 file changed, 7597 insertions(+), 13473 deletions(-) diff --git a/rig/pixi.lock b/rig/pixi.lock index ee5dd2ce..ac89ebf3 100644 --- a/rig/pixi.lock +++ b/rig/pixi.lock @@ -8,6 +8,7 @@ environments: channels: - url: https://conda.anaconda.org/conda-forge/ - url: https://conda.anaconda.org/robostack-jazzy/ + - url: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/ packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -17,7 +18,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-3.25-h26dfbe5_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-cpp-3.25-hcbe3ca9_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.9-hebe6cf0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.6-h3c89d7e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.4-hff7ac6b_0.conda @@ -43,7 +44,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/gtest-1.18.0-h171cf75_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.52-ha5ea40c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.6.0-ha770c72_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-15.0.0-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda @@ -62,7 +63,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.9.0-hd2095e1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h5e6c136_2.conda @@ -78,8 +79,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.6.0-h23af247_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.6.0-h23af247_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-15.0.0-h23af247_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-15.0.0-h23af247_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiceoryx-binding-c-2.95.8-h1059693_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiceoryx-hoofs-2.95.8-hfe315d3_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiceoryx-platform-2.95.8-hf91fcae_5.conda @@ -91,13 +92,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpango-1.58.2-hce4e988_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpango-devel-1.58.2-h317d9d0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.59-h922cc85_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.15-ha57cdbe_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.16-ha57cdbe_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.4-ha427ee3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-hebe6cf0_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.0-h13e7031_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h13e7031_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.2.0-hdf11a46_7.conda @@ -108,7 +111,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-hb83e432_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h51789e4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h59c2f34_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.4-hf3af7cc_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_1.conda @@ -122,7 +125,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.4-py312he827f4e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orocos-kdl-1.5.4-h761dd02_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.58.2-h7bb47b9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.58.2-h2f58602_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-h8b3dc9c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_3.conda @@ -130,25 +133,25 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h1b36aeb_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h7cc23a3_1004.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pybullet-3.25-py312hf49885f_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.15-h5f976f7_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.16-h5f976f7_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-orocos-kdl-1.5.4-py312ha6a3dbb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.2.0-py312h8a5ba0d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/spdlog-1.17.0-hb6aa676_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.54.0-h9ffa6c4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.54.1-h9ffa6c4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-hee9eb32_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.83.0-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-6.0.1-hf2e7533_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-6.0.2-hf2e7533_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom_headers-3.0.1-h4dbf13b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.2-py312h89dfda2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.3-py312h89dfda2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-hebe6cf0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-h0d788c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.14-hb83e432_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda @@ -156,11 +159,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-h7cc23a3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-h7cc23a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.4-h7cc23a3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.6-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-h7cc23a3_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.13-h7cc23a3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.6-h7cc23a3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda @@ -172,10 +175,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-51.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda @@ -192,40 +195,44 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.1.0-pyh293190f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.1.0-pyh648e204_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.11-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.12-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.15-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.16-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-79.0.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-py-0.33.11-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclpy-7.1.12-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-base-0.11.0-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-py-0.26.11-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-py-0.13.2-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-std-msgs-5.3.8-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-actionlib-msgs-5.3.8-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py312h1bab3cf_25.conda @@ -279,7 +286,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-cyclonedds-0.10.5-py312h79554f9_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-demo-nodes-py-0.33.11-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-diagnostic-msgs-5.3.8-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-eigen3-cmake-module-0.3.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-example-interfaces-0.12.1-np2py312h1bab3cf_25.conda @@ -339,7 +346,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-2.15.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-cmake-7.3.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-cmake-7.3.4-np2py312h1bab3cf_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-zenoh-cpp-0.2.11-np2py312h815c85b_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-robot-state-publisher-3.3.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-base-0.11.0-np2py312h1bab3cf_25.conda @@ -348,7 +355,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2action-0.32.13-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2bag-0.26.11-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-0.32.13-np2py312h1bab3cf_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-common-extensions-0.3.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2component-0.32.13-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2doctor-0.32.13-np2py312h1bab3cf_25.conda @@ -376,7 +383,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-transport-0.26.11-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosgraph-msgs-2.0.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py312h1bab3cf_25.conda @@ -441,14 +448,15 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-yaml-cpp-vendor-9.0.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h815c85b_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zstd-vendor-0.26.11-np2py312h6a0d68b_25.conda + - conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/noarch/rig_nodes-0.2.1-pyh4616a5c_0.conda osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-51.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda @@ -465,47 +473,49 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.1.0-pyh293190f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.1.0-pyh648e204_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.11-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.12-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.15-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.16-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-79.0.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-8_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/atk-1.0-2.38.0-hd03087b_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bullet-3.25-h652a6e0_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bullet-cpp-3.25-py312h5978115_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.8-h74c22ad_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.9-h74c22ad_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.6-h580cee5_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.1.1-py312hc892d8b_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.4-hf91ab31_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/console_bridge-1.0.2-h3e96240_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cppcheck-2.22.0-py312h3286cfa_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-50.0.2-py311hc28ac56_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cyclonedds-0.10.5-heeac741_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-5.0.1-hdb59ae0_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-abi-5.0.1.100-h485a483_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-abi-devel-5.0.1.100-h4206fe6_3.conda @@ -523,19 +533,19 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtest-1.18.0-h3feff0a_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.52-hc0f3e19_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gts-0.7.6-he42f4ea_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.6.0-hce30654_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-15.0.0-hce30654_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hicolor-icon-theme-0.17-hce30654_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.2.0-h1eee2c3_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-11_h51639a9_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-11_hb0561ab_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.22.0-h6651222_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.3-h55c6f16_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.23.0-h6651222_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.4-h55c6f16_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.25-he7e0567_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20260512-pl5321h26f1114_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.9.0-h6111c0a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.14.3-hce30654_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-h2ed5691_2.conda @@ -544,8 +554,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-16.2.0-h07b0088_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-16.2.0-hdb7a957_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.90.0-hccd281b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-14.6.0-hcda0f7c_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-devel-14.6.0-hcda0f7c_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-15.0.0-hcda0f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-devel-15.0.0-hcda0f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-binding-c-2.95.8-hcac2f75_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-hoofs-2.95.8-h708977a_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-platform-2.95.8-h799688d_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-posh-2.95.8-hbfce10a_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-he4c29f2_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-hae62183_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.2.0-h84a0fba_1.conda @@ -553,12 +567,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h435687b_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.34-openmp_h5e6e99c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpango-1.58.2-hc2ac4f2_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpango-devel-1.58.2-haa2d88b_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.59-hf5e6511_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpsl-0.23.1-hdb0c161_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.12.15-h0677fcb_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.12.16-h0677fcb_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.4-hc8ac265_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.22-h74c22ad_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.0-hca69786_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.1-hca69786_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-hbf2880b_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.2-hf67920b_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.52.1-h1a92334_1.conda @@ -569,7 +585,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxslt-1.1.45-haaf9281_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzenohc-1.9.0-h389a063_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-23.1.3-hdb3d66b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-23.1.4-hdb3d66b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.3-py312haba262f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py312hc8604c9_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-hdca3b7d_2.conda @@ -577,7 +593,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.5.4-py312hff34920_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orocos-kdl-1.5.4-hba3f793_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.58.2-hf9b25ef_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.58.2-hc6efcc1_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre-8.45-hbdafb3b_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-he63d830_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h784d473_3.conda @@ -585,21 +601,21 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py312hbd136b4_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pthread-stubs-0.4-hb001647_1004.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pybullet-3.25-py312h3a599b7_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.15-hd05a0c4_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.16-hd05a0c4_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-orocos-kdl-1.5.4-py312h1535055_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py312h04c11ed_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.2.0-py312hdfb5542_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/spdlog-1.17.0-h760df91_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.54.0-ha9f7ffe_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.54.1-ha9f7ffe_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tinyxml2-11.0.0-hdca3b7d_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uncrustify-0.83.0-h784d473_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/urdfdom-6.0.1-hb460c4f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/urdfdom-6.0.2-h8704d93_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/urdfdom_headers-3.0.1-hfbe1efa_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-17.2-py312h9b6eb38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libx11-1.8.13-hf948f5a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-17.3-py312h9b6eb38_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libx11-1.8.14-hbffa61f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxau-1.0.12-hb001647_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxdmcp-1.1.5-hb001647_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxext-1.3.7-hb001647_1.conda @@ -609,243 +625,237 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h6eb0046_12.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.25.0-py312hbd136b4_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-index-cpp-1.8.4-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-demo-nodes-py-0.33.11-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-fastcdr-2.2.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rcpputils-2.11.4-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rcutils-6.7.6-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-zenoh-cpp-0.2.10-np2py312h84ff3ff_21.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rclpy-7.1.12-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-zenoh-cpp-0.2.11-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-base-0.11.0-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-workspace-1.0.3-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosbag2-py-0.26.11-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-dynamic-typesupport-0.1.2-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-runtime-c-4.6.9-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-typesupport-fastrtps-c-3.6.4-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-typesupport-fastrtps-cpp-3.6.4-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-tracetools-8.2.6-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-zenoh-cpp-vendor-0.2.10-np2py312h84ff3ff_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-actionlib-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-auto-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-copyright-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-lint-cmake-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-xmllint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-copyright-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-cpp-1.8.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-auto-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-cmake-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-common-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-xmllint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-class-loader-2.7.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-common-interfaces-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-composition-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-console-bridge-vendor-1.7.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-cyclonedds-0.10.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-demo-nodes-py-0.33.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-diagnostic-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.16.0-jazzy_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-eigen3-cmake-module-0.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-example-interfaces-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-2.14.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foonathan-memory-vendor-1.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry2-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-binding-c-2.0.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-hoofs-2.0.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-posh-2.0.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-kdl-parser-2.11.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-keyboard-handler-0.3.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-3.4.11-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-ros-0.26.12-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ament-cmake-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ros-0.26.12-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-xml-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-yaml-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-liblz4-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libstatistics-collector-1.7.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libyaml-vendor-1.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-lifecycle-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-mcap-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-message-filters-4.11.17-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-nav-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-orocos-kdl-vendor-0.5.2-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-osrf-pycommon-2.1.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pluginlib-5.4.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pybind11-vendor-3.1.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-orocos-kdl-vendor-0.5.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-action-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-lifecycle-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-interface-3.1.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-spdlog-3.1.1-np2py312h88edd79_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-yaml-param-parser-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-action-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-components-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-lifecycle-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclpy-7.1.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-0.22.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-common-0.22.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-cyclonedds-cpp-2.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-dds-common-3.1.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-2.15.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-cmake-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-robot-state-publisher-3.3.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-base-0.11.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-core-0.11.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2action-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2bag-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-0.32.11-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-common-extensions-0.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2component-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2doctor-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2interface-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2launch-0.26.12-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2lifecycle-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2multicast-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2node-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2param-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2pkg-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2plugin-5.4.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2run-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2service-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2topic-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-zstd-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-cpp-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-interfaces-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-py-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-mcap-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-transport-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosgraph-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-runtime-1.6.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-py-0.13.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-py-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-shape-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-spdlog-vendor-1.6.2-np2py312h88edd79_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sqlite3-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-0.13.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-cmake-0.13.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-statistics-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-srvs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-stereo-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-bullet-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-0.36.22-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-kdl-0.36.22-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-geometry-msgs-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-kdl-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-msgs-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-py-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-py-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-sensor-msgs-0.36.22-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-tools-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tinyxml2-vendor-0.9.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tracetools-8.2.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-trajectory-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-type-description-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-2.10.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-parser-plugin-2.10.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-6.0-py312h3dea895_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-headers-3.0-py312h3dea895_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-visualization-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-yaml-cpp-vendor-9.0.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zstd-vendor-0.26.11-np2py312haf4906a_21.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-runtime-py-0.13.2-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-std-msgs-5.3.8-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-actionlib-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-auto-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-copyright-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-lint-cmake-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-xmllint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-copyright-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-cpp-1.8.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-auto-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-cmake-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-common-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-xmllint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-class-loader-2.7.1-np2py312h6fbb871_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-common-interfaces-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-composition-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-console-bridge-vendor-1.7.2-np2py312h6fbb871_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-cyclonedds-0.10.5-py312h588e9fb_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-demo-nodes-py-0.33.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-diagnostic-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.19.0-jazzy_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-eigen3-cmake-module-0.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-example-interfaces-0.12.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-2.14.7-np2py312h6133e15_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foonathan-memory-vendor-1.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry2-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-binding-c-2.95.8-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-hoofs-2.95.8-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-posh-2.95.8-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-kdl-parser-2.11.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-keyboard-handler-0.3.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-ros-0.26.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ament-cmake-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ros-0.26.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-xml-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-yaml-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-liblz4-vendor-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libstatistics-collector-1.7.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libyaml-vendor-1.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-lifecycle-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-mcap-vendor-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-message-filters-4.11.17-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-nav-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-orocos-kdl-vendor-0.5.2-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-osrf-pycommon-2.1.7-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pluginlib-5.4.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pybind11-vendor-3.1.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-orocos-kdl-vendor-0.5.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-action-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-lifecycle-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-interface-3.1.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-spdlog-3.1.1-np2py312h6cdb02c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-yaml-param-parser-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-action-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-components-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-lifecycle-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclpy-7.1.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-0.22.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-common-0.22.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-dds-common-3.1.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-2.15.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-cmake-7.3.4-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-zenoh-cpp-0.2.11-np2py312h48e1e13_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-robot-state-publisher-3.3.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-base-0.11.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-core-0.11.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2action-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2bag-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-0.32.13-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-common-extensions-0.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2component-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2doctor-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2interface-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2launch-0.26.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2lifecycle-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2multicast-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2node-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2param-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2pkg-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2plugin-5.4.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2run-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2service-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2topic-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-zstd-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-cpp-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-interfaces-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-py-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-mcap-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-transport-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosgraph-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-runtime-1.6.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-py-0.13.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-py-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-shape-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-spdlog-vendor-1.6.2-np2py312h6cdb02c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sqlite3-vendor-0.26.11-np2py312hf913b0b_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-0.13.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-cmake-0.13.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-statistics-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-srvs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-stereo-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-bullet-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-0.36.23-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-kdl-0.36.23-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-geometry-msgs-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-kdl-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-msgs-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-py-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-py-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-sensor-msgs-0.36.23-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-tools-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tinyxml2-vendor-0.9.2-np2py312h4821590_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tracetools-8.2.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-trajectory-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-type-description-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-2.10.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-parser-plugin-2.10.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-6.0-py312h23657be_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-headers-3.0-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-visualization-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-yaml-cpp-vendor-9.0.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h48e1e13_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zstd-vendor-0.26.11-np2py312h849b6f6_25.conda + - conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/noarch/rig_nodes-0.2.1-pyh4616a5c_0.conda win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda @@ -862,35 +872,36 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.1.0-pyh293190f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.1.0-pyhc8003f9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.11-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.12-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.15-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.16-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-79.0.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bullet-3.25-h6d21bc8_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bullet-cpp-3.25-hc128f0a_5.conda @@ -908,8 +919,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/fmt-12.1.0-h1ced75a_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.3-hd47e2ca_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/foonathan-memory-0.7.4-h5112557_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.17-hfd05255_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.90.1-h6e26cc4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.90.1-h026f061_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/gmock-1.18.0-h4f519af_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-h5112557_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-14.1.2-h4c50273_0.conda @@ -922,7 +936,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-11_h2a3cdd5_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.23.0-hdb0ef4a_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h1a1d4e4_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.5-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.9.0-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_2.conda @@ -930,7 +944,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h4974f7c_12.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.90.1-ha564072_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-16.2.0-h8ee18e1_7.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.6.0-h03b5201_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-15.0.0-h03b5201_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-15.0.0-h03b5201_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.15.0-default_hae90fe0_1001.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiceoryx-binding-c-2.95.8-h480d27c_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiceoryx-hoofs-2.95.8-h10852e2_5.conda @@ -938,26 +953,29 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libiceoryx-posh-2.95.8-he66a732_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-11_hf9ab0e9_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpango-1.58.2-h02b4fad_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpango-devel-1.58.2-h7637d1b_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.59-hdc8cecf_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpsl-0.23.1-h9b16d47_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.15-hfb4101e_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.16-hfb4101e_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.0-hf5d6505_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.1-hf5d6505_101.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h734d217_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libuv-1.52.1-h6a83c73_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r688.g6b2176247.1-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h874e120_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.4-h3cfd58e_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.4-he095d88_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.45-ha5384fd_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzenohc-1.9.0-hcc20cc8_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.3-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.4-h49e36cd_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.3-py312h1476a5e_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py312hc3c93f3_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-c-1.10.0-h6a83c73_2.conda @@ -965,7 +983,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.4-py312ha3f287d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/orocos-kdl-1.5.4-h85e3ab8_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.58.2-h13911b6_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.58.2-h4350c2a_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pcre-8.45-h0e60522_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-h8466c1e_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_3.conda @@ -973,43 +991,47 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py312he5662c2_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-hfa92662_1004.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pybullet-3.25-py312h3d6c809_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.15-hb12b558_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.16-hb12b558_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/win-64/python-orocos-kdl-1.5.4-py312hbb81ca0_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.2.0-py312h343a6d4_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/spdlog-1.17.0-hd227c35_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.54.0-hdb435a2_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.54.1-hdb435a2_101.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.1.0-h272cf33_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tinyxml2-11.0.0-h5112557_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/uncrustify-0.83.0-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/urdfdom-6.0.1-h37f4996_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/urdfdom-6.0.2-h37f4996_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/urdfdom_headers-3.0.1-h477610d_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36247-h633cb9f_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-17.2-py312h5247d40_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-17.3-py312h5247d40_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-hd74fcf3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-hd74fcf3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.14-h2496537_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-hfa92662_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.5-hfa92662_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxext-1.3.7-hfa92662_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.20-hfa92662_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-hfa92662_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-cpp-0.8.0-h5112557_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zenoh-rust-abi-1.9.0.1.93.1-heb1d585_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_12.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.25.0-py312he5662c2_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-demo-nodes-py-0.33.11-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rclpy-7.1.12-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ros-base-0.11.0-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-py-0.26.11-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-runtime-py-0.13.2-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-std-msgs-5.3.8-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-action-msgs-2.0.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-actionlib-msgs-5.3.8-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-2.5.6-np2py312hdd89193_25.conda @@ -1063,7 +1085,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-cyclonedds-0.10.5-py312h420ed83_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-demo-nodes-py-0.33.11-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-diagnostic-msgs-5.3.8-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.19.0-jazzy_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.19.0-jazzy_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-domain-coordinator-0.12.2-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-eigen3-cmake-module-0.3.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-example-interfaces-0.12.1-np2py312hdd89193_25.conda @@ -1123,7 +1145,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-2.15.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-cmake-7.3.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-cmake-7.3.4-np2py312hdd89193_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-zenoh-cpp-0.2.11-np2py312hbb4efd0_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-robot-state-publisher-3.3.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-base-0.11.0-np2py312hdd89193_25.conda @@ -1132,7 +1154,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-workspace-1.0.3-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2action-0.32.13-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2bag-0.26.11-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-0.32.13-np2py312hdd89193_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-common-extensions-0.3.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2component-0.32.13-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2doctor-0.32.13-np2py312hdd89193_25.conda @@ -1160,7 +1182,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-transport-0.26.11-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosgraph-msgs-2.0.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-adapter-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py312hdd89193_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cmake-4.6.9-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-generators-0.2.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-runtime-0.2.1-np2py312hdd89193_25.conda @@ -1225,10 +1247,12 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-yaml-cpp-vendor-9.0.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312hbb4efd0_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zstd-vendor-0.26.11-np2py312h94542ee_25.conda - typed: + - conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/noarch/rig_nodes-0.2.1-pyh4616a5c_0.conda + dev: channels: - url: https://conda.anaconda.org/conda-forge/ - url: https://conda.anaconda.org/robostack-jazzy/ + - url: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/ packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -1239,14 +1263,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-3.25-h26dfbe5_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-cpp-3.25-hcbe3ca9_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.9-hebe6cf0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.6-h3c89d7e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.4-hff7ac6b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/colcon-common-extensions-0.3.0-py312h20c3967_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.3.0-h8846f6e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/console_bridge-1.0.2-h924138e_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.2-py312h8b7ec3f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.22.0-py312h3cdd867_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.2-py311hc91d8b8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cxx-compiler-2.0.0-hdab9b82_0.conda @@ -1273,7 +1295,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.3.0-hc6a0c74_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.3.0-h90d9265_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.6.0-ha770c72_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-15.0.0-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda @@ -1292,7 +1314,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.9.0-hd2095e1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h5e6c136_2.conda @@ -1308,8 +1330,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.6.0-h23af247_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.6.0-h23af247_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-15.0.0-h23af247_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-15.0.0-h23af247_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiceoryx-binding-c-2.95.8-h1059693_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiceoryx-hoofs-2.95.8-hfe315d3_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiceoryx-platform-2.95.8-hf91fcae_5.conda @@ -1321,14 +1343,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpango-1.58.2-hce4e988_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpango-devel-1.58.2-h317d9d0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.59-h922cc85_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.15-ha57cdbe_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.16-ha57cdbe_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.4-ha427ee3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.3.0-h54950a5_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-hebe6cf0_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.0-h13e7031_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h13e7031_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.2.0-hdf11a46_7.conda @@ -1339,7 +1363,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-hb83e432_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h51789e4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h59c2f34_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.4-hf3af7cc_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_1.conda @@ -1354,7 +1378,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.4-py312he827f4e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orocos-kdl-1.5.4-h761dd02_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.58.2-h7bb47b9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.58.2-h2f58602_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-h8b3dc9c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_3.conda @@ -1362,25 +1386,25 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h1b36aeb_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h7cc23a3_1004.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pybullet-3.25-py312hf49885f_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.15-h5f976f7_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.16-h5f976f7_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-orocos-kdl-1.5.4-py312ha6a3dbb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.2.0-py312h8a5ba0d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/spdlog-1.17.0-hb6aa676_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.54.0-h9ffa6c4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.54.1-h9ffa6c4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-hee9eb32_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.83.0-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-6.0.1-hf2e7533_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-6.0.2-hf2e7533_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom_headers-3.0.1-h4dbf13b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.2-py312h89dfda2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.3-py312h89dfda2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-hebe6cf0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-h0d788c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.14-hb83e432_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda @@ -1388,11 +1412,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-h7cc23a3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-h7cc23a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.4-h7cc23a3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.6-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-h7cc23a3_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.13-h7cc23a3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.6-h7cc23a3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda @@ -1404,32 +1428,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-51.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-argcomplete-0.3.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-bash-0.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-cd-0.1.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-cmake-0.2.30-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-core-0.21.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-defaults-0.2.9-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-devtools-0.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-library-path-0.2.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-metadata-0.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-output-0.2.15-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-package-information-0.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-package-selection-0.2.10-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-parallel-executor-0.4.0-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-pkg-config-0.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-powershell-0.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-python-setup-py-0.2.9-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-recursive-crawl-0.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-ros-0.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-test-result-0.3.8-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-zsh-0.5.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/coloredlogs-15.0.1-pyhd8ed1ab_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda @@ -1446,45 +1448,43 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.3.0-h2b852eb_107.conda - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.3.0-hb2c5482_107.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.1.0-pyh293190f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.1.0-pyh648e204_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.11-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.12-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.6.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.15-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.16-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-79.0.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.6-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-py-0.33.11-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclpy-7.1.12-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-base-0.11.0-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-environment-4.2.1-hb0f4dca_25.conda @@ -1492,6 +1492,8 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.1-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-runtime-1.6.1-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-py-0.13.2-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-std-msgs-5.3.8-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-actionlib-msgs-5.3.8-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py312h1bab3cf_25.conda @@ -1545,7 +1547,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-cyclonedds-0.10.5-py312h79554f9_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-demo-nodes-py-0.33.11-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-diagnostic-msgs-5.3.8-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-eigen3-cmake-module-0.3.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-example-interfaces-0.12.1-np2py312h1bab3cf_25.conda @@ -1605,7 +1607,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-2.15.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-cmake-7.3.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-cmake-7.3.4-np2py312h1bab3cf_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-zenoh-cpp-0.2.11-np2py312h815c85b_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-robot-state-publisher-3.3.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-base-0.11.0-np2py312h1bab3cf_25.conda @@ -1614,7 +1616,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2action-0.32.13-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2bag-0.26.11-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-0.32.13-np2py312h1bab3cf_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-common-extensions-0.3.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2component-0.32.13-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2doctor-0.32.13-np2py312h1bab3cf_25.conda @@ -1642,7 +1644,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-transport-0.26.11-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosgraph-msgs-2.0.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py312h1bab3cf_25.conda @@ -1707,39 +1709,18 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-yaml-cpp-vendor-9.0.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h815c85b_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zstd-vendor-0.26.11-np2py312h6a0d68b_25.conda - - conda_source: rig_interfaces[10726d3a] @ interfaces/rig_interfaces + - conda_source: rig_interfaces[e11d73b8] @ ../../rig-nodes/src/rig_interfaces + - conda_source: rig_nodes[98f5547c] @ ../../rig-nodes/src/rig_nodes osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-51.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-argcomplete-0.3.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-bash-0.5.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-cd-0.1.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-cmake-0.2.30-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-core-0.21.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-defaults-0.2.9-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-devtools-0.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-library-path-0.2.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-metadata-0.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-output-0.2.15-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-package-information-0.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-package-selection-0.2.10-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-parallel-executor-0.4.0-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-pkg-config-0.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-powershell-0.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-python-setup-py-0.2.9-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-recursive-crawl-0.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-ros-0.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-test-result-0.3.8-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-zsh-0.5.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/coloredlogs-15.0.1-pyhd8ed1ab_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt21_osx-arm64-21.1.8-hb8825d9_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-arm64-21.1.8-hce30654_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda @@ -1756,46 +1737,43 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/libcxx-headers-21.1.8-h707e725_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.1.0-pyh293190f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.1.0-pyh648e204_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.11-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.12-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.6.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.15-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.16-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-79.0.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-8_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/atk-1.0-2.38.0-hd03087b_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bullet-3.25-h652a6e0_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bullet-cpp-3.25-py312h5978115_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.8-h74c22ad_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.9-h74c22ad_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.6-h580cee5_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cctools-1030.6.3-llvm21_1_h8e84c17_6.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cctools_impl_osx-arm64-1030.6.3-llvm21_1_h2e2604f_6.conda @@ -1807,14 +1785,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx-21.1.8-default_cfg_h7f0254a_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx_impl_osx-arm64-21.1.8-default_hc11f16d_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.4-hf91ab31_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/colcon-common-extensions-0.3.0-py312h3de3f42_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt-21.1.8-hce30654_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt21-21.1.8-hdb3d66b_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/console_bridge-1.0.2-h3e96240_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coverage-7.16.2-py312hf1f8172_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cppcheck-2.22.0-py312h3286cfa_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-50.0.2-py311hc28ac56_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cxx-compiler-2.0.0-he3883d0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cyclonedds-0.10.5-heeac741_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-5.0.1-hdb59ae0_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-abi-5.0.1.100-h485a483_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-abi-devel-5.0.1.100-h4206fe6_3.conda @@ -1832,7 +1809,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtest-1.18.0-h3feff0a_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.52-hc0f3e19_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gts-0.7.6-he42f4ea_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.6.0-hce30654_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-15.0.0-hce30654_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hicolor-icon-theme-0.17-hce30654_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda @@ -1842,16 +1819,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-11_h51639a9_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-11_hb0561ab_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp21.1-21.1.8-default_h4399b93_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp23.1-23.1.3-default_h79071a4_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang13-23.1.3-default_h885965d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp23.1-23.1.4-default_h8bbc02d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang13-23.1.4-default_h63627a2_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcompiler-rt-21.1.8-hdb3d66b_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.22.0-h6651222_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.3-h55c6f16_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.23.0-h6651222_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.4-h55c6f16_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-devel-21.1.8-h6dc3340_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.25-he7e0567_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20260512-pl5321h26f1114_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.9.0-h6111c0a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.14.3-hce30654_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-h2ed5691_2.conda @@ -1860,24 +1837,30 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-16.2.0-h07b0088_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-16.2.0-hdb7a957_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.90.0-hccd281b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-14.6.0-hcda0f7c_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-devel-14.6.0-hcda0f7c_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-15.0.0-hcda0f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-devel-15.0.0-hcda0f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-binding-c-2.95.8-hcac2f75_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-hoofs-2.95.8-h708977a_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-platform-2.95.8-h799688d_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-posh-2.95.8-hbfce10a_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-he4c29f2_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-hae62183_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.2.0-h84a0fba_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-11_hd9741b5_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm21-21.1.8-h759d1ac_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm23-23.1.3-h759d1ac_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm23-23.1.4-h759d1ac_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h435687b_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.34-openmp_h5e6e99c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpango-1.58.2-hc2ac4f2_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpango-devel-1.58.2-haa2d88b_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.59-hf5e6511_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpsl-0.23.1-hdb0c161_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.12.15-h0677fcb_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.12.16-h0677fcb_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.4-hc8ac265_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsigtool-0.1.3-h98dc951_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.22-h74c22ad_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.0-hca69786_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.1-hca69786_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-hbf2880b_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.2-hf67920b_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.52.1-h1a92334_1.conda @@ -1888,7 +1871,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxslt-1.1.45-haaf9281_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzenohc-1.9.0-h389a063_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-23.1.3-hdb3d66b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-23.1.4-hdb3d66b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-21-21.1.8-h79441dc_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-21.1.8-hdb3d66b_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.3-py312haba262f_0.conda @@ -1899,7 +1882,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.5.4-py312hff34920_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orocos-kdl-1.5.4-hba3f793_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.58.2-hf9b25ef_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.58.2-hc6efcc1_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre-8.45-hbdafb3b_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-he63d830_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h784d473_3.conda @@ -1907,7 +1890,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-7.2.2-py312hbd136b4_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pthread-stubs-0.4-hb001647_1004.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pybullet-3.25-py312h3a599b7_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.15-hd05a0c4_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.16-hd05a0c4_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-orocos-kdl-1.5.4-py312h1535055_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py312h04c11ed_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.2.0-py312hdfb5542_2.conda @@ -1915,15 +1898,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sigtool-codesign-0.1.3-h98dc951_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/spdlog-1.17.0-h760df91_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.54.0-ha9f7ffe_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.54.1-ha9f7ffe_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tapi-1600.0.11.8-hb561403_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tinyxml2-11.0.0-hdca3b7d_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uncrustify-0.83.0-h784d473_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/urdfdom-6.0.1-hb460c4f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/urdfdom-6.0.2-h8704d93_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/urdfdom_headers-3.0.1-hfbe1efa_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-17.2-py312h9b6eb38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libx11-1.8.13-hf948f5a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-17.3-py312h9b6eb38_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libx11-1.8.14-hbffa61f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxau-1.0.12-hb001647_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxdmcp-1.1.5-hb001647_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxext-1.3.7-hb001647_1.conda @@ -1934,265 +1917,241 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.25.0-py312hbd136b4_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-cmake-2.5.6-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-index-cpp-1.8.4-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-demo-nodes-py-0.33.11-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-fastcdr-2.2.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rcpputils-2.11.4-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rcutils-6.7.6-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-zenoh-cpp-0.2.10-np2py312h84ff3ff_21.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rclpy-7.1.12-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-zenoh-cpp-0.2.11-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-base-0.11.0-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-environment-4.2.1-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-workspace-1.0.3-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosbag2-py-0.26.11-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-default-generators-1.6.1-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-default-runtime-1.6.1-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-dynamic-typesupport-0.1.2-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-runtime-c-4.6.9-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-typesupport-fastrtps-c-3.6.4-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-typesupport-fastrtps-cpp-3.6.4-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-tracetools-8.2.6-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-zenoh-cpp-vendor-0.2.10-np2py312h84ff3ff_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-actionlib-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-auto-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-copyright-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-lint-cmake-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-xmllint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-copyright-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-cpp-1.8.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-auto-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-cmake-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-common-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-xmllint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-class-loader-2.7.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-common-interfaces-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-composition-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-console-bridge-vendor-1.7.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-cyclonedds-0.10.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-demo-nodes-py-0.33.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-diagnostic-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.16.0-jazzy_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-eigen3-cmake-module-0.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-example-interfaces-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-2.14.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foonathan-memory-vendor-1.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry2-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-binding-c-2.0.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-hoofs-2.0.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-posh-2.0.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-kdl-parser-2.11.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-keyboard-handler-0.3.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-3.4.11-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-ros-0.26.12-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ament-cmake-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ros-0.26.12-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-xml-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-yaml-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-liblz4-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libstatistics-collector-1.7.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libyaml-vendor-1.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-lifecycle-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-mcap-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-message-filters-4.11.17-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-nav-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-orocos-kdl-vendor-0.5.2-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-osrf-pycommon-2.1.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pluginlib-5.4.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pybind11-vendor-3.1.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-orocos-kdl-vendor-0.5.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-action-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-lifecycle-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-interface-3.1.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-spdlog-3.1.1-np2py312h88edd79_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-yaml-param-parser-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-action-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-components-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-lifecycle-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclpy-7.1.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-0.22.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-common-0.22.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-cyclonedds-cpp-2.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-dds-common-3.1.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-2.15.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-cmake-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-robot-state-publisher-3.3.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-base-0.11.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-core-0.11.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2action-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2bag-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-0.32.11-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-common-extensions-0.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2component-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2doctor-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2interface-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2launch-0.26.12-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2lifecycle-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2multicast-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2node-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2param-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2pkg-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2plugin-5.4.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2run-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2service-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2topic-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-zstd-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-cpp-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-interfaces-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-py-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-mcap-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-transport-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosgraph-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-runtime-1.6.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-py-0.13.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-py-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-shape-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-spdlog-vendor-1.6.2-np2py312h88edd79_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sqlite3-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-0.13.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-cmake-0.13.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-statistics-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-srvs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-stereo-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-bullet-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-0.36.22-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-kdl-0.36.22-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-geometry-msgs-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-kdl-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-msgs-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-py-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-py-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-sensor-msgs-0.36.22-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-tools-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tinyxml2-vendor-0.9.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tracetools-8.2.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-trajectory-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-type-description-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-2.10.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-parser-plugin-2.10.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-6.0-py312h3dea895_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-headers-3.0-py312h3dea895_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-visualization-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-yaml-cpp-vendor-9.0.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zstd-vendor-0.26.11-np2py312haf4906a_21.conda - - conda_source: rig_interfaces[1555b18d] @ interfaces/rig_interfaces + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-runtime-py-0.13.2-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-std-msgs-5.3.8-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-actionlib-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-auto-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-copyright-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-lint-cmake-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-xmllint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-copyright-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-cpp-1.8.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-auto-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-cmake-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-common-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-xmllint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-class-loader-2.7.1-np2py312h6fbb871_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-common-interfaces-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-composition-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-console-bridge-vendor-1.7.2-np2py312h6fbb871_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-cyclonedds-0.10.5-py312h588e9fb_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-demo-nodes-py-0.33.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-diagnostic-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.19.0-jazzy_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-eigen3-cmake-module-0.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-example-interfaces-0.12.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-2.14.7-np2py312h6133e15_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foonathan-memory-vendor-1.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry2-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-binding-c-2.95.8-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-hoofs-2.95.8-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-posh-2.95.8-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-kdl-parser-2.11.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-keyboard-handler-0.3.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-ros-0.26.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ament-cmake-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ros-0.26.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-xml-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-yaml-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-liblz4-vendor-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libstatistics-collector-1.7.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libyaml-vendor-1.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-lifecycle-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-mcap-vendor-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-message-filters-4.11.17-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-nav-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-orocos-kdl-vendor-0.5.2-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-osrf-pycommon-2.1.7-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pluginlib-5.4.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pybind11-vendor-3.1.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-orocos-kdl-vendor-0.5.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-action-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-lifecycle-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-interface-3.1.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-spdlog-3.1.1-np2py312h6cdb02c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-yaml-param-parser-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-action-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-components-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-lifecycle-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclpy-7.1.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-0.22.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-common-0.22.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-dds-common-3.1.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-2.15.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-cmake-7.3.4-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-zenoh-cpp-0.2.11-np2py312h48e1e13_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-robot-state-publisher-3.3.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-base-0.11.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-core-0.11.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2action-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2bag-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-0.32.13-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-common-extensions-0.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2component-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2doctor-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2interface-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2launch-0.26.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2lifecycle-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2multicast-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2node-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2param-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2pkg-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2plugin-5.4.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2run-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2service-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2topic-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-zstd-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-cpp-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-interfaces-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-py-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-mcap-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-transport-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosgraph-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-runtime-1.6.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-py-0.13.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-py-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-shape-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-spdlog-vendor-1.6.2-np2py312h6cdb02c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sqlite3-vendor-0.26.11-np2py312hf913b0b_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-0.13.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-cmake-0.13.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-statistics-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-srvs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-stereo-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-bullet-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-0.36.23-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-kdl-0.36.23-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-geometry-msgs-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-kdl-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-msgs-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-py-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-py-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-sensor-msgs-0.36.23-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-tools-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tinyxml2-vendor-0.9.2-np2py312h4821590_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tracetools-8.2.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-trajectory-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-type-description-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-2.10.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-parser-plugin-2.10.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-6.0-py312h23657be_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-headers-3.0-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-visualization-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-yaml-cpp-vendor-9.0.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h48e1e13_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zstd-vendor-0.26.11-np2py312h849b6f6_25.conda + - conda_source: rig_interfaces[f3eefd17] @ ../../rig-nodes/src/rig_interfaces + - conda_source: rig_nodes[4f86bef0] @ ../../rig-nodes/src/rig_nodes win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-cmake-0.2.30-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-core-0.21.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-defaults-0.2.9-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-devtools-0.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-library-path-0.2.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-metadata-0.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-output-0.2.15-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-package-information-0.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-package-selection-0.2.10-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-parallel-executor-0.4.0-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-pkg-config-0.1.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-powershell-0.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-python-setup-py-0.2.9-pyhff2d567_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-recursive-crawl-0.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-ros-0.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-test-result-0.3.8-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/coloredlogs-15.0.1-pyhd8ed1ab_4.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda @@ -2209,40 +2168,37 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.1.0-pyh293190f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.1.0-pyhc8003f9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.11-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.12-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.1.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.6.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.15-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.16-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-79.0.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bullet-3.25-h6d21bc8_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bullet-cpp-3.25-hc128f0a_5.conda @@ -2250,10 +2206,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.6-h477c42c_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.1.1-py312he06e257_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cmake-4.4.4-hde52c71_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/colcon-common-extensions-0.3.0-py312h209ec74_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/colcon-notification-0.3.3-py312h680a3fa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/console_bridge-1.0.2-h5362a0b_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/coverage-7.16.2-py312h6fa65f5_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cppcheck-2.22.0-py312h9df87ca_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-50.0.2-py311h67a9792_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cxx-compiler-2.0.0-h1c1089f_0.conda @@ -2264,8 +2217,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/fmt-12.1.0-h1ced75a_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.3-hd47e2ca_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/foonathan-memory-0.7.4-h5112557_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.17-hfd05255_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.90.1-h6e26cc4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.90.1-h026f061_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/gmock-1.18.0-h4f519af_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-h5112557_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/graphviz-14.1.2-h4c50273_0.conda @@ -2278,7 +2234,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-11_h2a3cdd5_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.23.0-hdb0ef4a_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h1a1d4e4_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.5-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.9.0-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_2.conda @@ -2286,7 +2242,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h4974f7c_12.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.90.1-ha564072_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-16.2.0-h8ee18e1_7.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.6.0-h03b5201_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-15.0.0-h03b5201_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-15.0.0-h03b5201_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.15.0-default_hae90fe0_1001.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiceoryx-binding-c-2.95.8-h480d27c_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiceoryx-hoofs-2.95.8-h10852e2_5.conda @@ -2294,26 +2251,29 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libiceoryx-posh-2.95.8-he66a732_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-11_hf9ab0e9_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpango-1.58.2-h02b4fad_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpango-devel-1.58.2-h7637d1b_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.59-hdc8cecf_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpsl-0.23.1-h9b16d47_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.15-hfb4101e_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.16-hfb4101e_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.0-hf5d6505_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.1-hf5d6505_101.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h734d217_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libuv-1.52.1-h6a83c73_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r688.g6b2176247.1-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h874e120_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.4-h3cfd58e_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.4-he095d88_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.45-ha5384fd_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzenohc-1.9.0-hcc20cc8_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.3-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.4-h49e36cd_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.3-py312h1476a5e_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py312hc3c93f3_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-c-1.10.0-h6a83c73_2.conda @@ -2322,7 +2282,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.4-py312ha3f287d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/orocos-kdl-1.5.4-h85e3ab8_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.58.2-h13911b6_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.58.2-h4350c2a_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pcre-8.45-h0e60522_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-h8466c1e_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_3.conda @@ -2330,43 +2290,43 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py312he5662c2_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-hfa92662_1004.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pybullet-3.25-py312h3d6c809_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py312h2e8e312_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.15-hb12b558_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.16-hb12b558_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/win-64/python-orocos-kdl-1.5.4-py312hbb81ca0_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py312h95189c4_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.2.0-py312h343a6d4_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/spdlog-1.17.0-hd227c35_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.54.0-hdb435a2_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.54.1-hdb435a2_101.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.1.0-h272cf33_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tinyxml2-11.0.0-h5112557_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/uncrustify-0.83.0-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/urdfdom-6.0.1-h37f4996_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/urdfdom-6.0.2-h37f4996_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/urdfdom_headers-3.0.1-h477610d_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36247-h633cb9f_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vs2022_win-64-19.44.35207-ha74f236_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-17.2-py312h5247d40_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-17.3-py312h5247d40_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-hd74fcf3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-hd74fcf3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.14-h2496537_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-hfa92662_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.5-hfa92662_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxext-1.3.7-hfa92662_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.20-hfa92662_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-hfa92662_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-cpp-0.8.0-h5112557_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zenoh-rust-abi-1.9.0.1.93.1-heb1d585_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_12.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.25.0-py312he5662c2_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ament-cmake-2.5.6-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-demo-nodes-py-0.33.11-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rclpy-7.1.12-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ros-base-0.11.0-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ros-environment-4.2.1-h9490d1a_25.conda @@ -2374,6 +2334,8 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-default-generators-1.6.1-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-default-runtime-1.6.1-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-runtime-py-0.13.2-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-std-msgs-5.3.8-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-action-msgs-2.0.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-actionlib-msgs-5.3.8-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-2.5.6-np2py312hdd89193_25.conda @@ -2427,7 +2389,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-cyclonedds-0.10.5-py312h420ed83_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-demo-nodes-py-0.33.11-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-diagnostic-msgs-5.3.8-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.19.0-jazzy_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.19.0-jazzy_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-domain-coordinator-0.12.2-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-eigen3-cmake-module-0.3.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-example-interfaces-0.12.1-np2py312hdd89193_25.conda @@ -2487,7 +2449,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-2.15.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-cmake-7.3.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-cmake-7.3.4-np2py312hdd89193_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-zenoh-cpp-0.2.11-np2py312hbb4efd0_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-robot-state-publisher-3.3.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-base-0.11.0-np2py312hdd89193_25.conda @@ -2496,7 +2458,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-workspace-1.0.3-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2action-0.32.13-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2bag-0.26.11-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-0.32.13-np2py312hdd89193_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-common-extensions-0.3.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2component-0.32.13-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2doctor-0.32.13-np2py312hdd89193_25.conda @@ -2524,7 +2486,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-transport-0.26.11-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosgraph-msgs-2.0.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-adapter-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py312hdd89193_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cmake-4.6.9-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-generators-0.2.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-runtime-0.2.1-np2py312hdd89193_25.conda @@ -2589,27 +2551,28 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-yaml-cpp-vendor-9.0.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312hbb4efd0_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zstd-vendor-0.26.11-np2py312h94542ee_25.conda - - conda_source: rig_interfaces[3fd15877] @ interfaces/rig_interfaces - typed-prebuilt: + - conda_source: rig_interfaces[f15ddf61] @ ../../rig-nodes/src/rig_interfaces + - conda_source: rig_nodes[d089b0ef] @ ../../rig-nodes/src/rig_nodes + typed: channels: - - url: https://raw.githubusercontent.com/reiserlab/webDisplayTools/39eeb1fa43874aae7d845dfec2a8f049c68f8954/rig/channel/ - url: https://conda.anaconda.org/conda-forge/ - url: https://conda.anaconda.org/robostack-jazzy/ + - url: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/ packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-core-2.40.3-h0630a04_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.38.0-h04ea711_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-3.25-he07d6a8_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-cpp-3.25-hf21447f_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-3.25-h26dfbe5_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-cpp-3.25-hcbe3ca9_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.9-hebe6cf0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.6-h3c89d7e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py314h8d76f0c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.4-hff7ac6b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/console_bridge-1.0.2-h924138e_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.22.0-py314h79bcd83_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.22.0-py312h3cdd867_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-50.0.2-py311hc91d8b8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cyclonedds-0.10.5-h9a70dda_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-he8c428d_2.conda @@ -2649,7 +2612,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.9.0-hd2095e1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h5e6c136_2.conda @@ -2675,15 +2638,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpango-1.58.2-hce4e988_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpango-devel-1.58.2-h317d9d0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.59-h922cc85_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.14.10-hd51c5da_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.16-ha57cdbe_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.4-ha427ee3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-hebe6cf0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h13e7031_0.conda @@ -2696,18 +2659,19 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-hb83e432_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h59c2f34_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.4-hf3af7cc_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzenohc-1.10.1-h7ca0754_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzenohc-1.9.0-hf675912_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lttng-ust-2.13.9-hf5eda4c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.3-py314h52646a4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py314ha0fddcf_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.3-py312h663fcd5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312hc6a72db_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.4-py314hd3a7d6b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.4-py312he827f4e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orocos-kdl-1.5.4-h761dd02_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.58.2-h2f58602_3.conda @@ -2715,12 +2679,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-h8b3dc9c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pkg-config-0.29.2-h1114479_1013.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314hfe1a184_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h1b36aeb_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h7cc23a3_1004.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pybullet-3.25-py314h61d0147_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.10-hcd007b5_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-orocos-kdl-1.5.4-py314hc75f4c6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pybullet-3.25-py312hf49885f_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.16-h5f976f7_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-orocos-kdl-1.5.4-py312ha6a3dbb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.2.0-py312h8a5ba0d_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda @@ -2732,7 +2696,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-6.0.2-hf2e7533_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom_headers-3.0.1-h4dbf13b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.3-py314hc824af9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.3-py312h89dfda2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-hebe6cf0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-h0d788c3_1.conda @@ -2753,9 +2717,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h54a6638_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zenoh-rust-abi-1.10.1.1.97.1-py311hcf3f0e6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zenoh-rust-abi-1.9.0.1.93.1-hbe27b5b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h901266b_12.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314hfe1a184_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py312h1b36aeb_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-51.0-unix_0.conda @@ -2763,282 +2727,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.10-py314hd8ed1ab_100.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-builtins-3.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-comprehensions-3.17.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.6.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.1.0-pyh293190f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.1.0-pyh648e204_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.12-pyh5ded981_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.10-h4df99d1_100.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-py-0.33.11-hb0f4dca_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-hb0f4dca_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-base-0.11.0-hb0f4dca_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-py-0.26.11-hb0f4dca_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-hb0f4dca_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-runtime-1.6.1-hb0f4dca_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-actionlib-msgs-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-auto-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-copyright-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-core-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cppcheck-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cpplint-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-definitions-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-libraries-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-targets-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-flake8-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gmock-2.5.6-np2py314h53a0733_28.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gtest-2.5.6-np2py314h53a0733_28.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-include-directories-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-libraries-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-lint-cmake-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pep257-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pytest-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-python-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-ros-0.12.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-test-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-uncrustify-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-version-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-xmllint-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-copyright-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cppcheck-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cpplint-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-flake8-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-cpp-1.8.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-python-1.8.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-auto-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-cmake-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-common-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-package-0.16.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-pep257-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-uncrustify-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-xmllint-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-builtin-interfaces-2.0.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-class-loader-2.7.1-np2py314hac0c0d2_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-common-interfaces-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-composition-interfaces-2.0.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-console-bridge-vendor-1.7.2-np2py314hac0c0d2_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-cyclonedds-0.10.5-py314hd7f02ef_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-demo-nodes-py-0.33.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-diagnostic-msgs-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.20.0-jazzy_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-eigen3-cmake-module-0.3.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-example-interfaces-0.12.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastcdr-2.2.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-2.14.7-np2py314h0ed7e73_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-cmake-module-3.6.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-foonathan-memory-vendor-1.3.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-geometry-msgs-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-geometry2-0.36.23-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gmock-vendor-1.14.9000-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gtest-vendor-1.14.9000-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-iceoryx-binding-c-2.95.8-py314h02e3bbf_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-iceoryx-hoofs-2.95.8-py314h02e3bbf_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-iceoryx-posh-2.95.8-py314h02e3bbf_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-kdl-parser-2.11.0-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-keyboard-handler-0.3.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-3.4.12-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-ros-0.26.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-testing-3.4.12-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-testing-ament-cmake-3.4.12-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-testing-ros-0.26.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-xml-3.4.12-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-yaml-3.4.12-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-liblz4-vendor-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-libstatistics-collector-1.7.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-libyaml-vendor-1.6.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-lifecycle-msgs-2.0.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-mcap-vendor-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-message-filters-4.11.17-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-nav-msgs-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-orocos-kdl-vendor-0.5.2-np2py314habcfd04_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-osrf-pycommon-2.1.7-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-pluginlib-5.4.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-pybind11-vendor-3.1.3-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-cmake-module-0.11.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-orocos-kdl-vendor-0.5.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-9.2.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-action-9.2.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-interfaces-2.0.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-lifecycle-9.2.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-logging-interface-3.1.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-logging-spdlog-3.1.1-np2py314h1781256_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-yaml-param-parser-9.2.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-28.1.22-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-action-28.1.22-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-components-28.1.22-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-lifecycle-28.1.22-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclpy-7.1.12-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcpputils-2.11.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcutils-6.7.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-7.3.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-connextdds-0.22.3-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-connextdds-common-0.22.3-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-dds-common-3.1.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-cpp-8.4.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-2.15.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-cmake-7.3.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-zenoh-cpp-0.2.11-np2py314hc614d3d_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-robot-state-publisher-3.3.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-base-0.11.0-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-core-0.11.0-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-environment-4.2.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2action-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2bag-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-common-extensions-0.3.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2component-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2doctor-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2interface-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2launch-0.26.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2lifecycle-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2multicast-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2node-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2param-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2pkg-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2plugin-5.4.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2run-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2service-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2topic-0.32.13-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-compression-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-compression-zstd-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-cpp-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-interfaces-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-py-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-mcap-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-transport-0.26.11-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosgraph-msgs-2.0.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-generators-1.6.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-runtime-1.6.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-c-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-cpp-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-py-0.22.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-rs-0.5.0-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-type-description-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-parser-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-pycommon-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-c-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-cpp-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-py-0.13.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-c-3.2.3-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-interface-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rpyutils-0.4.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sensor-msgs-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sensor-msgs-py-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-service-msgs-2.0.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-shape-msgs-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-spdlog-vendor-1.6.2-np2py314h1781256_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sqlite3-vendor-0.26.11-np2py314ha64fe42_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sros2-0.13.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sros2-cmake-0.13.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-statistics-msgs-2.0.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-std-msgs-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-std-srvs-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-stereo-msgs-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-0.36.23-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-bullet-0.36.23-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-eigen-0.36.23-np2py314habcfd04_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-eigen-kdl-0.36.23-np2py314habcfd04_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-geometry-msgs-0.36.23-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-kdl-0.36.23-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-msgs-0.36.23-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-py-0.36.23-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-ros-0.36.23-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-ros-py-0.36.23-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-sensor-msgs-0.36.23-np2py314habcfd04_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-tools-0.36.23-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tinyxml2-vendor-0.9.2-np2py314hc703c99_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tracetools-8.2.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-trajectory-msgs-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-type-description-interfaces-2.0.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdf-2.10.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdf-parser-plugin-2.10.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdfdom-6.0-py314h2f0392c_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdfdom-headers-3.0-py314h02e3bbf_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-visualization-msgs-5.3.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-yaml-cpp-vendor-9.0.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zenoh-cpp-vendor-0.2.11-np2py314hc614d3d_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zstd-vendor-0.26.11-np2py314hb9510b1_27.conda - - conda: https://raw.githubusercontent.com/reiserlab/webDisplayTools/39eeb1fa43874aae7d845dfec2a8f049c68f8954/rig/channel/linux-64/rig_interfaces-0.2.0-hb0f4dca_0.conda - osx-arm64: - - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-51.0-unix_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda @@ -3086,27 +2774,308 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-8_kmp_llvm.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/atk-1.0-2.38.0-hd03087b_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bullet-3.25-h652a6e0_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bullet-cpp-3.25-py312h5978115_5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.9-h74c22ad_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.6-h580cee5_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.1.1-py312hc892d8b_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.4-hf91ab31_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/console_bridge-1.0.2-h3e96240_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cppcheck-2.22.0-py312h3286cfa_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-50.0.2-py311hc28ac56_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-5.0.1-hdb59ae0_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-abi-5.0.1.100-h485a483_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-abi-devel-5.0.1.100-h4206fe6_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/epoxy-1.5.10-hc919400_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fmt-12.1.0-h99e4e11_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fontconfig-2.18.3-h81aa574_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/foonathan-memory-0.7.4-h784d473_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.17-hb001647_0.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-py-0.33.11-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclpy-7.1.12-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-base-0.11.0-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-py-0.26.11-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-runtime-1.6.1-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-py-0.13.2-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-std-msgs-5.3.8-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-actionlib-msgs-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-auto-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-copyright-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-core-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cppcheck-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cpplint-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-definitions-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-libraries-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-targets-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-flake8-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gmock-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gtest-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-include-directories-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-libraries-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-lint-cmake-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pep257-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pytest-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-python-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-ros-0.12.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-test-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-uncrustify-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-version-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-xmllint-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-copyright-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cppcheck-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cpplint-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-flake8-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-cpp-1.8.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-python-1.8.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-auto-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-cmake-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-common-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-package-0.16.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-pep257-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-uncrustify-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-xmllint-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-builtin-interfaces-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-class-loader-2.7.1-np2py312hd81cb55_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-common-interfaces-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-composition-interfaces-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-console-bridge-vendor-1.7.2-np2py312hd81cb55_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-cyclonedds-0.10.5-py312h79554f9_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-demo-nodes-py-0.33.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-diagnostic-msgs-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-eigen3-cmake-module-0.3.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-example-interfaces-0.12.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastcdr-2.2.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-2.14.7-np2py312h4c2334c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-cmake-module-3.6.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-foonathan-memory-vendor-1.3.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-geometry-msgs-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-geometry2-0.36.23-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gmock-vendor-1.14.9000-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gtest-vendor-1.14.9000-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-iceoryx-binding-c-2.95.8-py312h24bf083_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-iceoryx-hoofs-2.95.8-py312h24bf083_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-iceoryx-posh-2.95.8-py312h24bf083_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-kdl-parser-2.11.0-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-keyboard-handler-0.3.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-3.4.12-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-ros-0.26.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-testing-3.4.12-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-testing-ament-cmake-3.4.12-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-testing-ros-0.26.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-xml-3.4.12-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-yaml-3.4.12-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-liblz4-vendor-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-libstatistics-collector-1.7.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-libyaml-vendor-1.6.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-lifecycle-msgs-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-mcap-vendor-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-message-filters-4.11.17-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-nav-msgs-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-orocos-kdl-vendor-0.5.2-np2py312hd65a65c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-osrf-pycommon-2.1.7-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-pluginlib-5.4.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-pybind11-vendor-3.1.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-cmake-module-0.11.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-orocos-kdl-vendor-0.5.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-9.2.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-action-9.2.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-interfaces-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-lifecycle-9.2.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-logging-interface-3.1.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-logging-spdlog-3.1.1-np2py312hbe83831_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-yaml-param-parser-9.2.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-28.1.22-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-action-28.1.22-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-components-28.1.22-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-lifecycle-28.1.22-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclpy-7.1.12-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcpputils-2.11.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcutils-6.7.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-7.3.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-connextdds-0.22.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-connextdds-common-0.22.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-dds-common-3.1.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-2.15.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-cmake-7.3.4-np2py312h1bab3cf_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-zenoh-cpp-0.2.11-np2py312h815c85b_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-robot-state-publisher-3.3.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-base-0.11.0-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-core-0.11.0-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-environment-4.2.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2action-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2bag-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-0.32.13-np2py312h1bab3cf_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-common-extensions-0.3.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2component-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2doctor-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2interface-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2launch-0.26.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2lifecycle-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2multicast-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2node-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2param-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2pkg-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2plugin-5.4.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2run-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2service-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2topic-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-compression-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-compression-zstd-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-cpp-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-interfaces-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-py-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-mcap-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-transport-0.26.11-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosgraph-msgs-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-generators-1.6.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-runtime-1.6.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-c-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-cpp-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-py-0.22.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-rs-0.5.0-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-type-description-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-parser-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-pycommon-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-c-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-cpp-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-py-0.13.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-c-3.2.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-interface-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rpyutils-0.4.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sensor-msgs-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sensor-msgs-py-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-service-msgs-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-shape-msgs-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-spdlog-vendor-1.6.2-np2py312hbe83831_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sqlite3-vendor-0.26.11-np2py312hc33be11_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sros2-0.13.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sros2-cmake-0.13.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-statistics-msgs-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-std-msgs-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-std-srvs-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-stereo-msgs-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-0.36.23-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-bullet-0.36.23-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-eigen-0.36.23-np2py312hd65a65c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-eigen-kdl-0.36.23-np2py312hd65a65c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-geometry-msgs-0.36.23-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-kdl-0.36.23-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-msgs-0.36.23-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-py-0.36.23-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-ros-0.36.23-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-ros-py-0.36.23-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-sensor-msgs-0.36.23-np2py312hd65a65c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-tools-0.36.23-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tinyxml2-vendor-0.9.2-np2py312hd4672ec_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tracetools-8.2.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-trajectory-msgs-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-type-description-interfaces-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdf-2.10.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdf-parser-plugin-2.10.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdfdom-6.0-py312h2261104_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdfdom-headers-3.0-py312h24bf083_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-visualization-msgs-5.3.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-yaml-cpp-vendor-9.0.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h815c85b_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zstd-vendor-0.26.11-np2py312h6a0d68b_25.conda + - conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/linux-64/rig_interfaces-0.2.1-hb0f4dca_0.conda + - conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/noarch/rig_nodes-0.2.1-pyh4616a5c_0.conda + osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-51.0-unix_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-builtins-3.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-comprehensions-3.17.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.1.0-pyh293190f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.1.0-pyh648e204_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.12-pyh5ded981_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.16-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.3-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-8_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/atk-1.0-2.38.0-hd03087b_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bullet-3.25-h652a6e0_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bullet-cpp-3.25-py312h5978115_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.9-h74c22ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.6-h580cee5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.1.1-py312hc892d8b_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.4-hf91ab31_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/console_bridge-1.0.2-h3e96240_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cppcheck-2.22.0-py312h3286cfa_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-50.0.2-py311hc28ac56_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cyclonedds-0.10.5-heeac741_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-5.0.1-hdb59ae0_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-abi-5.0.1.100-h485a483_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-abi-devel-5.0.1.100-h4206fe6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/epoxy-1.5.10-hc919400_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fmt-12.1.0-h99e4e11_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fontconfig-2.18.3-h81aa574_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/foonathan-memory-0.7.4-h784d473_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freetype-2.14.3-hce30654_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fribidi-1.0.17-hb001647_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdk-pixbuf-2.44.8-h5867e2c_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glib-tools-2.90.0-h06d1d6c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmock-1.18.0-hab71263_1.conda @@ -3127,7 +3096,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.25-he7e0567_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20260512-pl5321h26f1114_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.9.0-h6111c0a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.14.3-hce30654_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-h2ed5691_2.conda @@ -3138,6 +3107,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.90.0-hccd281b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-15.0.0-hcda0f7c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-devel-15.0.0-hcda0f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-binding-c-2.95.8-hcac2f75_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-hoofs-2.95.8-h708977a_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-platform-2.95.8-h799688d_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-posh-2.95.8-hbfce10a_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-he4c29f2_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-hae62183_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.2.0-h84a0fba_1.conda @@ -3203,245 +3176,239 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h6eb0046_12.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.25.0-py312hbd136b4_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-index-cpp-1.8.4-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-demo-nodes-py-0.33.11-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-fastcdr-2.2.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rcpputils-2.11.4-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rcutils-6.7.6-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-zenoh-cpp-0.2.10-np2py312h84ff3ff_21.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rclpy-7.1.12-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-zenoh-cpp-0.2.11-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-base-0.11.0-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-workspace-1.0.3-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosbag2-py-0.26.11-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-default-runtime-1.6.1-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-dynamic-typesupport-0.1.2-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-runtime-c-4.6.9-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-typesupport-fastrtps-c-3.6.4-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-typesupport-fastrtps-cpp-3.6.4-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-tracetools-8.2.6-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-zenoh-cpp-vendor-0.2.10-np2py312h84ff3ff_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-actionlib-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-auto-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-copyright-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-lint-cmake-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-xmllint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-copyright-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-cpp-1.8.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-auto-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-cmake-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-common-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-xmllint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-class-loader-2.7.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-common-interfaces-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-composition-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-console-bridge-vendor-1.7.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-cyclonedds-0.10.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-demo-nodes-py-0.33.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-diagnostic-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.16.0-jazzy_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-eigen3-cmake-module-0.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-example-interfaces-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-2.14.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foonathan-memory-vendor-1.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry2-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-binding-c-2.0.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-hoofs-2.0.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-posh-2.0.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-kdl-parser-2.11.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-keyboard-handler-0.3.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-3.4.11-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-ros-0.26.12-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ament-cmake-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ros-0.26.12-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-xml-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-yaml-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-liblz4-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libstatistics-collector-1.7.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libyaml-vendor-1.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-lifecycle-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-mcap-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-message-filters-4.11.17-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-nav-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-orocos-kdl-vendor-0.5.2-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-osrf-pycommon-2.1.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pluginlib-5.4.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pybind11-vendor-3.1.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-orocos-kdl-vendor-0.5.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-action-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-lifecycle-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-interface-3.1.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-spdlog-3.1.1-np2py312h88edd79_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-yaml-param-parser-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-action-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-components-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-lifecycle-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclpy-7.1.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-0.22.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-common-0.22.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-cyclonedds-cpp-2.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-dds-common-3.1.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-2.15.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-cmake-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-robot-state-publisher-3.3.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-base-0.11.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-core-0.11.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2action-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2bag-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-0.32.11-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-common-extensions-0.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2component-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2doctor-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2interface-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2launch-0.26.12-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2lifecycle-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2multicast-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2node-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2param-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2pkg-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2plugin-5.4.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2run-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2service-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2topic-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-zstd-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-cpp-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-interfaces-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-py-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-mcap-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-transport-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosgraph-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-runtime-1.6.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-py-0.13.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-py-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-shape-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-spdlog-vendor-1.6.2-np2py312h88edd79_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sqlite3-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-0.13.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-cmake-0.13.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-statistics-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-srvs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-stereo-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-bullet-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-0.36.22-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-kdl-0.36.22-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-geometry-msgs-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-kdl-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-msgs-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-py-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-py-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-sensor-msgs-0.36.22-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-tools-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tinyxml2-vendor-0.9.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tracetools-8.2.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-trajectory-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-type-description-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-2.10.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-parser-plugin-2.10.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-6.0-py312h3dea895_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-headers-3.0-py312h3dea895_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-visualization-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-yaml-cpp-vendor-9.0.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zstd-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://raw.githubusercontent.com/reiserlab/webDisplayTools/39eeb1fa43874aae7d845dfec2a8f049c68f8954/rig/channel/osx-arm64/rig_interfaces-0.2.0-h60d57d3_0.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-runtime-py-0.13.2-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-std-msgs-5.3.8-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-actionlib-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-auto-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-copyright-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-lint-cmake-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-xmllint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-copyright-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-cpp-1.8.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-auto-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-cmake-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-common-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-xmllint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-class-loader-2.7.1-np2py312h6fbb871_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-common-interfaces-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-composition-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-console-bridge-vendor-1.7.2-np2py312h6fbb871_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-cyclonedds-0.10.5-py312h588e9fb_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-demo-nodes-py-0.33.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-diagnostic-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.19.0-jazzy_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-eigen3-cmake-module-0.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-example-interfaces-0.12.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-2.14.7-np2py312h6133e15_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foonathan-memory-vendor-1.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry2-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-binding-c-2.95.8-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-hoofs-2.95.8-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-posh-2.95.8-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-kdl-parser-2.11.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-keyboard-handler-0.3.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-ros-0.26.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ament-cmake-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ros-0.26.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-xml-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-yaml-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-liblz4-vendor-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libstatistics-collector-1.7.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libyaml-vendor-1.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-lifecycle-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-mcap-vendor-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-message-filters-4.11.17-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-nav-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-orocos-kdl-vendor-0.5.2-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-osrf-pycommon-2.1.7-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pluginlib-5.4.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pybind11-vendor-3.1.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-orocos-kdl-vendor-0.5.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-action-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-lifecycle-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-interface-3.1.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-spdlog-3.1.1-np2py312h6cdb02c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-yaml-param-parser-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-action-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-components-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-lifecycle-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclpy-7.1.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-0.22.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-common-0.22.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-dds-common-3.1.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-2.15.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-cmake-7.3.4-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-zenoh-cpp-0.2.11-np2py312h48e1e13_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-robot-state-publisher-3.3.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-base-0.11.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-core-0.11.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2action-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2bag-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-0.32.13-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-common-extensions-0.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2component-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2doctor-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2interface-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2launch-0.26.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2lifecycle-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2multicast-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2node-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2param-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2pkg-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2plugin-5.4.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2run-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2service-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2topic-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-zstd-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-cpp-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-interfaces-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-py-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-mcap-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-transport-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosgraph-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-runtime-1.6.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-py-0.13.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-py-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-shape-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-spdlog-vendor-1.6.2-np2py312h6cdb02c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sqlite3-vendor-0.26.11-np2py312hf913b0b_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-0.13.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-cmake-0.13.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-statistics-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-srvs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-stereo-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-bullet-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-0.36.23-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-kdl-0.36.23-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-geometry-msgs-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-kdl-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-msgs-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-py-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-py-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-sensor-msgs-0.36.23-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-tools-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tinyxml2-vendor-0.9.2-np2py312h4821590_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tracetools-8.2.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-trajectory-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-type-description-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-2.10.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-parser-plugin-2.10.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-6.0-py312h23657be_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-headers-3.0-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-visualization-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-yaml-cpp-vendor-9.0.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h48e1e13_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zstd-vendor-0.26.11-np2py312h849b6f6_25.conda + - conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/noarch/rig_nodes-0.2.1-pyh4616a5c_0.conda + - conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/osx-arm64/rig_interfaces-0.2.1-h60d57d3_0.conda win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.10-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda @@ -3476,9 +3443,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.10-h4df99d1_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.16-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda @@ -3489,14 +3456,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bullet-3.25-h89c1679_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bullet-cpp-3.25-hd8fd7ce_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bullet-3.25-h6d21bc8_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bullet-cpp-3.25-hc128f0a_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.6-h477c42c_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.1.1-py314h5a2d7ad_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.1.1-py312he06e257_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cmake-4.4.4-hde52c71_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/console_bridge-1.0.2-h5362a0b_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/cppcheck-2.22.0-py314h7ae7f31_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cppcheck-2.22.0-py312h9df87ca_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cryptography-50.0.2-py311h67a9792_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cyclonedds-0.10.5-h2a109cb_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/eigen-5.0.1-h5112557_3.conda @@ -3522,7 +3489,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-11_h2a3cdd5_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.23.0-hdb0ef4a_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h1a1d4e4_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.5-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.9.0-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_2.conda @@ -3543,31 +3510,30 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-11_hf9ab0e9_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpango-1.58.2-h02b4fad_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpango-devel-1.58.2-h7637d1b_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.59-hdc8cecf_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpsl-0.23.1-h9b16d47_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.14.10-hc6187dd_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.16-hfb4101e_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.1-hf5d6505_100.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.1-hf5d6505_101.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h734d217_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libuv-1.52.1-h6a83c73_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r688.g6b2176247.1-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h874e120_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.4-h3cfd58e_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.4-he095d88_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.45-ha5384fd_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzenohc-1.10.1-h7a25a18_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzenohc-1.9.0-hcc20cc8_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.4-h49e36cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.3-py314h3fc22ad_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py314hfc2a91f_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.3-py312h1476a5e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py312hc3c93f3_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-c-1.10.0-h6a83c73_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_235.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.4-py314h02f10f6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.4-py312ha3f287d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/orocos-kdl-1.5.4-h85e3ab8_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.58.2-h4350c2a_3.conda @@ -3575,15 +3541,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-h8466c1e_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pkg-config-0.29.2-hffdb5b9_1013.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py312he5662c2_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-hfa92662_1004.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pybullet-3.25-py314hcfc7f4e_5.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.10-h53f6dd8_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-orocos-kdl-1.5.4-py314h13fbf68_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pybullet-3.25-py312h3d6c809_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.16-hb12b558_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-orocos-kdl-1.5.4-py312hbb81ca0_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.2.0-py312h343a6d4_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/spdlog-1.17.0-hd227c35_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.54.1-hdb435a2_100.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.54.1-hdb435a2_101.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.1.0-h272cf33_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tinyxml2-11.0.0-h5112557_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda @@ -3595,7 +3561,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36247-h633cb9f_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-17.3-py314h13f4da2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-17.3-py312h5247d40_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-hd74fcf3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-hd74fcf3_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.14-h2496537_0.conda @@ -3606,237 +3572,242 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-hfa92662_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-cpp-0.8.0-h5112557_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zenoh-rust-abi-1.10.1.1.97.1-py311h2ce373e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zenoh-rust-abi-1.9.0.1.93.1-heb1d585_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_12.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.25.0-py314hc5dbbe4_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.25.0-py312he5662c2_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-demo-nodes-py-0.33.11-h9490d1a_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-h9490d1a_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ros-base-0.11.0-h9490d1a_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-py-0.26.11-h9490d1a_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h9490d1a_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-default-runtime-1.6.1-h9490d1a_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-action-msgs-2.0.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-actionlib-msgs-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-auto-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-copyright-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-core-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-cppcheck-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-cpplint-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-definitions-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-libraries-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-targets-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-flake8-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-gmock-2.5.6-np2py314hf807026_28.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-gtest-2.5.6-np2py314hf807026_28.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-include-directories-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-libraries-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-lint-cmake-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-pep257-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-pytest-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-python-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-ros-0.12.2-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-test-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-uncrustify-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-version-2.5.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-xmllint-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-copyright-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cppcheck-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cpplint-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-flake8-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-index-cpp-1.8.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-index-python-1.8.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-auto-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-cmake-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-common-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-package-0.16.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-pep257-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-uncrustify-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-xmllint-0.17.5-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-builtin-interfaces-2.0.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-class-loader-2.7.1-np2py314h44b9ce8_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-common-interfaces-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-composition-interfaces-2.0.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-console-bridge-vendor-1.7.2-np2py314h44b9ce8_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-cyclonedds-0.10.5-py314h32c167b_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-demo-nodes-py-0.33.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-diagnostic-msgs-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.20.0-jazzy_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-domain-coordinator-0.12.2-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-eigen3-cmake-module-0.3.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-example-interfaces-0.12.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastcdr-2.2.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastrtps-2.14.7-np2py314h92dadff_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastrtps-cmake-module-3.6.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-foonathan-memory-vendor-1.3.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-geometry-msgs-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-geometry2-0.36.23-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-gmock-vendor-1.14.9000-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-gtest-vendor-1.14.9000-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-iceoryx-binding-c-2.95.8-py314hdeddbba_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-iceoryx-hoofs-2.95.8-py314hdeddbba_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-iceoryx-posh-2.95.8-py314hdeddbba_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-kdl-parser-2.11.0-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-keyboard-handler-0.3.2-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-3.4.12-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-ros-0.26.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-testing-3.4.12-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-testing-ament-cmake-3.4.12-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-testing-ros-0.26.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-xml-3.4.12-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-yaml-3.4.12-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-liblz4-vendor-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-libstatistics-collector-1.7.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-libyaml-vendor-1.6.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-lifecycle-msgs-2.0.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-mcap-vendor-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-message-filters-4.11.17-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-nav-msgs-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-orocos-kdl-vendor-0.5.2-np2py314h3d5669a_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-osrf-pycommon-2.1.7-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-pluginlib-5.4.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-pybind11-vendor-3.1.3-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-python-cmake-module-0.11.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-python-orocos-kdl-vendor-0.5.2-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-9.2.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-action-9.2.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-interfaces-2.0.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-lifecycle-9.2.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-logging-interface-3.1.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-logging-spdlog-3.1.1-np2py314hc4ee0df_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-yaml-param-parser-9.2.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-28.1.22-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-action-28.1.22-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-components-28.1.22-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-lifecycle-28.1.22-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclpy-7.1.12-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcpputils-2.11.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcutils-6.7.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-7.3.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-connextdds-0.22.3-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-connextdds-common-0.22.3-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-dds-common-3.1.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-cpp-8.4.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-2.15.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-cmake-7.3.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-zenoh-cpp-0.2.11-np2py314hbd028d1_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-robot-state-publisher-3.3.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-base-0.11.0-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-core-0.11.0-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-environment-4.2.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-workspace-1.0.3-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2action-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2bag-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-common-extensions-0.3.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2component-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2doctor-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2interface-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2launch-0.26.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2lifecycle-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2multicast-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2node-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2param-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2pkg-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2plugin-5.4.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2run-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2service-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2topic-0.32.13-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-compression-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-compression-zstd-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-cpp-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-interfaces-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-py-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-mcap-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-transport-0.26.11-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosgraph-msgs-2.0.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-adapter-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cmake-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-generators-0.2.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-runtime-0.2.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-default-generators-1.6.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-default-runtime-1.6.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-c-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-cpp-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-py-0.22.2-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-rs-0.5.0-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-type-description-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-parser-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-pycommon-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-runtime-c-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-runtime-cpp-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-runtime-py-0.13.2-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-c-3.2.3-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-interface-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rpyutils-0.4.2-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sensor-msgs-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sensor-msgs-py-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-service-msgs-2.0.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-shape-msgs-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-spdlog-vendor-1.6.2-np2py314hc4ee0df_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sqlite3-vendor-0.26.11-np2py314h0f15e22_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sros2-0.13.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sros2-cmake-0.13.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-statistics-msgs-2.0.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-std-msgs-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-std-srvs-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-stereo-msgs-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-0.36.23-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-bullet-0.36.23-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-eigen-0.36.23-np2py314h3d5669a_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-eigen-kdl-0.36.23-np2py314h3d5669a_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-geometry-msgs-0.36.23-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-kdl-0.36.23-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-msgs-0.36.23-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-py-0.36.23-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-ros-0.36.23-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-ros-py-0.36.23-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-sensor-msgs-0.36.23-np2py314h3d5669a_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-tools-0.36.23-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tinyxml2-vendor-0.9.2-np2py314hcdf597f_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tracetools-8.2.6-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-trajectory-msgs-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-type-description-interfaces-2.0.4-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-uncrustify-vendor-3.0.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-unique-identifier-msgs-2.5.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdf-2.10.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdf-parser-plugin-2.10.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdfdom-6.0-py314h0bc3ba6_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdfdom-headers-3.0-py314hdeddbba_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-visualization-msgs-5.3.8-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-yaml-cpp-vendor-9.0.1-np2py314hf807026_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zenoh-cpp-vendor-0.2.11-np2py314hbd028d1_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zstd-vendor-0.26.11-np2py314h327c029_27.conda - - conda: https://raw.githubusercontent.com/reiserlab/webDisplayTools/39eeb1fa43874aae7d845dfec2a8f049c68f8954/rig/channel/win-64/rig_interfaces-0.2.0-ha41a7fa_0.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-demo-nodes-py-0.33.11-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rclpy-7.1.12-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ros-base-0.11.0-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-py-0.26.11-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-default-runtime-1.6.1-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-runtime-py-0.13.2-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-std-msgs-5.3.8-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-action-msgs-2.0.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-actionlib-msgs-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-auto-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-copyright-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-core-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-cppcheck-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-cpplint-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-definitions-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-libraries-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-targets-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-flake8-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-gmock-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-gtest-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-include-directories-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-libraries-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-lint-cmake-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-pep257-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-pytest-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-python-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-ros-0.12.2-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-test-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-uncrustify-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-version-2.5.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-xmllint-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-copyright-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cppcheck-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cpplint-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-flake8-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-index-cpp-1.8.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-index-python-1.8.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-auto-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-cmake-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-common-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-package-0.16.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-pep257-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-uncrustify-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-xmllint-0.17.5-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-builtin-interfaces-2.0.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-class-loader-2.7.1-np2py312he78ef48_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-common-interfaces-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-composition-interfaces-2.0.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-console-bridge-vendor-1.7.2-np2py312he78ef48_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-cyclonedds-0.10.5-py312h420ed83_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-demo-nodes-py-0.33.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-diagnostic-msgs-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.19.0-jazzy_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-domain-coordinator-0.12.2-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-eigen3-cmake-module-0.3.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-example-interfaces-0.12.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastcdr-2.2.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastrtps-2.14.7-np2py312h679732a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastrtps-cmake-module-3.6.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-foonathan-memory-vendor-1.3.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-geometry-msgs-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-geometry2-0.36.23-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-gmock-vendor-1.14.9000-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-gtest-vendor-1.14.9000-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-iceoryx-binding-c-2.95.8-py312h7accfcc_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-iceoryx-hoofs-2.95.8-py312h7accfcc_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-iceoryx-posh-2.95.8-py312h7accfcc_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-kdl-parser-2.11.0-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-keyboard-handler-0.3.2-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-3.4.12-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-ros-0.26.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-testing-3.4.12-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-testing-ament-cmake-3.4.12-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-testing-ros-0.26.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-xml-3.4.12-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-yaml-3.4.12-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-liblz4-vendor-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-libstatistics-collector-1.7.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-libyaml-vendor-1.6.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-lifecycle-msgs-2.0.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-mcap-vendor-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-message-filters-4.11.17-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-nav-msgs-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-orocos-kdl-vendor-0.5.2-np2py312hd11d946_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-osrf-pycommon-2.1.7-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-pluginlib-5.4.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-pybind11-vendor-3.1.3-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-python-cmake-module-0.11.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-python-orocos-kdl-vendor-0.5.2-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-9.2.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-action-9.2.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-interfaces-2.0.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-lifecycle-9.2.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-logging-interface-3.1.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-logging-spdlog-3.1.1-np2py312hcd4b164_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-yaml-param-parser-9.2.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-28.1.22-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-action-28.1.22-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-components-28.1.22-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-lifecycle-28.1.22-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclpy-7.1.12-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcpputils-2.11.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcutils-6.7.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-7.3.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-connextdds-0.22.3-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-connextdds-common-0.22.3-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-dds-common-3.1.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-2.15.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-cmake-7.3.4-np2py312hdd89193_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-zenoh-cpp-0.2.11-np2py312hbb4efd0_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-robot-state-publisher-3.3.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-base-0.11.0-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-core-0.11.0-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-environment-4.2.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-workspace-1.0.3-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2action-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2bag-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-0.32.13-np2py312hdd89193_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-common-extensions-0.3.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2component-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2doctor-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2interface-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2launch-0.26.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2lifecycle-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2multicast-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2node-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2param-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2pkg-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2plugin-5.4.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2run-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2service-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2topic-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-compression-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-compression-zstd-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-cpp-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-interfaces-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-py-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-mcap-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-transport-0.26.11-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosgraph-msgs-2.0.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-adapter-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py312hdd89193_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cmake-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-generators-0.2.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-runtime-0.2.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-default-generators-1.6.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-default-runtime-1.6.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-c-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-cpp-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-py-0.22.2-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-rs-0.5.0-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-type-description-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-parser-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-pycommon-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-runtime-c-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-runtime-cpp-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-runtime-py-0.13.2-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-c-3.2.3-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-interface-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rpyutils-0.4.2-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sensor-msgs-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sensor-msgs-py-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-service-msgs-2.0.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-shape-msgs-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-spdlog-vendor-1.6.2-np2py312hcd4b164_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sqlite3-vendor-0.26.11-np2py312heb1eb2f_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sros2-0.13.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sros2-cmake-0.13.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-statistics-msgs-2.0.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-std-msgs-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-std-srvs-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-stereo-msgs-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-0.36.23-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-bullet-0.36.23-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-eigen-0.36.23-np2py312hd11d946_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-eigen-kdl-0.36.23-np2py312hd11d946_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-geometry-msgs-0.36.23-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-kdl-0.36.23-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-msgs-0.36.23-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-py-0.36.23-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-ros-0.36.23-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-ros-py-0.36.23-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-sensor-msgs-0.36.23-np2py312hd11d946_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-tools-0.36.23-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tinyxml2-vendor-0.9.2-np2py312h1425c0b_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tracetools-8.2.6-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-trajectory-msgs-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-type-description-interfaces-2.0.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-uncrustify-vendor-3.0.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-unique-identifier-msgs-2.5.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdf-2.10.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdf-parser-plugin-2.10.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdfdom-6.0-py312h77058a8_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdfdom-headers-3.0-py312h7accfcc_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-visualization-msgs-5.3.8-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-yaml-cpp-vendor-9.0.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312hbb4efd0_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zstd-vendor-0.26.11-np2py312h94542ee_25.conda + - conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/noarch/rig_nodes-0.2.1-pyh4616a5c_0.conda + - conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/win-64/rig_interfaces-0.2.1-ha41a7fa_0.conda viz: channels: - url: https://conda.anaconda.org/conda-forge/ - url: https://conda.anaconda.org/robostack-jazzy/ + - url: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/ packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -3847,7 +3818,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-3.25-h26dfbe5_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-cpp-3.25-hcbe3ca9_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.9-hebe6cf0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.6-h3c89d7e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py312h703531f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.4-hff7ac6b_0.conda @@ -3877,7 +3848,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/gtest-1.18.0-h171cf75_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.52-ha5ea40c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.6.0-ha770c72_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-15.0.0-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda @@ -3891,8 +3862,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-h084b8d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-11_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp22.1-22.1.8-default_h0acdd01_11.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.3-default_h0acdd01_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.3-default_hf5bde5f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.4-default_h0acdd01_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.4-default_he646a05_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.23.0-ha042cf0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-hd45a770_1.conda @@ -3902,7 +3873,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-h5348a74_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.9.0-hd2095e1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_2.conda @@ -3919,8 +3890,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.6.0-h23af247_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.6.0-h23af247_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-15.0.0-h23af247_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-15.0.0-h23af247_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiceoryx-binding-c-2.95.8-h1059693_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiceoryx-hoofs-2.95.8-hfe315d3_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiceoryx-platform-2.95.8-hf91fcae_5.conda @@ -3929,7 +3900,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.8-h474f4eb_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.3-h474f4eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.4-h474f4eb_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda @@ -3939,19 +3910,21 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-devel-1.7.0-ha4b6fd6_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-hebe6cf0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpango-1.58.2-hce4e988_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpango-devel-1.58.2-h317d9d0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.59-h922cc85_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.6-h3883810_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.15-ha57cdbe_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.16-ha57cdbe_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.4-ha427ee3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hbc6d301_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-hebe6cf0_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.0-h13e7031_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h13e7031_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.2.0-hdf11a46_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-262-h26e0ef7_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-262.1-h26e0ef7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-hcc2c06a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liburcu-0.14.0-hac33072_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda @@ -3960,7 +3933,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-hb83e432_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h51789e4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h59c2f34_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.4-hf3af7cc_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.4-h7df9aa5_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.45-h8e12856_1.conda @@ -3978,7 +3951,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/orocos-kdl-1.5.4-h761dd02_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.58.2-h7bb47b9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.58.2-h2f58602_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-h8b3dc9c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_3.conda @@ -3989,7 +3962,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pybullet-3.25-py312hf49885f_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.11-py312h82c0db2_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-12.17.0-py312h1289d80_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.15-h5f976f7_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.16-h5f976f7_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-orocos-kdl-1.5.4-py312ha6a3dbb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.2.0-py312h8a5ba0d_2.conda @@ -3999,23 +3972,23 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/sip-6.10.0-py312h1289d80_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/spdlog-1.17.0-hb6aa676_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.54.0-h9ffa6c4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.54.1-h9ffa6c4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-hee9eb32_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.83.0-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-6.0.1-hf2e7533_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-6.0.2-hf2e7533_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom_headers-3.0.1-h4dbf13b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.2-py312h89dfda2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.3-py312h89dfda2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-hebe6cf0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-h0d788c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.14-hb83e432_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda @@ -4023,12 +3996,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-h7cc23a3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-h7cc23a3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-h7cc23a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.4-h7cc23a3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.6-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxshmfence-1.3.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-h7cc23a3_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.13-h7cc23a3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxshmfence-1.3.3-h7cc23a3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.6-h7cc23a3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hebe6cf0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda @@ -4040,10 +4013,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-51.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda @@ -4060,19 +4033,19 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.1.0-pyh293190f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.1.0-pyh648e204_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.11-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.12-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydot-4.0.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda @@ -4080,28 +4053,32 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyqt-builder-1.18.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.15-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.16-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-79.0.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-py-0.33.11-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-foxglove-bridge-3.6.0-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclpy-7.1.12-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-base-0.11.0-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-py-0.26.11-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-py-0.13.2-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-console-2.2.2-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-graph-1.5.6-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-topic-1.7.5-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-std-msgs-5.3.8-hb0f4dca_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-actionlib-msgs-5.3.8-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py312h1bab3cf_25.conda @@ -4155,7 +4132,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-cyclonedds-0.10.5-py312h79554f9_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-demo-nodes-py-0.33.11-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-diagnostic-msgs-5.3.8-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-eigen3-cmake-module-0.3.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-example-interfaces-0.12.1-np2py312h1bab3cf_25.conda @@ -4221,7 +4198,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-2.15.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-cmake-7.3.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-cmake-7.3.4-np2py312h1bab3cf_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-zenoh-cpp-0.2.11-np2py312h815c85b_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-robot-state-publisher-3.3.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-base-0.11.0-np2py312h1bab3cf_25.conda @@ -4230,7 +4207,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2action-0.32.13-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2bag-0.26.11-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-0.32.13-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-0.32.13-np2py312h1bab3cf_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-common-extensions-0.3.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2component-0.32.13-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2doctor-0.32.13-np2py312h1bab3cf_25.conda @@ -4258,7 +4235,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-transport-0.26.11-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosgraph-msgs-2.0.4-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py312h1bab3cf_25.conda @@ -4331,14 +4308,15 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-yaml-cpp-vendor-9.0.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h815c85b_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zstd-vendor-0.26.11-np2py312h6a0d68b_25.conda + - conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/noarch/rig_nodes-0.2.1-pyh4616a5c_0.conda osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-51.0-unix_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda @@ -4355,51 +4333,53 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.1.0-pyh293190f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.1.0-pyh648e204_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.11-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.12-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydot-4.0.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyqt-builder-1.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyqt-builder-1.18.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.15-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.16-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-79.0.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-8_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/atk-1.0-2.38.0-hd03087b_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bullet-3.25-h652a6e0_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bullet-cpp-3.25-py312h5978115_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.8-h74c22ad_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.9-h74c22ad_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cairo-1.18.6-h580cee5_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.1.1-py312hc892d8b_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.4-hf91ab31_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/console_bridge-1.0.2-h3e96240_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cppcheck-2.22.0-py312h3286cfa_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-50.0.2-py311hc28ac56_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cyclonedds-0.10.5-heeac741_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cyrus-sasl-2.1.28-hb961e35_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-5.0.1-hdb59ae0_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/eigen-abi-5.0.1.100-h485a483_3.conda @@ -4421,7 +4401,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtest-1.18.0-h3feff0a_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtk3-3.24.52-hc0f3e19_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gts-0.7.6-he42f4ea_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.6.0-hce30654_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-15.0.0-hce30654_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/hicolor-icon-theme-0.17-hce30654_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda @@ -4429,14 +4409,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-11_h51639a9_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-11_hb0561ab_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp18.1-18.1.8-default_hf3020a7_18.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp23.1-23.1.3-default_h79071a4_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang13-23.1.3-default_h885965d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.22.0-h6651222_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.3-h55c6f16_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp23.1-23.1.4-default_h8bbc02d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang13-23.1.4-default_h63627a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.23.0-h6651222_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.4-h55c6f16_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.25-he7e0567_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20260512-pl5321h26f1114_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.9.0-h6111c0a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype-2.14.3-hce30654_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libfreetype6-2.14.3-h2ed5691_2.conda @@ -4445,28 +4425,34 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-16.2.0-h07b0088_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-16.2.0-hdb7a957_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libglib-2.90.0-hccd281b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-14.6.0-hcda0f7c_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-devel-14.6.0-hcda0f7c_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-15.0.0-hcda0f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-devel-15.0.0-hcda0f7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-binding-c-2.95.8-hcac2f75_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-hoofs-2.95.8-h708977a_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-platform-2.95.8-h799688d_5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-posh-2.95.8-hbfce10a_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-he4c29f2_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-hae62183_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libintl-devel-0.25.1-hae62183_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.2.0-h84a0fba_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-11_hd9741b5_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm18-18.1.8-default_h8e162e0_12.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm23-23.1.3-h759d1ac_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm23-23.1.4-h759d1ac_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h435687b_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libntlm-1.8-h5505292_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libogg-1.3.5-h48c0fde_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.34-openmp_h5e6e99c_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopus-1.6.1-h74c22ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpango-1.58.2-hc2ac4f2_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpango-devel-1.58.2-haa2d88b_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.59-hf5e6511_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpq-18.4-ha770aab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpq-18.6-h0a198e3_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpsl-0.23.1-hdb0c161_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.12.15-h0677fcb_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.12.16-h0677fcb_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.4-hc8ac265_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsodium-1.0.22-h74c22ad_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.0-hca69786_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.1-hca69786_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-hbf2880b_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.2-hf67920b_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.52.1-h1a92334_1.conda @@ -4478,7 +4464,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxslt-1.1.45-haaf9281_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzenohc-1.9.0-h389a063_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-23.1.3-hdb3d66b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-23.1.4-hdb3d66b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.3-py312haba262f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-4.4.5-py312hc8604c9_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-hdca3b7d_2.conda @@ -4489,7 +4475,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openldap-2.6.13-hf7f56bc_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/orocos-kdl-1.5.4-hba3f793_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.58.2-hf9b25ef_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.58.2-hc6efcc1_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre-8.45-hbdafb3b_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-he63d830_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pixman-0.46.4-h784d473_3.conda @@ -4499,7 +4485,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pybullet-3.25-py312h3a599b7_5.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyqt-5.15.11-py312h6612b97_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyqt5-sip-12.17.0-py312h455b684_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.15-hd05a0c4_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.16-hd05a0c4_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-orocos-kdl-1.5.4-py312h1535055_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py312h04c11ed_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyzmq-27.2.0-py312hdfb5542_2.conda @@ -4507,16 +4493,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rapidjson-1.1.0.post20250205-h784d473_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sip-6.17.1-py312h3812f11_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sip-6.15.3-py312h6d95f44_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/spdlog-1.17.0-h760df91_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.54.0-ha9f7ffe_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.54.1-ha9f7ffe_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tinyxml2-11.0.0-hdca3b7d_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uncrustify-0.83.0-h784d473_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/urdfdom-6.0.1-hb460c4f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/urdfdom-6.0.2-h8704d93_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/urdfdom_headers-3.0.1-hfbe1efa_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-17.2-py312h9b6eb38_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libx11-1.8.13-hf948f5a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-17.3-py312h9b6eb38_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libx11-1.8.14-hbffa61f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxau-1.0.12-hb001647_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxdmcp-1.1.5-hb001647_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libxext-1.3.7-hb001647_1.conda @@ -4526,261 +4512,255 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zeromq-4.3.5-h6eb0046_12.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstandard-0.25.0-py312hbd136b4_4.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-index-cpp-1.8.4-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-demo-nodes-py-0.33.11-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-fastcdr-2.2.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-foxglove-bridge-3.4.3-h60d57d3_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rcpputils-2.11.4-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rcutils-6.7.6-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-zenoh-cpp-0.2.10-np2py312h84ff3ff_21.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-foxglove-bridge-3.6.0-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rclpy-7.1.12-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-zenoh-cpp-0.2.11-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-base-0.11.0-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-workspace-1.0.3-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosbag2-py-0.26.11-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-dynamic-typesupport-0.1.2-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-runtime-c-4.6.9-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-typesupport-fastrtps-c-3.6.4-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-typesupport-fastrtps-cpp-3.6.4-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-runtime-py-0.13.2-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rqt-console-2.2.2-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rqt-graph-1.5.6-h60d57d3_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rqt-topic-1.7.5-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-tracetools-8.2.6-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-zenoh-cpp-vendor-0.2.10-np2py312h84ff3ff_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-actionlib-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-auto-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-copyright-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-lint-cmake-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-xmllint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-copyright-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-cpp-1.8.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-auto-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-cmake-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-common-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-xmllint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-class-loader-2.7.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-common-interfaces-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-composition-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-console-bridge-vendor-1.7.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-cyclonedds-0.10.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-demo-nodes-py-0.33.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-diagnostic-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.16.0-jazzy_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-eigen3-cmake-module-0.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-example-interfaces-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-2.14.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foonathan-memory-vendor-1.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foxglove-bridge-3.4.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry2-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-binding-c-2.0.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-hoofs-2.0.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-posh-2.0.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-kdl-parser-2.11.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-keyboard-handler-0.3.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-3.4.11-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-ros-0.26.12-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ament-cmake-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ros-0.26.12-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-xml-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-yaml-3.4.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libcurl-vendor-3.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-liblz4-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libstatistics-collector-1.7.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libyaml-vendor-1.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-lifecycle-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-mcap-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-message-filters-4.11.17-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-nav-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-orocos-kdl-vendor-0.5.2-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-osrf-pycommon-2.1.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pluginlib-5.4.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pybind11-vendor-3.1.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-orocos-kdl-vendor-0.5.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-qt-binding-2.2.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-qt-dotgraph-2.7.6-np2py312h04422e8_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-qt-gui-2.7.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-action-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-lifecycle-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-interface-3.1.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-spdlog-3.1.1-np2py312h88edd79_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-yaml-param-parser-9.2.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-action-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-components-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-lifecycle-28.1.21-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclpy-7.1.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-resource-retriever-3.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-0.22.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-common-0.22.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-cyclonedds-cpp-2.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-dds-common-3.1.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-2.15.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-cmake-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-robot-state-publisher-3.3.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-base-0.11.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-core-0.11.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2action-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2bag-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-0.32.11-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-common-extensions-0.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2component-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2doctor-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2interface-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2launch-0.26.12-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2lifecycle-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2multicast-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2node-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2param-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2pkg-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2plugin-5.4.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2run-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2service-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2topic-0.32.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-zstd-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-cpp-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-interfaces-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-py-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-mcap-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-transport-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosgraph-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-runtime-1.6.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-py-0.13.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosx-introspection-2.3.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-console-2.2.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-graph-1.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-gui-1.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-gui-py-1.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-py-common-1.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-topic-1.7.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-py-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-shape-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-spdlog-vendor-1.6.2-np2py312h88edd79_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sqlite3-vendor-0.26.11-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-0.13.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-cmake-0.13.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-statistics-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-srvs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-stereo-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tango-icons-vendor-0.3.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-bullet-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-0.36.22-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-kdl-0.36.22-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-geometry-msgs-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-kdl-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-msgs-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-py-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-py-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-sensor-msgs-0.36.22-np2py312hd6e7b62_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-tools-0.36.22-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tinyxml2-vendor-0.9.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tracetools-8.2.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-trajectory-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-type-description-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-2.10.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-parser-plugin-2.10.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-6.0-py312h3dea895_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-headers-3.0-py312h3dea895_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-visualization-msgs-5.3.8-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-yaml-cpp-vendor-9.0.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zstd-vendor-0.26.11-np2py312haf4906a_21.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-std-msgs-5.3.8-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-actionlib-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-auto-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-copyright-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-lint-cmake-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-xmllint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-copyright-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-cpp-1.8.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-auto-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-cmake-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-common-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-xmllint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-class-loader-2.7.1-np2py312h6fbb871_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-common-interfaces-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-composition-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-console-bridge-vendor-1.7.2-np2py312h6fbb871_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-cyclonedds-0.10.5-py312h588e9fb_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-demo-nodes-py-0.33.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-diagnostic-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.19.0-jazzy_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-eigen3-cmake-module-0.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-example-interfaces-0.12.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-2.14.7-np2py312h6133e15_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foonathan-memory-vendor-1.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foxglove-bridge-3.6.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry2-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-binding-c-2.95.8-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-hoofs-2.95.8-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-posh-2.95.8-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-kdl-parser-2.11.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-keyboard-handler-0.3.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-ros-0.26.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ament-cmake-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ros-0.26.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-xml-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-yaml-3.4.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libcurl-vendor-3.4.4-np2py312ha0acf58_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-liblz4-vendor-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libstatistics-collector-1.7.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libyaml-vendor-1.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-lifecycle-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-mcap-vendor-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-message-filters-4.11.17-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-nav-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-orocos-kdl-vendor-0.5.2-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-osrf-pycommon-2.1.7-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pluginlib-5.4.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pybind11-vendor-3.1.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-orocos-kdl-vendor-0.5.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-qt-binding-2.2.2-np2py312haa0ef1d_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-qt-dotgraph-2.7.6-np2py312hab57ebb_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-qt-gui-2.7.6-np2py312haa0ef1d_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-action-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-lifecycle-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-interface-3.1.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-spdlog-3.1.1-np2py312h6cdb02c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-yaml-param-parser-9.2.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-action-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-components-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-lifecycle-28.1.22-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclpy-7.1.12-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-resource-retriever-3.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-0.22.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-common-0.22.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-dds-common-3.1.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-2.15.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-cmake-7.3.4-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-zenoh-cpp-0.2.11-np2py312h48e1e13_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-robot-state-publisher-3.3.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-base-0.11.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-core-0.11.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2action-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2bag-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-0.32.13-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-common-extensions-0.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2component-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2doctor-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2interface-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2launch-0.26.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2lifecycle-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2multicast-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2node-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2param-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2pkg-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2plugin-5.4.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2run-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2service-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2topic-0.32.13-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-zstd-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-cpp-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-interfaces-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-py-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-mcap-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-transport-0.26.11-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosgraph-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-runtime-1.6.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-py-0.13.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosx-introspection-2.3.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-console-2.2.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-graph-1.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-gui-1.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-gui-py-1.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-py-common-1.6.4-np2py312hdb0c022_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-topic-1.7.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-py-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-shape-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-spdlog-vendor-1.6.2-np2py312h6cdb02c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sqlite3-vendor-0.26.11-np2py312hf913b0b_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-0.13.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-cmake-0.13.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-statistics-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-srvs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-stereo-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tango-icons-vendor-0.3.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-bullet-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-0.36.23-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-kdl-0.36.23-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-geometry-msgs-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-kdl-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-msgs-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-py-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-py-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-sensor-msgs-0.36.23-np2py312h5d78f99_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-tools-0.36.23-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tinyxml2-vendor-0.9.2-np2py312h4821590_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tracetools-8.2.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-trajectory-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-type-description-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-2.10.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-parser-plugin-2.10.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-6.0-py312h23657be_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-headers-3.0-py312h3dea895_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-visualization-msgs-5.3.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-yaml-cpp-vendor-9.0.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h48e1e13_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zstd-vendor-0.26.11-np2py312h849b6f6_25.conda + - conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/noarch/rig_nodes-0.2.1-pyh4616a5c_0.conda win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda @@ -4797,19 +4777,19 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.1.0-pyh293190f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.1.0-pyhc8003f9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.11-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.12-pyh5ded981_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydot-4.0.1-pyhcf101f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda @@ -4817,19 +4797,20 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyqt-builder-1.18.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.15-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.16-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-79.0.1-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bullet-3.25-h6d21bc8_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bullet-cpp-3.25-hc128f0a_5.conda @@ -4847,6 +4828,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/fmt-12.1.0-h1ced75a_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.3-hd47e2ca_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/foonathan-memory-0.7.4-h5112557_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.17-hfd05255_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/getopt-win32-0.1-h6a83c73_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.90.1-h6e26cc4_0.conda @@ -4863,10 +4845,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.2.0-hd936e49_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-11_h8455456_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-11_h2a3cdd5_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-23.1.3-default_hacd6ee9_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-23.1.4-default_hacd6ee9_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.23.0-hdb0ef4a_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h1a1d4e4_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.5-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.9.0-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_2.conda @@ -4874,7 +4856,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libgd-2.3.3-h4974f7c_12.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.90.1-ha564072_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-16.2.0-h8ee18e1_7.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.6.0-h03b5201_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-15.0.0-h03b5201_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-15.0.0-h03b5201_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.15.0-default_hae90fe0_1001.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiceoryx-binding-c-2.95.8-h480d27c_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiceoryx-hoofs-2.95.8-h10852e2_5.conda @@ -4887,24 +4870,26 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-11_hf9ab0e9_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpango-1.58.2-h02b4fad_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpango-devel-1.58.2-h7637d1b_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.59-hdc8cecf_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpsl-0.23.1-h9b16d47_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.15-hfb4101e_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.16-hfb4101e_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.0-hf5d6505_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.1-hf5d6505_101.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h734d217_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libuv-1.52.1-h6a83c73_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r688.g6b2176247.1-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h874e120_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.4-h3cfd58e_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.4-he095d88_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.45-ha5384fd_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzenohc-1.9.0-hcc20cc8_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.3-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.4-h49e36cd_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.3-py312h1476a5e_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py312hc3c93f3_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-c-1.10.0-h6a83c73_2.conda @@ -4912,7 +4897,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.4-py312ha3f287d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/orocos-kdl-1.5.4-h85e3ab8_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.58.2-h13911b6_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.58.2-h4350c2a_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pcre-8.45-h0e60522_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-h8466c1e_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_3.conda @@ -4922,7 +4907,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/pybullet-3.25-py312h3d6c809_5.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyqt-5.15.11-py312h7eb3e20_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyqt5-sip-12.17.0-py312hbb81ca0_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.15-hb12b558_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.16-hb12b558_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/win-64/python-orocos-kdl-1.5.4-py312hbb81ca0_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.2.0-py312h343a6d4_2.conda @@ -4930,42 +4915,46 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/rapidjson-1.1.0.post20250205-h5112557_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/sip-6.10.0-py312hbb81ca0_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/spdlog-1.17.0-hd227c35_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.54.0-hdb435a2_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.54.1-hdb435a2_101.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.1.0-h272cf33_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tinyxml2-11.0.0-h5112557_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/uncrustify-0.83.0-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/urdfdom-6.0.1-h37f4996_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/urdfdom-6.0.2-h37f4996_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/urdfdom_headers-3.0.1-h477610d_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36247-h633cb9f_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-17.2-py312h5247d40_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/websockets-17.3-py312h5247d40_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-hd74fcf3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libsm-1.2.6-hd74fcf3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.14-h2496537_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-hfa92662_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.5-hfa92662_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxext-1.3.7-hfa92662_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.20-hfa92662_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxt-1.3.1-hfa92662_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-cpp-0.8.0-h5112557_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zenoh-rust-abi-1.9.0.1.93.1-heb1d585_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_12.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.25.0-py312he5662c2_4.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-demo-nodes-py-0.33.11-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-foxglove-bridge-3.6.0-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rclpy-7.1.12-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ros-base-0.11.0-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-py-0.26.11-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-runtime-py-0.13.2-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rqt-console-2.2.2-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rqt-graph-1.5.6-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rqt-topic-1.7.5-h9490d1a_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-std-msgs-5.3.8-h9490d1a_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-action-msgs-2.0.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-actionlib-msgs-5.3.8-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-2.5.6-np2py312hdd89193_25.conda @@ -5019,7 +5008,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-cyclonedds-0.10.5-py312h420ed83_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-demo-nodes-py-0.33.11-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-diagnostic-msgs-5.3.8-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.19.0-jazzy_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.19.0-jazzy_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-domain-coordinator-0.12.2-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-eigen3-cmake-module-0.3.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-example-interfaces-0.12.1-np2py312hdd89193_25.conda @@ -5085,7 +5074,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-2.15.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-cmake-7.3.4-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-cmake-7.3.4-np2py312hdd89193_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-zenoh-cpp-0.2.11-np2py312hbb4efd0_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-robot-state-publisher-3.3.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-base-0.11.0-np2py312hdd89193_25.conda @@ -5094,7 +5083,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-workspace-1.0.3-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2action-0.32.13-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2bag-0.26.11-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-0.32.13-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-0.32.13-np2py312hdd89193_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-common-extensions-0.3.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2component-0.32.13-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2doctor-0.32.13-np2py312hdd89193_25.conda @@ -5122,7 +5111,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-transport-0.26.11-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosgraph-msgs-2.0.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-adapter-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py312hdd89193_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cmake-4.6.9-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-generators-0.2.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-runtime-0.2.1-np2py312hdd89193_25.conda @@ -5195,6 +5184,7 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-yaml-cpp-vendor-9.0.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312hbb4efd0_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zstd-vendor-0.26.11-np2py312h94542ee_25.conda + - conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/noarch/rig_nodes-0.2.1-pyh4616a5c_0.conda packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda build_number: 20 @@ -5308,18 +5298,6 @@ packages: run_exports: {} size: 11631 timestamp: 1761041385662 -- conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-3.25-he07d6a8_5.conda - sha256: 8130090b9fa1bbcb88933c276cea63c9dd3bdb2947802254fe99afe123c0c15c - md5: ee737b2d5f62ebf2e82d8a837f3322f1 - depends: - - bullet-cpp 3.25 hf21447f_5 - - numpy - - pybullet 3.25 py314h61d0147_5 - - python - license: Zlib - run_exports: {} - size: 11616 - timestamp: 1761044683757 - conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-cpp-3.25-hcbe3ca9_5.conda sha256: 5b1d2b088f15796123a81d2213cf7998e7d36cb19293bc55d0d6c1d3254af7e5 md5: 17f8b21e05588ceea91fbb1162133dbb @@ -5338,24 +5316,6 @@ packages: - bullet-cpp >=3.25,<3.26.0a0 size: 42581149 timestamp: 1761041037901 -- conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-cpp-3.25-hf21447f_5.conda - sha256: ff1480e81f3884883cd1adfccd53ce40060e414af11c8261a7af801461ee0c51 - md5: dd30845595677438a4a4dba0cdcbbe8f - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libgl >=1.7.0,<2.0a0 - - libstdcxx >=13 - - numpy >=1.23,<3 - - python_abi 3.14.* *_cp314 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - license: Zlib - run_exports: - weak: - - bullet-cpp >=3.25,<3.26.0a0 - size: 42583344 - timestamp: 1761044332604 - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda sha256: 1a0d382c515ebf55f8ee1f38c8b81bc95af5c2acc42ad53b66bc5df932032f96 md5: e675fabcf81499adc7edf58124fb1e01 @@ -5369,19 +5329,6 @@ packages: - bzip2 >=1.0.8,<2.0a0 size: 257808 timestamp: 1785906269155 -- conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda - sha256: 9c37cc233238adf366ea75b0e845662a5be07ceadf62e458183516369340274b - md5: 3ad2b403be8fc5612b9159e2ce621f69 - depends: - - libgcc >=15 - - __glibc >=2.17,<3.0.a0 - license: MIT - license_family: MIT - run_exports: - weak: - - c-ares >=1.34.8,<2.0a0 - size: 228700 - timestamp: 1787169971173 - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.9-hebe6cf0_0.conda sha256: bd95dd25b80b5c4faf5349542377bf89b2794e23d0f7aa7f1c431e4f3b633f3c md5: 78b505af04bf7a87ca957ef0cb5946f5 @@ -5439,21 +5386,6 @@ packages: run_exports: {} size: 302937 timestamp: 1788485303634 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py314h8d76f0c_3.conda - sha256: 15e38176fa2173e063a19dad3d55746ac4c757b028813380d7f22c42781af4c4 - md5: ee66d46f7693fdcbaa1761fb8a4f6c3d - depends: - - __glibc >=2.17,<3.0.a0 - - libffi >=3.7.0,<3.8.0a0 - - libgcc >=15 - - pycparser - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - run_exports: {} - size: 307262 - timestamp: 1788485305536 - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.3-hff7ac6b_0.conda sha256: a6d21b5166cd7a44fa975e541f1abf851579a8ac3458e72e77125761da06c842 md5: e9d08c8f9a02853bfc6f8c3a4b0b19a4 @@ -5496,36 +5428,6 @@ packages: run_exports: {} size: 26080138 timestamp: 1791001096509 -- conda: https://conda.anaconda.org/conda-forge/linux-64/colcon-common-extensions-0.3.0-py312h20c3967_5.conda - sha256: a907e6e369c7d028230ed84a77775c7409ac53c29cf4b8297869ccc8b7706321 - md5: 6b57a50692072527622377a1cecfaf9c - depends: - - python - - colcon-cmake - - colcon-core - - colcon-defaults - - colcon-devtools - - colcon-library-path - - colcon-metadata - - colcon-output - - colcon-package-information - - colcon-package-selection - - colcon-parallel-executor - - colcon-powershell - - colcon-python-setup-py - - colcon-recursive-crawl - - colcon-ros - - colcon-test-result - - colcon-argcomplete - - colcon-cd - - colcon-bash - - colcon-zsh - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 18127 - timestamp: 1789827899672 - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.3.0-h8846f6e_7.conda sha256: 395a5928fc78e8545afdb4e9bf074cf90e37ff8287a1f34cd98c9350da6c3095 md5: da715e003b8f6e6737923cda77f67dbf @@ -5560,19 +5462,6 @@ packages: run_exports: {} size: 3494585 timestamp: 1789486354729 -- conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.16.2-py312h8b7ec3f_0.conda - sha256: 9ea2907ca5b95350b3b28dd7b6107b89b0754ab9504e214220eff7603e72d111 - md5: 1d1ef312ddf97e5f5218d3a3d56dd7a0 - depends: - - python - - libgcc >=15 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 418196 - timestamp: 1790542080154 - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.22.0-py312h3cdd867_1.conda sha256: 0ef0bd4ad02311259e93011376b290e3df76b00fccf1090baa928928f5022a3d md5: 4fed5367fc013b43a33ba5bb7f3974d4 @@ -5908,14 +5797,14 @@ packages: run_exports: {} size: 11920563 timestamp: 1790670380845 -- conda: https://conda.anaconda.org/conda-forge/linux-64/git-lfs-3.8.0-h2c09266_0.conda - sha256: b69ca1136b045256717d34f464ff9ce2b2df48a7d1953cfec8a0d0b9714c57ce - md5: 935cbcbc760832a8b79a3e689f89b3ca +- conda: https://conda.anaconda.org/conda-forge/linux-64/git-lfs-3.8.1-h2c09266_0.conda + sha256: 0989aa942a936cc8e51febb2fcc9dbe7825c53b7b0304aa3976f1b95c29cae58 + md5: 2b653ac8fe3ecfeadddc76e526487dae license: MIT license_family: MIT run_exports: {} - size: 5064192 - timestamp: 1787873878517 + size: 5253503 + timestamp: 1792702148617 - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-2.90.0-h5e3c387_0.conda sha256: 4d3ddb32831bbd89d4c1b5282930f70a1bf0e1210c772d2df4c13b3eb12f577f md5: 783f9086aaff57b304816dc67181e3f7 @@ -6179,18 +6068,6 @@ packages: - libgcc >=16 size: 28780 timestamp: 1789573357529 -- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.6.0-ha770c72_2.conda - sha256: f2010d4e80756cc3735b6fec645c9c72293344cf9c2a780256da5dc4dc3545b1 - md5: 0709eacc38906e8a237d9ef172af6688 - depends: - - libharfbuzz-devel 14.6.0 h23af247_2 - license: MIT - license_family: MIT - run_exports: - weak: - - libharfbuzz >=14.6.0 - size: 11095 - timestamp: 1791900621328 - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-15.0.0-ha770c72_0.conda sha256: 66e49a0888ad60b69766c8a82a4c5b8be0000b1b0d595710ffaba079fd717e5e md5: 3bb1373c9a1ca102437ca168e5282cc0 @@ -6386,14 +6263,15 @@ packages: - libzlib >=1.3.2,<2.0a0 - libllvm22 >=22.1.8,<22.2.0a0 license: Apache-2.0 WITH LLVM-exception + license_family: APACHE run_exports: weak: - libclang-cpp22.1 >=22.1.8,<22.2.0a0 size: 24529645 timestamp: 1791934037580 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.3-default_h0acdd01_1.conda - sha256: 3bd94731df161fc3d435067e26db82a89311ada99017534aab8b9157bd283215 - md5: cf79c9deb118d2cc8d41d6ba21bc6e54 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp23.1-23.1.4-default_h0acdd01_0.conda + sha256: b276618b7f9378c7cd0cf15235928b48c042362778a3e366fc6d7df04b4b7069 + md5: fd31eb5c1d3fda66a4357c002c522445 depends: - __glibc >=2.17,<3.0.a0 - libstdcxx >=15 @@ -6402,18 +6280,19 @@ packages: - libzlib >=1.3.2,<2.0a0 - libxml2 - libxml2-16 >=2.15.4 - - libllvm23 >=23.1.3,<23.2.0a0 + - libllvm23 >=23.1.4,<23.2.0a0 license: Apache-2.0 WITH LLVM-exception + license_family: APACHE run_exports: weak: - - libclang-cpp23.1 >=23.1.3,<23.2.0a0 - size: 25352733 - timestamp: 1791933826307 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.3-default_hf5bde5f_1.conda - sha256: 1875a40306f7f9740b1dffa3b96ff4dd06d7c7fe4ea7fcb74a63af0ff10891e3 - md5: ac17255d36cb4e943cfbbcc2776483a0 + - libclang-cpp23.1 >=23.1.4,<23.2.0a0 + size: 25352501 + timestamp: 1792647858417 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-23.1.4-default_he646a05_0.conda + sha256: d048fdd1f59a697439323ce42ed26c381aaf5ef1624a8811e067a79e93c47219 + md5: e6925f2db0cac9b4bcd8a209034462ec depends: - - libclang-cpp23.1 ==23.1.3 default_h0acdd01_1 + - libclang-cpp23.1 ==23.1.4 default_h0acdd01_0 - __glibc >=2.17,<3.0.a0 - libstdcxx >=15 - libgcc >=15 @@ -6421,13 +6300,14 @@ packages: - libzlib >=1.3.2,<2.0a0 - libxml2 - libxml2-16 >=2.15.4 - - libllvm23 >=23.1.3,<23.2.0a0 + - libllvm23 >=23.1.4,<23.2.0a0 license: Apache-2.0 WITH LLVM-exception + license_family: APACHE run_exports: weak: - - libclang13 >=23.1.3 - size: 15440090 - timestamp: 1791933826307 + - libclang13 >=23.1.4 + size: 15440123 + timestamp: 1792647858417 - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda sha256: 205c4f19550f3647832ec44e35e6d93c8c206782bdd620c1d7cf66237580ff9c md5: 49c553b47ff679a6a1e9fc80b9c5a2d4 @@ -6576,19 +6456,19 @@ packages: - libevent >=2.1.12,<2.1.13.0a0 size: 431007 timestamp: 1788870247867 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda - sha256: 6de73033a7c5f712c9c5a54124e4581e025691029835e5bceaf10a333a7e7bc0 - md5: 72cfd2b95b0540247220b42f58a148d7 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.9.0-hd2095e1_0.conda + sha256: 7b930a8b6bc6553cb754b4977a11f9c862c719a652fc2d128d89270992ce8beb + md5: 317ecabe4a58b3068c7958dc5eb89e43 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 constrains: - - expat 2.8.5.* + - expat 2.9.0.* license: MIT license_family: MIT run_exports: {} - size: 77893 - timestamp: 1790346247149 + size: 78894 + timestamp: 1793054221966 - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda sha256: c8c7583ef063bc3c430f1d48298e5ad24f796a35c22ed5b14183325825a61106 md5: 6525a0b06aa4fd390795f0740636a9dd @@ -6804,26 +6684,6 @@ packages: - _openmp_mutex >=4.5 size: 640566 timestamp: 1790303046034 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.6.0-h23af247_2.conda - sha256: 3dea71a07100fd523ff173538577fd2e06a42beb5cb25e4a18ac9484773753ba - md5: 6a93147cab011f36d1659745c3f579e2 - depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.6,<2.0a0 - - graphite2 >=1.3.15,<2.0a0 - - icu >=78.3,<79.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libgcc >=15 - - libglib >=2.90.0,<3.0a0 - - libpng >=1.6.59,<1.7.0a0 - - libstdcxx >=15 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT - run_exports: {} - size: 1463302 - timestamp: 1791900600568 - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-15.0.0-h23af247_0.conda sha256: d3190aedc31b449627ba5bdb8423a62fd234623ab99959c0a5a580e4d6ef6420 md5: f8beff45d7ea8bea3c6675a7ef568337 @@ -6844,30 +6704,6 @@ packages: run_exports: {} size: 1628948 timestamp: 1792769313795 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.6.0-h23af247_2.conda - sha256: 4470b63366a83f0cecd5c62d8caf0744674cf541ab33bf1d1165af2bfb9a26b7 - md5: 3cf459e930e6ea2e57bbf04be7fcb7c6 - depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.6,<2.0a0 - - freetype - - graphite2 >=1.3.15,<2.0a0 - - icu >=78.3,<79.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libgcc >=15 - - libglib >=2.90.0,<3.0a0 - - libharfbuzz 14.6.0 h23af247_2 - - libpng >=1.6.59,<1.7.0a0 - - libstdcxx >=15 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT - run_exports: - weak: - - libharfbuzz >=14.6.0 - size: 2250385 - timestamp: 1791900615728 - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-15.0.0-h23af247_0.conda sha256: 1409a10889a683a95eff4eac5bd2f99631f40c3ef51f7fbd139a90cc3bc36862 md5: 0ca7e3876bc01ee2c0d3c1e3b0217cc4 @@ -7010,9 +6846,9 @@ packages: - libllvm22 >=22.1.8,<22.2.0a0 size: 44629067 timestamp: 1790110003063 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.3-h474f4eb_0.conda - sha256: 7ce347e2da1502442d4df406101cfaf429927b7a9410badadd3f147d3cbf2d00 - md5: cd6352703382608abc83ad5120abddd5 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm23-23.1.4-h474f4eb_1.conda + sha256: 17aabc12cc1f07be885d4d7fd749cb67763e28427fda6352b003701ab3d81026 + md5: f8cb687eb394e571d47bb0ac40543b25 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 @@ -7025,9 +6861,9 @@ packages: license_family: Apache run_exports: weak: - - libllvm23 >=23.1.3,<23.2.0a0 - size: 45082185 - timestamp: 1791345280243 + - libllvm23 >=23.1.4,<23.2.0a0 + size: 45078820 + timestamp: 1792569765974 - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda sha256: 9787df8c22a59c9a70d3e5a10db9ad663485e75e9ccc3f09bd092cb7b95e0dab md5: 1390b7c5ac0b1d8e447bc5efa6d3c8c2 @@ -7261,10 +7097,9 @@ packages: - libpsl >=0.23.1,<0.24.0a0 size: 72519 timestamp: 1786970753847 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.15-ha57cdbe_2_cpython.conda - build_number: 2 - sha256: 37017ac4a784c50f1fc73c7b0eb090c7f29f4541c9014c4b4e10daa275488fdd - md5: fe256863f652549334a81a8e49fdf097 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.16-ha57cdbe_0_cpython.conda + sha256: 71126cad347dfd1be645b1207baa3729e64f055edb5f785dadeb84872480a015 + md5: e1442492859319edcd76293a2488156e depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 @@ -7272,8 +7107,8 @@ packages: run_exports: weak: - libpython >=3.12,<4.0a0 - size: 8775924 - timestamp: 1791911120563 + size: 8763999 + timestamp: 1793015475617 - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.14.10-hd51c5da_100_cp314.conda build_number: 100 sha256: 3b9f11f136074f81db3ca56f2f514f466456dbab1189e68b3681b53387043daa @@ -7368,9 +7203,9 @@ packages: - libsodium >=1.0.22,<1.0.23.0a0 size: 270970 timestamp: 1789425325397 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.0-h0737f62_101.conda - sha256: b4d5d4428bd1931eede11d2d69389c5b9d396a7f3c8df9d7c39c9efd80761eb3 - md5: a8b899d3c5fc1034b209045653b86ed2 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h0737f62_101.conda + sha256: c294029f893d05286f1061bbab85b820f1eea73dd859af4bcc619197bcc34810 + md5: 36e097bf5f1e0699e88c8ac801f2dc65 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 @@ -7380,23 +7215,9 @@ packages: license: blessing run_exports: weak: - - libsqlite >=3.54.0,<4.0a0 - size: 979215 - timestamp: 1791584361438 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.0-h13e7031_1.conda - sha256: 4823e42fe95fc318d7af6125dc6ef33bd60c1152054d41661413250dc0e84e6c - md5: bb145547395d3329f3a1d930de9848b2 - depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.3,<79.0a0 - - libgcc >=15 - - libzlib >=1.3.2,<2.0a0 - license: blessing - run_exports: - weak: - - libsqlite >=3.54.0,<4.0a0 - size: 984364 - timestamp: 1791584378129 + - libsqlite >=3.54.1,<4.0a0 + size: 980491 + timestamp: 1793051548007 - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h13e7031_0.conda sha256: 07b3c98282022f05781122d073f84e944bfb4299946e8457ece3ce6c384ff78e md5: 8f15f0ec9b69344df5c3bb5cce1751a1 @@ -7451,17 +7272,17 @@ packages: - libstdcxx size: 28665 timestamp: 1790303164510 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-262-h26e0ef7_2.conda - sha256: 265ba1e0bf848b9da2a33f7bec7745bc8d69bc2452e2d9fc75f340492a3b010d - md5: e76269d6aff0b947103cbe37a96b5737 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-262.1-h26e0ef7_0.conda + sha256: fc930c169a0844dcb1f3084032d3f4e53798b2f48d4c7f4a151a87012833008a + md5: a6bb6ea85431d21bebdf7184517524ca depends: - __glibc >=2.17,<3.0.a0 - libcap >=2.78,<2.79.0a0 - libgcc >=15 license: LGPL-2.1-or-later run_exports: {} - size: 572864 - timestamp: 1790777898360 + size: 574718 + timestamp: 1792224216335 - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-hcc2c06a_1.conda sha256: 10e125da82ca93e09191e66e5a94d566b2cf8d4024e2a0db3a9114297447e0d9 md5: 0907d876f460ebc941ae590338b6102f @@ -7580,24 +7401,6 @@ packages: - libxcrypt >=4.4.38 size: 101957 timestamp: 1785887123445 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h51789e4_1.conda - sha256: d44878d396713ccf3b355df617f61c40a1442fffcf134392bc6ce0e6c2219369 - md5: f888787e0eab7a8076a67d197e155ffc - depends: - - xkeyboard-config - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libxcb >=1.17.0,<2.0a0 - - xorg-libxau >=1.0.12,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - license: MIT AND MIT-open-group AND HPND AND HPND-sell-variant AND ISC - run_exports: - weak: - - libxkbcommon >=1.13.2,<2.0a0 - size: 942571 - timestamp: 1787178780572 - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-h59c2f34_2.conda sha256: 156fdf41b9f3efc54c077b5b8570b810a87800b978c12348c27ec6e0ddc20359 md5: b85ed11539022fbbf4e63117692179ec @@ -7667,22 +7470,6 @@ packages: - libxslt >=1.1.45,<2.0a0 size: 250314 timestamp: 1788534852474 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libzenohc-1.10.1-h7ca0754_0.conda - sha256: 156df1895935eecfcf6f581830506469c5a987b47ffd857027f02ce9267263e1 - md5: dd255901862e39c25a55ee14e940efee - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - zenoh-rust-abi >=1.10.1.1.97.1,<1.10.1.1.97.2.0a0 - constrains: - - __glibc >=2.17 - license: Apache-2.0 OR EPL-2.0 - run_exports: - weak: - - libzenohc >=1.10.1,<1.10.2.0a0 - size: 4951310 - timestamp: 1790085131290 - conda: https://conda.anaconda.org/conda-forge/linux-64/libzenohc-1.9.0-hf675912_0.conda sha256: 258bcd6ed30bb8ff37bc642d3cddd73745d3a41841563c1338a68801799df05c md5: 470e8500c861b15cf3a6bc32603259f6 @@ -7743,22 +7530,6 @@ packages: run_exports: {} size: 1595760 timestamp: 1789036626350 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.1.3-py314h52646a4_0.conda - sha256: eeea7aabd03e895a7c5b229249f69f67a1e76236b13f3a403db5c5b66b0872a5 - md5: cd8cd68d9269021aac9a186f8cc64c12 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15 - - libxml2 - - libxml2-16 >=2.15.4 - - libxslt >=1.1.45,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause and MIT-CMU - run_exports: {} - size: 1610598 - timestamp: 1789036689685 - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312hc6a72db_2.conda sha256: 3e840f3334eb0b73056c037d7e885c84dc6f1dd77d7130ac51fd51aa1fb33d88 md5: a98e678cb247b751c1148fdc9deb5189 @@ -7774,21 +7545,6 @@ packages: run_exports: {} size: 43863 timestamp: 1789242260635 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py314ha0fddcf_2.conda - sha256: 19881c3f79a21ce3e48784342205e751ccc1c71f68191ed13f048da78c2bbb7e - md5: af9cd121b51eea93d3d964f470caac43 - depends: - - python - - lz4-c - - libgcc >=15 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.14.* *_cp314 - - lz4-c >=1.10.0,<1.11.0a0 - license: BSD-3-Clause - license_family: BSD - run_exports: {} - size: 44666 - timestamp: 1789242265785 - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-hee9eb32_2.conda sha256: b8c0e930183e6b7f83cd35ace102f2b8c2f0faae41dc05255dc72f247dfc556a md5: e38a3253d72ab07d471483f24947e2a2 @@ -7803,17 +7559,17 @@ packages: - lz4-c >=1.10.0,<1.11.0a0 size: 181812 timestamp: 1786717122815 -- conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-hb03c661_3.conda - sha256: 4c65d2769847778a6d84db6984ac81bcec6f8958d349f1fe57ae040ccc56a801 - md5: b4a198dc40024de2a59c1343e4ae4144 +- conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-h1114479_4.conda + sha256: d6a81e5c142d7be6a992f618097351e7996f81a6295045df3f9b4f498e1066a8 + md5: 538c2493de55d1fe2d90e0adc23d4948 depends: + - libgcc >=15 - __glibc >=2.17,<3.0.a0 - - libgcc >=14 license: GPL-3.0-or-later license_family: GPL run_exports: {} - size: 510695 - timestamp: 1785879853297 + size: 553374 + timestamp: 1792070304141 - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.33.7-h877a99e_1.conda sha256: 5afc3265622de6663f4179bc9023e1c1cac06b9c8620a0bf54aa0a0c232cf15a md5: e7cc06dba8d5fb83d9ae033225ffa458 @@ -7983,29 +7739,6 @@ packages: - libpango >=1.58.2,<2.0a0 size: 15014 timestamp: 1792050659391 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.58.2-h7bb47b9_1.conda - sha256: 47c3d25a0bdb0ae50627f9ef2a10345fabfabe0e6620cbcff04e589a644542d3 - md5: 0b889b1c6b472d215d6332c6b195589c - depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.18.3,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.16,<2.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libgcc >=15 - - libglib >=2.88.3,<3.0a0 - - libharfbuzz >=14.4.0 - - libpng >=1.6.58,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - license: LGPL-2.1-or-later - run_exports: - weak: - - pango >=1.58.2,<2.0a0 - size: 471814 - timestamp: 1788490377724 - conda: https://conda.anaconda.org/conda-forge/linux-64/patch-2.8-h280c20c_1003.conda sha256: 5d48e3826015befd1453f015870bd1db1cdcfe29e93001cb2d125b6f7c1da095 md5: 8d1a1da6a002b359af180dedd94a7a07 @@ -8099,19 +7832,6 @@ packages: run_exports: {} size: 225549 timestamp: 1789682039049 -- conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314hfe1a184_3.conda - sha256: 38961e7991c6493dfd3768759731681e0e71895bb6c18a445ab05c2433b03a64 - md5: 23189243badc4f63a0f05c429aba161d - depends: - - python - - libgcc >=15 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - license_family: BSD - run_exports: {} - size: 231451 - timestamp: 1789682034946 - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h7cc23a3_1004.conda sha256: 4a44fd00ea73b79ca2c89b0727b9ccf61c506ead71e67a9abfa4c590042b5a4a md5: bb66b610707b811e3c65181a6431e7a8 @@ -8160,22 +7880,6 @@ packages: run_exports: {} size: 62838622 timestamp: 1761041325516 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pybullet-3.25-py314h61d0147_5.conda - sha256: 73aaf16fa04d6ae9bae4489101e1ccfde42f3301fc0e5fa505ae412ded00a8e6 - md5: 6ee662e5f509c098081a251ab96151dd - depends: - - __glibc >=2.17,<3.0.a0 - - bullet-cpp 3.25 hf21447f_5 - - libgcc >=13 - - libstdcxx >=13 - - libzlib >=1.3.1,<2.0a0 - - numpy >=1.23,<3 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: Zlib - run_exports: {} - size: 62812622 - timestamp: 1761044622979 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.11-py312h82c0db2_2.conda sha256: cdad112328763c7b4f23ce823dc0b5821de310f109324b9ba89bddf13af599f0 md5: 84d5670ea1c8e72198bce0710f015e0c @@ -8227,10 +7931,9 @@ packages: run_exports: {} size: 85800 timestamp: 1759495565076 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.15-h5f976f7_2_cpython.conda - build_number: 2 - sha256: f8a38c33f627c68e35d02cc5a11eff25eadb853791ac40bf9cc569315d25bc54 - md5: 13cef25ee4055b1fec19d35d20aadda2 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.16-h5f976f7_0_cpython.conda + sha256: a40188b47c3995bc42a33820be4d780af5c11cc295409413fb925549f0abfe92 + md5: bef9f5422e5246840497b4ae3d968001 depends: - __glibc >=2.17,<3.0.a0 - bzip2 >=1.0.8,<2.0a0 @@ -8240,8 +7943,8 @@ packages: - libgcc >=15 - liblzma >=5.8.3,<6.0a0 - libnsl >=2.0.1,<2.1.0a0 - - libpython 3.12.15 ha57cdbe_2_cpython - - libsqlite >=3.54.0,<4.0a0 + - libpython 3.12.16 ha57cdbe_0_cpython + - libsqlite >=3.54.1,<4.0a0 - libuuid >=2.42.4,<3.0a0 - libxcrypt >=4.4.38 - libzlib >=1.3.2,<2.0a0 @@ -8258,8 +7961,8 @@ packages: - python_abi 3.12.* *_cp312 noarch: - python - size: 23065587 - timestamp: 1791911147011 + size: 22997826 + timestamp: 1793015501085 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.10-hcd007b5_100_cp314.conda build_number: 100 sha256: bb457298c776d0edd30d727d96629e57df63e9a4ba2dd11553019267b61ef5f4 @@ -8312,25 +8015,6 @@ packages: - python-orocos-kdl >=1.5.4,<1.6.0a0 size: 388347 timestamp: 1788266634635 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-orocos-kdl-1.5.4-py314hc75f4c6_0.conda - sha256: 8e9bbdc1ece2d5e4dbd0d32ed9b1120ed4cffd5c9e9600148291d5901204aae0 - md5: f1aa68ecda269b95935fe52cb3ab319f - depends: - - __glibc >=2.17,<3.0.a0 - - eigen - - libgcc >=15 - - libstdcxx >=15 - - orocos-kdl - - pybind11 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: LGPL-2.1-or-later - license_family: LGPL - run_exports: - weak: - - python-orocos-kdl >=1.5.4,<1.6.0a0 - size: 387704 - timestamp: 1788266760293 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda sha256: cb142bfd92f6e55749365ddc244294fa7b64db6d08c45b018ff1c658907bfcbf md5: 15878599a87992e44c059731771591cb @@ -8345,20 +8029,6 @@ packages: run_exports: {} size: 198293 timestamp: 1770223620706 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda - sha256: b318fb070c7a1f89980ef124b80a0b5ccf3928143708a85e0053cde0169c699d - md5: 2035f68f96be30dc60a5dfd7452c7941 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - yaml >=0.2.5,<0.3.0a0 - license: MIT - license_family: MIT - run_exports: {} - size: 202391 - timestamp: 1770223462836 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.2.0-py312h8a5ba0d_2.conda noarch: python sha256: d1323678d9403504d05cdf6a65bbd648f8667a89d9d5d4146ff96bae0e5311a7 @@ -8512,23 +8182,6 @@ packages: - spdlog >=1.17.0,<1.18.0a0 size: 197438 timestamp: 1785924346496 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.54.0-h9ffa6c4_1.conda - sha256: ebd43ed55fe220d0bbf931f2b7689d122d73a77a44d008ea9aff1c145882518b - md5: 1060a8b69c6774ec85d81878eb299038 - depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.3,<79.0a0 - - libgcc >=15 - - libsqlite 3.54.0 h13e7031_1 - - libzlib >=1.3.2,<2.0a0 - - ncurses >=6.6,<7.0a0 - - readline >=8.3,<9.0a0 - license: blessing - run_exports: - weak: - - libsqlite >=3.54.0,<4.0a0 - size: 219575 - timestamp: 1791584382180 - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.54.1-h9ffa6c4_0.conda sha256: 75d479f5eef99880e81f4502376ace68b6920c02b28212e318f1b5c017c71f1a md5: 3a2bfdc9f738f803c8f075915bd24701 @@ -8587,24 +8240,6 @@ packages: run_exports: {} size: 748418 timestamp: 1779015692186 -- conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-6.0.1-hf2e7533_0.conda - sha256: c4d8c6f6cf4ab81255aceb23af497ba864d64ed38d3234bdb97f5112f45a2625 - md5: 8c7007ab40976f8daf6a87ab85e66726 - depends: - - urdfdom_headers >=3.0.1,<4.0a0 - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.17,<3.0.a0 - - console_bridge >=1.0.2,<1.1.0a0 - - tinyxml2 >=11.0.0,<11.1.0a0 - license: BSD-3-Clause - license_family: BSD - run_exports: - weak: - - urdfdom_headers >=3.0.1,<4.0a0 - - urdfdom >=6.0.1,<7.0a0 - size: 109703 - timestamp: 1787009837617 - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-6.0.2-hf2e7533_0.conda sha256: d534e97c2d09871217b73502e787a47cea8e6d80c910a2ca0cfaba3c24c2e94f md5: 750b935fe3e0d981f070624ad1cb1d87 @@ -8635,6 +8270,20 @@ packages: run_exports: {} size: 22402 timestamp: 1787006267023 +- conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.13.5-h535ca38_0.conda + sha256: 10bd0e46b8b32a73d2d443f627f1c518200d63a4371ab2a218d3a2c895d87173 + md5: 1ceaca51ae1cd358b54a5e4ec6005ddf + depends: + - libstdcxx >=15 + - libgcc >=15 + - __glibc >=2.17,<3.0.a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - __glibc >=2.17 + license: Apache-2.0 OR MIT + run_exports: {} + size: 14755479 + timestamp: 1792672505702 - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda sha256: df65b987979e6d7f88e756494da5a230d4f2d08d17437d04eecd35559c3a04e4 md5: 88a47e22b53e50865b1cabe2eb648352 @@ -8650,33 +8299,20 @@ packages: weak: - wayland >=1.26.0,<2.0a0 size: 340058 - timestamp: 1787793849093 -- conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.2-py312h89dfda2_0.conda - sha256: dc5b823abf8cafad8405f2a27449d745f268ebbc0bc279c451e681cfe7c97363 - md5: aae4b5c5eb092eb92977cbfa66ba5631 - depends: - - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=15 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - run_exports: {} - size: 412738 - timestamp: 1791057460950 -- conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.3-py314hc824af9_0.conda - sha256: 9a5341dfc5883dee8b77f54f1ea8ca270c69032ef16393a972a4a7488bcc4483 - md5: 9ba218363796603bccc0d8da155c12aa + timestamp: 1787793849093 +- conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-17.3-py312h89dfda2_0.conda + sha256: 0d372f6bf85accf1ddb69f1d72844757d957d6cea19a8f7ba7855b94ed476eda + md5: 27c8d6a17fde536d409a03817edc3b8c depends: - python - - __glibc >=2.17,<3.0.a0 - libgcc >=15 - - python_abi 3.14.* *_cp314 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD run_exports: {} - size: 442941 - timestamp: 1792452251318 + size: 414502 + timestamp: 1792452250933 - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda sha256: ad8cab7e07e2af268449c2ce855cbb51f43f4664936eff679b1f3862e6e4b01d md5: fdc27cb255a7a2cc73b7919a968b48f0 @@ -8744,18 +8380,6 @@ packages: - xcb-util-wm >=0.4.2,<0.5.0a0 size: 51689 timestamp: 1718844051451 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda - sha256: 3b04afd5d1a65d2d27ac2d49a63b01ab8bcd875776779ec63e337370ed38afdc - md5: b233b41be0bf210989d57160ed39b394 - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - xorg-libx11 >=1.8.13,<2.0a0 - license: MIT - license_family: MIT - run_exports: {} - size: 441670 - timestamp: 1782027360439 - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-hebe6cf0_1.conda sha256: 5d803109509756b39e018b780746ed4210cff640eb428fd58fa6c64c9c15ae6b md5: 1d0383de55470a551d61ccdc225c0d88 @@ -8796,20 +8420,6 @@ packages: - xorg-libsm >=1.2.6,<2.0a0 size: 30739 timestamp: 1786545374265 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_1.conda - sha256: 68053eebfa9f0d91666786c8fb5839d989aa9b869add92cb8815228bb2d7302c - md5: 8c282bbe4808a3cc80a5c98e9aec1cfc - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libxcb >=1.17.0,<2.0a0 - license: MIT - license_family: MIT - run_exports: - weak: - - xorg-libx11 >=1.8.13,<2.0a0 - size: 839578 - timestamp: 1787087012372 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.14-hb83e432_0.conda sha256: 1815dc9900bf3a4678caeb343bccbbc74cd5e5a5ff3f6e0a2c01c5e19cd9d30b md5: e7752792cb214013a34e265cc0838352 @@ -8925,22 +8535,6 @@ packages: - xorg-libxfixes >=6.0.2,<7.0a0 size: 21440 timestamp: 1787248059682 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-h7cc23a3_1.conda - sha256: a523d71344a2f640efe6fc42b88fc261d9cd389d4f9838a5d42dcdb120c2b0c8 - md5: a1412b2b1184dacda45f8476fef2cc25 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15 - - xorg-libx11 >=1.8.13,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - license: MIT - license_family: MIT - run_exports: - weak: - - xorg-libxi >=1.8.3,<2.0a0 - size: 49165 - timestamp: 1787257060460 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.4-h7cc23a3_0.conda sha256: bb12543188be23b6e16e478d8b550d4e60bb52dc9c6f0667a5c865ceb3e7a881 md5: 4ae02f09591c09bbe61a2b675d799ce5 @@ -8989,20 +8583,6 @@ packages: - xorg-libxrandr >=1.5.5,<2.0a0 size: 31106 timestamp: 1787246614086 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb03c661_1.conda - sha256: 6901f91d398811e4ec89d7e20a69abac02a7bfebfaf073338b7ea3d1a99685b7 - md5: e470d224a7a5be1b1d021bded7abb536 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - xorg-libx11 >=1.8.13,<2.0a0 - license: MIT - license_family: MIT - run_exports: - weak: - - xorg-libxrender >=0.9.12,<0.10.0a0 - size: 34645 - timestamp: 1787100191192 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.13-h7cc23a3_0.conda sha256: 008d610d6ec1d021ad678024afd5dcf534ff84d9c1e9d2877ff36d112c89896f md5: 7249ce52789c3680e889e7335a2e1c3e @@ -9017,35 +8597,19 @@ packages: - xorg-libxrender >=0.9.13,<0.10.0a0 size: 34604 timestamp: 1792530399214 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxshmfence-1.3.3-hb9d3cd8_0.conda - sha256: c0830fe9fa78d609cd9021f797307e7e0715ef5122be3f784765dad1b4d8a193 - md5: 9a809ce9f65460195777f2f2116bae02 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: MIT - license_family: MIT - run_exports: - weak: - - xorg-libxshmfence >=1.3.3,<2.0a0 - size: 12302 - timestamp: 1734168591429 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-h7cc23a3_4.conda - sha256: d66525e7b1c492aa179c6c55610fc8dfb0a9a62ea7d4fb9f904fa6af62127f61 - md5: 752a5ac9322e0fbbc24146c1ce3ae44e +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxshmfence-1.3.3-h7cc23a3_0.conda + sha256: b474795f7c7aa889a206c5c8e4bacdf4e5910b2d9d926ba68fbfa090faa1b723 + md5: 9ea5fc58511458146f8bc6fbd4410c3f depends: - __glibc >=2.17,<3.0.a0 - libgcc >=15 - - xorg-libx11 >=1.8.13,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - xorg-libxi >=1.8.3,<2.0a0 license: MIT license_family: MIT run_exports: weak: - - xorg-libxtst >=1.2.5,<2.0a0 - size: 35052 - timestamp: 1787360025506 + - xorg-libxshmfence >=1.3.3,<2.0a0 + size: 15243 + timestamp: 1792655130422 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.6-h7cc23a3_0.conda sha256: 9d8e7a2db860da3f362284650b447a96688b834bdb3122707b04bae512a1a178 md5: 05e756ed9e8b2358591d47f6b8939db4 @@ -9115,19 +8679,6 @@ packages: - yaml-cpp >=0.8.0,<0.9.0a0 size: 242654 timestamp: 1785923983284 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zenoh-rust-abi-1.10.1.1.97.1-py311hcf3f0e6_0.conda - sha256: fa69f6be440790f01d02b0a38e98e96c89fa11070af89c4f1177b9c7447f1988 - md5: b8e697ffcdcd10b06f94c35a56b1e78f - depends: - - __glibc >=2.17,<3.0.a0 - constrains: - - __glibc >=2.17 - license: Apache-2.0 OR EPL-2.0 - run_exports: - weak: - - zenoh-rust-abi >=1.10.1.1.97.1,<1.10.1.1.97.2.0a0 - size: 51571 - timestamp: 1788819666920 - conda: https://conda.anaconda.org/conda-forge/linux-64/zenoh-rust-abi-1.9.0.1.93.1-hbe27b5b_0.conda sha256: 5b5d5a2fb37f6ceed0c85a0ab640b0a1e3fb888dc7bf5bae73fe7ee7f22dba08 md5: 5571b414f694e52e90f286bdfba56b7d @@ -9173,22 +8724,6 @@ packages: run_exports: {} size: 466862 timestamp: 1788604308908 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314hfe1a184_4.conda - sha256: c8d7983e80f6a6661e81da1449b2a9cc2c00db3ea5063afb2df440d61a766023 - md5: b09dac9bf89da373656ff947ca212d50 - depends: - - python - - cffi >=1.11 - - zstd >=1.5.7,<1.5.8.0a0 - - __glibc >=2.17,<3.0.a0 - - libgcc >=15 - - zstd >=1.5.7,<1.6.0a0 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - license_family: BSD - run_exports: {} - size: 472930 - timestamp: 1788604314653 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda sha256: 47d682b9f6d6ec9eb1a6e6c3e75ea6273e899e78fb7fc59f81d39745009fbc60 md5: aa459086047c0e5e27023ab19f8cb86a @@ -9253,24 +8788,6 @@ packages: run_exports: {} size: 130057 timestamp: 1792772446739 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda - sha256: 95e8e74062a5fe5f870ac8c90302b6e89945165fdaed7810606e84ddee6aac12 - md5: e27d2ac27b096dc51fedfcf775a53f9b - depends: - - __win - license: ISC - run_exports: {} - size: 132136 - timestamp: 1784754918886 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - sha256: 0a0544cf95f64394fe4959286f5c71f5444ad58feb0602e53becb27448d24da6 - md5: 0f51e2391ade309db462a55611263e9c - depends: - - __unix - license: ISC - run_exports: {} - size: 131780 - timestamp: 1784754889428 - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda sha256: c53d1027a07550751faef1dd38304774fa086ca3273bac64e29e9b7c81196d14 md5: f7f3b95952222db98fdcceadb6d967bc @@ -9286,249 +8803,6 @@ packages: run_exports: {} size: 54898 timestamp: 1788990651726 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-argcomplete-0.3.3-pyhd8ed1ab_1.conda - sha256: 05ccb85cad9ca58be9dcb74225f6180a68907a6ab0c990e3940f4decc5bb2280 - md5: bde6042a1b40a2d4021e1becbe8dd84f - depends: - - argcomplete - - colcon-core - - python >=3.9 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 18692 - timestamp: 1735452378252 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-bash-0.5.0-pyhd8ed1ab_1.conda - sha256: 4a1258c9743f4e29d666993c3aa29aaf5a310a77f5334f98b81f1c80c2a46fa7 - md5: abcd9e9bc122d03f86d364ccb15957c7 - depends: - - colcon-core >=0.4.0 - - python >=3.9 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 19001 - timestamp: 1735646679519 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-cd-0.1.1-pyhd8ed1ab_1.conda - sha256: 4cbac86d8c2c62293586664b3ccb3371bb51b671a8ee607adaadf78a9a745f92 - md5: 872e61a33caebff21a695ea1f886f3bf - depends: - - colcon-core >=0.4.1 - - colcon-package-information - - python >=3.9 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 16858 - timestamp: 1735513271475 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-cmake-0.2.30-pyhd8ed1ab_0.conda - sha256: 559ce6316dc52cd6d1874825a64da88d3b6d3c3472b6c2f3077e2b22c9417c08 - md5: 01fb794eff29e9b0011f6bc5ab9c39d4 - depends: - - colcon-core - - colcon-library-path - - colcon-test-result >=0.3.3 - - python >=3.10 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 30528 - timestamp: 1781648219269 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-core-0.21.3-pyh5ded981_0.conda - sha256: 91b5623d999d9079e640c70edec33e8c828b8547cfe34bf24c02c72070fd7891 - md5: 7dbde4f4c6402236618bb778cd64b3e9 - depends: - - python >=3.11 - - coloredlogs - - distlib - - empy - - pytest - - pytest-cov - - pytest-repeat - - pytest-rerunfailures - - setuptools >=30.3.0,<80 - - tomli >=1.0.0 - - python - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 105024 - timestamp: 1789974486749 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-defaults-0.2.9-pyhd8ed1ab_1.conda - sha256: dd89f3e92a80532b9c6427ec9dd12742be9e27c3d6639555a4f786787fb5f33d - md5: 1bc984ddc9434fd2fdabde2e0e44dd14 - depends: - - colcon-core >=0.2.0 - - python >=3.10 - - pyyaml - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 15580 - timestamp: 1757616344706 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-devtools-0.3.0-pyhd8ed1ab_1.conda - sha256: 76fcd1500b6f70f61be4c1fa1defb9d56d69389d22261a6e0c0f966ed8ea515d - md5: d4c1201d9d20e0c05836ca81884c7cdb - depends: - - colcon-core - - python >=3.10 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 14943 - timestamp: 1757616967604 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-library-path-0.2.1-pyhd8ed1ab_1.conda - sha256: b3a01541cbe8e4c7ca789c71b5d0155ca14cc9c6ebaa6036d1becd72cb0c3227 - md5: 37c84be9d74c37fde10d1155d77e805e - depends: - - colcon-core - - python >=3.10 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 13505 - timestamp: 1757615646068 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-metadata-0.3.1-pyhd8ed1ab_0.conda - sha256: 6e4cf49239f8af967dc2e84f221271e45c52d7df1d0697bdf20a217e1b7b5ad4 - md5: 38df33b7138f9eac9a93b9c5e05cc7cc - depends: - - colcon-core - - python >=3.11 - - pyyaml - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 24847 - timestamp: 1789640164577 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-output-0.2.15-pyh5ded981_0.conda - sha256: 1a16487602801af5876a4163d19b7f7d5d98a138e26986fc974d6a3d8f8fec0c - md5: 66857803b6e5df5589e198bcb4d9efb8 - depends: - - python >=3.11 - - colcon-core >=0.3.8 - - python - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 22144 - timestamp: 1789827755833 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-package-information-0.4.1-pyhd8ed1ab_0.conda - sha256: 4b7518952798eefcabfac2a7bb7247c04c204ee3678b83500ed31ced95c907c9 - md5: efa0bd9a29645cf88d7cd3297b518ba8 - depends: - - colcon-core - - python >=3.10 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 19302 - timestamp: 1775237925157 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-package-selection-0.2.10-pyhd8ed1ab_1.conda - sha256: 1cc39947aace656988696bc63c520e031c27a974e18b3fce0db58e18bb6228a5 - md5: 1ef460db4fbafbb3279e950378d317b5 - depends: - - colcon-core >=0.3.19 - - python >=3.10 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 18069 - timestamp: 1757614388574 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-parallel-executor-0.4.0-pyhe01879c_0.conda - sha256: 45285d47851b2d38c3ae7665af68f49f7a670737e6320d2715cf5870747007d2 - md5: 1bad6182810fe70aa0baaf2ec0c2747d - depends: - - python >=3.9 - - colcon-core >=0.3.15 - - python - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 20688 - timestamp: 1755156877864 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-pkg-config-0.1.0-pyhd8ed1ab_1.conda - sha256: ce976faf162ad9ff2b82f37185902d0d958c25f6c7bb22484fe209542d033e1d - md5: d7fc4f85dd9abf56eff602eb29936871 - depends: - - colcon-core - - python >=3.9 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 13616 - timestamp: 1775238006255 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-powershell-0.5.0-pyhd8ed1ab_0.conda - sha256: 9afc4546ba72326e6a7e0e9874879709e3c14260e49ae11663164bd0f3911106 - md5: 3f5f803ff3703d28c8ec4cc9b3564257 - depends: - - colcon-core >=0.3.18 - - python >=3.10 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 17608 - timestamp: 1770791211378 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-python-setup-py-0.2.9-pyhff2d567_1.conda - sha256: c3f6cb06b4e1f0fc0efc50ee7ca78fb8d1bcdfff92afcd0e9235c53eb521e61a - md5: f9e99cee078c732ab49d547fa1a7a752 - depends: - - colcon-core >=0.6.1 - - python >=3.9 - - setuptools - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 16561 - timestamp: 1753971248803 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-recursive-crawl-0.2.3-pyhd8ed1ab_0.conda - sha256: 8aede8793a64695cf65f37633ede04c125db71d13abc2c8fb70b44fbc48d3794 - md5: 0e15eecc695ef5a4508ffe3e438f1466 - depends: - - colcon-core >=0.2.0 - - python >=3.5 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 13254 - timestamp: 1696534627965 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-ros-0.5.0-pyhd8ed1ab_0.conda - sha256: 7c018dd7074de3b3bac375718cd43ff4677ef18f8ab81c3a75bed4eb646e280e - md5: 7ba348bf6258968e8f514cd25c207933 - depends: - - catkin_pkg >=0.4.14 - - colcon-cmake >=0.2.6 - - colcon-core >=0.7.0 - - colcon-pkg-config - - colcon-python-setup-py >=0.2.4 - - colcon-recursive-crawl - - python >=3.6 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 23852 - timestamp: 1719301582281 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-test-result-0.3.8-pyhd8ed1ab_1.conda - sha256: a9657a89b55efc8abd46d3b32bd4cb9ed06ecc84b76ddf5e6d336945633a9269 - md5: 1f45017750d20d6538970315e10a2f01 - depends: - - colcon-core - - python >=3.10 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 17214 - timestamp: 1757615650730 -- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-zsh-0.5.0-pyhd8ed1ab_1.conda - sha256: 0f089c2ee902d7d43b75f22af74af2dd914546d81e7380c097e31a206c42984e - md5: a274fdd9d63e809b4fdcaee36a8bc42c - depends: - - colcon-core >=0.4.0 - - python >=3.9 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 18905 - timestamp: 1735357634338 - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 md5: 962b9857ee8e7018c22f2776ffa0b2d7 @@ -9539,17 +8813,6 @@ packages: run_exports: {} size: 27011 timestamp: 1733218222191 -- conda: https://conda.anaconda.org/conda-forge/noarch/coloredlogs-15.0.1-pyhd8ed1ab_4.conda - sha256: 8021c76eeadbdd5784b881b165242db9449783e12ce26d6234060026fd6a8680 - md5: b866ff7007b934d564961066c8195983 - depends: - - humanfriendly >=9.1 - - python >=3.9 - license: MIT - license_family: MIT - run_exports: {} - size: 43758 - timestamp: 1733928076798 - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt21_osx-arm64-21.1.8-hb8825d9_2.conda sha256: e7fef79b60a612236b2f4ab84e6d0556fa7f670e32ede52f1217a59213e389d6 md5: 93f5de189aa3dca7d88ae1d16a0c9754 @@ -9560,16 +8823,16 @@ packages: run_exports: {} size: 10226963 timestamp: 1787374944374 -- conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt23_osx-arm64-23.1.3-hb8825d9_0.conda - sha256: ea2c5c54a06304677fc1821184ea5c74c5fab99d44b2ee064192fee116a31f21 - md5: 00a5c985db4ac9c2a39db0c161cf5d13 +- conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt23_osx-arm64-23.1.4-hb8825d9_0.conda + sha256: 2e3bbefd07a8a21ea498a1451acb100f05d0147729ceff0944edeffce18224dc + md5: 150603c8ce6880c52da08fcf46a8e269 constrains: - compiler-rt >=9.0.1 license: Apache-2.0 WITH LLVM-exception license_family: APACHE run_exports: {} - size: 10555472 - timestamp: 1791368683836 + size: 10372678 + timestamp: 1792567035774 - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-arm64-21.1.8-hce30654_2.conda sha256: 05fded2aca8465080c1f2c6fcbeb0039eff1a1cc84e5ff1b61bab360d317117f md5: 1756ab5909480865183f5eee080e66dd @@ -9582,29 +8845,18 @@ packages: run_exports: {} size: 16400 timestamp: 1787374964124 -- conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-arm64-23.1.3-hce30654_0.conda - sha256: 8e319234cfa83e2c4f56a3b2ebaa4cca4ddf325e2d37dc09f85c2a482f552955 - md5: d2b87dbf6ba645433ace629c9e6ed755 +- conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-arm64-23.1.4-hce30654_0.conda + sha256: 19eb096e1e7fe3c75306b04f2568330f3653499a28f5313c3c122ff5fa4e981e + md5: 79a023d3791008ee25c1807ccc00239b depends: - - compiler-rt23_osx-arm64 23.1.3 hb8825d9_0 + - compiler-rt23_osx-arm64 23.1.4 hb8825d9_0 constrains: - - clang 23.1.3 + - clang 23.1.4 license: Apache-2.0 WITH LLVM-exception license_family: APACHE run_exports: {} - size: 16792 - timestamp: 1791368707467 -- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda - noarch: generic - sha256: 69444bf2d39b7385194cf3481ed1910f39a5d0c86c8f6ca3884e761f6e6dedee - md5: 34ff082ed834c6a62f4b11f877820c1d - depends: - - python >=3.12,<3.13.0a0 - - python_abi * *_cp312 - license: Python-2.0 - run_exports: {} - size: 47636 - timestamp: 1791910093855 + size: 16632 + timestamp: 1792567058411 - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.16-py312hd8ed1ab_0.conda noarch: generic sha256: a42d8eb23bf9ac1c70355875b336605bd264d1167cb7174f4510da392b417da7 @@ -9627,17 +8879,6 @@ packages: run_exports: {} size: 52072 timestamp: 1793014778194 -- conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda - sha256: e2753997b8bd34205f42be01b8bab8037423dc30c02a1ec12de23e5b4c0b0a2e - md5: 58638f77697c4f6726753eb8be34818b - depends: - - python >=3.10 - - python - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 303705 - timestamp: 1781320269259 - conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda sha256: 5603c7d0321963bb9b4030eadabc3fd7ca6103a38475b4e0ed13ed6d97c86f4e md5: 0a2014fd9860f8b1eaa0b1f3d3771a08 @@ -9659,6 +8900,17 @@ packages: run_exports: {} size: 459540 timestamp: 1779967837277 +- conda: https://conda.anaconda.org/conda-forge/noarch/editables-0.6-pyhcf101f3_0.conda + sha256: bb826ff403b8195467e7cd5f504bc14767b424dac27bb225508ca2c1852554b2 + md5: 86b177231eecb011fe00e2117dbc3348 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 13160 + timestamp: 1776172429816 - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda sha256: f831ec5f5b8668334144a66597fe36878c9023e064e750c5ea1f4371e92b2249 md5: 696485a5ee969484941274d218dfacf5 @@ -9806,29 +9058,23 @@ packages: run_exports: {} size: 4059 timestamp: 1762351264405 -- conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda - sha256: fa2071da7fab758c669e78227e6094f6b3608228740808a6de5d6bce83d9e52d - md5: 7fe569c10905402ed47024fc481bb371 - depends: - - __unix - - python >=3.9 - license: MIT - license_family: MIT - run_exports: {} - size: 73563 - timestamp: 1733928021866 -- conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh7428d3b_8.conda - sha256: acdf32d1f9600091f0efc1a4293ad217074c86a96889509d3d04c13ffbc92e5a - md5: d243aef76c0a30e4c89cd39e496ea1be +- conda: https://conda.anaconda.org/conda-forge/noarch/hatchling-1.32.4-pyh5ded981_0.conda + sha256: 7c26a93ef28b1bebadd012ca403b338e716c378485de783cee1a490d15d409a8 + md5: 29f56fdb658cdccdda59fd575765a19f depends: - - __win - - pyreadline3 - - python >=3.9 + - packaging >=24.2 + - pathspec >=0.10.1 + - pluggy >=1.0.0 + - python >=3.11 + - tomlkit >=0.11.1 + - trove-classifiers + - editables >=0.3 + - python license: MIT license_family: MIT run_exports: {} - size: 74084 - timestamp: 1733928364561 + size: 63070 + timestamp: 1789948339002 - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda sha256: 43151c94c02fa67e8105cfe64c8c27a1b260b22bae6ddbe9c33b56a9c302e459 md5: 8401f0ee3de84b5a549c47cf3038909b @@ -9841,18 +9087,6 @@ packages: run_exports: {} size: 37627 timestamp: 1792795043391 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda - sha256: 95a074a7d3f58b3494c068d4789c364dcb591c56b70ca6b12f149a540f9aeea4 - md5: 77ec68e0aa61c3fff9ecbf840f93d64e - depends: - - python >=3.10 - - zipp >=3.20 - - python - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 34920 - timestamp: 1787943971257 - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda sha256: a563a51aa522998172838e867e6dedcf630bc45796e8612f5a1f6d73e9c8125a md5: 0ba6225c279baf7ea9473a62ea0ec9ae @@ -9908,22 +9142,22 @@ packages: run_exports: {} size: 1131998 timestamp: 1791301505546 -- conda: https://conda.anaconda.org/conda-forge/noarch/libcxx-headers-23.1.3-h707e725_0.conda - sha256: 988c4834d71fd39bf463a88e464c9653c663f3dcbb75f523b035d8401142b967 - md5: b4ee1da103215d51ffcccc49e48a032c +- conda: https://conda.anaconda.org/conda-forge/noarch/libcxx-headers-23.1.4-h707e725_2.conda + sha256: 73eabe83a0bdf030e97c46f92af2d6bb2ea294847c62933d6c5afb115f3f1944 + md5: ed3b036fac208cc8639a5860e0d6dfbe depends: - __unix constrains: - - gxx_osx-arm64 >=14 - clangxx >=19 - - gxx_osx-64 >=14 - gxx_linux-64 >=14 - - libcxx-devel 23.1.3 + - gxx_osx-64 >=14 + - gxx_osx-arm64 >=14 + - libcxx-devel 23.1.4 license: Apache-2.0 WITH LLVM-exception license_family: Apache run_exports: {} - size: 1197465 - timestamp: 1791337241645 + size: 1202338 + timestamp: 1792748857100 - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.3.0-h2b852eb_107.conda sha256: 5200a1402eb3c3e9b0e4ba38b3cf163be136d020a15477fb86ce6e754d3ae515 md5: 057ab488a4da13485caa3b672df9824a @@ -9985,18 +9219,6 @@ packages: run_exports: {} size: 125917 timestamp: 1748281166711 -- conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.5.0-pyhd8ed1ab_0.conda - sha256: a9e65350b33197bdb3e16adc8cb1c9acde577a937002d7516481309cb06e476e - md5: a86e816f1f59978b8f1f5effecc8870a - depends: - - lz4 - - python >=3.11 - - zstandard - license: MIT - license_family: MIT - run_exports: {} - size: 24267 - timestamp: 1790305238635 - conda: https://conda.anaconda.org/conda-forge/noarch/mcap-1.6.0-pyhd8ed1ab_0.conda sha256: 92b8a51d6afcb53a5e1b507470073078efd445d8a019718ba7c23bd7c9b9da0f md5: 77e9074ccb89967c8c52d6f2f76e25a7 @@ -10030,29 +9252,28 @@ packages: run_exports: {} size: 116363 timestamp: 1785888127370 -- conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.2.1-pyh8b19718_0.conda - sha256: c205bae42eb11b364fe3663a817cbcbc20a8ef544c6b2ff6f391013487117259 - md5: 77b6cf3b0689d9fc68561df0db9b856d +- conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.1.1-pyhd8ed1ab_0.conda + sha256: 6eaee417d33f298db79bc7185ab1208604c0e6cf51dade34cd513c6f9db9c6f3 + md5: 11adc78451c998c0fd162584abfa3559 depends: - - python >=3.10,<3.13.0a0 - - setuptools - - wheel - license: MIT - license_family: MIT + - python >=3.10 + license: MPL-2.0 + license_family: MOZILLA run_exports: {} - size: 1199593 - timestamp: 1785914492234 -- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - sha256: e14aafa63efa0528ca99ba568eaf506eb55a0371d12e6250aaaa61718d2eb62e - md5: d7585b6550ad04c8c5e21097ada2888e + size: 56559 + timestamp: 1777271601895 +- conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.2.2-pyh8b19718_0.conda + sha256: 83babe5e3c4021b061275164a7c28bd62d183cc77b4c2260ae80f19fcb0a98dd + md5: ec04c2ab74b2ca2d524fc10f558427c6 depends: - - python >=3.9 - - python + - python >=3.11,<3.13.0a0 + - setuptools + - wheel license: MIT license_family: MIT run_exports: {} - size: 25877 - timestamp: 1764896838868 + size: 1201888 + timestamp: 1792524308470 - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda sha256: 34c40106bc3172b3a47656e84837e13a5d4829d413d65f30fb214e7568a09cea md5: 50c6bcd41b7ceaaeeea8852e3198663e @@ -10121,23 +9342,12 @@ packages: md5: 6ac7726367d7b5b7378630d2e0ef94e6 depends: - python >=3.11 - - python - license: MIT - license_family: MIT - run_exports: {} - size: 36832 - timestamp: 1790193282432 -- conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.11-pyh5ded981_0.conda - sha256: 99af7c6061d7aa73cfcef615500ddf3e9f4a58c844646b7d7ce58147fb5758d7 - md5: 3cd164745122ab557cc30879390089e8 - depends: - - python >=3.11 - - python - license: BSD-3-Clause - license_family: BSD + - python + license: MIT + license_family: MIT run_exports: {} - size: 58624 - timestamp: 1791592610066 + size: 36832 + timestamp: 1790193282432 - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.12-pyh5ded981_1.conda sha256: eefb1b2140c1a6c33a85186f954e857e1a824365deeda4e11db9b99c1b5950aa md5: 3c2d671ef0bc5a0e8d1f7e6c4286af0b @@ -10219,19 +9429,6 @@ packages: run_exports: {} size: 2952282 timestamp: 1766858321453 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyqt-builder-1.20.0-pyhd8ed1ab_0.conda - sha256: a6bb494f183bb893e91d362910708aad0977234d5713d528c4c85d9a280158d0 - md5: a179c71634bf1be335d8a9c9013845d7 - depends: - - packaging - - python >=3.11 - - sip - - toml - license: BSD-2-Clause - license_family: BSD - run_exports: {} - size: 3975955 - timestamp: 1791315883935 - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda sha256: 430051d80765207a7d782b2b188230ba1489d35c6e75fd9903f76cb9fda4af16 md5: 64c98a12c4e23eb238bf66bbecafdf3c @@ -10252,55 +9449,6 @@ packages: run_exports: {} size: 306724 timestamp: 1782127176429 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.1.0-pyhcf101f3_0.conda - sha256: 44e42919397bd00bfaa47358a6ca93d4c21493a8c18600176212ec21a8d25ca5 - md5: 67d1790eefa81ed305b89d8e314c7923 - depends: - - coverage >=7.10.6 - - pluggy >=1.2 - - pytest >=7 - - python >=3.10 - - python - license: MIT - license_family: MIT - run_exports: {} - size: 29559 - timestamp: 1774139250481 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - sha256: cea7b0555c22a734d732f98a3b256646f3d82d926a35fa2bfd16f11395abd83b - md5: 9e8871313f26d8b6f0232522b3bc47a5 - depends: - - pytest >=5 - - python >=3.9 - license: MPL-2.0 - license_family: MOZILLA - run_exports: {} - size: 10537 - timestamp: 1744061283541 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.6.1-pyhd8ed1ab_0.conda - sha256: 6b1850c199933ef5c331363cb18e9bb81383462a45057595257265823a58b6c5 - md5: 0e1f74ccf505cc0c24910b659e224a85 - depends: - - packaging >=17.1 - - pytest !=8.2.2,>=8.1 - - python >=3.11 - license: MPL-2.0 - license_family: OTHER - run_exports: {} - size: 26527 - timestamp: 1788434181061 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 - md5: 5b8d21249ff20967101ffa321cab24e8 - depends: - - python >=3.9 - - six >=1.5 - - python - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 233310 - timestamp: 1751104122689 - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda sha256: 8ad3e3fd71fa3881081a38d660cd9cc7bd18fd4eb99cee96225903e5e2eb9ae9 md5: d75c60076c9f2cfa4a459e9f17cecd93 @@ -10314,16 +9462,6 @@ packages: run_exports: {} size: 89526 timestamp: 1792674886408 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.15-hd8ed1ab_2.conda - sha256: 5369e1ec176100bb10ba6ec38cab261347ea470d95788e52e6008d1a7605165d - md5: deec3cfe011e962fe2eb872f2eae716c - depends: - - cpython 3.12.15.* - - python_abi * *_cp312 - license: Python-2.0 - run_exports: {} - size: 47605 - timestamp: 1791910126472 - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.16-hd8ed1ab_0.conda sha256: aac9a1b426b63a59caf3225b9bd57dce6555650f20a3c2af7b555e574280e0c8 md5: 4541180b99fd60eb8725b220e5c7fdd9 @@ -10334,16 +9472,6 @@ packages: run_exports: {} size: 47268 timestamp: 1793014321349 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.10-h4df99d1_100.conda - sha256: d3d2134ec9f8c42095bb823260499352cfc14d78d97d12d4abb84fbe06f7f84d - md5: 834210c44f2cb3f1fb07373f62b21cbf - depends: - - cpython 3.14.10.* - - python_abi * *_cp314 - license: Python-2.0 - run_exports: {} - size: 52037 - timestamp: 1793014785617 - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda sha256: b66b783be882069a9f6c00bc44ee561fc3dfba21fe4bab6de31599caf3c63154 md5: 4a0ae2a06b469e6f8ca95d0655e31c86 @@ -10413,26 +9541,6 @@ packages: run_exports: {} size: 4971 timestamp: 1771434195389 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-79.0.1-pyhff2d567_0.conda - sha256: 5ebc4bb71fbdc8048b08848519150c8d44b8eb18445711d3258c9d402ba87a2c - md5: fa6669cc21abd4b7b6c5393b7bc71914 - depends: - - python >=3.9 - license: MIT - license_family: MIT - run_exports: {} - size: 787541 - timestamp: 1745484086827 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda - sha256: 9e200ee5f9ff19a4d94e4b51c4856d53dec849f91032f345cf0c6bc3d51a7183 - md5: 62ac906f1cd582c6c264c95625cb9d6f - depends: - - python >=3.10 - license: MIT - license_family: MIT - run_exports: {} - size: 524488 - timestamp: 1786282924579 - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda sha256: 17add609d1a31c874e39a03935072be59bcafb06d42383eceabea746d12e6025 md5: d41f95b8f1553165b2cc2f37162dac9c @@ -10500,6 +9608,28 @@ packages: run_exports: {} size: 21687 timestamp: 1791394576814 +- conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.2-pyh5ded981_0.conda + sha256: e6aa9e1c4d4e229280ef5446ebbc99e7b65c874deb47f83be6a751ba20332cc8 + md5: eadfe340211fea481536d602af9ace99 + depends: + - python >=3.11 + - python + license: MIT + license_family: MIT + run_exports: {} + size: 51412 + timestamp: 1792143573427 +- conda: https://conda.anaconda.org/conda-forge/noarch/trove-classifiers-2026.9.21.13-pyh5ded981_0.conda + sha256: 43cde9446d690a198ab5b35801d08e2926afe7202495aaa3df98702cb4a19f9a + md5: ca71e34cacec0f00b1c7c312fbc884b7 + depends: + - python >=3.11 + - python + license: Apache-2.0 + license_family: APACHE + run_exports: {} + size: 24553 + timestamp: 1790234842223 - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda sha256: 2d888f90af0686044882c74193ec80a90ec1943145d94a7b1b048958acda1848 md5: c70ad746c22219b9700931707482992c @@ -10511,13 +9641,6 @@ packages: run_exports: {} size: 52631 timestamp: 1783002732887 -- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - sha256: b928c30ddcb0e3f544c6eade8352737e6e610e263276b90232db6a578ef899d8 - md5: fcb489df604d100968b737f2cb6076c6 - license: LicenseRef-Public-Domain - run_exports: {} - size: 118849 - timestamp: 1784250406640 - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda sha256: 2b7ca858879f183ce2dcc65b300f48a0133d5430550f35b23d80d405a0788dbf md5: abccc3810d2b97e570dee487f2b46e38 @@ -10546,17 +9669,6 @@ packages: run_exports: {} size: 34528 timestamp: 1786613220176 -- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda - sha256: 3aa601ef121f42dcb79400375e72f833ddc68bc6243f3e5535168b2d69cc9c70 - md5: 6cad4d2cec9b7b64538c225ac91d2e8a - depends: - - python >=3.11 - - python - license: MIT - license_family: MIT - run_exports: {} - size: 24839 - timestamp: 1791091060207 - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda sha256: 4e5c50cf5ecc00d83a20b987c52d49b78fa96026437ab09b11f4b7c46b7fc061 md5: 3a99defa674883e167603f141728de7e @@ -10639,18 +9751,6 @@ packages: - bzip2 >=1.0.8,<2.0a0 size: 124965 timestamp: 1785906749812 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.8-h74c22ad_2.conda - sha256: 82bdd5a3fcada6afef6255a9bf41172f07b362f36e04a354dc2abc0a29bfb756 - md5: 4cc01a374215de38387d45e19c8c5c9c - depends: - - __osx >=11.0 - license: MIT - license_family: MIT - run_exports: - weak: - - c-ares >=1.34.8,<2.0a0 - size: 197819 - timestamp: 1787169996553 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.9-h74c22ad_0.conda sha256: 74b52d784b3576643da3aea1240a4120c1f25ee057f14ae5a89e8a7b3fb2e69f md5: 84dac5da92970cdde9789fcbfe63cb3a @@ -10794,24 +9894,25 @@ packages: run_exports: {} size: 32521 timestamp: 1791490440056 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-23-23.1.3-default_h885965d_1.conda - sha256: bbf460f3f5ae0a0f755630a88d1bf4dbb3fd13c7790edca52761e5a7a6adb19b - md5: e59ba1455f9e45fafdec1bbafee6a8f6 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-23-23.1.4-default_h63627a2_0.conda + sha256: cf68d68271671f56b975b7b485173431142c202a3e4f99fbf3cd349fb20cd542 + md5: 3ea403c95e38c6f922f11de83919cb46 depends: - - compiler-rt23 ==23.1.3 - - libclang-cpp23.1 ==23.1.3 default_h79071a4_1 - - libcxx >=23.1.3 + - compiler-rt23 ==23.1.4 + - libclang-cpp23.1 ==23.1.4 default_h8bbc02d_0 + - libcxx >=23.1.4 - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 - libzlib >=1.3.2,<2.0a0 - libxml2 - libxml2-16 >=2.15.4 - - zstd >=1.5.7,<1.6.0a0 - - libllvm23 >=23.1.3,<23.2.0a0 - - libclang-cpp23.1 >=23.1.3,<23.2.0a0 + - libllvm23 >=23.1.4,<23.2.0a0 + - libclang-cpp23.1 >=23.1.4,<23.2.0a0 license: Apache-2.0 WITH LLVM-exception + license_family: APACHE run_exports: {} - size: 955060 - timestamp: 1791933708010 + size: 955078 + timestamp: 1792647648570 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-scan-deps-21.1.8-default_h4399b93_7.conda sha256: 0b50eaf484390abdd258025520a1c37eec71647e70dfc19fc38e9cee0fff5f7d md5: 696ebd8d6621aa21b116903c4887b7f0 @@ -10826,23 +9927,24 @@ packages: run_exports: {} size: 104899 timestamp: 1791490437372 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-scan-deps-23.1.3-default_h79071a4_1.conda - sha256: bb01f9ad37a36df09c7edceed658dd7f80003a736355a8f312f24c9e50b36065 - md5: a34727029e260e06d88879af78f674e4 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-scan-deps-23.1.4-default_h8bbc02d_0.conda + sha256: 8c39f8f3f23c1c80f09887e9e5a3a78e3c50514de89c344c2beec7e62f802cf9 + md5: 73fb458309842c8c829d05e63e7a0ca4 depends: - - libclang13 >=23.1.3 - - libclang-cpp23.1 >=23.1.3,<23.2.0a0 - - libcxx >=23.1.3 + - libclang13 >=23.1.4 + - libclang-cpp23.1 >=23.1.4,<23.2.0a0 + - libcxx >=23.1.4 - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 - libzlib >=1.3.2,<2.0a0 - libxml2 - libxml2-16 >=2.15.4 - - zstd >=1.5.7,<1.6.0a0 - - libllvm23 >=23.1.3,<23.2.0a0 + - libllvm23 >=23.1.4,<23.2.0a0 license: Apache-2.0 WITH LLVM-exception + license_family: APACHE run_exports: {} - size: 114707 - timestamp: 1791933708010 + size: 114647 + timestamp: 1792647648570 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang_impl_osx-arm64-21.1.8-default_hc11f16d_7.conda sha256: 915389da7ca1f9bef349f0b151d472a2549dc21b110e3f1852f1e1ad034b7089 md5: 731b1cf028f18f954bf3e4a47795722d @@ -10857,36 +9959,37 @@ packages: run_exports: {} size: 32045 timestamp: 1791490438639 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang_impl_osx-arm64-23.1.3-default_h79071a4_1.conda - sha256: b1f5448350128e28d8581dee97419424868546600b8a62b7880feb96964fb084 - md5: e35a9274796766c1176a8a367e5a708d +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang_impl_osx-arm64-23.1.4-default_h8bbc02d_0.conda + sha256: 3b42b3eb0ed9d031e549c3dabd8745f3d4d9faca736b2d03e898d0b29822ae8b + md5: 9bf4ebaf2c39c09b4286cc959ea313b1 depends: - - clang-23 ==23.1.3 default_* - - compiler-rt_osx-arm64 ==23.1.3 - - compiler-rt ==23.1.3 + - clang-23 ==23.1.4 default_* + - compiler-rt_osx-arm64 ==23.1.4 + - compiler-rt ==23.1.4 - cctools_impl_osx-arm64 - ld64_osx-arm64 * llvm23_1_* - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 - libzlib >=1.3.2,<2.0a0 - libxml2 - libxml2-16 >=2.15.4 - - zstd >=1.5.7,<1.6.0a0 license: Apache-2.0 WITH LLVM-exception + license_family: APACHE run_exports: {} - size: 31745 - timestamp: 1791933708010 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang_osx-arm64-23.1.3-hc4210b9_34.conda - sha256: aee0dd4162f35450aac29083f8e5ff4b75e2dae6ab898f0618cfa06f30f494c8 - md5: 4b2446865e3009f9521782fabfe0a60f + size: 31751 + timestamp: 1792647648570 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang_osx-arm64-23.1.4-h2adb7b3_35.conda + sha256: 575c6d2d5acb874cc9118d8e7c1bc48b250a34776330d763407fcd84af154a7a + md5: c5054bf7c43e8e13e51b38763904886c depends: - cctools_osx-arm64 - - clang_impl_osx-arm64 23.1.3.* + - clang_impl_osx-arm64 23.1.4.* - sdkroot_env_osx-arm64 license: BSD-3-Clause license_family: BSD run_exports: {} - size: 20595 - timestamp: 1791873150988 + size: 20513 + timestamp: 1793018048950 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx-21.1.8-default_cfg_h7f0254a_7.conda sha256: 695ef6fdb2865a4dc0c4db574b01a2624c48eb08a6cb017714e997e3064316b7 md5: f997961610702490e6dadf413a40b96c @@ -10912,38 +10015,39 @@ packages: run_exports: {} size: 32052 timestamp: 1791490482244 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx_impl_osx-arm64-23.1.3-default_ha944c1a_1.conda - sha256: 98853034988a26460a1393f567915693d17d0f6cc29488d8823b6bfbe7464f57 - md5: 10247981f92fa110fa7d1b49138e805f +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx_impl_osx-arm64-23.1.4-default_h7028af0_0.conda + sha256: 21e863b36b78caa05d31fbac568f3ff5ed188856df1b36f596699bfe5f433468 + md5: 27b4d39238e7b9bad3191c07fb08d661 depends: - - clang-23 ==23.1.3 default_* - - clang_impl_osx-arm64 ==23.1.3 default_h79071a4_1 - - clang-scan-deps ==23.1.3 default_h79071a4_1 + - clang-23 ==23.1.4 default_* + - clang_impl_osx-arm64 ==23.1.4 default_h8bbc02d_0 + - clang-scan-deps ==23.1.4 default_h8bbc02d_0 - libcxx-devel 23.1.* - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 - libzlib >=1.3.2,<2.0a0 - libxml2 - libxml2-16 >=2.15.4 - - zstd >=1.5.7,<1.6.0a0 license: Apache-2.0 WITH LLVM-exception + license_family: APACHE run_exports: {} - size: 31873 - timestamp: 1791933708010 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx_osx-arm64-23.1.3-hc4210b9_34.conda - sha256: 7e5b9561295bc1ea8abd95c8a1ddf48182bead316845a233f7a5bfcecb0aec39 - md5: 1064a9cd76cdc6058837afd11410c50e + size: 31849 + timestamp: 1792647648570 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx_osx-arm64-23.1.4-h2adb7b3_35.conda + sha256: 7d7ab960bc3a0316a5ecedea9094d3f9fec816708c6ddf54e5ec17b390e899c0 + md5: 40edd344688d42eb87a25c9e2b353192 depends: - cctools_osx-arm64 - - clang_osx-arm64 23.1.3 hc4210b9_34 - - clangxx_impl_osx-arm64 23.1.3.* + - clang_osx-arm64 23.1.4 h2adb7b3_35 + - clangxx_impl_osx-arm64 23.1.4.* - sdkroot_env_osx-arm64 license: BSD-3-Clause license_family: BSD run_exports: strong: - libcxx >=23 - size: 19305 - timestamp: 1791873153666 + size: 19216 + timestamp: 1793018051621 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.3-hf91ab31_0.conda sha256: bba84a688b3f1d29afc7f495ce55c6743f9b269d6d0af6c405a4fdfac8229022 md5: b10a4aaff1177eb0055c6911cc77585a @@ -10984,36 +10088,6 @@ packages: run_exports: {} size: 20193229 timestamp: 1791001164107 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/colcon-common-extensions-0.3.0-py312h3de3f42_5.conda - sha256: 70f7dea59ddbf45e68727e81da13437bd3ef9ecc5850e75351ffcba9af37858f - md5: f67e120a6f02fbe03469158ba1d0455d - depends: - - python - - colcon-cmake - - colcon-core - - colcon-defaults - - colcon-devtools - - colcon-library-path - - colcon-metadata - - colcon-output - - colcon-package-information - - colcon-package-selection - - colcon-parallel-executor - - colcon-powershell - - colcon-python-setup-py - - colcon-recursive-crawl - - colcon-ros - - colcon-test-result - - colcon-argcomplete - - colcon-cd - - colcon-bash - - colcon-zsh - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 16940 - timestamp: 1789827905551 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt-21.1.8-hce30654_2.conda sha256: 624b8923052bf0cea5ae6ee422f18e73594f76cd4e9b7fc7565f51b256275c92 md5: 129de7382248e851078a1c4bbde92756 @@ -11027,19 +10101,19 @@ packages: run_exports: {} size: 16236 timestamp: 1787374964487 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt-23.1.3-hce30654_0.conda - sha256: 1cd5f575ff358538f25685aa3507ab7252f8c57ea196e34980bdff67ffcf1599 - md5: b74f7951347f136ebf301fdd44826b9d +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt-23.1.4-hce30654_0.conda + sha256: 06c4dab29f41569d5f6f757cef98d1c862563b7daa23f32e2af49bf375f2c0c4 + md5: c098ac9f34d3964a21bee3711e2f66a1 depends: - - compiler-rt23 23.1.3 hdb3d66b_0 - - libcompiler-rt 23.1.3 hdb3d66b_0 + - compiler-rt23 23.1.4 hdb3d66b_0 + - libcompiler-rt 23.1.4 hdb3d66b_0 constrains: - - clang 23.1.3 + - clang 23.1.4 license: Apache-2.0 WITH LLVM-exception license_family: APACHE run_exports: {} - size: 16609 - timestamp: 1791368707937 + size: 16484 + timestamp: 1792567058838 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt21-21.1.8-hdb3d66b_2.conda sha256: 5557bddc870924ec1a1dd24900672229b5cef3e7b6b14d647d220b5f9810767f md5: df63e236c76f7b443db681db51a73682 @@ -11051,17 +10125,17 @@ packages: run_exports: {} size: 99569 timestamp: 1787374963563 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt23-23.1.3-hdb3d66b_0.conda - sha256: 9157b86a2a4c9f61b856e53efe914cb66654edb4e86572bc2838b6f098279f4a - md5: f47059c2497e5b6c6fe1b21eb71460f9 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt23-23.1.4-hdb3d66b_0.conda + sha256: b5bfb04bc32e3de800b0d9dc500cb0a319466a2036a19d986a05565750d1edac + md5: ffbe8e3c9b12be268bcef57ee58e4cd4 depends: - __osx >=11.0 - - compiler-rt23_osx-arm64 23.1.3.* + - compiler-rt23_osx-arm64 23.1.4.* license: Apache-2.0 WITH LLVM-exception license_family: APACHE run_exports: {} - size: 100601 - timestamp: 1791368706820 + size: 99934 + timestamp: 1792567056652 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/console_bridge-1.0.2-h3e96240_1.tar.bz2 sha256: f39c48eb54adaffe679fc9b3a2a9b9cd78f97e2e9fd555ec7c5fd8a99957bfc5 md5: e2dde786c16d90869de84d458af36d92 @@ -11084,18 +10158,6 @@ packages: run_exports: {} size: 1769546 timestamp: 1789486371666 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coverage-7.16.2-py312hf1f8172_0.conda - sha256: 32b9303e07d0ac446f2ad8dcd590a3528679c1f47f07f4380da4259bc28be86b - md5: b3ce38f4f403020f6e406f7fec0e16e5 - depends: - - python - - __osx >=11.0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 416135 - timestamp: 1790542144415 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cppcheck-2.22.0-py312h3286cfa_1.conda sha256: 39a581f460326c39ad67c82a5c5172dd7bc330d7b66ea4705528e868b14ed7be md5: 77a57da75b5ec9c1670cb9db2df6c100 @@ -11112,6 +10174,22 @@ packages: run_exports: {} size: 2666772 timestamp: 1790418738052 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cppcheck-2.22.0-py314h16e8f3b_1.conda + sha256: 47940492699ae5fde0af73a7e7d66011deea7d8eefb12102e21e6d68687d1b21 + md5: f91b4ce877fd79137ca9ab62e3a8e18f + depends: + - pygments + - python + - libcxx >=21 + - __osx >=11.0 + - pcre >=8.45,<9.0a0 + - tinyxml2 >=11.0.0,<11.1.0a0 + - python_abi 3.14.* *_cp314 + license: GPL-3.0-or-later + license_family: GPL + run_exports: {} + size: 2679689 + timestamp: 1790418728865 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cryptography-50.0.2-py311hc28ac56_0.conda noarch: python sha256: 0c681f12351d4942decede4ef431f4d4f27720da76c49f0a43f351275eca0bca @@ -11139,6 +10217,19 @@ packages: run_exports: {} size: 7001 timestamp: 1786642232883 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cyclonedds-0.10.5-heeac741_0.conda + sha256: c139201d1dcd1e265f1d44eba359390d98ccde50b6ffe6f5f244af4d3546f1de + md5: 566785df21573ab0dc7fe897cd3fbb68 + depends: + - __osx >=11.0 + - libcxx >=19 + - openssl >=3.5.6,<4.0a0 + license: EPL-2.0 + run_exports: + weak: + - cyclonedds >=0.10.5,<0.11.0a0 + size: 967910 + timestamp: 1779684045680 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cyrus-sasl-2.1.28-hb961e35_1.conda sha256: 2bb1a8cfc2534b05718c21ffacd806c5c3d5289c9e8be12270d9fc5606c859bf md5: 784c64a42b083798c5acd2373df5b825 @@ -11302,14 +10393,14 @@ packages: run_exports: {} size: 13480930 timestamp: 1790670419099 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/git-lfs-3.8.0-h7021a9e_0.conda - sha256: ded5736ccccf1cef73644da2046f5103973dc6f09dbf2d068ac9bf811554e799 - md5: 76d68fb4ba2dcd93f60ab108dbf5b48b +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/git-lfs-3.8.1-hc1ac0ee_0.conda + sha256: 1d71c201e98664eb2989b590c7a83708bf090845e894aca5f0dc04ee31813dcd + md5: c526db1eeb67698bee5b723e45c28d22 license: MIT license_family: MIT run_exports: {} - size: 4617448 - timestamp: 1787873873544 + size: 4789498 + timestamp: 1792702208023 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/glib-2.90.0-h37000cc_0.conda sha256: c80cdb6c599de22c9779a4b9b9a76923ed27c697c3416aec171413d2cdddb66a md5: bd44f411caf7979901afb57a12aee573 @@ -11487,18 +10578,6 @@ packages: - gts >=0.7.6,<0.8.0a0 size: 304331 timestamp: 1686545503242 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-14.6.0-hce30654_2.conda - sha256: bce1e0ca60d99d54689217499ce3e0dfba85b1040a1cc053829b7fc32e08c523 - md5: 6b3aa5e8534b5662c136abf1a4a66434 - depends: - - libharfbuzz-devel 14.6.0 hcda0f7c_2 - license: MIT - license_family: MIT - run_exports: - weak: - - libharfbuzz >=14.6.0 - size: 11103 - timestamp: 1791900647143 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/harfbuzz-15.0.0-hce30654_0.conda sha256: 9c6ecd0710afef27f90042414586096adc52893d71786bdaeea17416e6651243 md5: b6887db6e5a69a764f174068911100f1 @@ -11677,41 +10756,43 @@ packages: - libclang-cpp21.1 >=21.1.8,<21.2.0a0 size: 13704221 timestamp: 1791490371270 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp23.1-23.1.3-default_h79071a4_1.conda - sha256: 2ee57db24f1477cf54e84dc81dcab584cd067e2d08f41d66a6c8744009127b04 - md5: 65beee51b4a0c3a5d0da62616f93074d +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp23.1-23.1.4-default_h8bbc02d_0.conda + sha256: 7787dffff68a5e73b667bb9e077c722a652d331a8d06336aa97ac95dace3a104 + md5: 7a2d061f28f70200423f3e4da1056aea depends: - - libcxx >=23.1.3 + - libcxx >=23.1.4 - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 - libzlib >=1.3.2,<2.0a0 - libxml2 - libxml2-16 >=2.15.4 - - zstd >=1.5.7,<1.6.0a0 - - libllvm23 >=23.1.3,<23.2.0a0 + - libllvm23 >=23.1.4,<23.2.0a0 license: Apache-2.0 WITH LLVM-exception + license_family: APACHE run_exports: weak: - - libclang-cpp23.1 >=23.1.3,<23.2.0a0 - size: 16606123 - timestamp: 1791933708010 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang13-23.1.3-default_h885965d_1.conda - sha256: 3e4622334f2a93fdd078a0f9cbe37c47ff85ed1618c898edeffb471f86b1120a - md5: a8f0712f9b10308be27674ae1f690108 + - libclang-cpp23.1 >=23.1.4,<23.2.0a0 + size: 16607001 + timestamp: 1792647648570 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang13-23.1.4-default_h63627a2_0.conda + sha256: c6c9b9f5a25a6f89a0a139e5f178b0895b5feffe34c4d5b01ae2cf9c25d5d461 + md5: 47cd7f341d3fd4305c75700acc4c2858 depends: - - libclang-cpp23.1 ==23.1.3 default_h79071a4_1 - - libcxx >=23.1.3 + - libclang-cpp23.1 ==23.1.4 default_h8bbc02d_0 + - libcxx >=23.1.4 - __osx >=11.0 + - zstd >=1.5.7,<1.6.0a0 - libzlib >=1.3.2,<2.0a0 - libxml2 - libxml2-16 >=2.15.4 - - zstd >=1.5.7,<1.6.0a0 - - libllvm23 >=23.1.3,<23.2.0a0 + - libllvm23 >=23.1.4,<23.2.0a0 license: Apache-2.0 WITH LLVM-exception + license_family: APACHE run_exports: weak: - - libclang13 >=23.1.3 - size: 10617250 - timestamp: 1791933708010 + - libclang13 >=23.1.4 + size: 10617013 + timestamp: 1792647648570 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcompiler-rt-21.1.8-hdb3d66b_2.conda sha256: 20e87238247ff01824095f96de08980bdf5b80bc81e69e6d27b6786bc20a0262 md5: 13bb416a04cefad0b5c5870adb461f05 @@ -11726,9 +10807,9 @@ packages: - libcompiler-rt >=21.1.8 size: 1331133 timestamp: 1787374959415 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcompiler-rt-23.1.3-hdb3d66b_0.conda - sha256: e71a69beeab97112b7f6fe34c6f24e7b422b707d614f9258a7f085d837956894 - md5: 83d000487e994105429c15868ee5565e +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcompiler-rt-23.1.4-hdb3d66b_0.conda + sha256: 939ba250a11438ae42c5b861d004cc2caceb6437fc1a73f39d0a780d28231d1e + md5: d46c022a9cc7dfedd4b650d1ae21c6a7 depends: - __osx >=11.0 constrains: @@ -11737,9 +10818,9 @@ packages: license_family: APACHE run_exports: weak: - - libcompiler-rt >=23.1.3 - size: 1386225 - timestamp: 1791368701247 + - libcompiler-rt >=23.1.4 + size: 1383407 + timestamp: 1792567052336 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.21.0-hd5a2499_1.conda sha256: ba74311dc4805af2ba1365d85814199a563cb09950f68b97fcd4e939dc090855 md5: 27c5b464c5fbee7411aab3bc0195f9c2 @@ -11758,25 +10839,6 @@ packages: - libcurl >=8.21.0,<9.0a0 size: 410285 timestamp: 1782802574409 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.22.0-h6651222_0.conda - sha256: 46def32ec20d4dc6bce75d90fe5f2465a71cc22acef608c5ba37cc392e80e01d - md5: a7234b8d8e19a089dcb1eaaa18de1045 - depends: - - __osx >=11.0 - - krb5 >=1.22.2,<1.23.0a0 - - libnghttp2 >=1.68.1,<2.0a0 - - libpsl >=0.23.1,<0.24.0a0 - - libssh2 >=1.11.1,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.8,<4.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: curl - license_family: MIT - run_exports: - weak: - - libcurl >=8.22.0,<9.0a0 - size: 419925 - timestamp: 1788340708264 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.23.0-h6651222_0.conda sha256: d9f60525b665e50da15c84fcb4e74e6b1f0a56ea4c89a02d4258f23c3fe1f02c md5: b955db4c41b9820eba0aa2c9a3c74a37 @@ -11796,16 +10858,6 @@ packages: - libcurl >=8.23.0,<9.0a0 size: 425637 timestamp: 1792014025908 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.3-h55c6f16_0.conda - sha256: 2d9d31172d7919bd276a8d1be338de567dd5afdd181e8d3d3d8c2d8695e09de2 - md5: 424521e52e65ef7f6cf957c4966e6386 - depends: - - __osx >=11.0 - license: Apache-2.0 WITH LLVM-exception - license_family: Apache - run_exports: {} - size: 577501 - timestamp: 1791337239735 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.4-h55c6f16_2.conda sha256: 9c390b4f403db32346754ccef6b84b7e5d9b70cb6d76258fd23b05f2db2ab216 md5: 08f01709cd5f8fd7af2c29e4e3ce1846 @@ -11827,17 +10879,18 @@ packages: run_exports: {} size: 23967 timestamp: 1791301793421 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-devel-23.1.3-h6dc3340_0.conda - sha256: 2c038cf9ca9d46a1ad26341748fb88148f2641776966f945598062abb7a66d91 - md5: 2e34a0744eefa23d8610cdab3aa3562f +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-devel-23.1.4-h6dc3340_2.conda + sha256: 10c475d6ff8495b9d0430ff071fcbea826bde55e28bf6cf4e69831747344a750 + md5: 0ec7434c0bdb1bb88a36d21cddcdea94 depends: - - libcxx >=23.1.3 - - libcxx-headers >=23.1.3,<23.1.4.0a0 + - libcxx * h* + - libcxx >=23.1.4 + - libcxx-headers >=23.1.4,<23.1.5.0a0 license: Apache-2.0 WITH LLVM-exception license_family: Apache run_exports: {} - size: 21853 - timestamp: 1791337249784 + size: 21858 + timestamp: 1792748864370 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.25-he7e0567_1.conda sha256: d896f4aa4ce4c590c2838678cb1917356fdb461d2a189991c0280c818c362172 md5: 78650d671cb56909bb3e5c13bce310f9 @@ -11876,18 +10929,18 @@ packages: - libev >=4.33,<4.34.0a0 size: 39991 timestamp: 1785917376956 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda - sha256: 50aa761b83fc7a116ca88fe0cb4cefce5abababb10a926bf8afbafd5c298d102 - md5: 5383c550b785bdaafcc4eaf638071a7c +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.9.0-h6111c0a_0.conda + sha256: b155c524118f751ad8b1c823397bab8b7f715f7e3ca10479925867a7e23e7e9d + md5: f85a1fda9a2758a7aef2a7787d9c0203 depends: - __osx >=11.0 constrains: - - expat 2.8.5.* + - expat 2.9.0.* license: MIT license_family: MIT run_exports: {} - size: 69565 - timestamp: 1790370026495 + size: 69681 + timestamp: 1793054210049 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda sha256: 2783389a7b9dda04c62cc54c6bbeb03dd3cef24b3fc642715d02a3fa19464a9a md5: 216bbcc23c11e9695b3db4a8771d76eb @@ -12001,25 +11054,6 @@ packages: - libglib >=2.90.0,<3.0a0 size: 4489939 timestamp: 1789478088421 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-14.6.0-hcda0f7c_2.conda - sha256: 85e3052093357d1c22d086b0e2dbe629b35498b15a34affa3c92a27dc7de548a - md5: bb1ba75fa653dbf2f341943fede777c4 - depends: - - __osx >=11.0 - - cairo >=1.18.6,<2.0a0 - - graphite2 >=1.3.15,<2.0a0 - - icu >=78.3,<79.0a0 - - libcxx >=21 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libglib >=2.90.0,<3.0a0 - - libpng >=1.6.59,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT - run_exports: {} - size: 1052989 - timestamp: 1791900623707 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-15.0.0-hcda0f7c_0.conda sha256: 1cf7900cfd17b60a8e3f76a31ca95140deca4781899e290b499b6caad82058b2 md5: 2bf1803b0f15fa26d9f22ce8364d16df @@ -12039,29 +11073,6 @@ packages: run_exports: {} size: 1146987 timestamp: 1792769126357 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-devel-14.6.0-hcda0f7c_2.conda - sha256: ce8f8b52ec0d1f71d2da5610f5ef12781d1840768e40201dfb1e5d25d81f6c7a - md5: d651e898c4798a4a6539b3cd7ea6f89d - depends: - - __osx >=11.0 - - cairo >=1.18.6,<2.0a0 - - freetype - - graphite2 >=1.3.15,<2.0a0 - - icu >=78.3,<79.0a0 - - libcxx >=21 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libglib >=2.90.0,<3.0a0 - - libharfbuzz 14.6.0 hcda0f7c_2 - - libpng >=1.6.59,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT - run_exports: - weak: - - libharfbuzz >=14.6.0 - size: 1536213 - timestamp: 1791900642002 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libharfbuzz-devel-15.0.0-hcda0f7c_0.conda sha256: 764b95c1630e66f7eebca2f75ab3dd2cb039aa1d007d00c763e122cd29564a8a md5: 14a65f11238f07714323d65bc2c9034f @@ -12085,6 +11096,55 @@ packages: - libharfbuzz >=15.0.0 size: 1673578 timestamp: 1792769143858 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-binding-c-2.95.8-hcac2f75_5.conda + sha256: 392e9e88200fdde495b2fe96ebb7c5adc6468c67c539613333165785269ac80e + md5: 051f13c7d54f451e4a3fa801e6cead3d + depends: + - libiceoryx-hoofs ==2.95.8 h708977a_5 + - libiceoryx-posh ==2.95.8 hbfce10a_5 + - libcxx >=21 + - __osx >=11.0 + - ncurses >=6.6,<7.0a0 + license: Apache-2.0 AND MIT AND EPL-2.0 + run_exports: {} + size: 75505 + timestamp: 1788317953347 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-hoofs-2.95.8-h708977a_5.conda + sha256: aef420a91c013a97b752765969fafa18bafce68c2b3549284adc2f3b7ac64dd9 + md5: 4d1a302a161cc8ff1e870ac3d843f941 + depends: + - libiceoryx-platform ==2.95.8 h799688d_5 + - libcxx >=21 + - __osx >=11.0 + - ncurses >=6.6,<7.0a0 + license: Apache-2.0 AND MIT AND EPL-2.0 + run_exports: {} + size: 164456 + timestamp: 1788317953347 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-platform-2.95.8-h799688d_5.conda + sha256: 55b8bb881e79c566bd47f16c11a8ddf6a61f75f60a7da28615f230bcd680f830 + md5: e9d18b2f386bd546b8b2a9f2ba41ff81 + depends: + - libcxx >=21 + - __osx >=11.0 + - ncurses >=6.6,<7.0a0 + license: Apache-2.0 AND MIT AND EPL-2.0 + run_exports: {} + size: 32576 + timestamp: 1788317953347 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiceoryx-posh-2.95.8-hbfce10a_5.conda + sha256: f9d9f6232aca4ba6d2856e31c27ee75e375e1b78940b9cfc77ce9b79afaefa5f + md5: cced9399fa3c55cc94f6ee3a8c14b4b0 + depends: + - libiceoryx-hoofs ==2.95.8 h708977a_5 + - libiceoryx-platform ==2.95.8 h799688d_5 + - __osx >=11.0 + - libcxx >=21 + - ncurses >=6.6,<7.0a0 + license: Apache-2.0 AND MIT AND EPL-2.0 + run_exports: {} + size: 392373 + timestamp: 1788317953347 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-he4c29f2_3.conda sha256: 689a14968267f2f97c07112fca5636e7d756036b9aee969911267c20bd3eea1f md5: 17f4744c0873e9f77ac9b5cd0a27c187 @@ -12185,9 +11245,9 @@ packages: - libllvm21 >=21.1.8,<21.2.0a0 size: 29629677 timestamp: 1787364227487 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm23-23.1.3-h759d1ac_0.conda - sha256: e1a0f238487d15d018b9e5a75b937164d25fd28b4408e96b1a4af321f4f73181 - md5: 25eeae19cac6af1b9d28cf229855551d +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm23-23.1.4-h759d1ac_1.conda + sha256: 09bbb7a95c4187d406b96f3f43a5061c537bbe38ed199fec74bdd59016dd9cdf + md5: e7b4681725890a63792da70c67e4e026 depends: - __osx >=11.0 - libcxx >=21 @@ -12199,9 +11259,9 @@ packages: license_family: Apache run_exports: weak: - - libllvm23 >=23.1.3,<23.2.0a0 - size: 31579504 - timestamp: 1791337321683 + - libllvm23 >=23.1.4,<23.2.0a0 + size: 31580468 + timestamp: 1792564352724 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda sha256: 23d0630046a3e8b164d8f80f2b74ed2605af2e7050ab9913018056402fae4311 md5: 8ab10323068b107661a4b9a4af84f3b5 @@ -12215,6 +11275,16 @@ packages: - liblzma >=5.8.3,<6.0a0 size: 91720 timestamp: 1786348695846 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_2.conda + sha256: 04cc136c5a956a73aa14e0a160b5822b0b29714e67b299fa1b1fd16dbcba5366 + md5: ff33a4dbd93abc8a798cc4e0e7c8136d + depends: + - __osx >=11.0 + license: BSD-2-Clause + license_family: BSD + run_exports: {} + size: 73289 + timestamp: 1786651074391 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h435687b_1.conda sha256: 445440d8cccccb6585f71d1eb7c949d64a2af2ced5481d924621424ff3b6a398 md5: ac9902dcbe0417f50cf95ab2bde062fa @@ -12337,21 +11407,22 @@ packages: - libpng >=1.6.59,<1.7.0a0 size: 290299 timestamp: 1790805167385 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpq-18.4-ha770aab_0.conda - sha256: aed15f692ab1c050ed64e08e215b3a82f8d1efb87f6be54a052fa50292a88c82 - md5: aa54929e5de39fc4ddd538650cdc2c86 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpq-18.6-h0a198e3_3.conda + sha256: 13e9ee38137d748204322e754822f4b615fed13456564822f39c9c83d2f998ef + md5: 1b4cb906b65e9d475ffe5286c56aae1e depends: - - __osx >=11.0 + - __osx >=13.3 - icu >=78.3,<79.0a0 - krb5 >=1.22.2,<1.23.0a0 + - libcxx >=21 - openldap >=2.6.13,<2.7.0a0 - - openssl >=3.5.6,<4.0a0 + - openssl >=3.5.8,<4.0a0 license: PostgreSQL run_exports: weak: - - libpq >=18.4,<19.0a0 - size: 2626441 - timestamp: 1778787920554 + - libpq >=18.6,<19.0a0 + size: 2606564 + timestamp: 1790874904313 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpsl-0.23.1-hdb0c161_1.conda sha256: c8c3153df39abedf3413483f672151ad70f1adb0c06c192bdf7ec432c3616b07 md5: 5d270f716a2b4bc13df9af8612071b17 @@ -12366,18 +11437,6 @@ packages: - libpsl >=0.23.1,<0.24.0a0 size: 72673 timestamp: 1786970928205 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.12.15-h0677fcb_2_cpython.conda - build_number: 2 - sha256: b21efc2d2582aa1b84b96eab48229ed452b22db638960f4b5b8ebf4a50b28be4 - md5: 5b4755b2167934518adc19214267bc8d - depends: - - __osx >=11.0 - license: Python-2.0 - run_exports: - weak: - - libpython >=3.12,<4.0a0 - size: 1741357 - timestamp: 1791910410844 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.12.16-h0677fcb_0_cpython.conda sha256: 8a80694471620730a260bfb158714c9f109945661450c1661f01df0648ed02c3 md5: 302378a22f885badd851b1d298268906 @@ -12389,6 +11448,18 @@ packages: - libpython >=3.12,<4.0a0 size: 1739317 timestamp: 1793014606009 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.14.10-h281bc5c_100_cp314.conda + build_number: 100 + sha256: 18eee3469dda55511fdebe67cf4a8e41e8fa0039e160971810c33c3eb6753608 + md5: 3e152f4ab4069dbdf35d64b52e9b023b + depends: + - __osx >=11.0 + license: Python-2.0 + run_exports: + weak: + - libpython >=3.14,<4.0a0 + size: 1904909 + timestamp: 1793014715421 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librsvg-2.62.4-hc8ac265_0.conda sha256: 3bd54de0136907782249a0d5797744ecac5bbd77026f5f2712dd62390c5c9f77 md5: 878c79beee628e3b683ddc9094aaad1e @@ -12432,9 +11503,9 @@ packages: - libsodium >=1.0.22,<1.0.23.0a0 size: 249403 timestamp: 1789425371505 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.0-h34a968b_101.conda - sha256: 7f0f2e4ca2eb6e5059d9593ffe88088debe453b146e2794641d94242b901d85c - md5: 42b7a7607b4c9838cc2e72a232af6809 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.1-h34a968b_101.conda + sha256: c49adf700ad17332b938ac627845a3fdc70a0810660d3ec3814de25b156fbf60 + md5: 6b3b2ea51e2685192a790730c59dbb01 depends: - __osx >=11.0 - libzlib >=1.3.2,<2.0a0 @@ -12443,22 +11514,9 @@ packages: license: blessing run_exports: weak: - - libsqlite >=3.54.0,<4.0a0 - size: 949146 - timestamp: 1791584347793 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.0-hca69786_1.conda - sha256: 35e9265b836367ebf75982051a21cf124d0dd6967da628d9356b8aa433cc6947 - md5: 4219b7c43075bdc152b1db4cd0e46828 - depends: - - __osx >=11.0 - - icu >=78.3,<79.0a0 - - libzlib >=1.3.2,<2.0a0 - license: blessing - run_exports: - weak: - - libsqlite >=3.54.0,<4.0a0 - size: 953259 - timestamp: 1791584347161 + - libsqlite >=3.54.1,<4.0a0 + size: 949450 + timestamp: 1793051666641 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.1-hca69786_0.conda sha256: 998cd122027b2523f2f25807b1d476b82a168489d16b1430fd848a9a6b606a80 md5: b3fc67af56dfdf7c9ee7d8fdae21f654 @@ -12637,20 +11695,6 @@ packages: - libzlib >=1.3.2,<2.0a0 size: 47822 timestamp: 1785277049190 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-23.1.3-hdb3d66b_1.conda - sha256: eec66f3d0a0c428411e22a59c4726069ccef81a46864876b6e270c8c254d4045 - md5: 5b7efd98534e6722de8d223b8654185b - depends: - - __osx >=11.0 - constrains: - - intel-openmp <0.0a0 - - openmp 23.1.3|23.1.3.* - license: Apache-2.0 WITH LLVM-exception - run_exports: - strong: - - llvm-openmp >=23.1.3 - size: 287944 - timestamp: 1791950643503 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-23.1.4-hdb3d66b_0.conda sha256: cc6d67df56d4ea967e17d938d3108cdf7d971531350df9e7fc5e18cb89066a70 md5: 9a6ec2a53da5d75951b88c51018c27fa @@ -12697,37 +11741,37 @@ packages: run_exports: {} size: 89113 timestamp: 1787364323163 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-23-23.1.3-h79441dc_0.conda - sha256: 6eac5cfd4f73208494a97641879a023f3009fec51a1b47cb8bc3d7f811d56847 - md5: f5a49fb9de81c9dda4f0069bef3f79a5 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-23-23.1.4-h79441dc_1.conda + sha256: 0f8f4d32fc0b74393ec4f31a52fc788a246cee1a76c3f67039dda5f04e3d5aef + md5: c6591304fd76aa630e7cff3b2d866268 depends: - __osx >=11.0 - libcxx >=21 - - libllvm23 23.1.3 h759d1ac_0 + - libllvm23 23.1.4 h759d1ac_1 - libzlib >=1.3.2,<2.0a0 - zstd >=1.5.7,<1.6.0a0 license: Apache-2.0 WITH LLVM-exception license_family: Apache run_exports: {} - size: 18507156 - timestamp: 1791337419483 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-23.1.3-hdb3d66b_0.conda - sha256: 62d6da7964ba98c3adcd75a1fd9d4a38f606896e562cfc783cb5b793b59aa523 - md5: 1b7d0f91a232fc45e67aba81aa38c5d9 + size: 18501966 + timestamp: 1792564443625 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-23.1.4-hdb3d66b_1.conda + sha256: 361c641839d38731a1395aa0132b078cbb264ef95bb62468d3ab2ec3db8a8337 + md5: 0719c4d28818884730f12b6ce12817e5 depends: - __osx >=11.0 - - libllvm23 23.1.3 h759d1ac_0 - - llvm-tools-23 23.1.3 h79441dc_0 + - libllvm23 23.1.4 h759d1ac_1 + - llvm-tools-23 23.1.4 h79441dc_1 constrains: - - clang 23.1.3 - - clang-tools 23.1.3 - - llvm 23.1.3 - - llvmdev 23.1.3 + - clang 23.1.4 + - clang-tools 23.1.4 + - llvm 23.1.4 + - llvmdev 23.1.4 license: Apache-2.0 WITH LLVM-exception license_family: Apache run_exports: {} - size: 52486 - timestamp: 1791337470493 + size: 52020 + timestamp: 1792564487401 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lxml-6.1.3-py312haba262f_0.conda sha256: 8f4aa4fc8c0227cdf4cbe9adf8e51704c5d82b686842a8cb0e46c3d11450bd9d md5: 6bbb82f69ac1cc00375cebcd3e7d594a @@ -12771,16 +11815,16 @@ packages: - lz4-c >=1.10.0,<1.11.0a0 size: 171838 timestamp: 1786717209785 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/make-4.4.1-h84a0fba_3.conda - sha256: 36c769a71cfd0222de8114a6016f1def3d0411a6202aa811bca50e581450f71f - md5: 5e4c7921fa8489236f1599274b478bac +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/make-4.4.1-h63fc045_4.conda + sha256: 9a913075a5c373ed7e12daa4f60d15fe5b0638eb806d79975bd6c498c8728ed6 + md5: 7210f45233086f80e4fa081d5ede2eaa depends: - __osx >=11.0 license: GPL-3.0-or-later license_family: GPL run_exports: {} - size: 275107 - timestamp: 1785879985161 + size: 296222 + timestamp: 1792070312438 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda sha256: 7024a48c8c0d0114ed4ab53c76bf9275d50e91ba7cea367a9aead638d3c29c68 md5: 3dfa0d0316dc246cd44937a557de4501 @@ -12852,6 +11896,26 @@ packages: - numpy >=1.25,<3 size: 7122982 timestamp: 1791675320293 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.5.4-py314he06036b_0.conda + sha256: e6a60c9c02afdf42d00c2b797916052f19eec2f5ab0a71ce976fb4d6fe4611e4 + md5: a555611b524896921b1721e57785ed24 + depends: + - python + - __osx >=11.0 + - libcxx >=21 + - libcblas >=3.9.0,<4.0a0 + - python_abi 3.14.* *_cp314 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + run_exports: + weak: + - numpy >=1.25,<3 + size: 7284786 + timestamp: 1791675323083 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openldap-2.6.13-hf7f56bc_0.conda sha256: 4a7b691a5b2241ee10f59a9e51f68be4cf1e4294829cebb40d198139a561e780 md5: 7940b03e5c1e85b0c8b8a74f3011783f @@ -12907,28 +11971,6 @@ packages: - libpango >=1.58.2,<2.0a0 size: 15035 timestamp: 1792050658787 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pango-1.58.2-hf9b25ef_1.conda - sha256: 9ba23103198cffa523488ff583b184ad37eb6d90985d330a683a1039dc917771 - md5: 4a71e68873ce37dc6da671a899d09a46 - depends: - - __osx >=11.0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.18.3,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.16,<2.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libglib >=2.88.3,<3.0a0 - - libharfbuzz >=14.4.0 - - libpng >=1.6.58,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - license: LGPL-2.1-or-later - run_exports: - weak: - - pango >=1.58.2,<2.0a0 - size: 442274 - timestamp: 1788491046895 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/patch-2.8-h1a92334_1003.conda sha256: a21ddae9deb05b74f9d63203c2e939a8172923ee4734d222e9d12d23adf748db md5: 4f84eb2a8717e3bfc8f92a711cd134f0 @@ -13076,18 +12118,17 @@ packages: run_exports: {} size: 75286 timestamp: 1759495956299 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.15-hd05a0c4_2_cpython.conda - build_number: 2 - sha256: 5bcf85135be2c0828aa6c72a34d3c9404f699bc9d8b939faabbadfc16617bf57 - md5: 12831d178a990fa6feec258e45b23056 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.16-hd05a0c4_0_cpython.conda + sha256: 23d06f02f64e6c768fce624cf369a92544a49e9cee29d3ee6762058474c912c2 + md5: f368ebd7a850ac640059edb82313e86f depends: - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 - libexpat >=2.8.5,<3.0a0 - libffi >=3.7.0,<3.8.0a0 - liblzma >=5.8.3,<6.0a0 - - libpython 3.12.15 h0677fcb_2_cpython - - libsqlite >=3.54.0,<4.0a0 + - libpython 3.12.16 h0677fcb_0_cpython + - libsqlite >=3.54.1,<4.0a0 - libzlib >=1.3.2,<2.0a0 - ncurses >=6.6,<7.0a0 - openssl >=3.5.9,<4.0a0 @@ -13102,35 +12143,38 @@ packages: - python_abi 3.12.* *_cp312 noarch: - python - size: 11797016 - timestamp: 1791910443477 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.16-hd05a0c4_0_cpython.conda - sha256: 23d06f02f64e6c768fce624cf369a92544a49e9cee29d3ee6762058474c912c2 - md5: f368ebd7a850ac640059edb82313e86f + size: 11668532 + timestamp: 1793014636233 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.10-h0ae1c2c_100_cp314.conda + build_number: 100 + sha256: 484750a2bbf65e2446a90731c6ab65a68dfc6f0e5761321e85bf5e23bfad7401 + md5: 4fbc3e32cc88209f184e54916a06ea1c depends: - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 - libexpat >=2.8.5,<3.0a0 - libffi >=3.7.0,<3.8.0a0 - liblzma >=5.8.3,<6.0a0 - - libpython 3.12.16 h0677fcb_0_cpython + - libmpdec >=4.0.0,<5.0a0 + - libpython 3.14.10 h281bc5c_100_cp314 - libsqlite >=3.54.1,<4.0a0 - libzlib >=1.3.2,<2.0a0 - ncurses >=6.6,<7.0a0 - openssl >=3.5.9,<4.0a0 + - python_abi 3.14.* *_cp314 - readline >=8.3,<9.0a0 - tk >=8.6.13,<8.7.0a0 - tzdata - constrains: - - python_abi 3.12.* *_cp312 + - zstd >=1.5.7,<1.6.0a0 license: Python-2.0 run_exports: weak: - - python_abi 3.12.* *_cp312 + - python_abi 3.14.* *_cp314 noarch: - python - size: 11668532 - timestamp: 1793014636233 + size: 12479559 + timestamp: 1793014753331 + python_site_packages_path: lib/python3.14/site-packages - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-orocos-kdl-1.5.4-py312h1535055_0.conda sha256: 6a712c2bc5c5619ab274a33fa9c44ac4ede498566b2ba4bbe1240dd7342c8fc0 md5: cbf8e99a0db7eea4f3b903ade68f8033 @@ -13259,15 +12303,16 @@ packages: run_exports: {} size: 114653 timestamp: 1786115093248 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/sip-6.17.1-py312h3812f11_0.conda - sha256: a523d4cf9b78db1cf3b887d76dd11b54f374ae8b86730f60be2d6a76f7359114 - md5: 65d1e002a0ac42bfcb83970c5f77d400 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/sip-6.15.3-py312h6d95f44_0.conda + sha256: 67099866ba09e4ca7ec2890d722dbde9f01c44d869a43cf5025b286b8beb49da + md5: 84f11000e622f84ebdf4d5fe60bbf0b0 depends: - __osx >=11.0 - - libcxx >=21 + - libcxx >=19 - packaging - ply - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - setuptools - tomli @@ -13275,9 +12320,9 @@ packages: license_family: BSD run_exports: weak: - - sip >=6.17.1,<6.18.0a0 - size: 895708 - timestamp: 1791755136464 + - sip >=6.15.3,<6.16.0a0 + size: 737571 + timestamp: 1774374633814 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/spdlog-1.17.0-h760df91_2.conda sha256: 791d91a18647346c4318a4177add14abc546632fc2bf12a049cc328025368054 md5: e4df5c4de3a06437b69ff6255c258ca2 @@ -13292,22 +12337,6 @@ packages: - spdlog >=1.17.0,<1.18.0a0 size: 167030 timestamp: 1785925098650 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.54.0-ha9f7ffe_1.conda - sha256: e5c2436d40f63ad70a874e377a1b2b9f9d4de6d279c2905bb7b401daea39a2f8 - md5: 2d1cc24a68d9f08bab7b1a0e75940139 - depends: - - __osx >=11.0 - - icu >=78.3,<79.0a0 - - libsqlite 3.54.0 hca69786_1 - - libzlib >=1.3.2,<2.0a0 - - ncurses >=6.6,<7.0a0 - - readline >=8.3,<9.0a0 - license: blessing - run_exports: - weak: - - libsqlite >=3.54.0,<4.0a0 - size: 191121 - timestamp: 1791584351974 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.54.1-ha9f7ffe_0.conda sha256: 48efa81f1e3601db501467cfc851a071c36649eb4fce466203a2f29901a6cf90 md5: a203cfbc8718565218dd94b0bded2588 @@ -13370,23 +12399,6 @@ packages: run_exports: {} size: 618858 timestamp: 1779015743200 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/urdfdom-6.0.1-hb460c4f_0.conda - sha256: 303c4b30cb1d3f3c2ff37c217e73aa9fb05f684d43b8eca174215f36e4d33727 - md5: bc01e8d73814bd6344af00c87d4eef17 - depends: - - urdfdom_headers >=3.0.1,<4.0a0 - - __osx >=11.0 - - libcxx >=21 - - console_bridge >=1.0.2,<1.1.0a0 - - tinyxml2 >=11.0.0,<11.1.0a0 - license: BSD-3-Clause - license_family: BSD - run_exports: - weak: - - urdfdom_headers >=3.0.1,<4.0a0 - - urdfdom >=6.0.1,<7.0a0 - size: 104053 - timestamp: 1787009854566 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/urdfdom-6.0.2-h8704d93_0.conda sha256: 3eab27afc9150c2b83470b9fc03db3d841fed57cecfad2c53ede5b4d86cdf5cb md5: 9db74c449b896840141bace74dba81da @@ -13415,18 +12427,19 @@ packages: run_exports: {} size: 24089 timestamp: 1787006304117 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-17.2-py312h9b6eb38_0.conda - sha256: 7cb36102c4f7b91668b4f61e6ff408d66c959364b75c1fe57b2da7d480f76bea - md5: e6a00202f8ab3904ddd574291e5e3205 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.13.5-hbb8eed7_0.conda + sha256: ce9eb619686279d5e7bfb251ac68c0af0d4ae41eaa79222ce6fc33cc5a0f2a96 + md5: b720d75dac4a57a61acdcf6c68b8f8e5 depends: - - python + - libcxx >=21 - __osx >=11.0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD + - zstd >=1.5.7,<1.6.0a0 + constrains: + - __osx >=11.0 + license: Apache-2.0 OR MIT run_exports: {} - size: 413329 - timestamp: 1791057472492 + size: 12534710 + timestamp: 1792672520798 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-17.3-py312h9b6eb38_0.conda sha256: cf25cf72aa4588023250a68d41fd20c9c026930079a68553958702c11675470a md5: c954aace24180d2262c1b657156f9735 @@ -13439,19 +12452,6 @@ packages: run_exports: {} size: 415004 timestamp: 1792452272874 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libx11-1.8.13-hf948f5a_1.conda - sha256: a21effeec4dfcc195c44001261c26b51631ca80abfce87059a1f19680f434ba6 - md5: 0b922feb390ad25e36c1275623d7ba08 - depends: - - __osx >=11.0 - - libxcb >=1.17.0,<2.0a0 - license: MIT - license_family: MIT - run_exports: - weak: - - xorg-libx11 >=1.8.13,<2.0a0 - size: 758771 - timestamp: 1787087662158 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xorg-libx11-1.8.14-hbffa61f_0.conda sha256: ae54cdc415a16054bbe41d256a7725b5bc493e26dfff5e27245f0b0ac878c9d5 md5: eb7fc152a9a671b2d1ccdf0d93b9d25a @@ -13612,18 +12612,6 @@ packages: run_exports: {} size: 12095 timestamp: 1761043917282 -- conda: https://conda.anaconda.org/conda-forge/win-64/bullet-3.25-h89c1679_5.conda - sha256: a192ac8e147f0491e5d60335d7f39b3024a6697f58090b04530fe1cebd089bb7 - md5: 257bfec058705df523a02a5ff6ad66ab - depends: - - bullet-cpp 3.25 hd8fd7ce_5 - - numpy - - pybullet 3.25 py314hcfc7f4e_5 - - python - license: Zlib - run_exports: {} - size: 12096 - timestamp: 1761045675485 - conda: https://conda.anaconda.org/conda-forge/win-64/bullet-cpp-3.25-hc128f0a_5.conda sha256: f622f660ddcebd63614f13e46af165361d88bb60c154092f3f0655b47bce8501 md5: c99dd819d6c0b58284f0e6a93c616354 @@ -13639,21 +12627,6 @@ packages: - bullet-cpp >=3.25,<3.26.0a0 size: 16335293 timestamp: 1761043366908 -- conda: https://conda.anaconda.org/conda-forge/win-64/bullet-cpp-3.25-hd8fd7ce_5.conda - sha256: f4d6837ab3d7fe34ce9416092f74c6abbe29dca6cef189d7576b9cea49e0dd9c - md5: 4e0a031449e546f4a72e14ba7dbec17f - depends: - - numpy >=1.23,<3 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Zlib - run_exports: - weak: - - bullet-cpp >=3.25,<3.26.0a0 - size: 16335799 - timestamp: 1761045126666 - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda sha256: 04767466ee9227c9c57ab2c6503e0149177d34111c7418d2f420297acb1eb229 md5: c3301c058362f340100d91cd8be0393f @@ -13706,21 +12679,6 @@ packages: run_exports: {} size: 344044 timestamp: 1788485380019 -- conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.1.1-py314h5a2d7ad_3.conda - sha256: 400e8869acc3e5a0633b9a8ccd6695ce8d36b63675708b8d3f5e1c018406ef6a - md5: 178930300441541491ece1cae80240b9 - depends: - - pycparser - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - run_exports: {} - size: 347452 - timestamp: 1788485352441 - conda: https://conda.anaconda.org/conda-forge/win-64/cmake-4.4.4-hde52c71_0.conda sha256: 159c0e80f733a4ebcd24a9bf7fa6ad848a8e1c6ac441d5f2f63bafcfdff176ce md5: 8a2288d93af982987191a1e778de756e @@ -13739,46 +12697,6 @@ packages: run_exports: {} size: 17932458 timestamp: 1791001114890 -- conda: https://conda.anaconda.org/conda-forge/win-64/colcon-common-extensions-0.3.0-py312h209ec74_5.conda - sha256: 80d89ef3cae37cc27c1747a5ff4db7d4bd17ac9bd06ee6e59d66c691054e6663 - md5: 9b935e48e0dc6034895eb07ebef6e5b4 - depends: - - python - - colcon-cmake - - colcon-core - - colcon-defaults - - colcon-devtools - - colcon-library-path - - colcon-metadata - - colcon-notification - - colcon-output - - colcon-package-information - - colcon-package-selection - - colcon-parallel-executor - - colcon-powershell - - colcon-python-setup-py - - colcon-recursive-crawl - - colcon-ros - - colcon-test-result - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 16916 - timestamp: 1789827897150 -- conda: https://conda.anaconda.org/conda-forge/win-64/colcon-notification-0.3.3-py312h680a3fa_0.conda - sha256: 9818b499f77d14c4eb25d8fcaba5b6be695514706fb20f7aa6962612c9fcf4fc - md5: dc2ff38d5417c15ee3c693ad7730718b - depends: - - colcon-core >=0.21.3 - - python - - pywin32 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 82139 - timestamp: 1790256320738 - conda: https://conda.anaconda.org/conda-forge/win-64/console_bridge-1.0.2-h5362a0b_1.tar.bz2 sha256: 15dd8cd1735c9405ad04d9881c15650fb98bf8e71e5675e98898184e4a731ec6 md5: 47acc5c1cb921914270dd9fe47ac30db @@ -13792,20 +12710,6 @@ packages: - console_bridge >=1.0.2,<1.1.0a0 size: 24540 timestamp: 1648913342231 -- conda: https://conda.anaconda.org/conda-forge/win-64/coverage-7.16.2-py312h6fa65f5_0.conda - sha256: 8d8edf1532860638d64212c92cb5716c2b1ada939bee176156aabbb9e04b953a - md5: f65842dafb65736cf2b547db61cf508f - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 443957 - timestamp: 1790542151689 - conda: https://conda.anaconda.org/conda-forge/win-64/cppcheck-2.22.0-py312h9df87ca_1.conda sha256: 8fb0af442372774951b50795653788bb90c1267e2506d497d8e29818e0fc5f2d md5: 6b183eb8ab6c9a43eb463832237dad87 @@ -14013,14 +12917,14 @@ packages: run_exports: {} size: 120811595 timestamp: 1790670301694 -- conda: https://conda.anaconda.org/conda-forge/win-64/git-lfs-3.8.0-ha70c05e_0.conda - sha256: 2bae1e0102e8a3fd1af9afe6d771615e5e5ff85abe4735fa30f138a1d408014a - md5: b663009cd26c5f7f9fe4f6e94834784b +- conda: https://conda.anaconda.org/conda-forge/win-64/git-lfs-3.8.1-ha70c05e_0.conda + sha256: 3111a1de58aa5699d7b0222f1bd5df0f55f398ae428a72c160d24e5a9e3bf452 + md5: 2d5b0576d02290c9e02fb459861d939b license: MIT license_family: MIT run_exports: {} - size: 4736189 - timestamp: 1787873863303 + size: 4947825 + timestamp: 1792702162471 - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.90.1-h6e26cc4_0.conda sha256: 6cf755b2dbd9500c4e53a3f58cef0899c81fac0860a354bb74e73595f9e234d7 md5: 7c15230f51e46cafc6319f79183e715e @@ -14253,24 +13157,25 @@ packages: - libcblas >=3.11.0,<4.0a0 size: 67465 timestamp: 1789061353350 -- conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-23.1.3-default_hacd6ee9_1.conda - sha256: cf7b1c29623ad6c8d14bb4e7945c23c410d75c96b4affdd833169903b5c41ad1 - md5: 991d2c1d91be22fe5524d64704862308 +- conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-23.1.4-default_hacd6ee9_0.conda + sha256: b28082c653294df3d6ea1bb3933200d3d6b2bce97f149f1a7335cccb6f8c3e21 + md5: 9bc5538d850d19f795ac33894a309b20 depends: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - llvm-openmp >=23.1.3 + - llvm-openmp >=23.1.4 + - libzlib >=1.3.2,<2.0a0 - zstd >=1.5.7,<1.6.0a0 - libxml2 - libxml2-16 >=2.15.4 - - libzlib >=1.3.2,<2.0a0 license: Apache-2.0 WITH LLVM-exception + license_family: APACHE run_exports: weak: - - libclang13 >=23.1.3 - size: 37502094 - timestamp: 1791933730900 + - libclang13 >=23.1.4 + size: 37503466 + timestamp: 1792647605262 - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.23.0-hdb0ef4a_0.conda sha256: d3088e1fd049fe0c1905ba6174e77279ddb4817739a204aaf4bd31d59d38ea6a md5: 6c87d16ec0db964b4bcc4102ff8bba9b @@ -14303,20 +13208,20 @@ packages: - libdeflate >=1.25,<1.26.0a0 size: 157828 timestamp: 1785908793271 -- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.5-hac47afa_0.conda - sha256: 70c73d9fd24ad996f2821d1501adae2ca70984b4e2d8faed76227f348ce86078 - md5: 4969128c45f9e71adbb6a1696679ce7f +- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.9.0-hac47afa_0.conda + sha256: d4a8e5aac8999a90cd71aa6f9f5c40d8594ed2b89cd7f898f997767ecc6cd52d + md5: 74ac404611024dc488ae71cfb7a5bf8f depends: - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 constrains: - - expat 2.8.5.* + - expat 2.9.0.* license: MIT license_family: MIT run_exports: {} - size: 72107 - timestamp: 1790346254561 + size: 72983 + timestamp: 1793054271728 - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda sha256: 613e8077c5cca5df7fe84ade7d5050301bee3c6c4c450ffe61d34a349ab4f11c md5: ceb38b0ba900847d8da4289c3c8e5708 @@ -14431,27 +13336,6 @@ packages: - libgomp >=16.2.0 size: 688609 timestamp: 1790304345963 -- conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.6.0-h03b5201_2.conda - sha256: da91b4b5e9141b2d507d78d1e6bced541174f059eba82316d48d035c3a67da51 - md5: 8b64e45e9d75287fb75c580bd4d433d3 - depends: - - cairo >=1.18.6,<2.0a0 - - graphite2 >=1.3.15,<2.0a0 - - icu >=78.3,<79.0a0 - - libexpat >=2.8.5,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libglib >=2.90.1,<3.0a0 - - libpng >=1.6.59,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - run_exports: {} - size: 1144229 - timestamp: 1791900872614 - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-15.0.0-h03b5201_0.conda sha256: 28c321e6e5dcea4ed9e8e3f4fccc1627fdc631ee26bde4623c10317c1b3e7eca md5: 0f6a7ad23a5e26d22c9d4f4846e18166 @@ -14754,18 +13638,17 @@ packages: - libpsl >=0.23.1,<0.24.0a0 size: 73511 timestamp: 1786970749988 -- conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.15-hfb4101e_2_cpython.conda - build_number: 2 - sha256: 1b0a0afd12f3b4c207cd8b03ed9a5e577adb761d3b1c46a3e5ae14f149ec49b5 - md5: 436ac63cfc19db379c2277abf142bf2d +- conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.16-hfb4101e_0_cpython.conda + sha256: dd208ae5026d15eb90763f6f41b26c502a52c66f77687fa7a8682b7ef33ffd5c + md5: 134d0d3f298ff8dde24757d46acfd71e depends: - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: Python-2.0 run_exports: {} - size: 47564 - timestamp: 1791909970395 + size: 47258 + timestamp: 1793014239570 - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.14.10-hc6187dd_100_cp314.conda build_number: 100 sha256: 4a2aca6cae2d615561aaab82dfced03de8646baf9971656d2e2d240fcd97e04d @@ -14791,22 +13674,9 @@ packages: - libsodium >=1.0.22,<1.0.23.0a0 size: 280822 timestamp: 1789425326114 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.0-hf5d6505_101.conda - sha256: 210405f21c300e72287281979bbb4be8a7aeb5f31329b8afffc6a1a2cae67427 - md5: d21c450f59e7c9d130ddd68cdbd6ac40 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: blessing - run_exports: - weak: - - libsqlite >=3.54.0,<4.0a0 - size: 1332874 - timestamp: 1791584300951 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.1-hf5d6505_100.conda - sha256: 046f8c344ecca3b1e6367a4304c6c15b4ca084789fe890c2f26740ff6012f6b2 - md5: 758d0e38ebd246c9eec68a91d86064cf +- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.1-hf5d6505_101.conda + sha256: 1f7ddd7d9383cf6ab6ee5a3a84e07a679a8539edc0ddd05fe476ff08142bf742 + md5: 3fd1cac4336c12f2fb5545a999d7e9b6 depends: - ucrt >=10.0.20348.0 - vc >=14.3,<15 @@ -14815,8 +13685,8 @@ packages: run_exports: weak: - libsqlite >=3.54.1,<4.0a0 - size: 1333763 - timestamp: 1792175621892 + size: 1333137 + timestamp: 1793051563198 - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h734d217_1.conda sha256: 1097b08429b4f53f5751a32c6d99a083d227ca7f7812c0b239eea124cec073a0 md5: a21dd9ca39e74910bb96989feb916420 @@ -14901,18 +13771,16 @@ packages: - libwebp-base >=1.6.0,<2.0a0 size: 278886 timestamp: 1785954716703 -- conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - sha256: 0fccf2d17026255b6e10ace1f191d0a2a18f2d65088fd02430be17c701f8ffe0 - md5: 8a86073cf3b343b87d03f41790d8b4e5 - depends: - - ucrt +- conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r688.g6b2176247.1-h57928b3_0.conda + sha256: bab5558663cb0e964988b859abd69d0f2380b6ea9f140495ab543e51af13635d + md5: a1b8ebbb78e979c42b2bdd97ad7756e0 constrains: - - pthreads-win32 <0.0a0 - msys2-conda-epoch <0.0a0 - license: MIT AND BSD-3-Clause-Clear + - pthreads-win32 <0.0a0 + license: MIT run_exports: {} - size: 36621 - timestamp: 1759768399557 + size: 34475 + timestamp: 1793054490651 - conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h874e120_2.conda sha256: f5932cbcadb67bef9374ee864fed72411af29e88690435c6c7fc5633c89dabee md5: 3658b0201b32da9607ea5e3c1c463c1f @@ -14984,20 +13852,6 @@ packages: - libxslt >=1.1.45,<2.0a0 size: 421402 timestamp: 1788534969422 -- conda: https://conda.anaconda.org/conda-forge/win-64/libzenohc-1.10.1-h7a25a18_0.conda - sha256: 9e2927485a28220d438f658786ecc50545c68466b72af7542efc56560a7ff4e7 - md5: ee608a92c520cb4ec599d838ba5f57d9 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zenoh-rust-abi >=1.10.1.1.97.1,<1.10.1.1.97.2.0a0 - license: Apache-2.0 OR EPL-2.0 - run_exports: - weak: - - libzenohc >=1.10.1,<1.10.2.0a0 - size: 4386351 - timestamp: 1790085548790 - conda: https://conda.anaconda.org/conda-forge/win-64/libzenohc-1.9.0-hcc20cc8_0.conda sha256: 0af6fa66e67a464479dbc9da6c122759cc9e64f72eeb9f20884fdb60cef1f1bc md5: b630584b7fe576683c795db80214c286 @@ -15028,22 +13882,6 @@ packages: - libzlib >=1.3.2,<2.0a0 size: 58529 timestamp: 1785276664143 -- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.3-h49e36cd_1.conda - sha256: 3eed860d303cff84c3ab771312ebb3e0b26ad10d92b38ed98a33f3bef7edd01b - md5: 9a59330f44f2ad04123dda3f6fcc7bd3 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - intel-openmp <0.0a0 - - openmp 23.1.3|23.1.3.* - license: Apache-2.0 WITH LLVM-exception - run_exports: - strong: - - llvm-openmp >=23.1.3 - size: 343582 - timestamp: 1791951366925 - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.4-h49e36cd_0.conda sha256: a3012ff7e6ec5e0a0a19ea8df76a504f3c2bea2d5b12a94f8aa5a50ac9eeab3c md5: 2674733d6b58428f90f7afb0132d4202 @@ -15078,23 +13916,6 @@ packages: run_exports: {} size: 1273740 timestamp: 1789036778093 -- conda: https://conda.anaconda.org/conda-forge/win-64/lxml-6.1.3-py314h3fc22ad_0.conda - sha256: 97f0956d8aede2221dd3b7daf42d80e693f8e906b55a46d2b03865dd8729b3a7 - md5: 188bc2ebac54e7f94a4334be9039e773 - depends: - - libxml2 - - libxml2-16 >=2.15.4 - - libxslt >=1.1.45,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause and MIT-CMU - run_exports: {} - size: 1275647 - timestamp: 1789036807920 - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py312hc3c93f3_2.conda sha256: 80c1c65884514cfaf5e99ea5c061df80c3937c5d207ff63f86c0c0e67156b157 md5: c6d0c91ffefa16947f35b597ed320a96 @@ -15111,22 +13932,6 @@ packages: run_exports: {} size: 45357 timestamp: 1789242301348 -- conda: https://conda.anaconda.org/conda-forge/win-64/lz4-4.4.5-py314hfc2a91f_2.conda - sha256: 4c55426b8a211fdd82419f6820f60bf816c2e05d7ab469cbbb55c27c08a1f874 - md5: 72402d1a04a41db6bc152c7ebf83ce2c - depends: - - python - - lz4-c - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - lz4-c >=1.10.0,<1.11.0a0 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - license_family: BSD - run_exports: {} - size: 46571 - timestamp: 1789242302501 - conda: https://conda.anaconda.org/conda-forge/win-64/lz4-c-1.10.0-h6a83c73_2.conda sha256: 6824e36be0f95ae516dc36dddd18f69cbad0e4e07906fcb10a5f26a8dc471903 md5: 3e0691cb20fcaf922df78ccea08b771a @@ -15255,30 +14060,6 @@ packages: - orocos-kdl >=1.5.4,<1.6.0a0 size: 1845585 timestamp: 1788266516739 -- conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.58.2-h13911b6_1.conda - sha256: 110d2731a105c0b9bd6396ad371401db90bd53179a283ff77f774872beb5bcd4 - md5: 7953b4cc0a7a47a0d91fa2e664269a0c - depends: - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.18.3,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.16,<2.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libglib >=2.88.3,<3.0a0 - - libharfbuzz >=14.4.0 - - libpng >=1.6.58,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LGPL-2.1-or-later - run_exports: - weak: - - pango >=1.58.2,<2.0a0 - size: 465040 - timestamp: 1788490491378 - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.58.2-h4350c2a_3.conda sha256: b82c512de9f014cd59904bc08c8d9f39af4381b8fd8424939ce32a4707ba1dfe md5: c4071e6e794e273385471c6bda8e9723 @@ -15360,20 +14141,6 @@ packages: run_exports: {} size: 242905 timestamp: 1789682050500 -- conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_3.conda - sha256: 9b1de4754d5fbc9e648f22be22cf9bc5eedad79d3d4d4f463a7570833ce258f2 - md5: fd7d8a4e777443b4d5cdf71a34e6a1e7 - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - license_family: BSD - run_exports: {} - size: 250040 - timestamp: 1789682043197 - conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-hfa92662_1004.conda sha256: 2418cf449df76b0da851cb59b7c826a9ade81914eaff799fbfd3f509ba1edf46 md5: fda2f9fedee1b85ba855ea26a9b6bbf8 @@ -15402,22 +14169,6 @@ packages: run_exports: {} size: 61964774 timestamp: 1761043848455 -- conda: https://conda.anaconda.org/conda-forge/win-64/pybullet-3.25-py314hcfc7f4e_5.conda - sha256: fa9e9b4f48ba5e59f1a20967f6c16237b2b590f61e55fed0ec5eb9e2ffde3719 - md5: 10e8b45c69f83851cee657566854377c - depends: - - bullet-cpp 3.25 hd8fd7ce_5 - - libzlib >=1.3.1,<2.0a0 - - numpy >=1.23,<3 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Zlib - run_exports: {} - size: 62046636 - timestamp: 1761045608261 - conda: https://conda.anaconda.org/conda-forge/win-64/pyqt-5.15.11-py312h7eb3e20_2.conda sha256: d1b35e95240d5eec77c04d7ce1812d18e75f6a91f8480639cf6091c2559776a0 md5: 799cdb70f231807e5b21ca9863d87d7c @@ -15454,28 +14205,16 @@ packages: run_exports: {} size: 75728 timestamp: 1759495764011 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyreadline3-3.5.6-py312h2e8e312_1.conda - sha256: d9f673fd7e097dafc4d49924832a82ffba4c4d2faf68cc600b9d9fc0ce456f65 - md5: 5b8eb79cc2e5764292eb42040e4cacf8 - depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - run_exports: {} - size: 172710 - timestamp: 1788638565840 -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.15-hb12b558_2_cpython.conda - build_number: 2 - sha256: 39d230c501c2c82a61689e5e3d2d88b84bcd85bc4f2e1429f6bc6264082ef958 - md5: cfd4a4bce81b68e249c4c0442a9c1a0d +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.16-hb12b558_0_cpython.conda + sha256: c51326f96259254d1f977d131b3bd9a366021f4c96cd3724e9c74ec56fc4983e + md5: bff3704491215f1058d97c08f80da001 depends: - bzip2 >=1.0.8,<2.0a0 - libexpat >=2.8.5,<3.0a0 - libffi >=3.7.0,<3.8.0a0 - liblzma >=5.8.3,<6.0a0 - - libpython 3.12.15 hfb4101e_2_cpython - - libsqlite >=3.54.0,<4.0a0 + - libpython 3.12.16 hfb4101e_0_cpython + - libsqlite >=3.54.1,<4.0a0 - libzlib >=1.3.2,<2.0a0 - openssl >=3.5.9,<4.0a0 - tk >=8.6.13,<8.7.0a0 @@ -15491,8 +14230,8 @@ packages: - python_abi 3.12.* *_cp312 noarch: - python - size: 15885151 - timestamp: 1791910062494 + size: 15868346 + timestamp: 1793014290652 - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.10-h53f6dd8_100_cp314.conda build_number: 100 sha256: c9f74f58f15bcd7571869903e43fa1e1bc3b60d9faf959f71979415f360a8281 @@ -15542,39 +14281,6 @@ packages: - python-orocos-kdl >=1.5.4,<1.6.0a0 size: 401950 timestamp: 1788266639224 -- conda: https://conda.anaconda.org/conda-forge/win-64/python-orocos-kdl-1.5.4-py314h13fbf68_0.conda - sha256: 6a66a2096c4bbafa762861ef0938ea16978e1a766ad39b91833753080a0cae67 - md5: 51e7d92cf781f2e035aad5e20fc28402 - depends: - - eigen - - orocos-kdl - - pybind11 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-or-later - license_family: LGPL - run_exports: - weak: - - python-orocos-kdl >=1.5.4,<1.6.0a0 - size: 403006 - timestamp: 1788266586766 -- conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py312h95189c4_2.conda - sha256: 60ef47866053b10e2174eac2cc391cf80d7060ec9af1f57aa05397b5953cc4fb - md5: 3e862f114987b14f1a179b6c8f2b4976 - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - license: PSF-2.0 - license_family: PSF - run_exports: {} - size: 4459739 - timestamp: 1789685718719 - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda sha256: 1cab6cbd6042b2a1d8ee4d6b4ec7f36637a41f57d2f5c5cf0c12b7c4ce6a62f6 md5: 9f6ebef672522cb9d9a6257215ca5743 @@ -15590,21 +14296,6 @@ packages: run_exports: {} size: 179738 timestamp: 1770223468771 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda - sha256: a2aff34027aa810ff36a190b75002d2ff6f9fbef71ec66e567616ac3a679d997 - md5: 0cd9b88826d0f8db142071eb830bce56 - depends: - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - yaml >=0.2.5,<0.3.0a0 - license: MIT - license_family: MIT - run_exports: {} - size: 181257 - timestamp: 1770223460931 - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.2.0-py312h343a6d4_2.conda noarch: python sha256: ca1357d0515a61ad5ac04ab9283ab7aa474ea469bc7547761045b04faae2bec8 @@ -15697,25 +14388,11 @@ packages: - spdlog >=1.17.0,<1.18.0a0 size: 174998 timestamp: 1785924400857 -- conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.54.0-hdb435a2_101.conda - sha256: 5b5cf2364b56ee4d75126d4b1f33cfb32e101343bedf18d2e7c91e524306e712 - md5: 96e4b98490ed888b4075784037585eed - depends: - - libsqlite 3.54.0 hf5d6505_101 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: blessing - run_exports: - weak: - - libsqlite >=3.54.0,<4.0a0 - size: 446508 - timestamp: 1791584303444 -- conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.54.1-hdb435a2_100.conda - sha256: 2d53f3042bf76a5eb84bfd422c1e0f7774b05dbb9cdb92452be7342c9f10596f - md5: 77edb28bf1a704b7b6f30023d07d39ed +- conda: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.54.1-hdb435a2_101.conda + sha256: 85a65ea6663d9c52daaab3e6090429b716298add9b5f77f8b4d9640bf4074869 + md5: 28476a29e87ce5edb991774a687b5166 depends: - - libsqlite 3.54.1 hf5d6505_100 + - libsqlite 3.54.1 hf5d6505_101 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 @@ -15723,8 +14400,8 @@ packages: run_exports: weak: - libsqlite >=3.54.1,<4.0a0 - size: 446694 - timestamp: 1792175626028 + size: 446461 + timestamp: 1793051566575 - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.1.0-h272cf33_2.conda sha256: 65f5a52eb5250ca0d627e6958e703583dca008988695284fc2181b3a0a790efd md5: 83371bd3f796b3c2d3f0436692d3ea73 @@ -15786,24 +14463,6 @@ packages: run_exports: {} size: 486227 timestamp: 1779015717704 -- conda: https://conda.anaconda.org/conda-forge/win-64/urdfdom-6.0.1-h37f4996_0.conda - sha256: 91a71ee48db979ee4d494b0668c725603b1febd12d628f5c530da9e1ca564ff9 - md5: 7c66ebdc8813a4997d8c36d70f127c9a - depends: - - urdfdom_headers >=3.0.1,<4.0a0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - tinyxml2 >=11.0.0,<11.1.0a0 - - console_bridge >=1.0.2,<1.1.0a0 - license: BSD-3-Clause - license_family: BSD - run_exports: - weak: - - urdfdom_headers >=3.0.1,<4.0a0 - - urdfdom >=6.0.1,<7.0a0 - size: 100897 - timestamp: 1787009836189 - conda: https://conda.anaconda.org/conda-forge/win-64/urdfdom-6.0.2-h37f4996_0.conda sha256: 61a1cc2e47957b9f21827d807eb9523136a496bdb343ef00d5ff2f570d701ef0 md5: 6d91debdb40f612736e709f26bcc1186 @@ -15834,6 +14493,18 @@ packages: run_exports: {} size: 20090 timestamp: 1787006296934 +- conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.13.5-hf7a7c96_0.conda + sha256: c9fb87a2ab0af5834973ae2abccbabfd42fbc69dc6ed3ab71c6f221a57b32724 + md5: 616630f7ae33e7e1dd4794f5932032d4 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 OR MIT + run_exports: {} + size: 13387537 + timestamp: 1792672517235 - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda sha256: 35444c55a92e2f7f7ba26bc70f81e56e52344f7d064c0fd4b40a46a58517b79c md5: aa805b5522c2a98fa286e551a1f48546 @@ -15901,9 +14572,9 @@ packages: - ucrt >=10.0.20348.0 size: 25462 timestamp: 1785358620723 -- conda: https://conda.anaconda.org/conda-forge/win-64/websockets-17.2-py312h5247d40_0.conda - sha256: 156a91782772bf14e01cdd88e3a941b9b0c64d7498f23f98b7d7435c31d74109 - md5: 99620d4becc11efac9b6553506d8ebae +- conda: https://conda.anaconda.org/conda-forge/win-64/websockets-17.3-py312h5247d40_0.conda + sha256: e8f05d398eca8dcaa75a573040502af03c219b90a9187a064c8203b6cc6f7f11 + md5: a1f1125ec8f147436f374d681ed281d0 depends: - python - vc >=14.3,<15 @@ -15913,22 +14584,8 @@ packages: license: BSD-3-Clause license_family: BSD run_exports: {} - size: 467939 - timestamp: 1791057460176 -- conda: https://conda.anaconda.org/conda-forge/win-64/websockets-17.3-py314h13f4da2_0.conda - sha256: 6052282af7f75b1d7d56d0b399750c180d16afe0b48f4baaa9646bda90464e84 - md5: bb41f348775a6fce6cdfc520b84cdf41 - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - license_family: BSD - run_exports: {} - size: 498844 - timestamp: 1792452241542 + size: 469629 + timestamp: 1792452247660 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libice-1.1.2-hd74fcf3_0.conda sha256: 85832f409756e78d6d0a92756cd5463fa253219041e40a681d5e8d4c9d21ec8b md5: a1629a20e5b128c4512b80a93bb1ae55 @@ -15959,21 +14616,6 @@ packages: - xorg-libsm >=1.2.6,<2.0a0 size: 116838 timestamp: 1786545424783 -- conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.13-hfa52320_1.conda - sha256: 4f86b6f9e8bd76e219440be595bbd7aeba3fe9ad56e4f10c7b41dfd03fb9c3a6 - md5: 369df5999d1a5baf57b53fd892aafc7e - depends: - - libgcc >=14 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - - libxcb >=1.17.0,<2.0a0 - - ucrt >=10.0.20348.0 - license: MIT - license_family: MIT - run_exports: - weak: - - xorg-libx11 >=1.8.13,<2.0a0 - size: 954803 - timestamp: 1787087422301 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libx11-1.8.14-h2496537_0.conda sha256: 4c47bbba495fe90f8e9caeace21e1276aaaec60a692d336b2306ee061a412898 md5: 4f3be0be0c51683947fd1ed956bc66c1 @@ -16032,23 +14674,6 @@ packages: - xorg-libxext >=1.3.7,<2.0a0 size: 288484 timestamp: 1787101089071 -- conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.19-hba3369d_0.conda - sha256: 1d3907533a6e26bb62f109a33107064e2140503a8076de5b28b384ef3e473d27 - md5: 39d8a6b9a87047c817e5881fc0706684 - depends: - - libgcc >=14 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - - ucrt >=10.0.20348.0 - - xorg-libx11 >=1.8.13,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - xorg-libxt >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - run_exports: - weak: - - xorg-libxpm >=3.5.19,<4.0a0 - size: 237565 - timestamp: 1776790287445 - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxpm-3.5.20-hfa92662_0.conda sha256: fbb1c3cdb72a8fc37d644690cf45949d33cbd85c819789dddd43ce4dac9670d5 md5: a732dc305e4c670b38e6fa95e8159ab7 @@ -16114,19 +14739,6 @@ packages: - yaml-cpp >=0.8.0,<0.9.0a0 size: 150033 timestamp: 1785924043282 -- conda: https://conda.anaconda.org/conda-forge/win-64/zenoh-rust-abi-1.10.1.1.97.1-py311h2ce373e_0.conda - sha256: 5507a2c73d0e31b9951bd7f8abedc9d94ca2d722dc5d307a654025f0a9f1cd4c - md5: 4b8f8aeac1db9859d6746a4eeb4ad8b3 - depends: - - vc >=14.5,<15 - - vc14_runtime >=14.51.36247 - - ucrt >=10.0.20348.0 - license: Apache-2.0 OR EPL-2.0 - run_exports: - weak: - - zenoh-rust-abi >=1.10.1.1.97.1,<1.10.1.1.97.2.0a0 - size: 49684 - timestamp: 1788819649158 - conda: https://conda.anaconda.org/conda-forge/win-64/zenoh-rust-abi-1.9.0.1.93.1-heb1d585_0.conda sha256: 5bd008b130765dec98cfc3840c716a53ab67605439e3f653c18da2158affda12 md5: 9966387c08f20c0531187c462380b6a3 @@ -16188,23 +14800,6 @@ packages: run_exports: {} size: 374682 timestamp: 1788604308360 -- conda: https://conda.anaconda.org/conda-forge/win-64/zstandard-0.25.0-py314hc5dbbe4_4.conda - sha256: 9c4207007a8fa0c105673778869eea29410eeac0fdc94b2b524564d509de3922 - md5: 53f5199adc1da5eaa67bf97a8e90867b - depends: - - python - - cffi >=1.11 - - zstd >=1.5.7,<1.5.8.0a0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - zstd >=1.5.7,<1.6.0a0 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - license_family: BSD - run_exports: {} - size: 380549 - timestamp: 1788604303151 - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda sha256: ca7daae4f218a11fab82cc2857f0ea518ec3f46acec60490485347a4c22c6b3e md5: e4ac308c39d6d0e131154976da67cf3b @@ -16227,6 +14822,14 @@ packages: - ros2-ament-cmake ==2.5.6 size: 2025 timestamp: 1791428285194 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.6-hb0f4dca_27.conda + sha256: c2c2e3a1e3fc5a57aa8536b79d94e22c2f0e2c7ec21428d218dce0bbe8215077 + md5: 3546819e1f00e545a8d37bcd96838632 + depends: + - ros2-ament-cmake ==2.5.6 + - ros2-distro-mutex 0.20.* jazzy_* + size: 2067 + timestamp: 1792669339008 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-py-0.33.11-hb0f4dca_25.conda sha256: e46dbea494b1d4b7890e63a8e953292e1c262f883b0f9e9deace50cf14037663 md5: 46e6462433a7ebcd47aac2e0235eed90 @@ -16234,14 +14837,6 @@ packages: - ros2-demo-nodes-py ==0.33.11 size: 2045 timestamp: 1791433832043 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-py-0.33.11-hb0f4dca_27.conda - sha256: c0f842f288fd0c4f7c65e69c4d5c4d73c78135247856093cc1b26b9af701ffe6 - md5: 454f57394ad621b12d8ad1ed5f4cd552 - depends: - - ros2-demo-nodes-py ==0.33.11 - - ros2-distro-mutex 0.20.* jazzy_* - size: 2086 - timestamp: 1792675408711 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-foxglove-bridge-3.6.0-hb0f4dca_25.conda sha256: 20ea44e90d7cae768c7caabd10049ef28accbca3ccf62eb38141e0d92b08e811 md5: 8d7e361c89470619fc85cf202e273dc4 @@ -16249,6 +14844,13 @@ packages: - ros2-foxglove-bridge ==3.6.0 size: 2047 timestamp: 1791441583937 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclpy-7.1.12-hb0f4dca_25.conda + sha256: 0ebb5efce7fa7a21af27dd7c7a506947714d8fc4cdba8242122c0152401fe642 + md5: a739593ec49447ea204b667a5bfa38f5 + depends: + - ros2-rclpy ==7.1.12 + size: 2003 + timestamp: 1791433293759 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-hb0f4dca_25.conda sha256: 813d8468998f632975328dd866b7a9a4121c491d79ef1a75bcf806ee20416eff md5: 342c741ee7f06dfa8038817dc6f8ffaa @@ -16256,14 +14858,6 @@ packages: - ros2-rmw-zenoh-cpp ==0.2.11 size: 2039 timestamp: 1791431858210 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-hb0f4dca_27.conda - sha256: 3cfe1b65245ba57901e1b5a18fb42063781e1b9519c493c99de28080f7295cf1 - md5: 74fa43a7e7168881a247c58b51d2c4b1 - depends: - - ros2-rmw-zenoh-cpp ==0.2.11 - - ros2-distro-mutex 0.20.* jazzy_* - size: 2084 - timestamp: 1792673190432 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-base-0.11.0-hb0f4dca_25.conda sha256: 288cb770fc03de7618b21701634ad417925b0e99fcb36d1d3c1bbbf4d436852c md5: e9329c044f906aa49b164423973124bc @@ -16271,14 +14865,6 @@ packages: - ros2-ros-base ==0.11.0 size: 2020 timestamp: 1791447966743 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-base-0.11.0-hb0f4dca_27.conda - sha256: ac10519268945bc7e12bf1cdd47d7a90e59c19570f6f3a8e3fc0222af84c9670 - md5: c2132545ff4cd9a322b4511441fa98e0 - depends: - - ros2-ros-base ==0.11.0 - - ros2-distro-mutex 0.20.* jazzy_* - size: 2061 - timestamp: 1792689848973 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-environment-4.2.1-hb0f4dca_25.conda sha256: 39a63bf1bfc355a9d1e75bc27b49928b09ba36ffb731fc5ec2cefffa9d1454e9 md5: 010f3e37748d784959ec740cd1e26af5 @@ -16293,6 +14879,14 @@ packages: - ros2-ros-workspace ==1.0.3 size: 2033 timestamp: 1791427416958 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-workspace-1.0.3-hb0f4dca_27.conda + sha256: 0feeb0569461d459953bb123b3dc6432bb7f4c3aaa0faa2c27288ce3b54c197a + md5: dc219e284b6ac2ae6e55e28a3c684d65 + depends: + - ros2-ros-workspace ==1.0.3 + - ros2-distro-mutex 0.20.* jazzy_* + size: 2076 + timestamp: 1792668361851 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-py-0.26.11-hb0f4dca_25.conda sha256: 4fb21cb67187e54db95a13cbd6511012a5d7ff5d2ab2971e1799c563e57fe913 md5: 73b53e06be31639cd17231dc9d08ca98 @@ -16300,14 +14894,6 @@ packages: - ros2-rosbag2-py ==0.26.11 size: 2033 timestamp: 1791443879107 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-py-0.26.11-hb0f4dca_27.conda - sha256: 46e36fceaf8ae281b581afff35625964b7f670face8bfef1711222f503c4ac23 - md5: dcdad9e56447e7ebda3166e142221c30 - depends: - - ros2-rosbag2-py ==0.26.11 - - ros2-distro-mutex 0.20.* jazzy_* - size: 2079 - timestamp: 1792686534489 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-hb0f4dca_25.conda sha256: 3e4210df7342bf046c171ad4ae89d31044014f603a9a3296bb4529f863fd4dd7 md5: 20b0f027d9dc7b1cfb099c07e41e12e8 @@ -16315,14 +14901,6 @@ packages: - ros2-rosbag2-storage-mcap ==0.26.11 size: 2077 timestamp: 1791437063895 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-hb0f4dca_27.conda - sha256: 9ba8211d291deb727638470119cf295fa03754c198b36804312e629d64365af6 - md5: 953ffc064565d53c53a765fbf20eee5b - depends: - - ros2-rosbag2-storage-mcap ==0.26.11 - - ros2-distro-mutex 0.20.* jazzy_* - size: 2123 - timestamp: 1792678794524 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.1-hb0f4dca_25.conda sha256: 9f1c7b635304749eae1a45e602d1e032638d4da08dd21047422e1fbfdc7b5305 md5: 4b55f61a19d78f6420cc1bef289f1c02 @@ -16330,6 +14908,14 @@ packages: - ros2-rosidl-default-generators ==1.6.1 size: 2085 timestamp: 1791432152141 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.1-hb0f4dca_27.conda + sha256: 777e5a7defca8995b0edde9d1d9f42ecd06c8cf740a9343170cb2125d3ed32ef + md5: 37a2b8d579c637bcaad59a14dae0999a + depends: + - ros2-rosidl-default-generators ==1.6.1 + - ros2-distro-mutex 0.20.* jazzy_* + size: 2131 + timestamp: 1792673555662 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-runtime-1.6.1-hb0f4dca_25.conda sha256: fad51ef4afc1c5a4d75ed0d8ad480026ebb0ce3e3e5eccae562494d65d259c64 md5: a57d5bcc099402f22c5f7e96f1be5601 @@ -16337,14 +14923,13 @@ packages: - ros2-rosidl-default-runtime ==1.6.1 size: 2069 timestamp: 1791432152018 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-runtime-1.6.1-hb0f4dca_27.conda - sha256: 12c95c3ce835d4fd04c810614f993ce63032dd2db533cbfcbace5a73bec9303a - md5: 735fc091f5d5511784aa8cc21842d42b +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-py-0.13.2-hb0f4dca_25.conda + sha256: 3e6e6fe422eef0cdbe7841ec9b45a7b6ae4fd2f5437eb0af5789805ec158ba91 + md5: 5faa797c33455b4be9b4dba34ef46eed depends: - - ros2-rosidl-default-runtime ==1.6.1 - - ros2-distro-mutex 0.20.* jazzy_* - size: 2115 - timestamp: 1792673555542 + - ros2-rosidl-runtime-py ==0.13.2 + size: 2060 + timestamp: 1791433864710 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-console-2.2.2-hb0f4dca_25.conda sha256: d39ff38788eab96bc449017250dec47091287186d9c6b7d8c9d2383162d8e24e md5: 84a17032eda6a09eaa3b8e3ec5aa4130 @@ -16366,6 +14951,13 @@ packages: - ros2-rqt-topic ==1.7.5 size: 2012 timestamp: 1791435394044 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-std-msgs-5.3.8-hb0f4dca_25.conda + sha256: 243910d9dbf7343d6ca048c974b6f91b89d48bd7991e0ac5436d17f5f7853735 + md5: bf7f66bbc600707b2bb165312f6c8b63 + depends: + - ros2-std-msgs ==5.3.8 + size: 2012 + timestamp: 1791433611635 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py312h1bab3cf_25.conda sha256: 8ca78dd5ec6bb7e6986c1d3259aea9b914ca4c7a6876ead8cd37998796e2d5bd md5: 5a21fc1c2c8695fd34dfa4831babb9af @@ -16425,25 +15017,6 @@ packages: license: Apache-2.0 size: 116055 timestamp: 1791433524700 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-actionlib-msgs-5.3.8-np2py314h53a0733_27.conda - sha256: 85ecbd677821533239d2ce19dbfb88ecd7f7e810bc62cbaf67bc62ca6a16dd52 - md5: 1c4ddfc6b450e5285734c8d9b9edf9f4 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 116921 - timestamp: 1792675053566 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py312h1bab3cf_25.conda sha256: 8cf9f02ba9bfc85970dd2c58f45ac268e125e6b336d9f1a50f853b187c32d30f md5: 595679057b9b830cb0728fa9c6f79317 @@ -16525,25 +15098,6 @@ packages: license: Apache-2.0 size: 27789 timestamp: 1791428344501 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-auto-2.5.6-np2py314h53a0733_27.conda - sha256: 6ec1200f1e994f42fce5d919a941197e879c1cf6507297bb7fb5859564164ba0 - md5: a9de9431aebd130d4f0b73e23781a38f - depends: - - python - - ros2-ament-cmake - - ros2-ament-cmake-gmock - - ros2-ament-cmake-gtest - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 28417 - timestamp: 1792669403490 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-copyright-0.17.5-np2py312h1bab3cf_25.conda sha256: 7a4d46fd708017065f4b4fdfc0913bd3bb8136811ef3464fbd9d171b324bdced md5: 0d18bd6b0275f798e8c112c8d00c1675 @@ -16562,24 +15116,6 @@ packages: license: Apache-2.0 size: 23129 timestamp: 1791429245063 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-copyright-0.17.5-np2py314h53a0733_27.conda - sha256: 208e1aaa928ff8f76e3e06e5873e46a5694609c22774f6cb4277a09a40341324 - md5: 31a95677a9bdcfa05402323a1cd2d536 - depends: - - python - - ros2-ament-cmake-test - - ros2-ament-copyright - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 23671 - timestamp: 1792670402465 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-core-2.5.6-np2py312h1bab3cf_25.conda sha256: 4a78ffb7a5e622151e049f882836bafca7ba49934f6d09185295174ef629eebb md5: 401eb584cbcb0ef9b2d460e32e9deb52 @@ -17170,24 +15706,6 @@ packages: license: Apache-2.0 size: 22766 timestamp: 1791428284674 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-lint-cmake-0.17.5-np2py314h53a0733_27.conda - sha256: 126b9d56ed1f565be4f5061836b8c52066ee89c3751acef4f2efcec5ca8f9132 - md5: c08bd94f39b9b6cda0191c243784daf3 - depends: - - python - - ros2-ament-cmake-test - - ros2-ament-lint-cmake - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 23318 - timestamp: 1792669339533 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pep257-0.17.5-np2py312h1bab3cf_25.conda sha256: 9a503804281f75150804a427019d7b50a3560b10f45aa6b02300cba858e8ef69 md5: 2bcba4d0f47c37134362395556b13d96 @@ -17498,24 +16016,6 @@ packages: license: Apache-2.0 size: 23514 timestamp: 1791429484725 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-xmllint-0.17.5-np2py314h53a0733_27.conda - sha256: df3e341654b76098e62a8ef48504ac0e9f7cbb4cb6f99ec550d3d0efada2d068 - md5: 837d6a94862a5d6f40e66cf3185b3bfe - depends: - - python - - ros2-ament-cmake-test - - ros2-ament-xmllint - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 24099 - timestamp: 1792670619059 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-copyright-0.17.5-np2py312h1bab3cf_25.conda sha256: 0c679ed2df66ce87acc1fb39a24d879f6f0606da4c457ba6f6409129f04a5f57 md5: 94ada81d243ebc5cb97523c409d1a75c @@ -17534,24 +16034,6 @@ packages: license: Apache-2.0 size: 66632 timestamp: 1791427959449 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-copyright-0.17.5-np2py314h53a0733_27.conda - sha256: 6ffe86aeded5387e29638945c3cab099bc2740e8fcf6e6c57c91a9a57d8a65ea - md5: 8ddbadfc5838fdaa077f1c071c528a5c - depends: - - importlib-metadata - - python - - ros2-ament-lint - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 66915 - timestamp: 1792669033792 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cppcheck-0.17.5-np2py312h1bab3cf_25.conda sha256: db4f8a45beee23bbd1633059878824ac012dde814abe7f296c55c1ce7cae1624 md5: a24385c384c5ea3a39604bec06c0604b @@ -17680,22 +16162,6 @@ packages: license: Apache-2.0 size: 53375 timestamp: 1791430403454 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-cpp-1.8.4-np2py314h53a0733_27.conda - sha256: cc62b9b88a79568d4beb5aad7635c2aaf6fb959963a2c705d6e635c937a37820 - md5: 3b87fb0b225b77d7f409da84270becee - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 53854 - timestamp: 1792671455890 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-python-1.8.4-np2py312h1bab3cf_25.conda sha256: a1bdbdc53eaf6a46ff00530afe36987c5384daec7540abb4b3ffc2a6ff92dcbb md5: d754f9457b52aa3792dcffc9101b5e30 @@ -17778,24 +16244,6 @@ packages: license: Apache-2.0 size: 22430 timestamp: 1791427818790 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-auto-0.17.5-np2py314h53a0733_27.conda - sha256: a8675698219d64b8c92404671093927192c6ce67bbed71aeedf2e0dd1c320d47 - md5: 119a143d3c3a060d77e5bd0186215b65 - depends: - - python - - ros2-ament-cmake-core - - ros2-ament-cmake-test - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 22999 - timestamp: 1792668868126 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-cmake-0.17.5-np2py312h1bab3cf_25.conda sha256: af9abd3be91cacad7d34c452ec5d4d42184432312d95706d570dfd172b2bb567 md5: 888c6cef81a78bbb9627935b406c7a73 @@ -17812,50 +16260,9 @@ packages: license: Apache-2.0 size: 39589 timestamp: 1791428093067 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-cmake-0.17.5-np2py314h53a0733_27.conda - sha256: 6a5b7c5185e61f88b1b101db90f8259e01a2458e862854ea1e5527616e3beafc - md5: cbdff6a92b75196547a5ecb117436d6d - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 39885 - timestamp: 1792669154483 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-common-0.17.5-np2py312h1bab3cf_25.conda - sha256: d903394739fb76c7ee9aaba5f77608b9774b414e109a4c32c92ba01d543d63b7 - md5: d53f87181e0aa774da43093ea5d8b10f - depends: - - python - - ros2-ament-cmake-copyright - - ros2-ament-cmake-core - - ros2-ament-cmake-cppcheck - - ros2-ament-cmake-cpplint - - ros2-ament-cmake-flake8 - - ros2-ament-cmake-lint-cmake - - ros2-ament-cmake-pep257 - - ros2-ament-cmake-uncrustify - - ros2-ament-cmake-xmllint - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-ros-workspace - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 22711 - timestamp: 1791429635156 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-common-0.17.5-np2py314h53a0733_27.conda - sha256: da2c6567b88047a36c6640586869df644e98136871b3c11f6b958b2c07d66c78 - md5: 4fb60bda608e08adad072b5ab80e3e65 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-common-0.17.5-np2py312h1bab3cf_25.conda + sha256: d903394739fb76c7ee9aaba5f77608b9774b414e109a4c32c92ba01d543d63b7 + md5: d53f87181e0aa774da43093ea5d8b10f depends: - python - ros2-ament-cmake-copyright @@ -17867,17 +16274,17 @@ packages: - ros2-ament-cmake-pep257 - ros2-ament-cmake-uncrustify - ros2-ament-cmake-xmllint - - ros2-distro-mutex 0.20.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libgcc >=15 - libstdcxx >=15 + - libgcc >=15 - __glibc >=2.28,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 23283 - timestamp: 1792670782450 + size: 22711 + timestamp: 1791429635156 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-package-0.16.5-np2py312h1bab3cf_25.conda sha256: 1ed8622a03e1546f081c140f1382195b945da43e3c219de83071cfa4f2b55659 md5: f3adb90c00abdd5ade9e1e4911d7f29b @@ -18002,24 +16409,6 @@ packages: license: Apache-2.0 size: 31209 timestamp: 1791428119430 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-xmllint-0.17.5-np2py314h53a0733_27.conda - sha256: 0c97ab2569bfae009471d31951caac82ac9cb5510a85f16c3018393902bc2265 - md5: 3c4f34d96dc1e930f5bf057afc0391da - depends: - - libxml2 - - python - - ros2-ament-lint - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 31217 - timestamp: 1792669172860 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-builtin-interfaces-2.0.4-np2py312h1bab3cf_25.conda sha256: 7d0d21659905f2e00d90d4c5bbf8e4ace46073810112af9324321e153b3bd81a md5: cedddb6eb6f51a503531f7462425bf80 @@ -18074,26 +16463,6 @@ packages: license: BSD-3-Clause size: 75291 timestamp: 1791431167335 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-class-loader-2.7.1-np2py314hac0c0d2_27.conda - sha256: 72a18f5d333105d9036601ef834bb6dae92624c52347a50f5c56425b61481a88 - md5: b2dbb9ea343196a1cbb0faa8c44bdd8b - depends: - - console_bridge - - python - - ros2-console-bridge-vendor - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcpputils - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - console_bridge >=1.0.2,<1.1.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 75749 - timestamp: 1792672262848 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-common-interfaces-5.3.8-np2py312h1bab3cf_25.conda sha256: bfd6b4871dc19b5eba45f5d2a24d9990f04dca5c8d12cdda7da4763cb17a89e7 md5: c7b386590e45d0cc566a8e6a3c121e9c @@ -18122,34 +16491,6 @@ packages: license: Apache-2.0 size: 27300 timestamp: 1791435768933 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-common-interfaces-5.3.8-np2py314h53a0733_27.conda - sha256: 6c2a9d282a6a5284ad1fe87b1c1eadd18cde99cd912957d9d743ff221462a984 - md5: 6bea2a60cc87bd82313f2d863bcb9af6 - depends: - - python - - ros2-actionlib-msgs - - ros2-builtin-interfaces - - ros2-diagnostic-msgs - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-nav-msgs - - ros2-ros-workspace - - ros2-sensor-msgs - - ros2-shape-msgs - - ros2-std-msgs - - ros2-std-srvs - - ros2-stereo-msgs - - ros2-trajectory-msgs - - ros2-visualization-msgs - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 27819 - timestamp: 1792677375820 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-composition-interfaces-2.0.4-np2py312h1bab3cf_25.conda sha256: 8568300b111e7f2f4b21e95c2bef5685d2ac838679367dd22aaef6bf361caf19 md5: a38ff04801995f63a5b0029cdf601f25 @@ -18168,24 +16509,6 @@ packages: license: Apache-2.0 size: 229832 timestamp: 1791432875949 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-composition-interfaces-2.0.4-np2py314h53a0733_27.conda - sha256: 0875d03821ebd4656eb6adc72fd3e5b302a678066b3183597d665497a78853e1 - md5: 67ebec4792c3816e2473943b03b35e4d - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl-interfaces - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 231147 - timestamp: 1792674368904 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-console-bridge-vendor-1.7.2-np2py312hd81cb55_25.conda sha256: bfc2cb30caf542e02225a27d61c0699db3616a6939484004817b32fc73b56506 md5: d773a267d02a722db2af98f00332f0fb @@ -18204,24 +16527,6 @@ packages: license: Apache-2.0 OR BSD-3-Clause size: 28611 timestamp: 1791430620569 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-console-bridge-vendor-1.7.2-np2py314hac0c0d2_27.conda - sha256: 5b22bc7ecc6e09c0c728a5e5371dead2a7883d5d118fddd5eaa7592e6378a158 - md5: 2c51ded0873def9fd91161e1bb149b1b - depends: - - console_bridge - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - console_bridge >=1.0.2,<1.1.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 OR BSD-3-Clause - size: 29041 - timestamp: 1792671656450 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-cyclonedds-0.10.5-py312h79554f9_25.conda sha256: 70ae70779a100468d667a6b60b73e9de5f22bad3581237ebc8c7f32e1f42a64b md5: 5e11be3c940791e9abe9b52615cf0e74 @@ -18240,24 +16545,6 @@ packages: license: EPL-2.0 OR BSD-3-Clause size: 8560 timestamp: 1791427991851 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-cyclonedds-0.10.5-py314hd7f02ef_27.conda - sha256: 03d1f3c9c647e3aeb283b8f27c9b62aa7c3869f27b84f5254361d9a2bccee663 - md5: c40a6b7a0d1ec19146ab0738e0ae901f - depends: - - cyclonedds >=0.10.5,<0.11.0a0 - - openssl - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-iceoryx-binding-c - - ros2-iceoryx-hoofs - - ros2-iceoryx-posh - - ros2-ros-workspace - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - openssl >=3.5.9,<4.0a0 - license: EPL-2.0 OR BSD-3-Clause - size: 8321 - timestamp: 1792669052736 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-demo-nodes-py-0.33.11-np2py312h1bab3cf_25.conda sha256: 1daebe28f9621cb46aab0345c76f2d51f273e24be6a559ae6ac3ac552ebca29b md5: 8b9a754f0f46eeb6d1c93f8b65a500ae @@ -18279,27 +16566,6 @@ packages: license: Apache-2.0 size: 43304 timestamp: 1791433416770 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-demo-nodes-py-0.33.11-np2py314h53a0733_27.conda - sha256: 80bdf64c3f42aa34be3416c4553a2cbf1ea1cfbebabe85358653d89c0f696e18 - md5: 728b6852e4ea0b5cb412fa0258b29a71 - depends: - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-example-interfaces - - ros2-rcl-interfaces - - ros2-rclpy - - ros2-ros-workspace - - ros2-std-msgs - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 43716 - timestamp: 1792674965500 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-diagnostic-msgs-5.3.8-np2py312h1bab3cf_25.conda sha256: d20078c9b66749c16794335f795e692a8780dc86f01ce76321c226f9befe9b43 md5: 8838a5fa572d594550c559425ebe9d67 @@ -18320,47 +16586,15 @@ packages: license: Apache-2.0 size: 216938 timestamp: 1791434083316 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-diagnostic-msgs-5.3.8-np2py314h53a0733_27.conda - sha256: 0493580daa2348291c6b11a933b9f3b1ff5c3626e34bb97ece7731fd32c1b910 - md5: df65bcda8ef54b10854cd7981572304f - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 218216 - timestamp: 1792675652759 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_25.conda - sha256: 4a0cdf48580104631952cbe134d8924bee51a23e6bd960ea4c21f4d3377db759 - md5: d23640e308f6ca3ca577f47f0fc5b984 - constrains: - - libboost 1.90.* - - libboost-devel 1.90.* - - pcl 1.15.1.* - - gazebo 11.* - - libprotobuf 7.35.* - - libopenvino-tensorflow-frontend >=2026.3.0 - - libopencv >=5.0.0 - - py-opencv >=5.0.0 - - vtk 9.7.0.* - - ffmpeg 9.* - - libopenvino-tensorflow-lite-frontend >=2026.3.0,<2026.3.1.0a0 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_26.conda + sha256: 71a09a34052156739464d20af3b6950a084a8739570a8ecc018cf35b8fee90e8 + md5: 06dcf4d5858551eab7b9c6e0cd02e27f license: BSD-3-Clause run_exports: weak: - ros2-distro-mutex >=0.19.0,<0.20.0a0 - size: 2473 - timestamp: 1791427246196 + size: 2242 + timestamp: 1792621468056 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.20.0-jazzy_27.conda sha256: 35e8805bb8a75b2d64e490c25a2abdbc7b270a215b6f98758198cbf8fbc0386f md5: 5f2d8a0f248274b4f6bacd1f94f027b0 @@ -18415,22 +16649,6 @@ packages: license: Apache-2.0 size: 23918 timestamp: 1791429535213 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-eigen3-cmake-module-0.3.1-np2py314h53a0733_27.conda - sha256: a991150b4cf8c6e35117ea75465822e7279319fe3c928936fd262ff775d6da40 - md5: 2d8441762e227294a8f190eda4f83f77 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 24503 - timestamp: 1792670660667 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-example-interfaces-0.12.1-np2py312h1bab3cf_25.conda sha256: 0204f2e419de6d763da935c6d556009d75b498786636f0949f146d7d18e4fdf9 md5: 1006aecf82037359480ce16dbd7502e6 @@ -18448,23 +16666,6 @@ packages: license: Apache-2.0 size: 554344 timestamp: 1791432229051 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-example-interfaces-0.12.1-np2py314h53a0733_27.conda - sha256: 89c42fd2b741324090be1a20cd3a7b88f5e0717b68d4b64cb4a22d9169035a50 - md5: d0f99bdd632d9a199a7a46cabb1a5fe9 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 555356 - timestamp: 1792673665291 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastcdr-2.2.8-np2py312h1bab3cf_25.conda sha256: 60e6ebd0d6226f4a638cda994b6c653962e34f73aa53662e0f22d4e62c7345f3 md5: fc48ed71c2827b87faf72d1e802c38c5 @@ -18519,28 +16720,6 @@ packages: license: Apache-2.0 size: 4408943 timestamp: 1791430093866 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-2.14.7-np2py314h0ed7e73_27.conda - sha256: 3dc3e040c13eaf54664085f6ec6f4a0d6b802a37c347f0c90eb2f85b6ab77427 - md5: 2f37e20028f672e37a4831deede23cd3 - depends: - - openssl - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-fastcdr - - ros2-foonathan-memory-vendor - - ros2-ros-workspace - - tinyxml2 - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - numpy >=1.25,<3 - - tinyxml2 >=11.0.0,<11.1.0a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - openssl >=3.5.9,<4.0a0 - license: Apache-2.0 - size: 4409473 - timestamp: 1792671241081 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-cmake-module-3.6.4-np2py312h1bab3cf_25.conda sha256: ef82b60e774954ad49969cb44428eef49c4f71421a30566bf9c4da6660afa7bb md5: 266ac60c18019aa77748da8eef0b96ec @@ -18592,25 +16771,6 @@ packages: license: Apache-2.0 OR Zlib size: 19829 timestamp: 1791429651103 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-foonathan-memory-vendor-1.3.1-np2py314h53a0733_27.conda - sha256: d24cd0d41ae595e3dd617b333181720a8be9d01a709bd984b1c0626dda701562 - md5: addc72aded51acd5484a236970829837 - depends: - - foonathan-memory - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - cmake - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - foonathan-memory >=0.7.4,<0.7.5.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 OR Zlib - size: 20003 - timestamp: 1792670793970 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-foxglove-bridge-3.6.0-np2py312h1bab3cf_25.conda sha256: 870852c9e618c3eceb7b8692ebd9c2151d44183b921ca7272f1f70466a9ebaf9 md5: c7d0c0bf3e7405b0019a5a05560c716b @@ -18657,24 +16817,6 @@ packages: license: Apache-2.0 size: 403770 timestamp: 1791433397031 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-geometry-msgs-5.3.8-np2py314h53a0733_27.conda - sha256: 4a5c6b371620087b7652987509109c29d702059b4a5781382dd4500fd2715a02 - md5: 6baeabfbc506fb6968521c7a55be2345 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 404761 - timestamp: 1792674941482 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-geometry2-0.36.23-np2py312h1bab3cf_25.conda sha256: 60ef79f513008dd3e2ca8192694ec6b90e12f4df7711a750375f533e7d91a64d md5: ceb2f8100c7797cacd48c567c51a88a6 @@ -18702,33 +16844,6 @@ packages: license: BSD-3-Clause size: 22862 timestamp: 1791439184754 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-geometry2-0.36.23-np2py314h53a0733_27.conda - sha256: 069b9d21214896b2a34123ec86d461000d6c75defde3ae9228c2f08c25b96144 - md5: 48ddeb26d037895d085ffa6efbb866db - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-bullet - - ros2-tf2-eigen - - ros2-tf2-eigen-kdl - - ros2-tf2-geometry-msgs - - ros2-tf2-kdl - - ros2-tf2-msgs - - ros2-tf2-py - - ros2-tf2-ros - - ros2-tf2-sensor-msgs - - ros2-tf2-tools - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 23595 - timestamp: 1792681141310 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gmock-vendor-1.14.9000-np2py312h1bab3cf_25.conda sha256: 8ed4eb9721f1e4d528ba6c29bb19803515820679c29c0cc1ffdfb02cf3c14033 md5: 9dd439716e0f9aefd20f736c29bbb740 @@ -18808,19 +16923,6 @@ packages: license: Apache-2.0 size: 8216 timestamp: 1791427829209 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-iceoryx-binding-c-2.95.8-py314h02e3bbf_27.conda - sha256: 8c53398fc242003c67d0aa128321de958267f415aafdf11e16c2f14e8326a9ed - md5: 19d0566c6777cb6d9c0156e92999aa98 - depends: - - libiceoryx-binding-c >=2.95.8,<2.96.0a0 - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 7983 - timestamp: 1792668881593 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-iceoryx-hoofs-2.95.8-py312h24bf083_25.conda sha256: ec2ff9f135106d517f085e683ae6304d742328387e2dea92c4df03b313cbf565 md5: 1748e1c24cf36c5b4dfdafe7c3456ebf @@ -18836,21 +16938,6 @@ packages: license: Apache-2.0 size: 7608 timestamp: 1791427377176 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-iceoryx-hoofs-2.95.8-py314h02e3bbf_27.conda - sha256: a775f4f140d3460399a3a7c13707b6645f178e56e1f101f8e919399490b80e16 - md5: d1ca726e81072156d2b0d50ab023591b - depends: - - libacl - - libiceoryx-hoofs >=2.95.8,<2.96.0a0 - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - libacl >=2.4.0,<2.5.0a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 7394 - timestamp: 1792668330316 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-iceoryx-posh-2.95.8-py312h24bf083_25.conda sha256: a3f6519474862d1ccf722cbce6b895eb89313814b5cbe851abbe708215e3f276 md5: 8c0f4b576e6f5be6f618e273b2cec572 @@ -18859,26 +16946,12 @@ packages: - python - ros2-distro-mutex 0.19.* jazzy_* - ros2-iceoryx-hoofs - - ros2-ros-workspace - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: Apache-2.0 - size: 9826 - timestamp: 1791427534205 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-iceoryx-posh-2.95.8-py314h02e3bbf_27.conda - sha256: 55470129f2e0052bfef482fd9cafe71365cd7bf5b83b7e91c0cba159a8114e80 - md5: 656f10752e24ce5aace94adf2540c753 - depends: - - libiceoryx-posh >=2.95.8,<2.96.0a0 - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-iceoryx-hoofs - - ros2-ros-workspace - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - ros2-ros-workspace + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 9778 - timestamp: 1792668473819 + size: 9826 + timestamp: 1791427534205 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-kdl-parser-2.11.0-np2py312h1bab3cf_25.conda sha256: 7cd8d0b46b45a9880d4588caff815ced8f3498e3b0e9e34ec0ffa43b181724e9 md5: 79ce1bbad0f8e31f7c7757bc0ad0d887 @@ -18899,26 +16972,6 @@ packages: license: BSD-3-Clause size: 48089 timestamp: 1791431662759 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-kdl-parser-2.11.0-np2py314h53a0733_27.conda - sha256: 5708c862ad1f1abf8795d55068ade3bcf1a6fe6ef00bffc3bb4e46bf689d1e1e - md5: ff0cf1105a95eef89050be2c3f777974 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-orocos-kdl-vendor - - ros2-rcutils - - ros2-ros-workspace - - ros2-urdf - - ros2-urdfdom-headers - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 48654 - timestamp: 1792672930778 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-keyboard-handler-0.3.2-np2py312h1bab3cf_25.conda sha256: a1e787d985c1c2fa2835579cf4ca4e81abb0575b62e807922e0e6081e0c4113f md5: de533d741012224bc215340032e4f89b @@ -18935,22 +16988,6 @@ packages: license: Apache-2.0 size: 56948 timestamp: 1791430473628 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-keyboard-handler-0.3.2-np2py314h53a0733_27.conda - sha256: 753823b6131dda27878a20de9c6e6f48df753a5c47d3df26534f1a64ba673559 - md5: 0e54da745859e551bf5e2ad3f84f111c - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 57423 - timestamp: 1792671512575 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-3.4.12-np2py312h1bab3cf_25.conda sha256: d8dda6e84d5b83d0d16dd2d5e02122e93d298af19bd06d9ffc617b12d41226c2 md5: 7597b9d3587f97ed5d77b2c357b133d8 @@ -18972,27 +17009,6 @@ packages: license: Apache-2.0 size: 235315 timestamp: 1791428306081 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-3.4.12-np2py314h53a0733_27.conda - sha256: 4abc3b7e8178aaefb4714e483a1aa083cedb3c5cf2d2b448eee69f2761369611 - md5: be67d88baeb562f71b92e34b54d8f489 - depends: - - importlib-metadata - - lark-parser - - python - - pyyaml - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-osrf-pycommon - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 252335 - timestamp: 1792669356616 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-ros-0.26.13-np2py312h1bab3cf_25.conda sha256: c191cf456074b88b60ebdc48e2bbc9b1ee845f539591c2edd3a583f63896fde7 md5: 92ddc3a9c1d0f4a9e8ad715845ff6165 @@ -19017,30 +17033,6 @@ packages: license: Apache-2.0 size: 129503 timestamp: 1791433274050 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-ros-0.26.13-np2py314h53a0733_27.conda - sha256: eb51a414fabe6b31b568da8ad95a301f6adce1fbe919665fa15ee67d31c534c2 - md5: 579668ec8ffd721eaa809c4e08f2359a - depends: - - importlib-metadata - - python - - pyyaml - - ros2-ament-index-python - - ros2-composition-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch - - ros2-lifecycle-msgs - - ros2-osrf-pycommon - - ros2-rclpy - - ros2-ros-workspace - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 135605 - timestamp: 1792674817238 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-testing-3.4.12-np2py312h1bab3cf_25.conda sha256: cc7815f7de8ddf0bcef071abb96d6d37b1a54b0c3cbe8424e4a797f5508bfa3c md5: a856281f5ecc956f99b68c4dd2f4d940 @@ -19063,28 +17055,6 @@ packages: license: Apache-2.0 size: 116967 timestamp: 1791429528171 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-testing-3.4.12-np2py314h53a0733_27.conda - sha256: 038b072d9f8fd3067dc037d54bf2600bac8d46e12606bfcd1a9c40fd84292cef - md5: 0a26a40b422a9b96768c2bd267461f28 - depends: - - pytest - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch - - ros2-launch-xml - - ros2-launch-yaml - - ros2-osrf-pycommon - - ros2-ros-workspace - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 119700 - timestamp: 1792670654818 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-testing-ament-cmake-3.4.12-np2py312h1bab3cf_25.conda sha256: 5438e316e34d3b7b95931de97395004cee4f988182e3d0a336b7d77a1fef96dc md5: 17479e1c9d336450fabb7b5dba7c5117 @@ -19104,25 +17074,6 @@ packages: license: Apache-2.0 OR BSD-3-Clause size: 27621 timestamp: 1791430584246 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-testing-ament-cmake-3.4.12-np2py314h53a0733_27.conda - sha256: ba8f0972719a8f3863d07c3f987d2dda45b2d387c939b3af87feef2be4d7841c - md5: 6cd5401a8cb95e711d166a1fe8946ee6 - depends: - - python - - ros2-ament-cmake-test - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch-testing - - ros2-python-cmake-module - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 OR BSD-3-Clause - size: 28162 - timestamp: 1792671622358 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-testing-ros-0.26.13-np2py312h1bab3cf_25.conda sha256: f6cc4df07a2a3eeeac00813900e5c8817b6f574faf8bca5be1d0e3852a4cfe4f md5: 221e7c8fd6f8dcc0361e1039b9b917be @@ -19143,26 +17094,6 @@ packages: license: Apache-2.0 size: 56259 timestamp: 1791433452586 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-testing-ros-0.26.13-np2py314h53a0733_27.conda - sha256: 10d56e7580904eba29cf1048760aa4b136e338ff06d74c9d4210df4a1d2b60ca - md5: e7fb749e59c83fc05f11f5c66a599a33 - depends: - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch-ros - - ros2-launch-testing - - ros2-rclpy - - ros2-ros-workspace - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 57298 - timestamp: 1792674978564 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-xml-3.4.12-np2py312h1bab3cf_25.conda sha256: 02c8cbd270a07fd893a45c88a2c2f7672997552f58fdb0420798be1170513509 md5: 0f56bbc93306afe3b7fc2f00e28fd749 @@ -19180,23 +17111,6 @@ packages: license: Apache-2.0 size: 26212 timestamp: 1791429276607 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-xml-3.4.12-np2py314h53a0733_27.conda - sha256: b9ac7d1f8b331a7c5bef85d3116f825bb9785c0847d94ff47df2b2c6fe38032f - md5: 7acb43d0b2e956a3c49f96aeb01fc20e - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 26531 - timestamp: 1792670427974 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-yaml-3.4.12-np2py312h1bab3cf_25.conda sha256: 982ce740fddd18b968573fafaccedf9ca2fe1364aa1681307e01f3bc6286957b md5: e8c7c81836728cc32e27d94c0d7806b0 @@ -19214,23 +17128,6 @@ packages: license: Apache-2.0 size: 26809 timestamp: 1791429267662 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-launch-yaml-3.4.12-np2py314h53a0733_27.conda - sha256: d5a0d16fd191b2af75534cc6129466d88ffdd65e20ed7d8d91ef8dec2f3c6521 - md5: 8edccfdf24530a77076641dd31c58065 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch - - ros2-ros-workspace - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 27187 - timestamp: 1792670422829 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-libcurl-vendor-3.4.4-np2py312hd2d903f_25.conda sha256: d4932d19bf5508b026aa3e8fa67b1ced6db195722feab7b6744297bee8266398 md5: 22ee3c8229cac9fe5094781772e29bf6 @@ -19267,23 +17164,6 @@ packages: license: Apache-2.0 OR BSD-3-Clause OR GPL-2.0-only size: 24716 timestamp: 1791428385363 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-liblz4-vendor-0.26.11-np2py314h53a0733_27.conda - sha256: 00c26188972ba4caeed5578f8f86b5170f0a5c1f302a40cf2e8e2cc77eb8374f - md5: f20c4a4bc4544aefaf65bc1ad5ab5d7f - depends: - - lz4 - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 OR BSD-3-Clause OR GPL-2.0-only - size: 25271 - timestamp: 1792669427261 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-libstatistics-collector-1.7.4-np2py312h1bab3cf_25.conda sha256: 4282f9c8e22bac1c33bcb146c2d661a7639f1a6578f9a5f64b5ec0df1990accc md5: 0dcc50cac9b5799fb2de8fcac2920cb3 @@ -19305,27 +17185,6 @@ packages: license: Apache-2.0 size: 59592 timestamp: 1791433378968 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-libstatistics-collector-1.7.4-np2py314h53a0733_27.conda - sha256: 11cc430ae07eab5bfd5e98b223240e7a6c843c64aa6d902a2034140505f6b71c - md5: edb39df006c38f96784cbb46d68dc9b8 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl - - ros2-rcpputils - - ros2-rmw - - ros2-ros-workspace - - ros2-statistics-msgs - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 60269 - timestamp: 1792674916264 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-libyaml-vendor-1.6.4-np2py312h1bab3cf_25.conda sha256: f50004f56284e1c4e22f602ac56f0e4b0ad04684d28faabb728ddbdd7b5a9b3b md5: 96ed19161a51f27136eccd46a1207aa7 @@ -19347,27 +17206,6 @@ packages: license: Apache-2.0 OR MIT size: 30470 timestamp: 1791430614966 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-libyaml-vendor-1.6.4-np2py314h53a0733_27.conda - sha256: a6ab5e82bb1e8a22bd31ec0e46535c8f1ae8228949635b99c51489b716b2f544 - md5: 97e81fcf148ac706065646e51dbfdcf3 - depends: - - pkg-config - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - yaml - - yaml-cpp - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - yaml-cpp >=0.8.0,<0.9.0a0 - - yaml >=0.2.5,<0.3.0a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 OR MIT - size: 31001 - timestamp: 1792671649820 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-lifecycle-msgs-2.0.4-np2py312h1bab3cf_25.conda sha256: 14f2f209c426af8068a4e1936eb98347f4db09fdb1bfbc53a21a65c0945f49b2 md5: f748da528f08ae12a5c297efa7b01dd6 @@ -19385,23 +17223,6 @@ packages: license: Apache-2.0 size: 275365 timestamp: 1791432177775 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-lifecycle-msgs-2.0.4-np2py314h53a0733_27.conda - sha256: 9e5fe4d82c65a782763a55de2acb288723dacd791af6e7abc7a4ef7526d50682 - md5: 8ac3795312f0ee3227e94edba3b75310 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 277179 - timestamp: 1792673609741 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-mcap-vendor-0.26.11-np2py312h1bab3cf_25.conda sha256: ab3e0b7e2909b4bba7a443053ed1d098ec18fcb96a7627c519419aa9874d77b8 md5: 3bcbc8e1f55bdeab4dd0f527118e3118 @@ -19420,24 +17241,6 @@ packages: license: Apache-2.0 size: 176943 timestamp: 1791429281256 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-mcap-vendor-0.26.11-np2py314h53a0733_27.conda - sha256: 5ca467d9de1668832b4305c6450689eb0f19d2b8363ddc20e17be9122e9cbe6b - md5: bf4f04e890c07066faba1c66a432d11d - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-liblz4-vendor - - ros2-ros-workspace - - ros2-zstd-vendor - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 177416 - timestamp: 1792670432317 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-message-filters-4.11.17-np2py312h1bab3cf_25.conda sha256: be33f42fc15b880c466e92525af5cdb187db229d5f7b3dc00b7722bbcbe48edf md5: 6935ae0c0f23a91b379b3cd8cdd168aa @@ -19459,27 +17262,6 @@ packages: license: BSD-3-Clause size: 97059 timestamp: 1791435370921 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-message-filters-4.11.17-np2py314h53a0733_27.conda - sha256: 10d683d3949abeb3fc067a5903b2d1fd4e80375f616275629112a1ac6ccfce20 - md5: 98fc016c62d709407f6e2b4ed5ee8182 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclcpp - - ros2-rclpy - - ros2-rcutils - - ros2-ros-workspace - - ros2-std-msgs - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - size: 99742 - timestamp: 1792677003939 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-nav-msgs-5.3.8-np2py312h1bab3cf_25.conda sha256: c6a8bcc77193d3640cd1b601a7158dcf09dcffdc7b3cd6194994231532d43b3d md5: 37a3d07d1e1adc7c18264c1d24370a5c @@ -19500,26 +17282,6 @@ packages: license: Apache-2.0 size: 350862 timestamp: 1791434156160 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-nav-msgs-5.3.8-np2py314h53a0733_27.conda - sha256: b2fb47ada0e6f6733c53cd66052c37b0c4944b1dd4bada54d1829c9bd0b71258 - md5: 03e72a9062fcb50ba19f74975b701845 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 352758 - timestamp: 1792675687085 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-orocos-kdl-vendor-0.5.2-np2py312hd65a65c_25.conda sha256: 2d124eaee7599eecd76e19481ac946e104378b334f7cbe260491b5e382bbea4e md5: 9a62175451bed2e500741913463c3f76 @@ -19528,42 +17290,20 @@ packages: - eigen-abi-devel - orocos-kdl - python - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-eigen3-cmake-module - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - eigen-abi >=5.0.1.80,<5.0.1.81.0a0 - - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - orocos-kdl >=1.5.4,<1.6.0a0 - license: Apache-2.0 OR LGPL-2.1-or-later - size: 29213 - timestamp: 1791430431173 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-orocos-kdl-vendor-0.5.2-np2py314habcfd04_27.conda - sha256: ca48f37477f6767830ac94d096c7fa3ef8887af2184ba03ea3032b86b8d57f6a - md5: ad1ef8c36e7c6c7c1ddf2d8322885d6d - depends: - - eigen - - eigen-abi-devel - - orocos-kdl - - python - - ros2-distro-mutex 0.20.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-eigen3-cmake-module - ros2-ros-workspace - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - orocos-kdl >=1.5.4,<1.6.0a0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - libgcc >=15 - eigen-abi >=5.0.1.80,<5.0.1.81.0a0 + - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - orocos-kdl >=1.5.4,<1.6.0a0 license: Apache-2.0 OR LGPL-2.1-or-later - size: 29694 - timestamp: 1792671477539 + size: 29213 + timestamp: 1791430431173 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-osrf-pycommon-2.1.7-np2py312h1bab3cf_25.conda sha256: 70e103fb532ef24295f45aa33b6883fb6e13b08965996951b6bc80216904b2ca md5: 58747c3bec7e3050e8467cff3080ce92 @@ -19581,23 +17321,6 @@ packages: license: Apache-2.0 size: 64805 timestamp: 1791427348061 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-osrf-pycommon-2.1.7-np2py314h53a0733_27.conda - sha256: 3ec50d516086b15bc824961a762a76d596e6027698327f4004ef09e2e01a923a - md5: d0dcfc7822ce58c8f1519bf5e9b22032 - depends: - - importlib-metadata - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 66511 - timestamp: 1792668304991 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-pluginlib-5.4.6-np2py312h1bab3cf_25.conda sha256: f52abe4b20bd1a8ebe9fb09591b12e7542fc4435868b21131c7215e7877a03f6 md5: 7b5b083a79b7c973b1881b73f4bad3d8 @@ -19619,27 +17342,6 @@ packages: license: BSD-3-Clause size: 143332 timestamp: 1791431356553 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-pluginlib-5.4.6-np2py314h53a0733_27.conda - sha256: d985803983c58b00e56ce063babf0976f6edc59b90125defcd18d59c4e341667 - md5: 633bec12518691ba5419ee26dde37b99 - depends: - - python - - ros2-ament-index-cpp - - ros2-class-loader - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcpputils - - ros2-rcutils - - ros2-ros-workspace - - ros2-tinyxml2-vendor - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 143800 - timestamp: 1792672507787 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-pybind11-vendor-3.1.3-np2py312h1bab3cf_25.conda sha256: 1aca2e027b2a4a8bfc0de88b5a12a0fe67c36606a64d9a3078084b8a98f431b4 md5: fdf958f35a748303cc4b48da457189eb @@ -19657,23 +17359,6 @@ packages: license: Apache-2.0 OR BSD-3-Clause size: 23809 timestamp: 1791428327985 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-pybind11-vendor-3.1.3-np2py314h53a0733_27.conda - sha256: 70ae8515575d6990ca2eb0743140f948590de15c226e2c0c8f67f365951d3e31 - md5: fe9b020be47df777a705d52cf6de3ebb - depends: - - pybind11 - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 OR BSD-3-Clause - size: 24313 - timestamp: 1792669383465 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-cmake-module-0.11.1-np2py312h1bab3cf_25.conda sha256: 0663fcde6da8ae50f9d1720978817cdd609e402fd10f847f93c7f5ba8b8fea4a md5: 5b0c759cd091b068ac6fb48bf08d9719 @@ -19726,26 +17411,6 @@ packages: license: Apache-2.0 OR LGPL-2.1-or-later size: 28540 timestamp: 1791430636077 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-orocos-kdl-vendor-0.5.2-np2py314h53a0733_27.conda - sha256: a7b6042112eb2a49d0455499756ffb87db67f5ddc6be1a6c23b59a58cc55c906 - md5: 5c2b05fe800b6792792397704986d9f4 - depends: - - python - - python-orocos-kdl - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-orocos-kdl-vendor - - ros2-pybind11-vendor - - ros2-ros-workspace - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python-orocos-kdl >=1.5.4,<1.6.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 OR LGPL-2.1-or-later - size: 29032 - timestamp: 1792671672197 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-qt-binding-2.2.2-np2py312hc6e6310_25.conda sha256: 16cfd1720469fa518e12004d285516760491d41859a08ec68f7b896f0d6d0c2f md5: 6733491b2a3cdf265317bf69dda67db8 @@ -19845,38 +17510,6 @@ packages: license: Apache-2.0 size: 204021 timestamp: 1791433044119 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-9.2.11-np2py314h53a0733_27.conda - sha256: e161436a458e29b242c5346d6cf069290003c3886228ef2cddffb5d9d0a523c8 - md5: 30142fffa163b291ae216168c36c391c - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-libyaml-vendor - - ros2-rcl-interfaces - - ros2-rcl-logging-interface - - ros2-rcl-logging-spdlog - - ros2-rcl-yaml-param-parser - - ros2-rcutils - - ros2-rmw - - ros2-rmw-implementation - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - ros2-service-msgs - - ros2-tracetools - - ros2-type-description-interfaces - - yaml - - yaml-cpp - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - yaml-cpp >=0.8.0,<0.9.0a0 - - numpy >=1.25,<3 - - yaml >=0.2.5,<0.3.0a0 - license: Apache-2.0 - size: 204726 - timestamp: 1792674591061 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-action-9.2.11-np2py312h1bab3cf_25.conda sha256: 30c38fdc9716f147809e06d0609fa4083e82b7d8d9755e652c6c3ba32eb342d3 md5: e61d5343e1bdf1984add36fdf9f015bf @@ -19898,27 +17531,6 @@ packages: license: Apache-2.0 size: 82323 timestamp: 1791433059586 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-action-9.2.11-np2py314h53a0733_27.conda - sha256: d77d7f2d1dbee2657563b53c194e431aacba60c157a7804f81beadd8406b0409 - md5: 4f06d5312e1724eaece59f6f152be7af - depends: - - python - - ros2-action-msgs - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 82868 - timestamp: 1792674607656 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-interfaces-2.0.4-np2py312h1bab3cf_25.conda sha256: 191a023c368e32a8e27fdc8d025f506e9609509b150edb094fc06e903f406d00 md5: 25da2b5482c5d672ccd8b48cc65c42df @@ -19937,24 +17549,6 @@ packages: license: Apache-2.0 size: 586563 timestamp: 1791432129900 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-interfaces-2.0.4-np2py314h53a0733_27.conda - sha256: 21fd522c6f7c39c3afe2b28862c1223c5c2fa62c66108219b9e1b48c325e1f38 - md5: 46489785ffcd48aab70f9691a506bd3b - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 588565 - timestamp: 1792673557070 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-lifecycle-9.2.11-np2py312h1bab3cf_25.conda sha256: b7a1da6b3d13bc69f9d20f1f4fd70820dda373bd9885048020560e36f43ae44f md5: ee71daff39a04fa2d05cb0f4153ec786 @@ -19977,28 +17571,6 @@ packages: license: Apache-2.0 size: 59300 timestamp: 1791433054320 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-lifecycle-9.2.11-np2py314h53a0733_27.conda - sha256: 9cb9a65b68521a070db7db12c2ed36e85060b29412fc7126944632a04fd28dca - md5: 72214acc3c932a24066b0b6ce1811193 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-lifecycle-msgs - - ros2-rcl - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - ros2-tracetools - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 59912 - timestamp: 1792674601341 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-logging-interface-3.1.1-np2py312h1bab3cf_25.conda sha256: 0cc6668a83c7f639e2f9ad6f22a0d774f38db063d8bf814f8fc625c8bd33c222 md5: 5aaaf56ede274f8755cb169e822b9514 @@ -20016,23 +17588,6 @@ packages: license: Apache-2.0 size: 36233 timestamp: 1791431161811 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-logging-interface-3.1.1-np2py314h53a0733_27.conda - sha256: 8c10a30563b2154ebad61b6809736ec91fcae2b388a2248c47007de5dd1b4318 - md5: ce007644aa3ccd880e4337ff275dd153 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcutils - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 36833 - timestamp: 1792672258893 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-logging-spdlog-3.1.1-np2py312hbe83831_25.conda sha256: c6e4a5c547a715afbb2a5b998994c2b12d1f23150c32b1aa9c29b2373b84ccf1 md5: 966b504221b448b141e7032da34033b4 @@ -20057,30 +17612,6 @@ packages: license: Apache-2.0 size: 47069 timestamp: 1791431350546 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-logging-spdlog-3.1.1-np2py314h1781256_27.conda - sha256: b200630b09ea5335d03706243e6b34fa6d91d4ba634653e3e0091042ebde5bf5 - md5: 52c4ce856c70980db2ea59659e78a12a - depends: - - fmt - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl-logging-interface - - ros2-rcpputils - - ros2-rcutils - - ros2-ros-workspace - - ros2-spdlog-vendor - - spdlog - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - fmt >=12.1.0,<12.2.0a0 - - spdlog >=1.17.0,<1.18.0a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 47553 - timestamp: 1792672501300 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-yaml-param-parser-9.2.11-np2py312h1bab3cf_25.conda sha256: 2b7fe978ad76a7cd884abe348cdb3ebf5f977744a81da9b113876e30433d9b4f md5: f85bf43005f4806cf9e652535f74d614 @@ -20104,29 +17635,6 @@ packages: license: Apache-2.0 size: 52251 timestamp: 1791431511643 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcl-yaml-param-parser-9.2.11-np2py314h53a0733_27.conda - sha256: 65a44511a9e77aa5d346cad625b21b6c29f375a8aeb3755417d4cc257fd89f8e - md5: e1cdb7bfd84666018520c44d513d015c - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-libyaml-vendor - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - yaml - - yaml-cpp - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - yaml >=0.2.5,<0.3.0a0 - - yaml-cpp >=0.8.0,<0.9.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 52801 - timestamp: 1792672705120 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-28.1.22-np2py312h1bab3cf_25.conda sha256: 47076ac9839ec75e0318a59abf0d283416ff0ca0c2b16c9e55d4162327d178b9 md5: 804c6f9c315ff313d9cf9e6a8fe09478 @@ -20161,40 +17669,6 @@ packages: license: Apache-2.0 size: 1164341 timestamp: 1791433865046 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-28.1.22-np2py314h53a0733_27.conda - sha256: 5f2e20b00c4769abc47c49d86e2aa6cd656149ac3bf3bc506f8dc37af017aa57 - md5: 982ae6fbb2c40a38a765e403c4bf9549 - depends: - - python - - ros2-ament-index-cpp - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-libstatistics-collector - - ros2-rcl - - ros2-rcl-interfaces - - ros2-rcl-logging-interface - - ros2-rcl-yaml-param-parser - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosgraph-msgs - - ros2-rosidl-dynamic-typesupport - - ros2-rosidl-runtime-c - - ros2-rosidl-runtime-cpp - - ros2-rosidl-typesupport-c - - ros2-rosidl-typesupport-cpp - - ros2-statistics-msgs - - ros2-tracetools - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 1164995 - timestamp: 1792675410623 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-action-28.1.22-np2py312h1bab3cf_25.conda sha256: b37f8d1e517041648208703c58a50b2542706abc15ce880f7135678cf436f0c7 md5: 8c027becd18f52f29224e1da74553306 @@ -20218,29 +17692,6 @@ packages: license: Apache-2.0 size: 157998 timestamp: 1791434495400 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-action-28.1.22-np2py314h53a0733_27.conda - sha256: e4cfa4ace1d5503392e618981139207d532f2f8b6e407f72a6a9685369680ff0 - md5: 4726e281dce0fac3a0269fda1f2b16ea - depends: - - python - - ros2-action-msgs - - ros2-ament-cmake - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl - - ros2-rcl-action - - ros2-rclcpp - - ros2-rcpputils - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 158640 - timestamp: 1792676200610 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-components-28.1.22-np2py312h1bab3cf_25.conda sha256: 814da589cf8b0728394113211e563a5271df5bbf93d74a91d349e4553f39c1ab md5: 52cddb3eeb841d493aec9393b6d115f6 @@ -20256,31 +17707,11 @@ packages: - libstdcxx >=15 - libgcc >=15 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - size: 145730 - timestamp: 1791434508114 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-components-28.1.22-np2py314h53a0733_27.conda - sha256: 5fcf51f9ce0d23d3b910c30622adac735a1d020acae287098af03d1d55a0d59b - md5: e673c56fcaa65414f4b682e29de76efd - depends: - - python - - ros2-ament-index-cpp - - ros2-class-loader - - ros2-composition-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclcpp - - ros2-ros-workspace - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 146437 - timestamp: 1792676212305 + size: 145730 + timestamp: 1791434508114 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-lifecycle-28.1.22-np2py312h1bab3cf_25.conda sha256: 5e271ba54c54ea704825e1a54b5bf17da5f454d80c07ec8f7b7811b88257c1f2 md5: 633e9cfd2d81a6c7234a02d57fbca92c @@ -20305,30 +17736,6 @@ packages: license: Apache-2.0 size: 132418 timestamp: 1791434480248 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclcpp-lifecycle-28.1.22-np2py314h53a0733_27.conda - sha256: dd6dc7b9a32fc6f108d35be33c2929b4f5e49b293a0ac11d5aa3603c533be393 - md5: c47d40eb41f7f9233513e869893f8bc5 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-lifecycle-msgs - - ros2-rcl - - ros2-rcl-interfaces - - ros2-rcl-lifecycle - - ros2-rclcpp - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosidl-typesupport-cpp - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 133004 - timestamp: 1792676185441 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclpy-7.1.12-np2py312h1bab3cf_25.conda sha256: e95b3a0fd51ddc6776da01950badb0b41cc27d26856e1542b408dffb709b4415 md5: d3281453469c61386d54a80e0f0a4073 @@ -20362,39 +17769,6 @@ packages: license: Apache-2.0 size: 768628 timestamp: 1791433124961 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rclpy-7.1.12-np2py314h53a0733_27.conda - sha256: 85d27722cd84f51a654ed3b62e843a92a617de3b5ed074b666ba2e46fe25edef - md5: b7927b333d2639d8699adac3fc231ed5 - depends: - - python - - pyyaml - - ros2-action-msgs - - ros2-ament-index-python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-lifecycle-msgs - - ros2-rcl - - ros2-rcl-action - - ros2-rcl-interfaces - - ros2-rcl-lifecycle - - ros2-rcl-logging-interface - - ros2-rcl-yaml-param-parser - - ros2-rmw - - ros2-rmw-implementation - - ros2-ros-workspace - - ros2-rosgraph-msgs - - ros2-rosidl-runtime-c - - ros2-rpyutils - - ros2-unique-identifier-msgs - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 788686 - timestamp: 1792674673072 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcpputils-2.11.4-np2py312h1bab3cf_25.conda sha256: 17840239000f540e5e90b7908dacde6858f9a4e7dff9151621914b6a1b545ea3 md5: 0f09aa67e1225b3de2a6dd15c9b25d07 @@ -20535,23 +17909,6 @@ packages: license: Apache-2.0 size: 32933 timestamp: 1791433021957 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-connextdds-0.22.3-np2py314h53a0733_27.conda - sha256: 9141a18b200ef61d3b4012523cb6136183a7fbb874b565801ffca5af0076f92d - md5: a4d6d711dd409c544ec8a9034822edcd - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rmw-connextdds-common - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 33519 - timestamp: 1792674560032 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-connextdds-common-0.22.3-np2py312h1bab3cf_25.conda sha256: 121dd2cba3048846b81d281aed84d8b95b4a0f5cbe776d4dba4b9561aca6e5bf md5: 122f7c0a897eb59df6b0c19f6a29faf9 @@ -20581,35 +17938,6 @@ packages: license: Apache-2.0 size: 54809 timestamp: 1791432830581 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-connextdds-common-0.22.3-np2py314h53a0733_27.conda - sha256: 9ae7b85494fa6b8c511e664e21d1d46855f4d900f83cb3c6175b3fe15f594df4 - md5: 60abe48d3a31d31f0157ec5cf509a691 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-fastcdr - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-rmw-dds-common - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - ros2-rosidl-runtime-cpp - - ros2-rosidl-typesupport-fastrtps-c - - ros2-rosidl-typesupport-fastrtps-cpp - - ros2-rosidl-typesupport-introspection-c - - ros2-rosidl-typesupport-introspection-cpp - - ros2-rti-connext-dds-cmake-module - - ros2-tracetools - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 55340 - timestamp: 1792674330642 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py312h1bab3cf_25.conda sha256: 838207049eed93a58b0dc623b4703b22e3d468db08df1cab9c186c2424832c4b md5: c58c684d58cd588112ed6f5b5d77b777 @@ -20636,32 +17964,6 @@ packages: license: Apache-2.0 size: 258772 timestamp: 1791432836652 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py314h53a0733_27.conda - sha256: 07ecce6ad0c66cbd6fee17a6426cf6d87d1a9838cdda2f22ee37904a74d39be7 - md5: 3afd1bcca79840d5de1a196771c73ab7 - depends: - - python - - ros2-cyclonedds - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-iceoryx-binding-c - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-rmw-dds-common - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - ros2-rosidl-typesupport-introspection-c - - ros2-rosidl-typesupport-introspection-cpp - - ros2-tracetools - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 259395 - timestamp: 1792674335952 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-dds-common-3.1.1-np2py312h1bab3cf_25.conda sha256: b420ec15e59712f52a3ab4ba72c3c326a75d6d496e8b1e18c40284a961ec5747 md5: 673ac042e5f422e6ac4f542fd261af22 @@ -20684,28 +17986,6 @@ packages: license: Apache-2.0 size: 181338 timestamp: 1791432044255 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-dds-common-3.1.1-np2py314h53a0733_27.conda - sha256: ccf2fc7fb2424ecf90e1c4c1d3e08369431033d6642b471c6f4de8c30df7bd37 - md5: aca87d961aebb1fc7415493f37a3f403 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-rosidl-runtime-c - - ros2-rosidl-runtime-cpp - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 182151 - timestamp: 1792673468621 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312h1bab3cf_25.conda sha256: a6470c3f140ebb728068c598f7d0def2c4b240867af64e47f5bf734c15de830f md5: 6a6b4f499f93db27a7669c166fd31b70 @@ -20737,37 +18017,6 @@ packages: license: Apache-2.0 size: 160913 timestamp: 1791433007221 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-cpp-8.4.4-np2py314h53a0733_27.conda - sha256: 76a079176479cd6b1249577d647a10b8e17294c7b4cbcc8cb404dc7e6cb54977 - md5: a4b17724c45e18345fd887cb9c559880 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-fastcdr - - ros2-fastrtps - - ros2-fastrtps-cmake-module - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-rmw-dds-common - - ros2-rmw-fastrtps-shared-cpp - - ros2-ros-workspace - - ros2-rosidl-dynamic-typesupport - - ros2-rosidl-dynamic-typesupport-fastrtps - - ros2-rosidl-runtime-c - - ros2-rosidl-runtime-cpp - - ros2-rosidl-typesupport-fastrtps-c - - ros2-rosidl-typesupport-fastrtps-cpp - - ros2-tracetools - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 161429 - timestamp: 1792674526132 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312h1bab3cf_25.conda sha256: a625fe70aeb76a82c9385a26b80e946dfa2721b49049d28faf10804fa26b4056 md5: 5e074402207864e7cb7b97b670144f7b @@ -20795,33 +18044,6 @@ packages: license: Apache-2.0 size: 186631 timestamp: 1791432976420 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py314h53a0733_27.conda - sha256: 0a6f76d3bf60164eef511b85f10ac385291841ebf0fa50fd9bf2f05c32cea49f - md5: 1f44c994ef0930ffb87dab2037ea3e43 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-fastcdr - - ros2-fastrtps - - ros2-fastrtps-cmake-module - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-rmw-dds-common - - ros2-rmw-fastrtps-shared-cpp - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - ros2-rosidl-typesupport-introspection-c - - ros2-rosidl-typesupport-introspection-cpp - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 187112 - timestamp: 1792674485686 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312h1bab3cf_25.conda sha256: da4e8353b0d4b47f04aaabd72e5da7af202b7aee7bd6988430487c0a2ea8810f md5: 68539251ff04993becb1d9c58cbe2694 @@ -20849,33 +18071,6 @@ packages: license: Apache-2.0 size: 240022 timestamp: 1791432787530 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py314h53a0733_27.conda - sha256: 262da7cea63c94d0b8525e98b38becc6bc2df82ee3a437485cd04d39fe9ac135 - md5: de72b78c61c5213ef0bcf5d77b90937f - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-fastcdr - - ros2-fastrtps - - ros2-fastrtps-cmake-module - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-rmw-dds-common - - ros2-ros-workspace - - ros2-rosidl-dynamic-typesupport - - ros2-rosidl-typesupport-introspection-c - - ros2-rosidl-typesupport-introspection-cpp - - ros2-tracetools - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 240483 - timestamp: 1792674287542 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-2.15.6-np2py312h1bab3cf_25.conda sha256: 2f0c30a039fa70cbc096ee7bc0dfe596b035cb44c72adcefae44eeb3a75e3203 md5: 32994b244dc3f23066c9ec4dfb4cc5b1 @@ -20900,97 +18095,30 @@ packages: license: Apache-2.0 size: 55612 timestamp: 1791433033076 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-2.15.6-np2py314h53a0733_27.conda - sha256: 49701f62951a0659ab251a733421fad143699ce9bbb641fda894d42defa9652c - md5: 5b5bdbc4fe134d5f6fd31a109a097096 - depends: - - python - - ros2-ament-index-cpp - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw-connextdds - - ros2-rmw-cyclonedds-cpp - - ros2-rmw-fastrtps-cpp - - ros2-rmw-fastrtps-dynamic-cpp - - ros2-rmw-implementation-cmake - - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 56149 - timestamp: 1792674577053 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-cmake-7.3.4-np2py312h1bab3cf_25.conda - sha256: daae0cc283131b81d8039839121c9f32333e3034e4323cb32de50bf1c9835714 - md5: 71f9d1fe758bec72058d42b1e2a41e2f +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-cmake-7.3.4-np2py312h1bab3cf_26.conda + sha256: 15c8713d61d0fb1af0adf553b2ac0bdcfa183e17eee6f6f937c6e696d2450332 + md5: 06e5d6107ff4a002a89d272c708f7343 depends: - python - ros2-ament-cmake - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 30107 - timestamp: 1791430398816 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-implementation-cmake-7.3.4-np2py314h53a0733_27.conda - sha256: 7af136642ab63b364f6a5bb263f9872581f27428d77bc5ab48806ea23fd16da8 - md5: 00ca1b4c1ebe90d5dc79711bb1633b66 - depends: - - python - - ros2-ament-cmake - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 30599 - timestamp: 1792671452363 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-zenoh-cpp-0.2.11-np2py312h815c85b_25.conda - sha256: 377868e88ea493de3663bbcd89c3b978cc89f9170e6238c0e1b1f487068c1e90 - md5: 5eaaa910e89db26d613683ca2ae97201 - depends: - - python - - ros2-ament-index-cpp - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-fastcdr - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosidl-typesupport-fastrtps-c - - ros2-rosidl-typesupport-fastrtps-cpp - - ros2-tracetools - - ros2-zenoh-cpp-vendor - libstdcxx >=15 - - libgcc >=15 - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - libzenohc >=1.9.0,<1.9.1.0a0 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - license: Apache-2.0 OR BSD-3-Clause - size: 284358 - timestamp: 1791431742745 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-zenoh-cpp-0.2.11-np2py314hc614d3d_27.conda - sha256: 87f5c429296c4596fb0dc6c167c12c1ed705f20077df135338dbd82babdf8250 - md5: 9cef2347fec80370405eadfe5533b270 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 + size: 30654 + timestamp: 1792621877734 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-zenoh-cpp-0.2.11-np2py312h815c85b_25.conda + sha256: 377868e88ea493de3663bbcd89c3b978cc89f9170e6238c0e1b1f487068c1e90 + md5: 5eaaa910e89db26d613683ca2ae97201 depends: - python - ros2-ament-index-cpp - - ros2-distro-mutex 0.20.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-fastcdr - ros2-rcpputils - ros2-rcutils @@ -21003,13 +18131,13 @@ packages: - libstdcxx >=15 - libgcc >=15 - __glibc >=2.28,<3.0.a0 - - libzenohc >=1.10.1,<1.10.2.0a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 + - libzenohc >=1.9.0,<1.9.1.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 OR BSD-3-Clause - size: 284919 - timestamp: 1792673099530 + size: 284358 + timestamp: 1791431742745 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-robot-state-publisher-3.3.4-np2py312h1bab3cf_25.conda sha256: 4b8ca22c0be432b03907d748008cf4d403b97bf90c268605f819cbf93b51a0c5 md5: 76c46de7d41fc70f70a0d56c122d7a33 @@ -21037,33 +18165,6 @@ packages: license: BSD-3-Clause size: 269216 timestamp: 1791437050670 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-robot-state-publisher-3.3.4-np2py314h53a0733_27.conda - sha256: cbb3e144fd3f25274531591237481f3c2c2612d57d62272406c93450489fd5a0 - md5: da79e900274b3e28cbfb55eb5550625b - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-kdl-parser - - ros2-orocos-kdl-vendor - - ros2-rcl-interfaces - - ros2-rclcpp - - ros2-rclcpp-components - - ros2-ros-workspace - - ros2-sensor-msgs - - ros2-std-msgs - - ros2-tf2-ros - - ros2-urdf - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - size: 270549 - timestamp: 1792678696286 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-base-0.11.0-np2py312h1bab3cf_25.conda sha256: 86d670168e1fc33a9578314989619b85009691b5b4379cd83f63321c7979c38a md5: 7cf29d717b429147e97aa3f8a04162ba @@ -21086,28 +18187,6 @@ packages: license: Apache-2.0 size: 22756 timestamp: 1791446882426 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-base-0.11.0-np2py314h53a0733_27.conda - sha256: 07a7d3a2808fbeeffba15d1da9b85d9804a1cecd167c5c2379ad7b52ee7e58e3 - md5: 135a953b1f71d3799e9e0d9f6a4d7b53 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry2 - - ros2-kdl-parser - - ros2-robot-state-publisher - - ros2-ros-core - - ros2-ros-workspace - - ros2-rosbag2 - - ros2-urdf - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 23469 - timestamp: 1792689698476 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-core-0.11.0-np2py312h1bab3cf_25.conda sha256: a9913c25e633347e9118cf60e907acb019156d21edc96959357a3632f0e7fb60 md5: dbf982f672dc0ed478241241fb5f3c16 @@ -21156,54 +18235,6 @@ packages: license: Apache-2.0 size: 23489 timestamp: 1791437815449 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-core-0.11.0-np2py314h53a0733_27.conda - sha256: 40115d9f8d65b125dfef2cabbd6a43b4522ba30a2b30f7ac1c2b09be0f4ce416 - md5: fc182fb1017fedef01cd0860e33af860 - depends: - - python - - ros2-ament-cmake - - ros2-ament-cmake-auto - - ros2-ament-cmake-gmock - - ros2-ament-cmake-gtest - - ros2-ament-cmake-pytest - - ros2-ament-cmake-ros - - ros2-ament-index-cpp - - ros2-ament-index-python - - ros2-ament-lint-auto - - ros2-ament-lint-common - - ros2-class-loader - - ros2-common-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch - - ros2-launch-ros - - ros2-launch-testing - - ros2-launch-testing-ament-cmake - - ros2-launch-testing-ros - - ros2-launch-xml - - ros2-launch-yaml - - ros2-pluginlib - - ros2-rcl-lifecycle - - ros2-rclcpp - - ros2-rclcpp-action - - ros2-rclcpp-lifecycle - - ros2-rclpy - - ros2-ros-environment - - ros2-ros-workspace - - ros2-ros2cli-common-extensions - - ros2-ros2launch - - ros2-rosidl-default-generators - - ros2-rosidl-default-runtime - - ros2-sros2 - - ros2-sros2-cmake - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 24152 - timestamp: 1792679798558 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-environment-4.2.1-np2py312h1bab3cf_25.conda sha256: 6bb34f5a70315f13031da89ac7818c6cc39f522be4de3e2391ce2d30bc8a9259 md5: 0ac8798a6d5f8de32d185369377280fd @@ -21285,27 +18316,6 @@ packages: license: Apache-2.0 size: 48750 timestamp: 1791434121530 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2action-0.32.13-np2py314h53a0733_27.conda - sha256: 463f5cf0a5188084097356a982e2394a2d018f3ccdc603d2a91610ae650991f5 - md5: e21d86986fb377d958de0ecd03004f0d - depends: - - python - - ros2-action-msgs - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-rosidl-runtime-py - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 48856 - timestamp: 1792675730831 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2bag-0.26.11-np2py312h1bab3cf_25.conda sha256: 59cb77a5c797c00101b449dfd7fff5a4cdd611d15fc8011bf84acf3a75989eb0 md5: a53ee83cf416eb863bcb57457c75665d @@ -21328,31 +18338,9 @@ packages: license: Apache-2.0 size: 72273 timestamp: 1791444089741 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2bag-0.26.11-np2py314h53a0733_27.conda - sha256: 21c753a18a990ccc336910600d0afa090b2e19bc0908ef97d018537c0495c874 - md5: 1fad0ecf08a149e7d4a93a5d146b2292 - depends: - - python - - pyyaml - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-rosbag2-py - - ros2-rosbag2-storage-default-plugins - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 73138 - timestamp: 1792686698024 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-0.32.13-np2py312h1bab3cf_25.conda - sha256: 4db7724adaa4602a8a916d29ab794e09731c7a0c391a25db739fec425dd3900f - md5: 7579424647c1607f4b81c3d3d0b6abfa +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-0.32.13-np2py312h1bab3cf_26.conda + sha256: 70cb696e7872967fc70294d1f7196f2aaa5a0e6b516574ed73c9294fac99324d + md5: fda110f542afa4947cd88f58d6e6c37f depends: - argcomplete - importlib-metadata @@ -21365,33 +18353,12 @@ packages: - libstdcxx >=15 - libgcc >=15 - __glibc >=2.28,<3.0.a0 - - python_abi 3.12.* *_cp312 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 78535 - timestamp: 1791433281261 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-0.32.13-np2py314h53a0733_27.conda - sha256: 740c8231482069cc4f7e53dd04103676fad3bbb9e2e95304cce918c795b67d8c - md5: 9a8ce8ccccc0df6ca00524f33e577651 - depends: - - argcomplete - - importlib-metadata - - packaging - - psutil - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 80171 - timestamp: 1792674822637 + size: 79052 + timestamp: 1792621711771 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-common-extensions-0.3.1-np2py312h1bab3cf_25.conda sha256: 5758d97e4d06f4f03b05605dbc987667fda538ada22cb6b6eec220c488497199 md5: d7c1b7fa62dd65dd06d70f5fc5d1cb0f @@ -21426,40 +18393,6 @@ packages: license: Apache-2.0 size: 27428 timestamp: 1791437079633 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2cli-common-extensions-0.3.1-np2py314h53a0733_27.conda - sha256: ed5f48d1f025a26f3060ea9981d03344ec6e5f80569b5dfe138953113bf5cbe6 - md5: 53d45a6bed36f8f97d07f0e878c73030 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch-xml - - ros2-launch-yaml - - ros2-ros-workspace - - ros2-ros2action - - ros2-ros2cli - - ros2-ros2component - - ros2-ros2doctor - - ros2-ros2interface - - ros2-ros2launch - - ros2-ros2lifecycle - - ros2-ros2multicast - - ros2-ros2node - - ros2-ros2param - - ros2-ros2pkg - - ros2-ros2plugin - - ros2-ros2run - - ros2-ros2service - - ros2-ros2topic - - ros2-sros2 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 28019 - timestamp: 1792678731528 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2component-0.32.13-np2py312h1bab3cf_25.conda sha256: f5cbb9fd7ff130de54f6793bb2a91c44b14c58f80a3b48154730a682f5038340 md5: 8586e0b08df5f11b9aa52880b76a317a @@ -21485,31 +18418,6 @@ packages: license: Apache-2.0 size: 38352 timestamp: 1791436657061 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2component-0.32.13-np2py314h53a0733_27.conda - sha256: 485024164905660229b544068fc15450eb3d31bc9e68bfabbce7f17862ee6535 - md5: 87545353b574b6654fe1d40b35583354 - depends: - - python - - ros2-ament-index-python - - ros2-composition-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl-interfaces - - ros2-rclcpp-components - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2node - - ros2-ros2param - - ros2-ros2pkg - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 38799 - timestamp: 1792678304249 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2doctor-0.32.13-np2py312h1bab3cf_25.conda sha256: 06eee12f1fc33d4a0784204fd6e4595ffaf6e64b40c314760c9fdb4cd2b3829e md5: 05eae5b5c1474685137d7cb338c04931 @@ -21535,31 +18443,6 @@ packages: license: Apache-2.0 size: 69346 timestamp: 1791434116337 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2doctor-0.32.13-np2py314h53a0733_27.conda - sha256: 6bcb47508ccef34c7ef33351dd23ad2dd3341f1761b944521b602a2602aac661 - md5: 07ae13ed94e3f36cb9a7d7d916bf1258 - depends: - - catkin_pkg - - importlib-metadata - - psutil - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-environment - - ros2-ros-workspace - - ros2-ros2cli - - ros2-std-msgs - - rosdistro - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 70596 - timestamp: 1792675724204 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2interface-0.32.13-np2py312h1bab3cf_25.conda sha256: a93420cff8682dc619adfe148060cae8f9e255e26f768d3bcc3eab971f24b529 md5: 643968e61919332de35194576a20e80e @@ -21578,58 +18461,15 @@ packages: - python_abi 3.12.* *_cp312 - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 48649 - timestamp: 1791434111015 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2interface-0.32.13-np2py314h53a0733_27.conda - sha256: bcb8a372c39ff29e9a46f8643ae1ae197f3eed6533b66d3d6efde8f7e115c775 - md5: 293713dc4139b76dc2a7102caf0f0147 - depends: - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-ros2cli - - ros2-rosidl-adapter - - ros2-rosidl-runtime-py - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 49197 - timestamp: 1792675717328 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2launch-0.26.13-np2py312h1bab3cf_25.conda - sha256: d09761455f0df10fefe3d61396dcbb657e206fa2e061c88255da9a75925388d2 - md5: f0c0e96a08940bc658f67e3603fd68e7 - depends: - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-launch - - ros2-launch-ros - - ros2-launch-xml - - ros2-launch-yaml - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2pkg - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - size: 47604 - timestamp: 1791434661328 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2launch-0.26.13-np2py314h53a0733_27.conda - sha256: 8bf03ba3d9bf59c2b6bab441a3409029c9b3d57060acf729cea04667b7d2aaa9 - md5: de60a557e3c376c0e9b350761592b587 + size: 48649 + timestamp: 1791434111015 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2launch-0.26.13-np2py312h1bab3cf_25.conda + sha256: d09761455f0df10fefe3d61396dcbb657e206fa2e061c88255da9a75925388d2 + md5: f0c0e96a08940bc658f67e3603fd68e7 depends: - python - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-launch - ros2-launch-ros - ros2-launch-xml @@ -21637,15 +18477,15 @@ packages: - ros2-ros-workspace - ros2-ros2cli - ros2-ros2pkg - - __glibc >=2.28,<3.0.a0 - libstdcxx >=15 - libgcc >=15 + - __glibc >=2.28,<3.0.a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 47765 - timestamp: 1792676360961 + size: 47604 + timestamp: 1791434661328 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2lifecycle-0.32.13-np2py312h1bab3cf_25.conda sha256: 67552587c759eeb9b744cefa678ae40ccd3b4d669f510e33bac8d9b473e685f0 md5: 48d73ce6ce3ffc6b70193e0dfa041f07 @@ -21667,27 +18507,6 @@ packages: license: Apache-2.0 size: 46513 timestamp: 1791436650063 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2lifecycle-0.32.13-np2py314h53a0733_27.conda - sha256: bd7d3cdbb48c56c8a8d201b2ce9d6cfecac1b030e50397e9905ffa3bdfa66071 - md5: 9814beed6558d40d2fc7f64d72507346 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-lifecycle-msgs - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2node - - ros2-ros2service - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 47761 - timestamp: 1792678297627 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2multicast-0.32.13-np2py312h1bab3cf_25.conda sha256: 728e44af25b116ff231d763f7dcd756c08ba658b66fe2c14974008a656b83087 md5: b811d9ce4ebc859101d5a47dc3191b99 @@ -21705,23 +18524,6 @@ packages: license: Apache-2.0 size: 25873 timestamp: 1791433517864 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2multicast-0.32.13-np2py314h53a0733_27.conda - sha256: 6765bf286a44176ca7766a2ef8c072017880c81377b910bd9c56ce746a48d885 - md5: 27b2a66dbb2fc3b6a34f84a9e8756f71 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-ros2cli - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 25824 - timestamp: 1792675030672 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2node-0.32.13-np2py312h1bab3cf_25.conda sha256: 775396f76822316339cfea5bd35de89aad5bfe7bf0d68cac84f272dbdf0c6695 md5: 2bef3297d96f0f4161985d58aecf5c60 @@ -21740,24 +18542,6 @@ packages: license: Apache-2.0 size: 44234 timestamp: 1791434078014 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2node-0.32.13-np2py314h53a0733_27.conda - sha256: 1ab4f0128c6404034f99318f966bdf220c0c0970c451319f3e847c6f09014487 - md5: af07da94be02be51db222175349f7ae3 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 44510 - timestamp: 1792675646314 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2param-0.32.13-np2py312h1bab3cf_25.conda sha256: edadbdf04aceaf5165a4b83682d5978c374d6918135815d947a92ef2784abfbe md5: c47dff0aa516bc435e7efda4929d478d @@ -21779,27 +18563,6 @@ packages: license: Apache-2.0 size: 51599 timestamp: 1791435400494 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2param-0.32.13-np2py314h53a0733_27.conda - sha256: dcc4024888aa783022acc7b22687832916694ed300768bcf5ad2b3957b069bcd - md5: cefbe2761db4445b5643394ba3008ee1 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl-interfaces - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2node - - ros2-ros2service - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 51689 - timestamp: 1792677031319 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2pkg-0.32.13-np2py312h1bab3cf_25.conda sha256: 10f741855c13f77e9a4eb8140d525a7a490e528b19b6f1fbef0a7de528d02ccb md5: 3f16f9b784e358ab8f03f711516c2822 @@ -21822,28 +18585,6 @@ packages: license: Apache-2.0 size: 61645 timestamp: 1791434105789 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2pkg-0.32.13-np2py314h53a0733_27.conda - sha256: 7fc37f19c6539be030f51d94f04c3b82d1ee2203c6a701573993d759c4d1df80 - md5: 689e83867c7eb786f4c8a3aa1be49617 - depends: - - catkin_pkg - - empy - - importlib_resources - - python - - ros2-ament-copyright - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-ros2cli - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 61783 - timestamp: 1792675677589 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2plugin-5.4.6-np2py312h1bab3cf_25.conda sha256: 4b5f0ee9a060d6c21f8fa2091829b55426c7742262f4124898b8f91bcab0443c md5: 44fa52f12c1fdd0307a08b104aec0254 @@ -21864,26 +18605,6 @@ packages: license: Apache-2.0 size: 26131 timestamp: 1791434657000 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2plugin-5.4.6-np2py314h53a0733_27.conda - sha256: 55ec1a5fecb2cf032fc236525e80e6756dde6cdb4a81ff284cbd80f546575d6a - md5: 138675826686613bb2d6ee1abc5eb44d - depends: - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2pkg - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 26134 - timestamp: 1792676355724 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2run-0.32.13-np2py312h1bab3cf_25.conda sha256: 8dd342c33e3d5c31c01674bc3975451fd401dd21a7bceee72c211af83ecccff4 md5: 3a3f8be36b71d81f1bd247cde64ff9b4 @@ -21902,24 +18623,6 @@ packages: license: Apache-2.0 size: 25001 timestamp: 1791434652730 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2run-0.32.13-np2py314h53a0733_27.conda - sha256: c822444106aac298b65d9d353828675a960e1f0194b50c3a23df24387717ed73 - md5: a97b33fff7fe88e7e10e1b2e28c2c634 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2pkg - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 24930 - timestamp: 1792676349564 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2service-0.32.13-np2py312h1bab3cf_25.conda sha256: 6f5c873cf9e462d3fc242ca6a7fb8fb8b729518d6e3d9bbebc4c3cfbeef07d83 md5: f4f5e22bdb668d53acd590cb1980b6fa @@ -21941,27 +18644,6 @@ packages: license: Apache-2.0 size: 52742 timestamp: 1791434614125 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2service-0.32.13-np2py314h53a0733_27.conda - sha256: e4aafa42d66e9022c42e1fe2e9a096dc7cdbac92667fe8b90777069fe6d7ab9d - md5: f147b5634846af4fddf7cfc05656f232 - depends: - - python - - pyyaml - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2topic - - ros2-rosidl-runtime-py - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 53004 - timestamp: 1792676300598 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2topic-0.32.13-np2py312h1bab3cf_25.conda sha256: da45ddc4e13f6d2f7333793b0a3e2c21186f9623a8680bca69b6e62fb040302a md5: ecd9bcde8eed5ccf67d83408382ceb29 @@ -21983,27 +18665,6 @@ packages: license: Apache-2.0 OR BSD-3-Clause size: 75344 timestamp: 1791434041210 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros2topic-0.32.13-np2py314h53a0733_27.conda - sha256: 7a60dee86f740169f80acc74ebceb9cdb75cb997fed699003fba92474a87ec84 - md5: c8c369d1ce662f31cb8f4c08542bdb45 - depends: - - numpy - - python - - pyyaml - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-rosidl-runtime-py - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 OR BSD-3-Clause - size: 76030 - timestamp: 1792675607530 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-0.26.11-np2py312h1bab3cf_25.conda sha256: fa648c26c9544c61b25bc61252e171d44b307f982d81d017f48744a8ca781598 md5: f1a61b51b5f5c62051ed7960055362ac @@ -22028,30 +18689,6 @@ packages: license: Apache-2.0 size: 36769 timestamp: 1791445695115 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-0.26.11-np2py314h53a0733_27.conda - sha256: 0b924baa9d4bdb4d1dffc829aeab4914f5d4400e8db3c61438773fe85253387e - md5: 2ba8ef2acf6b9f91be610106df39a224 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-ros2bag - - ros2-rosbag2-compression - - ros2-rosbag2-compression-zstd - - ros2-rosbag2-cpp - - ros2-rosbag2-py - - ros2-rosbag2-storage - - ros2-rosbag2-storage-default-plugins - - ros2-rosbag2-transport - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 37387 - timestamp: 1792688602529 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-compression-0.26.11-np2py312h1bab3cf_25.conda sha256: 241c3e836fd3d7db1f0242c330179a0cd4b79847a84051563a0976a6460c44c2 md5: cd976c2dedb9a79181092a5dfc930f73 @@ -22072,26 +18709,6 @@ packages: license: Apache-2.0 size: 210346 timestamp: 1791439655110 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-compression-0.26.11-np2py314h53a0733_27.conda - sha256: d66307d0294f032d830e23b849ebc3aa079504826aa6e5207be82c867e202c45 - md5: 347c87898346b4c8207e2725705acaad - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcpputils - - ros2-rcutils - - ros2-ros-workspace - - ros2-rosbag2-cpp - - ros2-rosbag2-storage - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 211100 - timestamp: 1792681188176 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-compression-zstd-0.26.11-np2py312h1bab3cf_25.conda sha256: cc8d26760d007350cd2dc7810d029c9896121652175433b82d77127df7b65474 md5: d729014e921e6fd57479b9214d1e7d16 @@ -22112,26 +18729,6 @@ packages: license: Apache-2.0 size: 71376 timestamp: 1791440401682 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-compression-zstd-0.26.11-np2py314h53a0733_27.conda - sha256: 8b9be36be2014a1a7f7880ebc56fb254ec99138bcc6ef882340f9a8271ffb93a - md5: 8b3905431ea316364ffe32b32ee6a7fb - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-pluginlib - - ros2-rcutils - - ros2-ros-workspace - - ros2-rosbag2-compression - - ros2-zstd-vendor - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 72168 - timestamp: 1792682805110 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-cpp-0.26.11-np2py312h1bab3cf_25.conda sha256: 4dce0cc50df49e2c2efb1bda500b1f8989ddd6d45a48ac54aa6052077826e0a9 md5: 44acfb7853c97e8101a2e738f71e50f9 @@ -22160,34 +18757,6 @@ packages: license: Apache-2.0 size: 360810 timestamp: 1791437877475 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-cpp-0.26.11-np2py314h53a0733_27.conda - sha256: 28a2b8a2ef47a8c67c819a161f78528bcecb10ac3cd892fa34398219a6354bd0 - md5: 755a356fa5ace6c3d80095ec2880ffd7 - depends: - - python - - ros2-ament-index-cpp - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-pluginlib - - ros2-rclcpp - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-rmw-implementation - - ros2-ros-workspace - - ros2-rosbag2-storage - - ros2-rosidl-runtime-c - - ros2-rosidl-runtime-cpp - - ros2-rosidl-typesupport-cpp - - ros2-rosidl-typesupport-introspection-cpp - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 361469 - timestamp: 1792679763135 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-interfaces-0.26.11-np2py312h1bab3cf_25.conda sha256: 9e34eae0536ec0d5ba6c571491b84a074783215dc620c74b59e028010d0929f2 md5: 536907396b0d34a8beb2a9099bb56a13 @@ -22206,24 +18775,6 @@ packages: license: Apache-2.0 size: 587539 timestamp: 1791432386255 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-interfaces-0.26.11-np2py314h53a0733_27.conda - sha256: 801e7431cf0433d65e302093dcabc9ba70b48bef9e477e841a32896b910b28a6 - md5: b1fca6ef8261387664a40ac4b18db6bf - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 589490 - timestamp: 1792673823762 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-py-0.26.11-np2py312h1bab3cf_25.conda sha256: 1f24511a1f77f0ef1f74037488e02524b1c051da7debfd7a11010b0579a6b0d6 md5: 5511d5c1f1ba9d732a359e6544da7637 @@ -22243,33 +18794,10 @@ packages: - __glibc >=2.28,<3.0.a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: Apache-2.0 - size: 831709 - timestamp: 1791443371857 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-py-0.26.11-np2py314h53a0733_27.conda - sha256: 312dacc0c795c108a040a1c821ddff7ed47925134d38754330d54b09ec834b0b - md5: 7a144faf68e37367bb313ec1eb586d1c - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-pybind11-vendor - - ros2-rclpy - - ros2-ros-workspace - - ros2-rosbag2-compression - - ros2-rosbag2-cpp - - ros2-rosbag2-storage - - ros2-rosbag2-transport - - ros2-rpyutils - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 829570 - timestamp: 1792685607382 + size: 831709 + timestamp: 1791443371857 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-0.26.11-np2py312h1bab3cf_25.conda sha256: 85edd350cc6a41f6f0d530d6272980aed48d529731126388f8bd7d69dc38cd07 md5: 5c1ecea4d36b08f71f156955bd2f2277 @@ -22291,27 +18819,6 @@ packages: license: Apache-2.0 size: 306458 timestamp: 1791435774855 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-0.26.11-np2py314h53a0733_27.conda - sha256: f6d8e81c06029b6ae8097ddeecec322aa4b63476f1f4c4ea1b8288227e5f1da3 - md5: 4ac7b54f2bf2d2d42798765ceb139760 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-pluginlib - - ros2-rclcpp - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-yaml-cpp-vendor - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 307237 - timestamp: 1792677073741 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312h1bab3cf_25.conda sha256: d4b6e2bbded37b1f4f120b670b378a48e602b9bd4c04e8336a9bad90471f62cb md5: ad41c98c58b5aadb6407d3465c33f44c @@ -22330,24 +18837,6 @@ packages: license: Apache-2.0 size: 22783 timestamp: 1791437218142 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py314h53a0733_27.conda - sha256: 6db050bc52a4f520f0e2ed71e2d31836f5f99216140c867066df66d81a3800c3 - md5: 32cff3aa4e5ee8beef91836af6988eaf - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosbag2-storage-mcap - - ros2-rosbag2-storage-sqlite3 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 23467 - timestamp: 1792678735432 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-mcap-0.26.11-np2py312h1bab3cf_25.conda sha256: fff9b9366847f062bf0e7ae786557be61e6bf76a9ba84c43f6635bce1cf39187 md5: 0bf17a7afbc6c3d4892ee88a70c64286 @@ -22370,28 +18859,6 @@ packages: license: Apache-2.0 size: 207727 timestamp: 1791436673579 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-mcap-0.26.11-np2py314h53a0733_27.conda - sha256: 4c29674ffcceeecbc50074a4711bd9c7ad8a916e69b8da421c77dd6548b327c1 - md5: 1408e9acad7c8f956e4b29eefcd10b72 - depends: - - python - - ros2-ament-index-cpp - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-mcap-vendor - - ros2-pluginlib - - ros2-rcutils - - ros2-ros-workspace - - ros2-rosbag2-storage - - ros2-yaml-cpp-vendor - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 208501 - timestamp: 1792678322435 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312h1bab3cf_25.conda sha256: 22c2e502c01e01a9248bc590ed6c031622a2784fab31d40aa25302884d909593 md5: 799197b4238ddeecba9366fd3b18ce81 @@ -22414,28 +18881,6 @@ packages: license: Apache-2.0 size: 251941 timestamp: 1791436660262 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py314h53a0733_27.conda - sha256: 401ccbc91174bcda5200a5ec3840eb866d509fbbbd17ab6376780ef83cdd3ae9 - md5: 45fa8a8f7809734e2846ea683e25f303 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-pluginlib - - ros2-rcpputils - - ros2-rcutils - - ros2-ros-workspace - - ros2-rosbag2-storage - - ros2-sqlite3-vendor - - ros2-yaml-cpp-vendor - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 252719 - timestamp: 1792678308507 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-transport-0.26.11-np2py312h1bab3cf_25.conda sha256: 303b66f81bbc692fbdc96e5684df3ac013d83383e30e59f286027669e7dd345e md5: 69c5ad8a1d6ebcaf7a0774cfeba00f4b @@ -22463,33 +18908,6 @@ packages: license: Apache-2.0 size: 599005 timestamp: 1791441703255 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosbag2-transport-0.26.11-np2py314h53a0733_27.conda - sha256: 1d13f0d958954bc34ad336de286cb131cc2b9ebda6a2ac2497e21f618d42e151 - md5: 9281c62bb8f33f5aee8bcd2667e612f8 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-keyboard-handler - - ros2-rclcpp - - ros2-rclcpp-components - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosbag2-compression - - ros2-rosbag2-cpp - - ros2-rosbag2-interfaces - - ros2-rosbag2-storage - - ros2-yaml-cpp-vendor - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 599827 - timestamp: 1792684033915 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosgraph-msgs-2.0.4-np2py312h1bab3cf_25.conda sha256: 6e231d25f5e0e4bc476ee105c478a2805d32629a52ecfb225d445eec4b5228a2 md5: 5c95447d9fd25b32c80e1b29f59ad8fd @@ -22509,25 +18927,6 @@ packages: license: Apache-2.0 size: 242571 timestamp: 1791432851349 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosgraph-msgs-2.0.4-np2py314h53a0733_27.conda - sha256: 6ab0e6eda88745c1dd5753a0e0591e83642033310ac7b7383259fdb63cb68d03 - md5: 529a69ca53bc7d07d53f747720088f24 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl-interfaces - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 244136 - timestamp: 1792674350535 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py312h1bab3cf_25.conda sha256: 111bfa16e614a50f00cefb85100f914a6446a460ede995437039b6bebdf67dcf md5: b6e4f9e9f1590cd3d6966d04c81725e7 @@ -22566,24 +18965,24 @@ packages: license: Apache-2.0 size: 65276 timestamp: 1792671219208 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_25.conda - sha256: 416b8f86ddda70110b7cb3bfe723239474b78439f9f4bec6eb6042968fa97348 - md5: 9b524c02435e7d805d2e83c0f68bf1c8 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_26.conda + sha256: 321f6114d1997860c8c51c908edef78d66c9f31bcb7bbf93db53d46e1e4b4e61 + md5: 1159738147f80d3d78eae7808c764f99 depends: - argcomplete - importlib-metadata - python - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libstdcxx >=15 - libgcc >=15 + - libstdcxx >=15 - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 42867 - timestamp: 1791428312659 + size: 44034 + timestamp: 1792621697052 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py314h53a0733_27.conda sha256: d456b158cccd1f42151bf9a174d8ed578479a984378008afb9a41bed8cfe6d28 md5: ef99cee182565b0c8e7645da5b37f27a @@ -22809,25 +19208,6 @@ packages: license: Apache-2.0 size: 32741 timestamp: 1791432000741 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-runtime-1.6.1-np2py314h53a0733_27.conda - sha256: 452aa5944e11d8bacb13deb0be06c28fb3038a633a1aa1a2efb55ce8be61d11d - md5: 5782b77dee7d0a40daf7d48b9985b599 - depends: - - python - - ros2-action-msgs - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-core-runtime - - ros2-service-msgs - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 33339 - timestamp: 1792673428535 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h1bab3cf_25.conda sha256: d9fecafb8b684db23a2fa46463da5dd7d0d870f265de4643920ec7701d87b8d0 md5: bf558246575e562ab8a921fac910d687 @@ -22884,26 +19264,6 @@ packages: license: Apache-2.0 size: 88515 timestamp: 1791431342285 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py314h53a0733_27.conda - sha256: c3dc263106809a91c1362650b4ece0588f5b698242595d781152b6a741e61570 - md5: ed7eb24c174f66ef43c7ad6cdd33cec8 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-fastcdr - - ros2-fastrtps - - ros2-rcutils - - ros2-ros-workspace - - ros2-rosidl-dynamic-typesupport - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 89016 - timestamp: 1792672491465 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-c-4.6.9-np2py312h1bab3cf_25.conda sha256: 63349258f1588132c4b4807ed14203a1ab5a44380f6e956f7eaefe82ed78229e md5: 9f5804424e9271f22f200c0753b6df20 @@ -23321,25 +19681,6 @@ packages: license: Apache-2.0 size: 48035 timestamp: 1791433445967 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-py-0.13.2-np2py314h53a0733_27.conda - sha256: 1472437baef89a6c44263cd0d78d1fb6e5d45a643d1b0437576ad2a8420a571f - md5: 6a5eed0cc81bb6065ac6f9c1e4328083 - depends: - - numpy - - python - - pyyaml - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-parser - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 48877 - timestamp: 1792674973469 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-c-3.2.3-np2py312h1bab3cf_25.conda sha256: 0259e79f1635ec8421d4d6c54434dec21ed7710a31532e5a9dda6043385b2346 md5: f3c1b077f2b7e9e60bc14539690cab94 @@ -23903,23 +20244,6 @@ packages: license: Apache-2.0 size: 32226 timestamp: 1791430393392 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py314h53a0733_27.conda - sha256: 0b3dba1f8a7102add9434ff5d41079e546a0ef59cfa1d7089835548f61226c9d - md5: f8acf2025daa142fb25dd2139e7d5dc6 - depends: - - python - - ros2-ament-cmake - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 32777 - timestamp: 1792671446339 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sensor-msgs-5.3.8-np2py312h1bab3cf_25.conda sha256: 5b76c4b26ba46fa80e3f22d3c0fff42a39a0cc3b6b71e94799ce621cf8fadf50 md5: 56e9b55432b2cf0af6ec7d0cfa6a4a22 @@ -23940,26 +20264,6 @@ packages: license: Apache-2.0 size: 565706 timestamp: 1791433970364 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sensor-msgs-5.3.8-np2py314h53a0733_27.conda - sha256: cfef7b2c7c28aef2494410acb36604b19c3a93e532f983871cd4a95915deda72 - md5: 2b1a86c507337e92c5a5dbe8f8188d83 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 568011 - timestamp: 1792675530322 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sensor-msgs-py-5.3.8-np2py312h1bab3cf_25.conda sha256: 9e7b1eaece0ebae3a45629eb5559a94163a22faf7485e3504fb428bbe53669fa md5: c519213068f2e0843f1646326bea9058 @@ -23979,25 +20283,6 @@ packages: license: BSD-3-Clause size: 30769 timestamp: 1791434939795 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sensor-msgs-py-5.3.8-np2py314h53a0733_27.conda - sha256: e5d2b1234d7aabde0c76919e323d2362eddb334e1ece60278084bfef3ad19e2e - md5: 92075c6356823b4b226ffa60554699f6 - depends: - - numpy - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-sensor-msgs - - ros2-std-msgs - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 31085 - timestamp: 1792676634468 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-service-msgs-2.0.4-np2py312h1bab3cf_25.conda sha256: ea7e1dae12895bcef452f505f56708e7bf2e08479dd08f55356702fa3de5a1ed md5: 39bf7c64ec54f24b795acdd0e35edf3b @@ -24052,24 +20337,6 @@ packages: license: Apache-2.0 size: 132033 timestamp: 1791434126853 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-shape-msgs-5.3.8-np2py314h53a0733_27.conda - sha256: 28b3fc97f2881ba32ea134afaa42fad6eaefbef0e9a46793b765a7f6eac3128e - md5: a5b332c11890423d43bcc9be3763dab6 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 133202 - timestamp: 1792675737184 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-spdlog-vendor-1.6.2-np2py312hbe83831_25.conda sha256: 2c22415645e803cc77b7a5eea253c93d06d16d6d4d146a617cfbcf00fcbb9954 md5: 2ca25d1121d8131730a23da82eb090d9 @@ -24090,26 +20357,6 @@ packages: license: Apache-2.0 OR MIT size: 28160 timestamp: 1791430410428 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-spdlog-vendor-1.6.2-np2py314h1781256_27.conda - sha256: 62f0f5f3e4e47abe8a39e18d0e6067914e2aeba24874b6bd32d0c9dce998469e - md5: de7ebfaf2e2644a3cda99420a9a3024f - depends: - - fmt - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - spdlog - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - fmt >=12.1.0,<12.2.0a0 - - spdlog >=1.17.0,<1.18.0a0 - license: Apache-2.0 OR MIT - size: 28576 - timestamp: 1792671460928 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sqlite3-vendor-0.26.11-np2py312hc33be11_25.conda sha256: 5d0d26c41ca18dd041e6b2f400a3c573d96e3992e40bae762a0ce401bc765589 md5: d890bb919a480179eaab456149d3d304 @@ -24126,52 +20373,11 @@ packages: - numpy >=1.25,<3 - libsqlite >=3.53.4,<4.0a0 license: Apache-2.0 - size: 25085 - timestamp: 1791428405784 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sqlite3-vendor-0.26.11-np2py314ha64fe42_27.conda - sha256: af6dbd142e4e68d315919be8fb25336bb6bc2495d12d234161a3e4e41b3e931b - md5: 32850ec1745eaccaf60b7e068d696b9b - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - sqlite - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libsqlite >=3.54.1,<4.0a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 25623 - timestamp: 1792669431909 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sros2-0.13.6-np2py312h1bab3cf_25.conda - sha256: 46729d5fac97d2dbf854559e60ce321e0148fab1d8c2951835cff48eee42b507 - md5: c509750b4b47e47d7f45af4dca2401e5 - depends: - - argcomplete - - cryptography - - importlib_resources - - lxml - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - size: 77663 - timestamp: 1791435442746 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sros2-0.13.6-np2py314h53a0733_27.conda - sha256: b66c815cada425c5853f2bbc0a97ca2c565e63d88dac5762966708937bbf1fe5 - md5: 7dffa27cb586bbe069141edb851a105f + size: 25085 + timestamp: 1791428405784 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sros2-0.13.6-np2py312h1bab3cf_25.conda + sha256: 46729d5fac97d2dbf854559e60ce321e0148fab1d8c2951835cff48eee42b507 + md5: c509750b4b47e47d7f45af4dca2401e5 depends: - argcomplete - cryptography @@ -24179,19 +20385,19 @@ packages: - lxml - python - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-workspace - ros2-ros2cli - - libstdcxx >=15 - libgcc >=15 + - libstdcxx >=15 - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 78948 - timestamp: 1792677089762 + size: 77663 + timestamp: 1791435442746 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sros2-cmake-0.13.6-np2py312h1bab3cf_25.conda sha256: a6a830ad77963f43025d2931fe277767c57196cd5eea4f73fa05bbe749a41613 md5: 68d9a72c99ed51670a771bb8b79408e2 @@ -24210,24 +20416,6 @@ packages: license: Apache-2.0 size: 41418 timestamp: 1791436896448 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-sros2-cmake-0.13.6-np2py314h53a0733_27.conda - sha256: be524ec126524809ea1102330ce5b8afde7a16e6be19da2469cb8633d80bd78e - md5: 4397fa9912545e7f17f30fa9ab84719f - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-ros2cli - - ros2-sros2 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 42215 - timestamp: 1792678484855 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-statistics-msgs-2.0.4-np2py312h1bab3cf_25.conda sha256: 061c658c11a05f824fdc4111529811be45d958ace296a25406b3b9290ad2fba7 md5: fba4747f25ad0ca4f5df98206704b767 @@ -24246,24 +20434,6 @@ packages: license: Apache-2.0 size: 114398 timestamp: 1791432201779 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-statistics-msgs-2.0.4-np2py314h53a0733_27.conda - sha256: 08f894f585e1be34c09262d4ea0128e796de15c4d1336ad40c5dc4f9db2dbf11 - md5: 91edf1f1afea38cf9158a7f97a4feb44 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 115396 - timestamp: 1792673633588 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-std-msgs-5.3.8-np2py312h1bab3cf_25.conda sha256: 1617644ea7043eda7c90da2e1a978f4c4e681ab55f9a0fb1b1545c7f22ca4cef md5: 57ca898527daea8ad47723788392d8d9 @@ -24282,24 +20452,6 @@ packages: license: Apache-2.0 size: 353317 timestamp: 1791433219704 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-std-msgs-5.3.8-np2py314h53a0733_27.conda - sha256: f56ffd8d7a94cca00a32c7fe31daf6e249164c3f0bdea5c71f4263e6f6f84f7c - md5: c1c8f6e2bb58b229e870d1b37ef8c83a - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 353926 - timestamp: 1792674763206 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-std-srvs-5.3.8-np2py312h1bab3cf_25.conda sha256: b37c153598802d5516afde6861f032fad703bbbda68db0479992d8fe4feae269 md5: a6439bf6609696140458793e5e95a9f0 @@ -24317,23 +20469,6 @@ packages: license: Apache-2.0 size: 173031 timestamp: 1791432213796 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-std-srvs-5.3.8-np2py314h53a0733_27.conda - sha256: 81852650bd091f33dce683c50a893a74ebae3ad3f1dc167bd14dc2bf431860fc - md5: 233dfb9c94d08517a3d657f6e621893d - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 174135 - timestamp: 1792673650728 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-stereo-msgs-5.3.8-np2py312h1bab3cf_25.conda sha256: 7b8468eb076ff3174126073532b56e3b51626f6b070ae2f5c9210055204ddf28 md5: 9d0692cc224830c4a9959cf12c8c8eb4 @@ -24353,25 +20488,6 @@ packages: license: Apache-2.0 size: 85996 timestamp: 1791434734452 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-stereo-msgs-5.3.8-np2py314h53a0733_27.conda - sha256: f316ea7cbb47b1656ef65187a5386b5930c1ee30f7275fd75d24a632413bf4a9 - md5: a4b36bfffd3bd6688ac9ac90d0298d1c - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-sensor-msgs - - ros2-std-msgs - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 87388 - timestamp: 1792676456778 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tango-icons-vendor-0.3.1-np2py312h1bab3cf_25.conda sha256: 97b3f693218044ccbf87d3d69781bdc2662f675eb4a95f45a534194c626e8a64 md5: b57b54a7da740dab564306e635dba146 @@ -24408,26 +20524,6 @@ packages: license: BSD-3-Clause size: 138457 timestamp: 1791434069615 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-0.36.23-np2py314h53a0733_27.conda - sha256: a34507e09bd2d241ef72f8082954b554863a94e3fb9c40c6c3fddd10c73c2923 - md5: a8256dd0762082122917a3cb00a3234f - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-rcutils - - ros2-ros-workspace - - ros2-rosidl-runtime-cpp - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 138983 - timestamp: 1792675636651 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-bullet-0.36.23-np2py312h1bab3cf_25.conda sha256: 1e9a4e6ce98e4724f5d5cdfff5eb4727905baadc9dff336ee5abb5cc00e34523 md5: b668fcb110bcaea9f00be30547e98e96 @@ -24448,26 +20544,6 @@ packages: license: BSD-3-Clause size: 46079 timestamp: 1791437531061 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-bullet-0.36.23-np2py314h53a0733_27.conda - sha256: 1ef0e6e1eb7d4f61a9fc3f7c9f0bb107bc2646123363acce9eb4d07b13f8af4f - md5: d162de91a2c98b8c0256674d79f8e476 - depends: - - bullet - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-ros - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 46808 - timestamp: 1792679305115 - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-eigen-0.36.23-np2py312hd65a65c_25.conda sha256: 8230b10ec2b53de4b54adffc1e8ea30df49eee8d3c891e77dd130aabb6fbcd14 md5: f5ec9cfbdce1952ccdb281adaac8f0c0 @@ -24490,163 +20566,249 @@ packages: license: BSD-3-Clause size: 47782 timestamp: 1791437090122 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-eigen-0.36.23-np2py314habcfd04_27.conda - sha256: c3a0d2b18a421ca1d9edee62e18e0792ca80523720ff77049c70bd1c576e93bf - md5: 81bffec7a19235c49a9c70c45344ca88 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-eigen-kdl-0.36.23-np2py312hd65a65c_25.conda + sha256: 3101f10b78fb087abf43114df022fa1526d0f3023fbce840cc92b3a2eddf47e8 + md5: 96cfb4393d0fc3a7caf102cc6d942a3b depends: - eigen - eigen-abi-devel - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-orocos-kdl-vendor - ros2-ros-workspace - ros2-tf2 - - ros2-tf2-ros - libstdcxx >=15 - libgcc >=15 - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - eigen-abi >=5.0.1.80,<5.0.1.81.0a0 - - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 48571 - timestamp: 1792678744828 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-eigen-kdl-0.36.23-np2py312hd65a65c_25.conda - sha256: 3101f10b78fb087abf43114df022fa1526d0f3023fbce840cc92b3a2eddf47e8 - md5: 96cfb4393d0fc3a7caf102cc6d942a3b + size: 42447 + timestamp: 1791434463010 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-geometry-msgs-0.36.23-np2py312h1bab3cf_25.conda + sha256: 09d7cca1174368b54e0803f74c7def8334d249014064256e7e843fdf02deb798 + md5: 3b7d4e1fde928b7c9bbb21877f0de045 + depends: + - numpy + - python + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-geometry-msgs + - ros2-orocos-kdl-vendor + - ros2-ros-workspace + - ros2-tf2 + - ros2-tf2-ros + - ros2-tf2-ros-py + - __glibc >=2.28,<3.0.a0 + - libgcc >=15 + - libstdcxx >=15 + - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: BSD-3-Clause + size: 59680 + timestamp: 1791437071872 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-kdl-0.36.23-np2py312h1bab3cf_25.conda + sha256: 1ad65ac2dff51aca8f7260a00a99d44ca4ca71af09a873544bceec241d952eca + md5: dd5aec8f58831b27995dd3c53f5f3469 depends: - - eigen - - eigen-abi-devel - python + - ros2-builtin-interfaces - ros2-distro-mutex 0.19.* jazzy_* + - ros2-geometry-msgs - ros2-orocos-kdl-vendor + - ros2-python-orocos-kdl-vendor - ros2-ros-workspace - ros2-tf2 + - ros2-tf2-ros + - ros2-tf2-ros-py - libstdcxx >=15 - libgcc >=15 - __glibc >=2.28,<3.0.a0 + - python_abi 3.12.* *_cp312 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - eigen-abi >=5.0.1.80,<5.0.1.81.0a0 - numpy >=1.25,<3 + license: BSD-3-Clause + size: 49124 + timestamp: 1791437083244 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-msgs-0.36.23-np2py312h1bab3cf_25.conda + sha256: 6dd0514b1a926fa16b2cdb2a0a9a04e93e2ed0072c76f0e869ce0135471763df + md5: fcd74e81da452b08c0573674064c31ee + depends: + - python + - ros2-builtin-interfaces + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-geometry-msgs + - ros2-ros-workspace + - ros2-rosidl-default-runtime + - libstdcxx >=15 + - libgcc >=15 + - __glibc >=2.28,<3.0.a0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: BSD-3-Clause - size: 42447 - timestamp: 1791434463010 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-eigen-kdl-0.36.23-np2py314habcfd04_27.conda - sha256: 4180088c80865833c4f025c269d29bc61e5ccf02e1708bf06905c407aa3faa19 - md5: 4f1fb5644dd18ad33d05b936dd73f4a9 + size: 264357 + timestamp: 1791434049268 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-py-0.36.23-np2py312h1bab3cf_25.conda + sha256: 5963b9245c4dd0862850043c3bf1974baea00451acbab41dc461b4386bcb1312 + md5: c90ee4022b5316e3d135dd372fbf12aa depends: - - eigen - - eigen-abi-devel - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-orocos-kdl-vendor + - ros2-builtin-interfaces + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-geometry-msgs + - ros2-rclpy - ros2-ros-workspace + - ros2-rpyutils - ros2-tf2 - libgcc >=15 - __glibc >=2.28,<3.0.a0 - libstdcxx >=15 - - eigen-abi >=5.0.1.80,<5.0.1.81.0a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 42956 - timestamp: 1792676309035 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-geometry-msgs-0.36.23-np2py312h1bab3cf_25.conda - sha256: 09d7cca1174368b54e0803f74c7def8334d249014064256e7e843fdf02deb798 - md5: 3b7d4e1fde928b7c9bbb21877f0de045 + size: 59520 + timestamp: 1791434621869 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-ros-0.36.23-np2py312h1bab3cf_25.conda + sha256: 4a0f4efb425b17002f95cc33114cb266e506063b6d61b612d1e4c0b14a71f7a1 + md5: 8658a044d238b5ca324ed4731e220903 + depends: + - python + - ros2-builtin-interfaces + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-geometry-msgs + - ros2-message-filters + - ros2-rcl-interfaces + - ros2-rclcpp + - ros2-rclcpp-action + - ros2-rclcpp-components + - ros2-ros-workspace + - ros2-tf2 + - ros2-tf2-msgs + - libgcc >=15 + - __glibc >=2.28,<3.0.a0 + - libstdcxx >=15 + - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: BSD-3-Clause + size: 472171 + timestamp: 1791436619407 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-ros-py-0.36.23-np2py312h1bab3cf_25.conda + sha256: c51fddcf990358bcc2733a8391e129ad4b61bb9c61856a7aafe0ce06b5ec0b49 + md5: 8242b66cc796e2fca1a8d5bec3fe5ec1 + depends: + - python + - ros2-builtin-interfaces + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-geometry-msgs + - ros2-rclpy + - ros2-ros-workspace + - ros2-sensor-msgs + - ros2-std-msgs + - ros2-tf2-msgs + - ros2-tf2-py + - libgcc >=15 + - libstdcxx >=15 + - __glibc >=2.28,<3.0.a0 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 50128 + timestamp: 1791435425463 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-sensor-msgs-0.36.23-np2py312hd65a65c_25.conda + sha256: 2bf4b8f4d3945f8b7070ff9821d5d37beb5bedb7f4bbc68128d1e9b25d557732 + md5: 44dee358fb6741584f82f4a98d06e8d5 depends: + - eigen + - eigen-abi-devel - numpy - python - ros2-distro-mutex 0.19.* jazzy_* + - ros2-eigen3-cmake-module - ros2-geometry-msgs - - ros2-orocos-kdl-vendor - ros2-ros-workspace + - ros2-sensor-msgs + - ros2-sensor-msgs-py + - ros2-std-msgs - ros2-tf2 - ros2-tf2-ros - ros2-tf2-ros-py - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - libstdcxx >=15 + - libgcc >=15 - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 + - eigen-abi >=5.0.1.80,<5.0.1.81.0a0 - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 59680 - timestamp: 1791437071872 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-geometry-msgs-0.36.23-np2py314h53a0733_27.conda - sha256: 1073f4346fa461a8628be5bab9c8639dd95687e0e6da3eb196ab3e2c12d85b5a - md5: 24bf00963857bc68c1b02bea5d7c3a16 + size: 53236 + timestamp: 1791437867878 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-tools-0.36.23-np2py312h1bab3cf_25.conda + sha256: b718ed48f32fd928ab2a4dcb81ec00cddbc9636e4643d59f70df2c9c8ff264fa + md5: aefee8c9e6dade24b055f91a0403a77d depends: - - numpy + - graphviz - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-orocos-kdl-vendor + - pyyaml + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-rclpy - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-ros + - ros2-tf2-msgs + - ros2-tf2-py - ros2-tf2-ros-py - - libgcc >=15 - - libstdcxx >=15 - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 + - libstdcxx >=15 + - libgcc >=15 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 60672 - timestamp: 1792678723053 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-kdl-0.36.23-np2py312h1bab3cf_25.conda - sha256: 1ad65ac2dff51aca8f7260a00a99d44ca4ca71af09a873544bceec241d952eca - md5: dd5aec8f58831b27995dd3c53f5f3469 + size: 24274 + timestamp: 1791436901279 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tinyxml2-vendor-0.9.2-np2py312hd4672ec_25.conda + sha256: 35b8c00a2a19b17a961ddbc532b75fd90c3eaec597ba8c4e11d1ffb2c08a16f0 + md5: 009ac67313d65537072a25f420dc83a0 depends: - python - - ros2-builtin-interfaces - ros2-distro-mutex 0.19.* jazzy_* - - ros2-geometry-msgs - - ros2-orocos-kdl-vendor - - ros2-python-orocos-kdl-vendor - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-ros - - ros2-tf2-ros-py - - libstdcxx >=15 - - libgcc >=15 + - tinyxml2 - __glibc >=2.28,<3.0.a0 + - libgcc >=15 + - libstdcxx >=15 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + - tinyxml2 >=11.0.0,<11.1.0a0 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 49124 - timestamp: 1791437083244 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-kdl-0.36.23-np2py314h53a0733_27.conda - sha256: e8b4e661229a8e56408239d41a256b93aaf171e3a6df799b946e700c0751c420 - md5: e53fd97f8cb2ac14dbe938f72a38c142 + license: Apache-2.0 + size: 25261 + timestamp: 1791428337849 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tracetools-8.2.6-np2py312h1bab3cf_25.conda + sha256: 76c53fecda75ac11e58fe0a10604b76f8b2425da50cceb2e38a1a7a0f1879eb0 + md5: 3e0b617335978a381cf9ae0177d90c99 depends: + - lttng-ust - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-orocos-kdl-vendor - - ros2-python-orocos-kdl-vendor + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-ros - - ros2-tf2-ros-py - libgcc >=15 - - libstdcxx >=15 - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 + - libstdcxx >=15 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - lttng-ust >=2.13.9,<2.14.0a0 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - license: BSD-3-Clause - size: 50019 - timestamp: 1792678739171 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-msgs-0.36.23-np2py312h1bab3cf_25.conda - sha256: 6dd0514b1a926fa16b2cdb2a0a9a04e93e2ed0072c76f0e869ce0135471763df - md5: fcd74e81da452b08c0573674064c31ee + license: Apache-2.0 + size: 73831 + timestamp: 1791430608525 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-trajectory-msgs-5.3.8-np2py312h1bab3cf_25.conda + sha256: ab2b719f0d705cebe98499388e1d82dca97dadca90c2e5e67f767852cff1b617 + md5: f77779a847ae59d79c75f394e9e681a1 depends: - python - ros2-builtin-interfaces @@ -24654,1600 +20816,1499 @@ packages: - ros2-geometry-msgs - ros2-ros-workspace - ros2-rosidl-default-runtime - - libstdcxx >=15 + - ros2-std-msgs - libgcc >=15 - __glibc >=2.28,<3.0.a0 + - libstdcxx >=15 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - license: BSD-3-Clause - size: 264357 - timestamp: 1791434049268 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-msgs-0.36.23-np2py314h53a0733_27.conda - sha256: 771414f82f837f111e0194d10760e9ddf13297fbc0ea14b1f794f245ac1689aa - md5: ee084f1a2296226076be53737d6e21b0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 + size: 154769 + timestamp: 1791434026711 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-type-description-interfaces-2.0.4-np2py312h1bab3cf_25.conda + sha256: 15d0fe52e091e7085a859487cfb2a8a1bcc4185103901fa4fe25cc1fd76007bf + md5: effd2dbbfc1ba85359d51e58bf68cce3 depends: - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - ros2-rosidl-default-runtime - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 + - ros2-rosidl-core-runtime + - ros2-service-msgs - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 + - libgcc >=15 + - __glibc >=2.28,<3.0.a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - license: BSD-3-Clause - size: 266166 - timestamp: 1792675617593 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-py-0.36.23-np2py312h1bab3cf_25.conda - sha256: 5963b9245c4dd0862850043c3bf1974baea00451acbab41dc461b4386bcb1312 - md5: c90ee4022b5316e3d135dd372fbf12aa + license: Apache-2.0 + size: 244353 + timestamp: 1791431923405 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py312h1bab3cf_25.conda + sha256: fea58f9ae3c2118a794181be918926c26a9b1154d28af7c79133f898468a397f + md5: 6f52248c5782c04020bc6d08d8389a12 depends: - python - - ros2-builtin-interfaces - ros2-distro-mutex 0.19.* jazzy_* - - ros2-geometry-msgs - - ros2-rclpy - ros2-ros-workspace - - ros2-rpyutils - - ros2-tf2 + - uncrustify + - uncrustify >=0.78 + - libstdcxx >=15 - libgcc >=15 - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - size: 59520 - timestamp: 1791434621869 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-py-0.36.23-np2py314h53a0733_27.conda - sha256: f4aa9c12013c35a70dadc19ac29dde61edf141abc9460ec6c273011c943b336d - md5: 7574ea478444bfa25c5ce2d84cd8dca9 + license: Apache-2.0 OR GPL-2.0-only + size: 23791 + timestamp: 1791428301174 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py314h53a0733_27.conda + sha256: 56be2da04e95fc996bbc0303f3cfef4bdf1a84d3798ebc3faa0a7a30226987a7 + md5: 20f3c0c7ef3c8a7243ff51ac0ddbe53e depends: - python - - ros2-builtin-interfaces - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-rclpy - ros2-ros-workspace - - ros2-rpyutils - - ros2-tf2 + - uncrustify + - uncrustify >=0.78 + - libstdcxx >=15 - libgcc >=15 - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - python_abi 3.14.* *_cp314 - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 - license: BSD-3-Clause - size: 60127 - timestamp: 1792676311823 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-ros-0.36.23-np2py312h1bab3cf_25.conda - sha256: 4a0f4efb425b17002f95cc33114cb266e506063b6d61b612d1e4c0b14a71f7a1 - md5: 8658a044d238b5ca324ed4731e220903 + license: Apache-2.0 OR GPL-2.0-only + size: 24420 + timestamp: 1792669351595 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py312h1bab3cf_25.conda + sha256: 13dbd92eb07d6be7f42900afa51eec2709c0dbe618e672cc57f614b0d7e7c3a2 + md5: a3b520c703ebd967dd9b71e87fb8595c depends: - python - - ros2-builtin-interfaces - ros2-distro-mutex 0.19.* jazzy_* - - ros2-geometry-msgs - - ros2-message-filters - - ros2-rcl-interfaces - - ros2-rclcpp - - ros2-rclcpp-action - - ros2-rclcpp-components - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-msgs + - ros2-rosidl-core-runtime - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - libstdcxx >=15 + - __glibc >=2.28,<3.0.a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 472171 - timestamp: 1791436619407 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-ros-0.36.23-np2py314h53a0733_27.conda - sha256: 08251f063195ee813ee62b526f2183f1fb08f0e537f6508cc8e5a4bf92f34c0b - md5: b7a07e13a23259893769a7df0864610b + size: 76325 + timestamp: 1791431880284 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py314h53a0733_27.conda + sha256: e66f4e176e15fb16efaac7be22c8b0a3146a8044b8abe6377768672a0898ec85 + md5: 0d4c5d0bb1a6b868deea6aad96ba4cf7 depends: - python - - ros2-builtin-interfaces - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-message-filters - - ros2-rcl-interfaces - - ros2-rclcpp - - ros2-rclcpp-action - - ros2-rclcpp-components - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-msgs + - ros2-rosidl-core-runtime + - libgcc >=15 - __glibc >=2.28,<3.0.a0 - libstdcxx >=15 - - libgcc >=15 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - numpy >=1.25,<3 license: BSD-3-Clause - size: 474185 - timestamp: 1792678260630 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-ros-py-0.36.23-np2py312h1bab3cf_25.conda - sha256: c51fddcf990358bcc2733a8391e129ad4b61bb9c61856a7aafe0ce06b5ec0b49 - md5: 8242b66cc796e2fca1a8d5bec3fe5ec1 + size: 77648 + timestamp: 1792673295716 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdf-2.10.1-np2py312h1bab3cf_25.conda + sha256: cb01c4cffe2ee3a47b54a557e47b3fb9185f5530948c61f63a2ade6580120a35 + md5: 46bd63bf7fe7dc0624debbe45d3b507e depends: - python - - ros2-builtin-interfaces - ros2-distro-mutex 0.19.* jazzy_* - - ros2-geometry-msgs - - ros2-rclpy + - ros2-pluginlib - ros2-ros-workspace - - ros2-sensor-msgs - - ros2-std-msgs - - ros2-tf2-msgs - - ros2-tf2-py - - libgcc >=15 + - ros2-tinyxml2-vendor + - ros2-urdf-parser-plugin + - ros2-urdfdom + - ros2-urdfdom-headers - libstdcxx >=15 + - libgcc >=15 - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 license: BSD-3-Clause - size: 50128 - timestamp: 1791435425463 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-ros-py-0.36.23-np2py314h53a0733_27.conda - sha256: 37fbfa2a4073ff7764d578a576c5bf9678cef3e180fdaa32c31695a4c2ae3db6 - md5: d59ec6d0a1ace9e1649b6581b9f16f4a - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-rclpy - - ros2-ros-workspace - - ros2-sensor-msgs - - ros2-std-msgs - - ros2-tf2-msgs - - ros2-tf2-py - - __glibc >=2.28,<3.0.a0 + size: 159467 + timestamp: 1791431517353 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdf-parser-plugin-2.10.1-np2py312h1bab3cf_25.conda + sha256: d43f49d4bb0aafa88d76dd3f000ce00ce603ab254b86ac3190da94e1b6256d4a + md5: af987e8e1a9604ada14e0d9477e2c76a + depends: + - python + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - ros2-urdfdom-headers - libstdcxx >=15 - libgcc >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - __glibc >=2.28,<3.0.a0 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 51796 - timestamp: 1792677058636 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-sensor-msgs-0.36.23-np2py312hd65a65c_25.conda - sha256: 2bf4b8f4d3945f8b7070ff9821d5d37beb5bedb7f4bbc68128d1e9b25d557732 - md5: 44dee358fb6741584f82f4a98d06e8d5 + size: 32611 + timestamp: 1791430624924 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdfdom-6.0-py312h2261104_25.conda + sha256: b2d6c00f5c465f7eb3016acc07f5f5c11c398349e79f8261fe3c190b9df23ede + md5: b5cfd19e17b8abd909a03ea55c55076d depends: - - eigen - - eigen-abi-devel - - numpy + - console_bridge - python + - ros2-console-bridge-vendor - ros2-distro-mutex 0.19.* jazzy_* - - ros2-eigen3-cmake-module - - ros2-geometry-msgs - ros2-ros-workspace - - ros2-sensor-msgs - - ros2-sensor-msgs-py - - ros2-std-msgs - - ros2-tf2 - - ros2-tf2-ros - - ros2-tf2-ros-py - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 - - numpy >=1.25,<3 - - eigen-abi >=5.0.1.80,<5.0.1.81.0a0 + - ros2-tinyxml2-vendor + - ros2-urdfdom-headers + - tinyxml2 + - urdfdom >=6.0,<6.1a0 + - console_bridge >=1.0.2,<1.1.0a0 + - python_abi 3.12.* *_cp312 + - tinyxml2 >=11.0.0,<11.1.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: BSD-3-Clause + size: 8351 + timestamp: 1791430868896 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdfdom-headers-3.0-py312h24bf083_25.conda + sha256: 30f43d8c0ae551cb07b3ac6840d009ac31d104773123d1380c021d1651caf8fe + md5: 49449f7ddaac8c88a5ee72a2e0a0ab4c + depends: + - python + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - urdfdom_headers >=3.0,<3.1a0 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 53236 - timestamp: 1791437867878 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-sensor-msgs-0.36.23-np2py314habcfd04_27.conda - sha256: 12d6c0dc79e3d6ecef2da4eede600ca44710a7e4a532d0db29864234dc97fcc4 - md5: 22c07d3816aeb27e539b1cec75423d86 + size: 7281 + timestamp: 1791427378992 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-visualization-msgs-5.3.8-np2py312h1bab3cf_25.conda + sha256: c283fe49f1be4e731f6abaa9e6cb0f7e1c0778ac85409ccd7401c77886f62709 + md5: 6aeb3490862f41519d3603bc2c451c47 depends: - - eigen - - eigen-abi-devel - - numpy - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-eigen3-cmake-module + - ros2-builtin-interfaces + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-ros-workspace + - ros2-rosidl-default-runtime - ros2-sensor-msgs - - ros2-sensor-msgs-py - ros2-std-msgs - - ros2-tf2 - - ros2-tf2-ros - - ros2-tf2-ros-py - - libgcc >=15 - __glibc >=2.28,<3.0.a0 + - libgcc >=15 - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - eigen-abi >=5.0.1.80,<5.0.1.81.0a0 - license: BSD-3-Clause - size: 54281 - timestamp: 1792679920916 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-tools-0.36.23-np2py312h1bab3cf_25.conda - sha256: b718ed48f32fd928ab2a4dcb81ec00cddbc9636e4643d59f70df2c9c8ff264fa - md5: aefee8c9e6dade24b055f91a0403a77d + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + size: 384629 + timestamp: 1791434697712 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-yaml-cpp-vendor-9.0.1-np2py312h1bab3cf_25.conda + sha256: 420ff8f667542b768cf1f67f05426df16e69c69cd825f50b7279887f5e359206 + md5: 5e4e974097afd1fda99d11f52e224863 depends: - - graphviz - python - - pyyaml - ros2-distro-mutex 0.19.* jazzy_* - - ros2-rclpy - ros2-ros-workspace - - ros2-tf2-msgs - - ros2-tf2-py - - ros2-tf2-ros-py - - __glibc >=2.28,<3.0.a0 + - yaml-cpp - libstdcxx >=15 - libgcc >=15 + - __glibc >=2.28,<3.0.a0 + - yaml-cpp >=0.8.0,<0.9.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: BSD-3-Clause - size: 24274 - timestamp: 1791436901279 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tf2-tools-0.36.23-np2py314h53a0733_27.conda - sha256: 330e73cf4407964df31eb3f52e1fef7f0d8a698a32bd93e278a04f7ba775c84c - md5: 8c8da6bbe2807bc8f7e05c5e06058497 + license: Apache-2.0 OR MIT + size: 23714 + timestamp: 1791428375799 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h815c85b_25.conda + sha256: 677cbfad3c16cfb233c4223aa9d64880c31a6af84f0906ef26083b5470e42a9c + md5: b16236626b0f1a727994a9fdb2ea9ff6 depends: - - graphviz - python - - pyyaml - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - ros2-tf2-msgs - - ros2-tf2-py - - ros2-tf2-ros-py - __glibc >=2.28,<3.0.a0 - libgcc >=15 - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - license: BSD-3-Clause - size: 24128 - timestamp: 1792678490639 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tinyxml2-vendor-0.9.2-np2py312hd4672ec_25.conda - sha256: 35b8c00a2a19b17a961ddbc532b75fd90c3eaec597ba8c4e11d1ffb2c08a16f0 - md5: 009ac67313d65537072a25f420dc83a0 + - libzenohc >=1.9.0,<1.9.1.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + size: 25246 + timestamp: 1791428284330 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zstd-vendor-0.26.11-np2py312h6a0d68b_25.conda + sha256: 1c4428a59bbb1b06b3ea67fb05b324105d5f45559027c08d21be88826ee6e5d5 + md5: 438d04d97e0229de0bf436ca53afef1a depends: - python - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - tinyxml2 + - zstd - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - libstdcxx >=15 - - numpy >=1.25,<3 + - libgcc >=15 - python_abi 3.12.* *_cp312 - - tinyxml2 >=11.0.0,<11.1.0a0 + - numpy >=1.25,<3 + - zstd >=1.5.7,<1.6.0a0 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: Apache-2.0 - size: 25261 - timestamp: 1791428337849 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tinyxml2-vendor-0.9.2-np2py314hc703c99_27.conda - sha256: 8435197edc48bc5e4d6d1f3f897de6a955f3d8b17394ac3ebf2681490e844df0 - md5: c021c1bc798b755ab9a67f532a2724eb + license: Apache-2.0 OR BSD-3-Clause + size: 24624 + timestamp: 1791428379408 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-cmake-2.5.6-h60d57d3_25.conda + sha256: b7671df6e5b70668e30cbacf160d0ad63a5c32731cf63ab59e9a46e930614cf7 + md5: 22f55cecd31c855ae30adf9e155876c0 depends: - - python + - ros2-ament-cmake ==2.5.6 + size: 2004 + timestamp: 1791428951083 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-cmake-2.5.6-h60d57d3_27.conda + sha256: 90b3a842279c9047d46f4d709d82916cbdbfd54c5aaece52a1413342fdd5ac9b + md5: 8e99d49a7304d9785bd4feb508569ae9 + depends: + - ros2-ament-cmake ==2.5.6 - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - tinyxml2 - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - tinyxml2 >=11.0.0,<11.1.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 25774 - timestamp: 1792669391661 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tracetools-8.2.6-np2py312h1bab3cf_25.conda - sha256: 76c53fecda75ac11e58fe0a10604b76f8b2425da50cceb2e38a1a7a0f1879eb0 - md5: 3e0b617335978a381cf9ae0177d90c99 + size: 2048 + timestamp: 1792669868903 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-demo-nodes-py-0.33.11-h60d57d3_25.conda + sha256: cfc9395b1fe10d85dd4235761579a1fc4c5a2f066105090a6a5cd6827691bad3 + md5: 3b84f02ac4bf1e9c52bc145146bbe195 + depends: + - ros2-demo-nodes-py ==0.33.11 + size: 2030 + timestamp: 1791436192001 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-foxglove-bridge-3.6.0-h60d57d3_25.conda + sha256: 870d53e893e1af919f26f23036e0d0ef683c15a8af5c2d22db3ed2a92f101d2e + md5: 3b694979104b209024600e9cdacab4d8 + depends: + - ros2-foxglove-bridge ==3.6.0 + size: 2030 + timestamp: 1791446317753 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rclpy-7.1.12-h60d57d3_25.conda + sha256: 19cf20451f0f3e817ecaa7123379fa82f86f16912e453fbaca84fb683475eac0 + md5: 9341f86bc12db2f6e4f334019fe8a94f + depends: + - ros2-rclpy ==7.1.12 + size: 1978 + timestamp: 1791435377901 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-zenoh-cpp-0.2.11-h60d57d3_25.conda + sha256: dbb5e1ec6f9a11e590bf2415f4ac51561da7f0bad0ba18481e9cab8bd03cdf2d + md5: 0eb2a14706481db28b15b6e9fa08567b + depends: + - ros2-rmw-zenoh-cpp ==0.2.11 + size: 2028 + timestamp: 1791433390285 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-base-0.11.0-h60d57d3_25.conda + sha256: c700ef2f0fc53f8c0cb34c32d6a82196adfe6facd07f29e71ba94f6849de4755 + md5: 4c7d5d19e8e7b9b3d4ad4bc5ec4c8be6 + depends: + - ros2-ros-base ==0.11.0 + size: 2001 + timestamp: 1791452723262 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-environment-4.2.1-h60d57d3_25.conda + sha256: 2027b3e01cd11171f5cf482a4e198b94377d22ea8ba08c11892da8d65aa04bd7 + md5: 9389db96836b465d28bf3139b71cbeb7 + depends: + - ros2-ros-environment ==4.2.1 + size: 2026 + timestamp: 1791427778470 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-workspace-1.0.3-h60d57d3_25.conda + sha256: ab966a02876f1469f318680c5f144bf8c546b3a992d85abbfc7eff163588461f + md5: c7603b5329da1771d904e7363db04dec + depends: + - ros2-ros-workspace ==1.0.3 + size: 2019 + timestamp: 1791427778104 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-workspace-1.0.3-h60d57d3_27.conda + sha256: cfd0f00679fcbabf9d9fa403e353c71916f3637a9acb2e9cc08a9babd8603553 + md5: 8c52ecf97a4e24009f28a369e3f2a0cf + depends: + - ros2-ros-workspace ==1.0.3 + - ros2-distro-mutex 0.20.* jazzy_* + size: 2055 + timestamp: 1792668504981 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosbag2-py-0.26.11-h60d57d3_25.conda + sha256: f12643036d805a4aac758b912cc67c3acf2842f08d7a3f4883ddb8f38cebaea1 + md5: 8ebf39eddaf16c02698a06a4d4d319c0 + depends: + - ros2-rosbag2-py ==0.26.11 + size: 2012 + timestamp: 1791448744679 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h60d57d3_25.conda + sha256: d9ab3cd29f941433ea5ae3e6c8116d34f5e5f8c99bb460b709f3f9d4d2183eb3 + md5: 4b27964c47e82e82213eb2389f611f76 + depends: + - ros2-rosbag2-storage-mcap ==0.26.11 + size: 2060 + timestamp: 1791440271069 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-default-generators-1.6.1-h60d57d3_25.conda + sha256: 8540160e90aaf153764b33bbafa3b909748fb030f752623abe1da3a6aecdd2ef + md5: 50ce488f60e17b289072072ea77f54a2 + depends: + - ros2-rosidl-default-generators ==1.6.1 + size: 2072 + timestamp: 1791433839339 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-default-generators-1.6.1-h60d57d3_27.conda + sha256: 6b2509171d81ece64e5e964e4eebb9d124093563c1cdfa6b17e9d15842c0a58a + md5: c21bd637a310c9288501a0c87b86e1f5 + depends: + - ros2-rosidl-default-generators ==1.6.1 + - ros2-distro-mutex 0.20.* jazzy_* + size: 2117 + timestamp: 1792677615120 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-default-runtime-1.6.1-h60d57d3_25.conda + sha256: 4c7e372046d8bdda27dc8257a89046a5ed8c012769f446296b78dd12d9a319c5 + md5: 9c9cb1fdf89e70d4433613c51daba3de + depends: + - ros2-rosidl-default-runtime ==1.6.1 + size: 2056 + timestamp: 1791433839056 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-runtime-py-0.13.2-h60d57d3_25.conda + sha256: 936d49c3393d77b9632811a9679cbc99287d0df5ea40ee1b2d5a31e4e56f9f0a + md5: 5ad4e4acb24c32b2cfaa4aa99ea5c118 + depends: + - ros2-rosidl-runtime-py ==0.13.2 + size: 2043 + timestamp: 1791436237949 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rqt-console-2.2.2-h60d57d3_25.conda + sha256: af72fe29198efb5a4aaa0d9842a67cd239d7a6edadfa4f55edecbc84e50199d8 + md5: 3314945cb9825d9832515314536e741f + depends: + - ros2-rqt-console ==2.2.2 + size: 2002 + timestamp: 1791437106121 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rqt-graph-1.5.6-h60d57d3_25.conda + sha256: 06999ddc264f8969549d6fa69f86c8b3f0944bd188da75b8228e0e3c07c3fafc + md5: 369fc9a7142b6e7012bf564a799b5a9c + depends: + - ros2-rqt-graph ==1.5.6 + size: 1996 + timestamp: 1791437105989 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rqt-topic-1.7.5-h60d57d3_25.conda + sha256: c96c2c7f7454219718fbe07c20a31f298698f16e1e7d73a3d012fc407b03fe50 + md5: 7d12d2a90c897dd00739be84884e0455 + depends: + - ros2-rqt-topic ==1.7.5 + size: 1995 + timestamp: 1791438048727 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-std-msgs-5.3.8-h60d57d3_25.conda + sha256: f49161ff84e013096f491a0ee10dc551736029c9b3c109f2636922b26b760147 + md5: f4084d0fc04ca827ff23684b72da9885 + depends: + - ros2-std-msgs ==5.3.8 + size: 1991 + timestamp: 1791435798331 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312h3d3361c_25.conda + sha256: 28a69c047528b0dcfb5817b7e27403739289f62dfdd906ae301b987769fe59ad + md5: 1e32f47e4f8b44f54a17e4bbd55d52a3 depends: - - lttng-ust - python + - ros2-builtin-interfaces - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 + - ros2-rosidl-core-runtime + - ros2-service-msgs + - ros2-unique-identifier-msgs + - __osx >=14.0 + - libcxx >=21 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - lttng-ust >=2.13.9,<2.14.0a0 - - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 73831 - timestamp: 1791430608525 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-tracetools-8.2.6-np2py314h53a0733_27.conda - sha256: a57f4de6a6b3c6f120aaf1b9795a49ef2eabab9653c328879ae96d95531e2128 - md5: 122edca2e68827a2dc20d530dc656d78 + size: 144420 + timestamp: 1791433473690 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py314h40712d6_27.conda + sha256: 7eeff5a0a982e6e515eae79b18075488b6232d9df95a45dc47220a720e740d73 + md5: 5d2b3bc131fa6240edfa36a3d9d6a4c3 depends: - - lttng-ust - python + - ros2-builtin-interfaces - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - lttng-ust >=2.13.9,<2.14.0a0 + - ros2-rosidl-core-runtime + - ros2-service-msgs + - ros2-unique-identifier-msgs + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 - ros2-distro-mutex >=0.20.0,<0.21.0a0 - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 license: Apache-2.0 - size: 74351 - timestamp: 1792671642607 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-trajectory-msgs-5.3.8-np2py312h1bab3cf_25.conda - sha256: ab2b719f0d705cebe98499388e1d82dca97dadca90c2e5e67f767852cff1b617 - md5: f77779a847ae59d79c75f394e9e681a1 + size: 145967 + timestamp: 1792676184843 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-actionlib-msgs-5.3.8-np2py312h3d3361c_25.conda + sha256: 96f9124cb7a247b06fb3d6321ff8bc6a8642a3eedcdeaadcbbb59e6afc465723 + md5: 1a2f8f7055dce94ae1886be038f29b84 depends: - python - ros2-builtin-interfaces - ros2-distro-mutex 0.19.* jazzy_* - - ros2-geometry-msgs - ros2-ros-workspace - ros2-rosidl-default-runtime - ros2-std-msgs - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 154769 - timestamp: 1791434026711 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-trajectory-msgs-5.3.8-np2py314h53a0733_27.conda - sha256: 30674ca850775f6e9d3d00b70dd90ca02e29b6a7bfd49c02c11868705d73453e - md5: 473d879d0bbfc8c499ae5ec91d61a8e1 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 156028 - timestamp: 1792675591551 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-type-description-interfaces-2.0.4-np2py312h1bab3cf_25.conda - sha256: 15d0fe52e091e7085a859487cfb2a8a1bcc4185103901fa4fe25cc1fd76007bf - md5: effd2dbbfc1ba85359d51e58bf68cce3 + size: 108880 + timestamp: 1791435688954 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312h3d3361c_25.conda + sha256: 66c1f27f4da20827925b7f74741eb88761046ed1c35dcc779d273758059346e5 + md5: beba183f0b932f6707c65258b439b435 depends: - python + - ros2-ament-cmake-core + - ros2-ament-cmake-export-definitions + - ros2-ament-cmake-export-dependencies + - ros2-ament-cmake-export-include-directories + - ros2-ament-cmake-export-interfaces + - ros2-ament-cmake-export-libraries + - ros2-ament-cmake-export-link-flags + - ros2-ament-cmake-export-targets + - ros2-ament-cmake-gen-version-h + - ros2-ament-cmake-libraries + - ros2-ament-cmake-python + - ros2-ament-cmake-target-dependencies + - ros2-ament-cmake-test + - ros2-ament-cmake-version - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - ros2-rosidl-core-runtime - - ros2-service-msgs - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 + - cmake + - __osx >=14.0 + - libcxx >=21 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 244353 - timestamp: 1791431923405 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-type-description-interfaces-2.0.4-np2py314h53a0733_27.conda - sha256: 790a8124ad8e7136ab347aad0d222c371162bb7ee6059e9bd37cf6e152346fcb - md5: 2096dce708befa69ca6509d4a65dc8b4 + size: 25539 + timestamp: 1791428744114 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py314h40712d6_27.conda + sha256: 63513a3d7983d1fa88911f38c61b02159e339fef4e4fd28ead32e5ba469c03a0 + md5: f45f4e5729a6fe7f85884fcccfc1ea88 depends: - python + - ros2-ament-cmake-core + - ros2-ament-cmake-export-definitions + - ros2-ament-cmake-export-dependencies + - ros2-ament-cmake-export-include-directories + - ros2-ament-cmake-export-interfaces + - ros2-ament-cmake-export-libraries + - ros2-ament-cmake-export-link-flags + - ros2-ament-cmake-export-targets + - ros2-ament-cmake-gen-version-h + - ros2-ament-cmake-libraries + - ros2-ament-cmake-python + - ros2-ament-cmake-target-dependencies + - ros2-ament-cmake-test + - ros2-ament-cmake-version - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - ros2-rosidl-core-runtime - - ros2-service-msgs - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - cmake + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 - size: 245938 - timestamp: 1792673345198 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py312h1bab3cf_25.conda - sha256: fea58f9ae3c2118a794181be918926c26a9b1154d28af7c79133f898468a397f - md5: 6f52248c5782c04020bc6d08d8389a12 + size: 26330 + timestamp: 1792669614989 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-auto-2.5.6-np2py312h3d3361c_25.conda + sha256: b44666e4086c7c2c57039bcffdf61d5e2cf17d772b4af0dcaa311b0dc5beb448 + md5: 9abb31f747200e8dde2812a48446c735 depends: - python + - ros2-ament-cmake + - ros2-ament-cmake-gmock + - ros2-ament-cmake-gtest - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - uncrustify - - uncrustify >=0.78 - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: Apache-2.0 OR GPL-2.0-only - size: 23791 - timestamp: 1791428301174 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py314h53a0733_27.conda - sha256: 56be2da04e95fc996bbc0303f3cfef4bdf1a84d3798ebc3faa0a7a30226987a7 - md5: 20f3c0c7ef3c8a7243ff51ac0ddbe53e - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - uncrustify - - uncrustify >=0.78 - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 - license: Apache-2.0 OR GPL-2.0-only - size: 24420 - timestamp: 1792669351595 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py312h1bab3cf_25.conda - sha256: 13dbd92eb07d6be7f42900afa51eec2709c0dbe618e672cc57f614b0d7e7c3a2 - md5: a3b520c703ebd967dd9b71e87fb8595c + license: Apache-2.0 + size: 29705 + timestamp: 1791429091486 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-copyright-0.17.5-np2py312h3d3361c_25.conda + sha256: 691a1182085c3c07170f0002af8397f30d7f0d7697669efec3d8e7522f5f4aa0 + md5: 0c100e8bd380169988be62dcd3e95a90 depends: - python + - ros2-ament-cmake-test + - ros2-ament-copyright - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - ros2-rosidl-core-runtime - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 + - libcxx >=21 + - __osx >=14.0 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - license: BSD-3-Clause - size: 76325 - timestamp: 1791431880284 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py314h53a0733_27.conda - sha256: e66f4e176e15fb16efaac7be22c8b0a3146a8044b8abe6377768672a0898ec85 - md5: 0d4c5d0bb1a6b868deea6aad96ba4cf7 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-core-runtime - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 77648 - timestamp: 1792673295716 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdf-2.10.1-np2py312h1bab3cf_25.conda - sha256: cb01c4cffe2ee3a47b54a557e47b3fb9185f5530948c61f63a2ade6580120a35 - md5: 46bd63bf7fe7dc0624debbe45d3b507e + license: Apache-2.0 + size: 24991 + timestamp: 1791429865133 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312h3d3361c_25.conda + sha256: 0fe1ab8449461dde860f42620259ff4ce6ef73d2ba2c52bce8ee7467335c335b + md5: 070c30c9f405fa1713d94d71de1a6cfb depends: + - catkin_pkg - python + - ros2-ament-package - ros2-distro-mutex 0.19.* jazzy_* - - ros2-pluginlib - - ros2-ros-workspace - - ros2-tinyxml2-vendor - - ros2-urdf-parser-plugin - - ros2-urdfdom - - ros2-urdfdom-headers - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - cmake + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - license: BSD-3-Clause - size: 159467 - timestamp: 1791431517353 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdf-2.10.1-np2py314h53a0733_27.conda - sha256: e88488c3fcc6c5e743c5c55edf637c1f8dff158149f43fda8f8814aa24141534 - md5: 646cd50efe0d3ab45a718bf662d4a75b + license: Apache-2.0 + size: 47574 + timestamp: 1791427501185 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py314h40712d6_27.conda + sha256: 948431649e1328c340d984e49a6c1c68439bd1070cfb5cfc12e12723c6469c0a + md5: a279c4534c1c1a38076abab1eaaa0e3b depends: + - catkin_pkg - python + - ros2-ament-package - ros2-distro-mutex 0.20.* jazzy_* - - ros2-pluginlib - - ros2-ros-workspace - - ros2-tinyxml2-vendor - - ros2-urdf-parser-plugin - - ros2-urdfdom - - ros2-urdfdom-headers - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 + - cmake + - libcxx >=21 + - __osx >=14.0 - ros2-distro-mutex >=0.20.0,<0.21.0a0 - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - license: BSD-3-Clause - size: 159984 - timestamp: 1792672711342 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdf-parser-plugin-2.10.1-np2py312h1bab3cf_25.conda - sha256: d43f49d4bb0aafa88d76dd3f000ce00ce603ab254b86ac3190da94e1b6256d4a - md5: af987e8e1a9604ada14e0d9477e2c76a - depends: - - python - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-ros-workspace - - ros2-urdfdom-headers - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: BSD-3-Clause - size: 32611 - timestamp: 1791430624924 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdf-parser-plugin-2.10.1-np2py314h53a0733_27.conda - sha256: 1e28e04363594c67cccd09a7eee069f0af2b799f0dc36ae45bdc8c2115b521d9 - md5: 9138d45a10e866da51656878261e9adf - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-urdfdom-headers - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 33224 - timestamp: 1792671661220 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdfdom-6.0-py312h2261104_25.conda - sha256: b2d6c00f5c465f7eb3016acc07f5f5c11c398349e79f8261fe3c190b9df23ede - md5: b5cfd19e17b8abd909a03ea55c55076d + license: Apache-2.0 + size: 48312 + timestamp: 1792668198639 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312h3d3361c_25.conda + sha256: d0394f958e027190ac3202c7861b22a824ad7b20ff43f99a10d7df162ac65c6d + md5: a86e21f2cc476144b5d0367844b49fc6 depends: - - console_bridge - python - - ros2-console-bridge-vendor + - ros2-ament-cmake-core + - ros2-ament-cmake-test + - ros2-ament-cppcheck - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - ros2-tinyxml2-vendor - - ros2-urdfdom-headers - - tinyxml2 - - urdfdom >=6.0,<6.1a0 - - console_bridge >=1.0.2,<1.1.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - tinyxml2 >=11.0.0,<11.1.0a0 + - numpy >=1.25,<3 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: BSD-3-Clause - size: 8351 - timestamp: 1791430868896 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdfdom-6.0-py314h2f0392c_27.conda - sha256: a7baaa097726925dbc86a2252be2ce13bb1cd875b752791354bca55e93a71fdb - md5: 2c62538fd1f51155eacdebe3ae6e1129 + license: Apache-2.0 + size: 26640 + timestamp: 1791430158846 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py314h40712d6_27.conda + sha256: 5ff48c56e1c373f9f53e9970df0347074e246d31e6483d1af228b82b22f2e5f8 + md5: b2602cd6c7345a85c663c10bf1a41559 depends: - - console_bridge - python - - ros2-console-bridge-vendor + - ros2-ament-cmake-core + - ros2-ament-cmake-test + - ros2-ament-cppcheck - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - ros2-tinyxml2-vendor - - ros2-urdfdom-headers - - tinyxml2 - - urdfdom >=6.0,<6.1a0 - - python_abi 3.14.* *_cp314 + - __osx >=14.0 + - libcxx >=21 - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - tinyxml2 >=11.0.0,<11.1.0a0 - - console_bridge >=1.0.2,<1.1.0a0 - license: BSD-3-Clause - size: 8120 - timestamp: 1792671966001 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdfdom-headers-3.0-py312h24bf083_25.conda - sha256: 30f43d8c0ae551cb07b3ac6840d009ac31d104773123d1380c021d1651caf8fe - md5: 49449f7ddaac8c88a5ee72a2e0a0ab4c + - python_abi 3.14.* *_cp314 + - numpy >=1.25,<3 + license: Apache-2.0 + size: 27347 + timestamp: 1792671068081 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312h3d3361c_25.conda + sha256: 66f9f0284d7cd24682b560ff7e4484f2311de13c25bf01fbb0e2151849cfe5fc + md5: 78b6c02fd978a432b82984b517c162aa depends: - python + - ros2-ament-cmake-test + - ros2-ament-cpplint - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - urdfdom_headers >=3.0,<3.1a0 + - __osx >=14.0 + - libcxx >=21 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - size: 7281 - timestamp: 1791427378992 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-urdfdom-headers-3.0-py314h02e3bbf_27.conda - sha256: 4480bde48771f8cbfe9e0044ae556447d9409380bbb5a3cc2f641207d7ede481 - md5: 9b01c746e8b2cda01b777963009ceb74 + - numpy >=1.25,<3 + license: Apache-2.0 + size: 25615 + timestamp: 1791430151968 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py314h40712d6_27.conda + sha256: 968050ae75bb7ce01e6c4ec6439dcccaae570abf2c739c91dd6b8e1bf1d42b18 + md5: 55c733694f62f24197a543617c101163 depends: - python + - ros2-ament-cmake-test + - ros2-ament-cpplint - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - urdfdom_headers >=3.0,<3.1a0 - - python_abi 3.14.* *_cp314 + - libcxx >=21 + - __osx >=14.0 - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 7039 - timestamp: 1792668331649 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-visualization-msgs-5.3.8-np2py312h1bab3cf_25.conda - sha256: c283fe49f1be4e731f6abaa9e6cb0f7e1c0778ac85409ccd7401c77886f62709 - md5: 6aeb3490862f41519d3603bc2c451c47 + - python_abi 3.14.* *_cp314 + - numpy >=1.25,<3 + license: Apache-2.0 + size: 26323 + timestamp: 1792671057751 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312h3d3361c_25.conda + sha256: 8cff3d15db1d1f8b8a656e448106412dc55fe2c2cbe385d250e52c5f81452450 + md5: a2e1b2778943a4d8252c89cbff7b40fb depends: - python - - ros2-builtin-interfaces + - ros2-ament-cmake-core - ros2-distro-mutex 0.19.* jazzy_* - - ros2-geometry-msgs - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-sensor-msgs - - ros2-std-msgs - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 384629 - timestamp: 1791434697712 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-visualization-msgs-5.3.8-np2py314h53a0733_27.conda - sha256: e913fdb720f864b657aeed35a6688239cd0afc61f508cd3979f014fe7acba554 - md5: 13b14ec75e5acd0217dbf1287df1e3a7 + size: 24305 + timestamp: 1791427747767 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py314h40712d6_27.conda + sha256: 58b6ec3a26e9b09d04e0b13a8d332dab48734469eddebe1d27d0e2573eb26f06 + md5: 661fb8835422f21e0e330ed9fb9597a8 depends: - python - - ros2-builtin-interfaces + - ros2-ament-cmake-core - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-sensor-msgs - - ros2-std-msgs - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 + - libcxx >=21 + - __osx >=14.0 - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 license: Apache-2.0 - size: 386843 - timestamp: 1792676426683 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-yaml-cpp-vendor-9.0.1-np2py312h1bab3cf_25.conda - sha256: 420ff8f667542b768cf1f67f05426df16e69c69cd825f50b7279887f5e359206 - md5: 5e4e974097afd1fda99d11f52e224863 + size: 25073 + timestamp: 1792668371474 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312h3d3361c_25.conda + sha256: a111dc218d3ff3a745ff8b25cc8700ae9f6d9d47ecd8833c9a24dcbbe680e550 + md5: f21c784760f868d436d29aab6467f85f depends: - python + - ros2-ament-cmake-core + - ros2-ament-cmake-libraries - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - yaml-cpp - - libstdcxx >=15 - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - yaml-cpp >=0.8.0,<0.9.0a0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: Apache-2.0 OR MIT - size: 23714 - timestamp: 1791428375799 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-yaml-cpp-vendor-9.0.1-np2py314h53a0733_27.conda - sha256: f22f45b17181783677476ca8ce4ecd15497b6939a1f23d12670b30a733b0dab9 - md5: 0d6a388ca90b9c07123d73504e4b875c + license: Apache-2.0 + size: 25255 + timestamp: 1791428004061 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py314h40712d6_27.conda + sha256: bb44372d264eded500c1becb3968cc3857704286b19081f0d52356be8efd322b + md5: 8d3b79e85c57d262db714d428f417ca5 depends: - python + - ros2-ament-cmake-core + - ros2-ament-cmake-libraries - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - yaml-cpp - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 - - yaml-cpp >=0.8.0,<0.9.0a0 - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 OR MIT - size: 24217 - timestamp: 1792669417270 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h815c85b_25.conda - sha256: 677cbfad3c16cfb233c4223aa9d64880c31a6af84f0906ef26083b5470e42a9c - md5: b16236626b0f1a727994a9fdb2ea9ff6 + license: Apache-2.0 + size: 26000 + timestamp: 1792668745722 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312h3d3361c_25.conda + sha256: 0c888dfd1ce0f58b44a0aac87ed09c934db389dedc980ac0fbe44377a3fb5fd6 + md5: c2e7e4011c58fb4cf0c77c20c007fa1b depends: - python + - ros2-ament-cmake-core - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - libzenohc >=1.9.0,<1.9.1.0a0 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - constrains: - - __glibc >=2.17 license: Apache-2.0 - size: 25246 - timestamp: 1791428284330 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zenoh-cpp-vendor-0.2.11-np2py314hc614d3d_27.conda - sha256: ee9e60c5c4598bef45fb7ba7c0c21c5181be024f3e7baab62f7717933f9b9d37 - md5: 6ed0dd8c8fa08cca63fb8adc63ebbc25 + size: 24727 + timestamp: 1791427742393 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py314h40712d6_27.conda + sha256: bfd52b489d9fb95d0d418305cffd6cb9c58aff37a735981cba3d2448ef66ac74 + md5: 26ef27f76d68fc5504a1b8c3f775a6c8 depends: - python + - ros2-ament-cmake-core - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - __glibc >=2.28,<3.0.a0 - - libgcc >=15 - - libstdcxx >=15 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - libzenohc >=1.10.1,<1.10.2.0a0 - python_abi 3.14.* *_cp314 - ros2-distro-mutex >=0.20.0,<0.21.0a0 - constrains: - - __glibc >=2.17 license: Apache-2.0 - size: 25643 - timestamp: 1792669395685 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zstd-vendor-0.26.11-np2py312h6a0d68b_25.conda - sha256: 1c4428a59bbb1b06b3ea67fb05b324105d5f45559027c08d21be88826ee6e5d5 - md5: 438d04d97e0229de0bf436ca53afef1a + size: 25495 + timestamp: 1792668362211 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312h3d3361c_25.conda + sha256: ddd986c6d93d2f45849524b6e0af0e35b201dd1924ce5e3f78cfe8531a36d51f + md5: fc7d1bac477a40aa85a19ba440fd5dcc depends: - python + - ros2-ament-cmake-core + - ros2-ament-cmake-export-libraries - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - zstd - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - libgcc >=15 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - - zstd >=1.5.7,<1.6.0a0 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: Apache-2.0 OR BSD-3-Clause - size: 24624 - timestamp: 1791428379408 -- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zstd-vendor-0.26.11-np2py314hb9510b1_27.conda - sha256: 6adb12e03efb2beee5bd566ddf21a9c09f3916133c6018e7034ef8cd3dfb2a09 - md5: 98320b27071a99ef5e58abbcf9c3744b + - numpy >=1.25,<3 + license: Apache-2.0 + size: 24899 + timestamp: 1791428029273 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py314h40712d6_27.conda + sha256: 4fa3114656ec7e031f6a8f3ecd6ef709a4d5d8f798e0cb4c9ced8ccf920818d4 + md5: ba6f26130c433ae258e91c3f210e8f2d depends: - python + - ros2-ament-cmake-core + - ros2-ament-cmake-export-libraries - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - zstd - - libgcc >=15 - - __glibc >=2.28,<3.0.a0 - - libstdcxx >=15 - - python_abi 3.14.* *_cp314 + - libcxx >=21 + - __osx >=14.0 - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - zstd >=1.5.7,<1.6.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 OR BSD-3-Clause - size: 25138 - timestamp: 1792669421551 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-cmake-2.5.6-h60d57d3_25.conda - sha256: b7671df6e5b70668e30cbacf160d0ad63a5c32731cf63ab59e9a46e930614cf7 - md5: 22f55cecd31c855ae30adf9e155876c0 - depends: - - ros2-ament-cmake ==2.5.6 - size: 2004 - timestamp: 1791428951083 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-index-cpp-1.8.4-h60d57d3_25.conda - sha256: 52e93c58f77cddf0f58ee9b93f1dca33a495f38a6a32c68a3f3d4b377976e4af - md5: 0b20c25a6d699b84b19b9275b431d148 - depends: - - ros2-ament-index-cpp ==1.8.4 - size: 2029 - timestamp: 1791431438597 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-demo-nodes-py-0.33.11-h60d57d3_25.conda - sha256: cfc9395b1fe10d85dd4235761579a1fc4c5a2f066105090a6a5cd6827691bad3 - md5: 3b84f02ac4bf1e9c52bc145146bbe195 - depends: - - ros2-demo-nodes-py ==0.33.11 - size: 2030 - timestamp: 1791436192001 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-fastcdr-2.2.7-np2py312haf4906a_21.conda - sha256: 55ccc2f54784e53b97ec62e6a7a21099d72bfae0e7c902b4f7d1690f579e0a67 - md5: c2f3b48d114127c35015e6ef4370ec8e - depends: - - python - - ros-jazzy-ros-workspace - - ros2-distro-mutex 0.16.* jazzy_* - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 81413 - timestamp: 1788191643747 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-foxglove-bridge-3.4.3-h60d57d3_21.conda - sha256: 252014ea1aa0ae45191aecd195e5b0dbd0202fa85253f514d801ced68235564f - md5: dba21c81852acd3b39273560ed7b9fe7 + size: 25690 + timestamp: 1792668771861 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312h3d3361c_25.conda + sha256: 80cbb28b08f19af4196c31af392a09d01e49ab3d64e4e50956bd96397904be11 + md5: 4567ec12db2f1d6631bbb343bb71dfbb depends: - - ros2-foxglove-bridge ==3.4.3 - size: 2029 - timestamp: 1788464916101 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rcpputils-2.11.4-h60d57d3_25.conda - sha256: 4255b96974c088b50b635a64517c8ff2c071c2a1170fbb0bfe0b9fa2c42ae618 - md5: c5d66aba0e8ff9d7343237f9efbf98f1 - depends: - - ros2-rcpputils ==2.11.4 - size: 2004 - timestamp: 1791432488181 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rcutils-6.7.6-h60d57d3_25.conda - sha256: 15fac8a49e43d7ccda60406146307feb1f1437afd72941cd0038f7ed29d83849 - md5: 07824f67d62a10bfbfc30727be139e98 - depends: - - ros2-rcutils ==6.7.6 - size: 1986 - timestamp: 1791432260952 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-7.3.3-np2py312haf4906a_21.conda - sha256: d082a9492bf18200ae6a8f90abffbab89ceb80bb696cd466627ceb44bab8e559 - md5: 4628f42fe94a4db7c0b265f06683f8d8 - depends: - - python - - ros-jazzy-rcutils - - ros-jazzy-ros-workspace - - ros-jazzy-rosidl-dynamic-typesupport - - ros-jazzy-rosidl-runtime-c - - ros2-distro-mutex 0.16.* jazzy_* - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - size: 94029 - timestamp: 1788193988523 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rmw-zenoh-cpp-0.2.10-np2py312h84ff3ff_21.conda - sha256: 371791f2cbc698ef9f708725ffd7fc5051a44e1cbfbc41ad87fc031120b50e7f - md5: b029e19ffc3ebfdcf362ace7c239fb5f - depends: - - python - - ros-jazzy-ament-index-cpp - - ros-jazzy-fastcdr - - ros-jazzy-rcpputils - - ros-jazzy-rcutils - - ros-jazzy-rmw - - ros-jazzy-ros-workspace - - ros-jazzy-rosidl-typesupport-fastrtps-c - - ros-jazzy-rosidl-typesupport-fastrtps-cpp - - ros-jazzy-tracetools - - ros-jazzy-zenoh-cpp-vendor - - ros2-distro-mutex 0.16.* jazzy_* - - __osx >=12.0 - - libcxx >=19 + - python + - ros2-ament-cmake-core + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - libzenohc >=1.9.0,<1.9.1.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 OR BSD-3-Clause - size: 230231 - timestamp: 1788194726154 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-base-0.11.0-h60d57d3_25.conda - sha256: c700ef2f0fc53f8c0cb34c32d6a82196adfe6facd07f29e71ba94f6849de4755 - md5: 4c7d5d19e8e7b9b3d4ad4bc5ec4c8be6 - depends: - - ros2-ros-base ==0.11.0 - size: 2001 - timestamp: 1791452723262 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-environment-4.2.1-h60d57d3_25.conda - sha256: 2027b3e01cd11171f5cf482a4e198b94377d22ea8ba08c11892da8d65aa04bd7 - md5: 9389db96836b465d28bf3139b71cbeb7 - depends: - - ros2-ros-environment ==4.2.1 - size: 2026 - timestamp: 1791427778470 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-workspace-1.0.3-h60d57d3_25.conda - sha256: ab966a02876f1469f318680c5f144bf8c546b3a992d85abbfc7eff163588461f - md5: c7603b5329da1771d904e7363db04dec - depends: - - ros2-ros-workspace ==1.0.3 - size: 2019 - timestamp: 1791427778104 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosbag2-py-0.26.11-h60d57d3_25.conda - sha256: f12643036d805a4aac758b912cc67c3acf2842f08d7a3f4883ddb8f38cebaea1 - md5: 8ebf39eddaf16c02698a06a4d4d319c0 - depends: - - ros2-rosbag2-py ==0.26.11 - size: 2012 - timestamp: 1791448744679 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h60d57d3_25.conda - sha256: d9ab3cd29f941433ea5ae3e6c8116d34f5e5f8c99bb460b709f3f9d4d2183eb3 - md5: 4b27964c47e82e82213eb2389f611f76 - depends: - - ros2-rosbag2-storage-mcap ==0.26.11 - size: 2060 - timestamp: 1791440271069 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-default-generators-1.6.1-h60d57d3_25.conda - sha256: 8540160e90aaf153764b33bbafa3b909748fb030f752623abe1da3a6aecdd2ef - md5: 50ce488f60e17b289072072ea77f54a2 - depends: - - ros2-rosidl-default-generators ==1.6.1 - size: 2072 - timestamp: 1791433839339 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-default-runtime-1.6.1-h60d57d3_25.conda - sha256: 4c7e372046d8bdda27dc8257a89046a5ed8c012769f446296b78dd12d9a319c5 - md5: 9c9cb1fdf89e70d4433613c51daba3de - depends: - - ros2-rosidl-default-runtime ==1.6.1 - size: 2056 - timestamp: 1791433839056 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-dynamic-typesupport-0.1.2-h60d57d3_25.conda - sha256: d0dd7595b0b479fbfb4ca39cbdc15fdee0025a7ddace8dd8a49173c69d852a73 - md5: 566b90c78b0a5995b22e5366a247d552 - depends: - - ros2-rosidl-dynamic-typesupport ==0.1.2 - size: 2073 - timestamp: 1791432763536 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-runtime-c-4.6.9-h60d57d3_25.conda - sha256: 6ecf7348c96619bd7f167022890bac7ff608bd5180a16ab9842b2e66d4e081bc - md5: 0aebe9ba76332cc0435c1f1879345d41 - depends: - - ros2-rosidl-runtime-c ==4.6.9 - size: 2031 - timestamp: 1791432487580 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-typesupport-fastrtps-c-3.6.4-h60d57d3_25.conda - sha256: 19786afb356a6a3ca72214207435836cbdb143d7d29025b1af3f7a8d78ab0079 - md5: 32eb779f22bc833b00cc7643d49f828a - depends: - - ros2-rosidl-typesupport-fastrtps-c ==3.6.4 - size: 2093 - timestamp: 1791433263708 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-typesupport-fastrtps-cpp-3.6.4-h60d57d3_25.conda - sha256: b10937d2fc66c5d30f7022670a35b943315295e5df5bcedf768337323c6624ab - md5: 29eae0e5a5b1ac222a89b62c5b1089ca - depends: - - ros2-rosidl-typesupport-fastrtps-cpp ==3.6.4 - size: 2098 - timestamp: 1791433206312 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rqt-console-2.2.2-h60d57d3_25.conda - sha256: af72fe29198efb5a4aaa0d9842a67cd239d7a6edadfa4f55edecbc84e50199d8 - md5: 3314945cb9825d9832515314536e741f - depends: - - ros2-rqt-console ==2.2.2 - size: 2002 - timestamp: 1791437106121 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rqt-graph-1.5.6-h60d57d3_25.conda - sha256: 06999ddc264f8969549d6fa69f86c8b3f0944bd188da75b8228e0e3c07c3fafc - md5: 369fc9a7142b6e7012bf564a799b5a9c - depends: - - ros2-rqt-graph ==1.5.6 - size: 1996 - timestamp: 1791437105989 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rqt-topic-1.7.5-h60d57d3_25.conda - sha256: c96c2c7f7454219718fbe07c20a31f298698f16e1e7d73a3d012fc407b03fe50 - md5: 7d12d2a90c897dd00739be84884e0455 - depends: - - ros2-rqt-topic ==1.7.5 - size: 1995 - timestamp: 1791438048727 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-tracetools-8.2.6-h60d57d3_25.conda - sha256: d0db3a225fe0df56002ec5f82fc9b4e9ab811fa56586106595c5fff9431eee5c - md5: b41eb15bab9dd9b4938e893b1eb647bc - depends: - - ros2-tracetools ==8.2.6 - size: 2000 - timestamp: 1791431949378 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-zenoh-cpp-vendor-0.2.10-np2py312h84ff3ff_21.conda - sha256: 1c7d515b711e1e0f00c2a15b22e58419b55d1725381d71564065bc845a5f44fe - md5: 9ef58cdbd6dd50fbd55b32168bf0fc54 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + size: 26214 + timestamp: 1791427725277 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py314h40712d6_27.conda + sha256: ba2751307d0bc853cfadf1ced66c3a5b2e421dd6ca1e58125b3b3ef0da405c92 + md5: c8cedcbf045e8bf1710bbfdc67b3ff43 depends: - python - - ros-jazzy-ros-workspace - - ros2-distro-mutex 0.16.* jazzy_* - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - ros2-ament-cmake-core + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - libzenohc >=1.9.0,<1.9.1.0a0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 25666 - timestamp: 1788191481084 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312haf4906a_21.conda - sha256: a35df0344a9132d49dd63c554abf46e4cfb9683bdfd23c2428d5747b3a8f1d4a - md5: d44c0a3edeba62a1997a7e77ba472e39 + size: 27021 + timestamp: 1792668331934 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312h3d3361c_25.conda + sha256: 014c3b5c554115f1a39db558d63c6063800d1481f478055c8a690f8480e2e89b + md5: 4aa6f7f61dc78d7d382880fa8c5a3410 depends: - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-cmake-core + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - ros2-rosidl-core-runtime - - ros2-service-msgs - - ros2-unique-identifier-msgs - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 144150 - timestamp: 1788361795754 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-actionlib-msgs-5.3.8-np2py312haf4906a_21.conda - sha256: ab880583b87823e96a54147940d7803be0fbd9e8a267ebe831007900e7de8efa - md5: bf99c8835850e57d839672a18a9d09ac + size: 24214 + timestamp: 1791427736681 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py314h40712d6_27.conda + sha256: 58ebdf2e5f595d22e60fdc6b6afa0aab2d4bcb37410641739ffb7bc11b7f5f74 + md5: c68c487876972a5632428a07f9d3e90b depends: - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-cmake-core + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 107893 - timestamp: 1788457422683 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312haf4906a_21.conda - sha256: b6b50de48e7c0a6facf87ccdb8f144e8d8e74722ae09306190e8cb814ddb9c01 - md5: 7a81d2867e51c795eb4a11077413ec93 + size: 25018 + timestamp: 1792668352198 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312h3d3361c_25.conda + sha256: c3c9074314ab41d2999f35ffd39abe5ba268ab4a8fe83e4759a2bfb363bab537 + md5: 559ac2b70ccab49d59dd5c8c01c53bd8 depends: - python - ros2-ament-cmake-core - - ros2-ament-cmake-export-definitions - - ros2-ament-cmake-export-dependencies - - ros2-ament-cmake-export-include-directories - - ros2-ament-cmake-export-interfaces - ros2-ament-cmake-export-libraries - - ros2-ament-cmake-export-link-flags - - ros2-ament-cmake-export-targets - - ros2-ament-cmake-gen-version-h - - ros2-ament-cmake-libraries - - ros2-ament-cmake-python - - ros2-ament-cmake-target-dependencies - - ros2-ament-cmake-test - - ros2-ament-cmake-version - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - cmake - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 25222 - timestamp: 1788268269348 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-auto-2.5.6-np2py312haf4906a_21.conda - sha256: c1359e87c1d8d3ae29761a3781510aee08fed29ef0f9fe29319692194b168f49 - md5: 99861a65984b2990873d2c82a805479b + size: 25032 + timestamp: 1791428021356 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py314h40712d6_27.conda + sha256: 8a7013faba2c051c4a465bd81a0b4849d2ea90852cbb666e8f93c1897fe97b6e + md5: 62b2757ab5a32bec3acde7ddc9a4f383 depends: - python - - ros2-ament-cmake - - ros2-ament-cmake-gmock - - ros2-ament-cmake-gtest - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-cmake-core + - ros2-ament-cmake-export-libraries + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 + size: 25840 + timestamp: 1792668764713 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312h3d3361c_25.conda + sha256: db30396894e92fb05ce9fa7a4948e1e0f83d007d8d1daf73b72bfd1dc84f7737 + md5: 14c7cfa49290e2450bb13310589b6236 + depends: + - python + - ros2-ament-cmake-test + - ros2-ament-flake8 + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 29410 - timestamp: 1788268585565 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-copyright-0.17.5-np2py312haf4906a_21.conda - sha256: e153bea09391741833bd4132d9bdca9718c526795f5c07beb3cbdcc4c6987d4d - md5: 67d3e1aa2aecbe0bb041a47779ccc9db + size: 26734 + timestamp: 1791430144366 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py314h40712d6_27.conda + sha256: d695d414e4ae15fc8f780012815275b508724fac6d67d7f02fb6dab6ec72c531 + md5: ac2b4979145261e9f09d1556133486de depends: - python - ros2-ament-cmake-test - - ros2-ament-copyright - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-flake8 + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 24609 - timestamp: 1788269063360 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312haf4906a_21.conda - sha256: 38dad076ae2fe5daeda578885c39cccfc544f9652ca0906f17eea4454e9bcb79 - md5: 45f3ea21efd46de3e8fd115bd1ab3b88 + size: 27483 + timestamp: 1792671045236 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312h3d3361c_25.conda + sha256: 43bf14266e8f9e6682f7a81d34284e5f939e5f94a39556404d5cfe93073acbf2 + md5: b79c2714fec8b2b2683dbb123af84749 depends: - - catkin_pkg - python - - ros2-ament-package - - ros2-distro-mutex 0.16.* jazzy_* - - cmake - - __osx >=12.0 - - libcxx >=19 + - ros2-ament-cmake-core + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 47371 - timestamp: 1788259693819 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312haf4906a_21.conda - sha256: 46ca23f58d3afcf53b1defdf1b33154ca8ed023990eb80258251faa9ccf67297 - md5: 5f1fe6d0adca86289fa5baa752988c86 + size: 26988 + timestamp: 1791428573210 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py314h40712d6_27.conda + sha256: 943a2c495b10f575965ccb5c689e269a365cb4ba736386911698e27ee7d48cef + md5: 2b33fec943fe754d7d4ddaf43151faee depends: - python - ros2-ament-cmake-core + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - __osx >=14.0 + - libcxx >=21 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + size: 27782 + timestamp: 1792669366952 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312h3d3361c_25.conda + sha256: f05c6694fbb7d2a11a3bf4ba3b575f7022942f38a581e660b59483e40179ad88 + md5: a1fc0d924e5671eefee702bf61fe9015 + depends: + - gmock + - python + - ros2-ament-cmake-gtest - ros2-ament-cmake-test - - ros2-ament-cppcheck - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-gmock-vendor - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 26323 - timestamp: 1788269462669 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312haf4906a_21.conda - sha256: 6eb036b46d91a12c919eba29bb3bba6454575239ca7eb3a14dbb46b9d2330aa4 - md5: 3ae70b7af1ad6464b848aab047f5e4a2 + size: 27152 + timestamp: 1791428589228 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py314h40712d6_28.conda + sha256: 89b74e6c54713294ed67b717f4e9a47e3d308b42fef26e443703ec594cdafc90 + md5: a84d2ae172bbcfbf2630fa27754e7871 depends: + - gmock - python + - ros2-ament-cmake-gtest - ros2-ament-cmake-test - - ros2-ament-cpplint - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-gmock-vendor - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 - size: 25270 - timestamp: 1788270616425 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312haf4906a_21.conda - sha256: 7b0a62fbde29518568951625e46cb14eba4a42061a009f68ade072f1104a828f - md5: 49a708e7af1d4b2a417a8fe5105dc502 + size: 30479 + timestamp: 1792922532453 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312h3d3361c_25.conda + sha256: 46dc09fe5a889305a6760d907328b65eb4c3d08e39c9e43569574278a6b0d5b6 + md5: a3c3899c28bd6555851ec22a62c55a19 depends: + - gtest - python - - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-cmake-test + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-gtest-vendor - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 + - gtest >=1.18.0,<1.18.1.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 23990 - timestamp: 1788260206719 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312haf4906a_21.conda - sha256: 00dcca2574bc5c78c89570a5aaa9196878248da44b3cab4b700080c9505a565c - md5: 812b78a7570758b1d88c949fc8fa9f70 + size: 26894 + timestamp: 1791428367639 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py314h40712d6_28.conda + sha256: 66a9107937cd59d9ed1f7f82bc625bd338163b0dff346cf7591df42bc0819f09 + md5: 220cb0973891930e659e91d0aba5c272 depends: + - gtest - python - - ros2-ament-cmake-core - - ros2-ament-cmake-libraries - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-cmake-test + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-gtest-vendor - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - gtest >=1.18.0,<1.18.1.0a0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 25013 - timestamp: 1788262788773 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312haf4906a_21.conda - sha256: 7b9ddb3da391d45dae86799b7e3987c9751b6811410898c4eeac1b0db6cc2671 - md5: d9a191a82a05b93a93f11cf4fd712999 + size: 28520 + timestamp: 1792921199745 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312h3d3361c_25.conda + sha256: e783418a941c1bc8524bc4176bbc33c7afd04d3f1ca6137c2b246c73f442d146 + md5: 0ca71a2aba14c1796dafa15828c73a36 depends: - python - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 24386 - timestamp: 1788260200783 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312haf4906a_21.conda - sha256: 13151f66d7970b00d648faaa613d13783f3a14a815d695d9ecaff2693aa60bc2 - md5: 507fdbc7dfcd7b1f6f0533dd1a1d28f3 + size: 24189 + timestamp: 1791427720008 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py314h40712d6_27.conda + sha256: 9627ae40a8b42434a7751a6dddba0d9827f4d62438148336c61d8b6e90a02057 + md5: 4de1cd1ef7cb487f292f24b019eed00c depends: - python - ros2-ament-cmake-core - - ros2-ament-cmake-export-libraries - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 24580 - timestamp: 1788262433395 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312haf4906a_21.conda - sha256: 7a910ea76ee798edea57b061cabaf7bc01883cb7b8af9d9d96a65152e89e1913 - md5: ee19750b66effb0965fd6f80d3a17978 + size: 24949 + timestamp: 1792668322890 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312h3d3361c_25.conda + sha256: 4cc28127a0c68075a2217845ff05928aac43b6b7c2660febeeb1773fa4376404 + md5: acd2afc55a8367f95dab0071ee2cd4b9 depends: - python - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 25939 - timestamp: 1788260169777 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312haf4906a_21.conda - sha256: 0b46b1682b99c6ef44fe11581542295542d910f0560bbebc4f98484a2894b786 - md5: 6ea83b3d16a2f7c7e8d0ec5fe9d9ea88 + size: 23905 + timestamp: 1791427713876 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py314h40712d6_27.conda + sha256: 1b052ff6d7fc82ca0a1586656fe69940d2c51cc7fb594e9916d1815098119076 + md5: 1e9eadd6f9856066d785849df221eb99 depends: - python - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + size: 24672 + timestamp: 1792668315135 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-lint-cmake-0.17.5-np2py312h3d3361c_25.conda + sha256: ae99a35e9a46b23c1104f0acb730ce97b0d4164131b976e8f49c1f9b391953d1 + md5: 1c451d04b898a8aa3e5627d5854bf966 + depends: + - python + - ros2-ament-cmake-test + - ros2-ament-lint-cmake + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - __osx >=14.0 + - libcxx >=21 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + size: 24580 + timestamp: 1791428953993 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312h3d3361c_25.conda + sha256: a9b7976064ed8e6f6e5359167b5561747c51464ba06bd921eb637bbb7598764d + md5: a2fed30c46dbb8a54d1e28c6c480c717 + depends: + - python + - ros2-ament-cmake-test + - ros2-ament-pep257 + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + license: Apache-2.0 + size: 25477 + timestamp: 1791430137313 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py314h40712d6_27.conda + sha256: 47d10d1598f1242d17213b1345ed7979200b8a5bcd1c4fbc10a0f0e897fcbd93 + md5: ac8531c486e122a4c971d7b4cc686ea8 + depends: + - python + - ros2-ament-cmake-test + - ros2-ament-pep257 + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 23958 - timestamp: 1788260194548 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312haf4906a_21.conda - sha256: d61d6bf36832f7ab59fa4ccb7b55d620d47eac48236837d147ca883eeaf65eb5 - md5: a27f9c2af3be3c0564dc6921e09dcaf1 + size: 26188 + timestamp: 1792671036018 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312h3d3361c_25.conda + sha256: 1613bd37f9e9a7bb46315d19689f6756ec7177c6f7884b5aeb50a19de054e738 + md5: b64eef5c5796d10886c99b11ebdf8a08 depends: + - pytest - python - ros2-ament-cmake-core - - ros2-ament-cmake-export-libraries - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-cmake-test + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 24811 - timestamp: 1788262806399 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312haf4906a_21.conda - sha256: 5e5d4a5f9ebdbea574471acb82317f36163f36f57fbd0b8c4413457e586c0168 - md5: 6dbef71eb55e80f581426126a9c5ca98 + size: 27127 + timestamp: 1791428396814 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py314h40712d6_27.conda + sha256: d94f161985783c4220eb705fd266f87362c63b08dd37d6daca55d66010800ddc + md5: 6d801f5b1387b79a549175f07eb1f7ae depends: + - pytest - python + - ros2-ament-cmake-core - ros2-ament-cmake-test - - ros2-ament-flake8 - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 + - numpy >=1.25,<3 + license: Apache-2.0 + size: 27894 + timestamp: 1792669115974 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312h3d3361c_25.conda + sha256: fdc6fd109ba797799ceae53f5cf49498f6600a10e6ae63819d3594364973498b + md5: 0a995f1d2abcbdba9290a1f06bafc8df + depends: + - python + - ros2-ament-cmake-core + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 26416 - timestamp: 1788270608820 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312haf4906a_21.conda - sha256: d034f1a7c44b52e60a0d2d0eef1d83dd31777c1a7ff7c9927b49005fcac67c53 - md5: 889255070097b81d382f066955def5e7 + size: 27341 + timestamp: 1791427697185 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py314h40712d6_27.conda + sha256: c6f60b90b810243bde7659a1319dbca88b5231e8a2f1c3da0cbad0e301a697ad + md5: a975bb358e4210da1852c22edeef6d5a depends: - python - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 + license: Apache-2.0 + size: 27976 + timestamp: 1792668296916 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.2-np2py312h3d3361c_25.conda + sha256: 15614cf8eae15397e0c8408a0233eeb004019d918b6cb5db816d3d2d2e3d009d + md5: b1ffcc298892c547ed2baead7614c521 + depends: + - python + - ros2-ament-cmake + - ros2-ament-cmake-gmock + - ros2-ament-cmake-gtest + - ros2-ament-cmake-pytest + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-domain-coordinator + - ros2-ros-workspace + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 license: Apache-2.0 - size: 26756 - timestamp: 1788268111615 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312haf4906a_21.conda - sha256: 9c81399e106b6eba9cf524c66896e981defd205fd99300348ea205648adc961d - md5: 0ba04df6843aabbe5d99ef128d65f80c + size: 33458 + timestamp: 1791430866777 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.2-np2py314h40712d6_27.conda + sha256: f025ad1ddc794ccf8e8a61b8425ccb7bd929d7951cb0d2e7571d5e0b2e499384 + md5: b0d483cbbc50acf02adec72c6df81345 depends: - - gmock - python + - ros2-ament-cmake + - ros2-ament-cmake-gmock - ros2-ament-cmake-gtest - - ros2-ament-cmake-test - - ros2-distro-mutex 0.16.* jazzy_* - - ros2-gmock-vendor + - ros2-ament-cmake-pytest + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-domain-coordinator - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 + size: 34225 + timestamp: 1792672280677 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312h3d3361c_25.conda + sha256: 262a2e4541f19bbe40a33b46cecf68e26087761f83be2240066050b96c02c63a + md5: a62b2be5243d9fc49bcc3a16f79e9454 + depends: + - python + - ros2-ament-cmake-core + - ros2-ament-cmake-include-directories + - ros2-ament-cmake-libraries + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 26875 - timestamp: 1788268126412 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312haf4906a_21.conda - sha256: 0727b8b583d62d435f565d1b91f5ec4705d3ccc7c64266e4a1a6002e63c4eb7b - md5: 838df7954a0d9df07490c002768a8998 + size: 25940 + timestamp: 1791428012590 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py314h40712d6_27.conda + sha256: 2cf1abff200032baccb981294f3dba9ab0192fd4664c0ab0aef8d85fd0251580 + md5: e402f42fb088fefa9560166e8ecb32dc depends: - - gtest - python - - ros2-ament-cmake-test - - ros2-distro-mutex 0.16.* jazzy_* - - ros2-gtest-vendor + - ros2-ament-cmake-core + - ros2-ament-cmake-include-directories + - ros2-ament-cmake-libraries + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 - - gtest >=1.18.0,<1.18.1.0a0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 - size: 26618 - timestamp: 1788266600243 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312haf4906a_21.conda - sha256: 42049dc7c70aee6d42ea9947a9d57debc0ca3137ea8bc9367b5f535d3152be32 - md5: cc4271e38832bb62fa3c6b549b95d115 + size: 26693 + timestamp: 1792668758026 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312h3d3361c_25.conda + sha256: a2b2c1984ed5a929ebccba27c3f7663ae75b4cf9d9b917d38226e9fdcb82f64f + md5: 46b29b75b64bf0e0983a4d0523a4b6ed depends: - python - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 23910 - timestamp: 1788260126824 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312haf4906a_21.conda - sha256: 69b11ea48f4cfa17de67ae6f8c89514765faaea5d9047b24df7544c0da91aaa5 - md5: fbac4fde8061f10ca640b827dae92e21 + size: 38448 + timestamp: 1791427987530 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py314h40712d6_27.conda + sha256: 78897dc5e8f531daf0618d7c52799ebcdbb3c553bbd907ff4fc8f488fde908d5 + md5: 8b9090983211dd11be5924469daa88c0 depends: - python - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 license: Apache-2.0 - size: 23567 - timestamp: 1788260119306 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-lint-cmake-0.17.5-np2py312haf4906a_21.conda - sha256: 18006cf270f3643853298c1b958a25b92d1bc5b2f45697021bb024e4bd8f62de - md5: 6b2613fceb7566baddb4ddb20db6bf26 + size: 39260 + timestamp: 1792668737455 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312h3d3361c_25.conda + sha256: c713bcc6333e7ca4a0cfc3af0844bb395a167ff15273815f07795dc0d43ffe3f + md5: 3c506f40638cac3ecfdaf97d03269514 depends: - python - ros2-ament-cmake-test - - ros2-ament-lint-cmake - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-uncrustify + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 24282 - timestamp: 1788268523629 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312haf4906a_21.conda - sha256: ec2c1f4509b092d04b939f589007ffa56fcf9b202619dcf4ec345aa3b3d1c04c - md5: 50e650a63c33ca681eba0ac61714e334 + size: 26010 + timestamp: 1791430130045 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py314h40712d6_27.conda + sha256: cd529b14b8a2b57771410f36c83b2f1a3ffdb14418486cfeeda069c744946bbf + md5: 23fe8f15c3bd0b1fe17b6c1b6efb849e depends: - python - ros2-ament-cmake-test - - ros2-ament-pep257 - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-uncrustify + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 25104 - timestamp: 1788270600613 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312haf4906a_21.conda - sha256: 866568dad57369a3c9a31fd3eb43c49f1309286f6a5f0187adc420ab092df398 - md5: f197e0c231740fadd307d1479f9f71f6 + size: 26706 + timestamp: 1792671024977 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312h3d3361c_25.conda + sha256: 6efec792b689facda763ca7b2e945f2aca0a6d65b832b07ffda11c1326e750ab + md5: 132cf97a4608a90a84211c3cde1513ab depends: - - pytest - python - ros2-ament-cmake-core - - ros2-ament-cmake-test - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 26794 - timestamp: 1788267901686 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312haf4906a_21.conda - sha256: 5313e956d9711917d88d63097506665148c89abf892eaa33091b92765e4cf1c2 - md5: 20fd2b9c79b6a962a440ab8168d8c818 + size: 24044 + timestamp: 1791427731447 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py314h40712d6_27.conda + sha256: 62b305463e4ede9e1ac20779a7512200a18d0a148f6eb844c1f63a27c88d43c1 + md5: 50715cbbb534b7a58d9d328e09d5f5b1 depends: - python - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 26114 - timestamp: 1788260096854 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.1-np2py312haf4906a_21.conda - sha256: 1a3adfeeeb5b562848f02652a78ac1474fda0232ef576cccd217b0fa3b92e029 - md5: 10c2b75f6881e782b17f0f4beeff05a1 + size: 24792 + timestamp: 1792668342194 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-xmllint-0.17.5-np2py312h3d3361c_25.conda + sha256: f7ea827d88ab22ba2c8d506dd5e289ff8a00eb3408f021d354d8b991edae8239 + md5: 79a0b5f6557f07569b1fe68eb0a64cb0 depends: - python - - ros2-ament-cmake - - ros2-ament-cmake-gmock - - ros2-ament-cmake-gtest - - ros2-ament-cmake-pytest - - ros2-distro-mutex 0.16.* jazzy_* - - ros2-domain-coordinator + - ros2-ament-cmake-test + - ros2-ament-xmllint + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - license: Apache-2.0 - size: 33038 - timestamp: 1788271118391 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312haf4906a_21.conda - sha256: 72d7bbcb7f91cc56efed1dc34e6d8e51f460157c076088770278250ca889b92e - md5: 90d0bb4f632fb293e2eae34dd3f6337c - depends: - - python - - ros2-ament-cmake-core - - ros2-ament-cmake-include-directories - - ros2-ament-cmake-libraries - - ros2-distro-mutex 0.16.* jazzy_* - - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 25587 - timestamp: 1788262797546 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312haf4906a_21.conda - sha256: 3a3cd2f83f8ed3425ce65509523cd3e8b5e11a947a8fb93aedc6013d9282ffe0 - md5: 16655fbea0fe559fe4d3df622da1c7f9 + size: 25376 + timestamp: 1791430106745 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-copyright-0.17.5-np2py312h3d3361c_25.conda + sha256: 36bcb2a1fad6890866c4ee8c1085e6bfacda7f93219bb66adc651193273933d2 + md5: f4c8b865fcb4ffc1c1a052167d91a34f depends: + - importlib-metadata - python - - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-lint + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 38132 - timestamp: 1788262771331 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312haf4906a_21.conda - sha256: c5cd6563308d1dea03981b31833dcf7901e2e8f043948c415bfbecdbad4e1edb - md5: e7aaae7d81abd8e481e742d415f40b96 - depends: - - python - - ros2-ament-cmake-test - - ros2-ament-uncrustify - - ros2-distro-mutex 0.16.* jazzy_* - - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 25704 - timestamp: 1788270589119 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312haf4906a_21.conda - sha256: b81a579e97e8048686ff611e393240e0cc5049130a1b5cc00f97db53e4686fae - md5: 20db14acba925a5f1102c847d7540e5b + size: 68187 + timestamp: 1791428551509 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312h3d3361c_25.conda + sha256: 48960cef4f17446f2f4954a10859b91a42ce86f9a17afeaa5d7e97e9dbf0950e + md5: b7d10b74bc97c9c9e1bc3af041a1466c depends: + - cppcheck - python - - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 23772 - timestamp: 1788260187724 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-xmllint-0.17.5-np2py312haf4906a_21.conda - sha256: bef500c4811d1b6f69593a914bf7ba2db1b58f1f26370c8eb85706ec7e40decd - md5: 2245ada3121043692eb85dac59e58d76 + size: 31544 + timestamp: 1791428769106 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py314h40712d6_27.conda + sha256: a9fd12f3a2fe4c68330229894fb55bb022d03a4c7c1ed6e2a2ae0b9086face04 + md5: e99c49ec1972e809c3d13d937803eaf6 depends: + - cppcheck - python - - ros2-ament-cmake-test - - ros2-ament-xmllint - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 - size: 24835 - timestamp: 1788270566193 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-copyright-0.17.5-np2py312haf4906a_21.conda - sha256: 4315407fe1d4d53c6dea927f8034a0808c419d905fa0845dba55e11ccf90387e - md5: 8a8796d6359fac105da0508096ec8a59 + size: 31577 + timestamp: 1792669645443 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312h3d3361c_25.conda + sha256: 3ac7fba67fb0f0f111fc6d3c0881a1e2012555259e5ab30d47224b0b536a45ba + md5: b413015a036a48370916ee36f7a5029d depends: - - importlib-metadata - python - - ros2-ament-lint - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - numpy >=1.25,<3 - license: Apache-2.0 - size: 67629 - timestamp: 1788268092461 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312haf4906a_21.conda - sha256: ff26efac6d125419c037ccdfe91309c3fd1edf89f42cb8144d86a83ce425dd0d - md5: 32661521f7bec6754470db646e5ae527 + license: Apache-2.0 OR BSD-3-Clause + size: 170572 + timestamp: 1791428762529 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py314h40712d6_27.conda + sha256: d7c58d1dc1b08da06f86ac4ed26afbdbd2aaa2d3a98463db85a0d4f0f372de1a + md5: 4f458f155540db202fd41855da3e7042 depends: - - cppcheck - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - license: Apache-2.0 - size: 30979 - timestamp: 1788268307450 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312haf4906a_21.conda - sha256: c90e14996f6ffef7581647c3c924cf715924ad6824a3f0059b14bfca553b5aae - md5: 8e6229836a4cf4bf26670393826f37cb + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 OR BSD-3-Clause + size: 177153 + timestamp: 1792669635097 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312h3d3361c_25.conda + sha256: cafd017e1ba1c868ce15fc68bd751ebbb2935523aebae06d95748bd13ac1f927 + md5: 187bfd26f5c7733584189626967ec21a depends: + - flake8 + - flake8-builtins + - flake8-comprehensions + - flake8-docstrings + - flake8-import-order + - flake8-quotes - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-lint + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - license: Apache-2.0 OR BSD-3-Clause - size: 169956 - timestamp: 1788268295968 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312haf4906a_21.conda - sha256: 25d23b289e16d9877113518f4ce4736e5d8fe7df8adcbd40b93b897a9c5792d8 - md5: d10f9e3ffa9db8db2186aae2029febd5 + license: Apache-2.0 + size: 30069 + timestamp: 1791427963795 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py314h40712d6_27.conda + sha256: f755bbb7927a422387be1c92d441563021bda2a56e6727cf136caecdada767e4 + md5: 5e89bc28740d8680843b20fe7b862b63 depends: - flake8 - flake8-builtins @@ -26257,96 +22318,126 @@ packages: - flake8-quotes - python - ros2-ament-lint - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 29508 - timestamp: 1788262748911 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-cpp-1.8.4-np2py312haf4906a_21.conda - sha256: c6a58d0f01380cca6b946d45c4bf3142fe987c5bf63c012acf615d82cdf0700f - md5: d6794d47f59e1531416ed53696653ab0 + size: 29964 + timestamp: 1792668722822 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-cpp-1.8.4-np2py312h3d3361c_25.conda + sha256: 9389bb2555aaa85c23ebc32c618f5324238826a07720ddb936d1cc30a4e9c608 + md5: 40ab17903ef848b51e348f9209f90fab depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 51778 - timestamp: 1788271255140 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312haf4906a_21.conda - sha256: 97db0230c2486f92104a12e05976a99702a93dc01fbdd1c239fe96839eac129e - md5: 396dedbfe704db991badb7ae70ede050 + size: 47495 + timestamp: 1791431141343 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312h3d3361c_25.conda + sha256: b11d45071c33f0fb282b10f4018928f5c3330c5c86b5013527ea36df9e039846 + md5: 7cfde74888c08d2edde7a9ccb88a348c depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 30724 - timestamp: 1788268241501 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312haf4906a_21.conda - sha256: 53e2e3085bb3be2e53bdb5b26f7987dedf0b5cc701500d3486121d1c3c537479 - md5: 75291534368d6a4541d736c2cbeff385 + size: 31350 + timestamp: 1791428774744 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py314h40712d6_27.conda + sha256: 74d3ec4156924eb0914d5ab0e6f67f6cb14f07e828880e1025e3b23fc7e3e441 + md5: c6197fadd7784feccc210294b964ef34 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 + size: 31935 + timestamp: 1792669653083 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312h3d3361c_25.conda + sha256: 2f4a0ab1d7263e69a3a2cb01273be3e0f82ade9ee590a95b4d6c3a87770878ec + md5: 730df3049b2230aa19221ec4ca5ee20b + depends: + - python + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + license: Apache-2.0 + size: 20552 + timestamp: 1791427678816 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py314h40712d6_27.conda + sha256: cc81c9ca60c2b405df6b5d0019b23ea888c7b43cfe10722e8f99754865583093 + md5: 95f44b3737e7ddcc68e288d7ed51f624 + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 19947 - timestamp: 1788260076604 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-auto-0.17.5-np2py312haf4906a_21.conda - sha256: 60a0b0e1eb5f56f793f9f07c49f919ccfe1eccdd23c39863b04bc2147915d287 - md5: f65fd5a9c7b2e098a8571045554a48f7 + size: 19770 + timestamp: 1792668275095 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-auto-0.17.5-np2py312h3d3361c_25.conda + sha256: e599bee643b2c719dc981daa22c560a67d44ca99fac5a72c4cb503d1a7794681 + md5: 78edccdbf5ade64b27a5b48eebf33527 depends: - python - ros2-ament-cmake-core - ros2-ament-cmake-test - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 24013 - timestamp: 1788266622143 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-cmake-0.17.5-np2py312haf4906a_21.conda - sha256: 20f5cba71bbd5777d16f871fc69ccef0e3abb7320fc31a911faf8603f622f10d - md5: 7d625ce4c044162b98d41da67a8ee9ab + size: 24279 + timestamp: 1791428391487 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-cmake-0.17.5-np2py312h3d3361c_25.conda + sha256: da98ff538bd76131ae8f70628f40760ade2d7b322ff47b9bebead8a9b5b39781 + md5: fa2b773c7192a1829ca1a78cc58275c0 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 license: Apache-2.0 - size: 40511 - timestamp: 1788268246638 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-common-0.17.5-np2py312haf4906a_21.conda - sha256: 78b9269fabeafe2038f1a7bb8f67905ab037a2a6428ab678bfcfcdba866c837a - md5: a1ac71ff11fca9ee03644b5e1d19bf1b + size: 41150 + timestamp: 1791428724266 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-common-0.17.5-np2py312h3d3361c_25.conda + sha256: 95f2b3d0ed42794e682544c6c5b4d2bed98a115fcfb7a73854d80dd6576d4c24 + md5: cab05f40212a8fdae2afe0756535a787 depends: - python - ros2-ament-cmake-copyright @@ -26358,127 +22449,193 @@ packages: - ros2-ament-cmake-pep257 - ros2-ament-cmake-uncrustify - ros2-ament-cmake-xmllint - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 24282 - timestamp: 1788270665073 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312haf4906a_21.conda - sha256: ec7c2d1c07a58fba4c858db7bffe75e9843e4ab3dc4f54f4877dd365b5a4abe5 - md5: 1933ee01d9a3ca5199ebbf86f0ccc515 + size: 24649 + timestamp: 1791430294875 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312h3d3361c_25.conda + sha256: 8899a9da6e2f018ba5e5bf394142190e70f57bcf95fce5ae3dcedb8d79455668 + md5: a6f81a7ce5a73a5162666b80adbc4a93 depends: - importlib-metadata - importlib_resources - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - setuptools - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 + size: 44710 + timestamp: 1791427483815 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py314h40712d6_27.conda + sha256: 98962e6c6d23c8e91860642d5a08429c5383fadf69d8cfa51b8c9c58481caddf + md5: dec1aa45a7139ccc5e9aa214855c6f44 + depends: + - importlib-metadata + - importlib_resources + - python + - ros2-distro-mutex 0.20.* jazzy_* + - setuptools + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 44153 - timestamp: 1788259678242 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312haf4906a_21.conda - sha256: c12c7f10a3bc7d5ec9695844577f637138d467cc4e6da52e04d8c329938cad29 - md5: 8c4f21fd16f936b14b95ac2c0d6a106c + size: 44861 + timestamp: 1792668176419 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312h3d3361c_25.conda + sha256: 46012b05486d0e20d71da2493ccac66e7925233c468c212e164ee713faf6b7e9 + md5: f3d1e24983e9f108c4dbb7360c8fa161 depends: - pydocstyle - python - ros2-ament-lint - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 OR MIT - size: 28143 - timestamp: 1788266582030 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312haf4906a_21.conda - sha256: 5527c96655e74ead3f2880a9783dd159f799d5f23a55e1b15e887b402bba9777 - md5: 06201fc303a0d01b4f80b2c3f7c2ad4c + size: 28757 + timestamp: 1791428345938 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py314h40712d6_27.conda + sha256: 60ce6a0d7f32cd69f452d0ee9a759d216e4509fa186425aed733770aabc8c5ef + md5: 8cec15163e25b7258a482d753265e7e7 depends: + - pydocstyle - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-lint + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - ros2-uncrustify-vendor - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + license: Apache-2.0 OR MIT + size: 28740 + timestamp: 1792669042799 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312h3d3361c_25.conda + sha256: 580a795ef646aa7620e741e8a4902b46ca6d769cff90135a5eb50070efd84161 + md5: 476733a6d1234ccae057bfc5c6722802 + depends: + - python + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - ros2-uncrustify-vendor + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 + license: Apache-2.0 + size: 69797 + timestamp: 1791429891124 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py314h40712d6_27.conda + sha256: 3b725af478083d03260e31d2a05d2fbc29e1fdbfe9dde274b979de61e798d1b9 + md5: 38c7482de5c32a07462d2acc115226ce + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - ros2-uncrustify-vendor + - __osx >=14.0 + - libcxx >=21 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 69233 - timestamp: 1788269094224 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-xmllint-0.17.5-np2py312haf4906a_21.conda - sha256: ea2dd37f91af44cd3911f1b837d414bba016a4ea8358f67c46369c6d7cbd3d25 - md5: c823fe743fdf4e04b655010cde9291d8 + size: 70009 + timestamp: 1792670749535 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-xmllint-0.17.5-np2py312h3d3361c_25.conda + sha256: 6c81d694b3ec9bc0fdc546bb334362def2ab00f009a4dd1251e9d7dcecc7cd65 + md5: 99eb001c63df9af821e294b46c426d24 depends: - libxml2 - python - ros2-ament-lint - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 32137 - timestamp: 1788268284224 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312haf4906a_21.conda - sha256: 6d6b694b1c812f4a6b82ced058d3e862cc72f4253681bd94d2eb06276057f2ed - md5: e484cfae2890baa70789680a5b81712d + size: 32741 + timestamp: 1791428755054 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312h3d3361c_25.conda + sha256: 5ada1c5b93dc1fa8bed466ccc1a2f11203ee83adf6a65cc462f4ca19631d77ea + md5: 9ed0a934225d4edcce300eb2e7700851 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-core-runtime - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + license: Apache-2.0 + size: 79894 + timestamp: 1791433407169 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py314h40712d6_27.conda + sha256: 134130559a54e2c2f7d7dedc353cf540a6309f62a87b146caf3b77cd010b1df8 + md5: fa36a950b431037b19fc4c24e3cddeb9 + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-core-runtime + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 79791 - timestamp: 1788361670302 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-class-loader-2.7.1-np2py312haf4906a_21.conda - sha256: 779a0d026a39eb3e20c4c3a74234a4c94566b20ee9d78f02f3f4de8b5dc5a385 - md5: d864aea472c484a41492446463ca53dd + size: 80614 + timestamp: 1792676105738 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-class-loader-2.7.1-np2py312h6fbb871_25.conda + sha256: 6f00033645e25200dd27a2e232f5fa501ffd6f9198857d6d4250e0ce1181076e + md5: 102234c72aa3d7959a013c1d3179f924 depends: - console_bridge - python - ros2-console-bridge-vendor - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcpputils - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - console_bridge >=1.0.2,<1.1.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 68252 - timestamp: 1788271785143 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-common-interfaces-5.3.8-np2py312haf4906a_21.conda - sha256: 27e3762b31ce4b391a2e9deaa1870bd6543f8dff51a327f8acff4e87273ee8b1 - md5: 730fea737e656a2ff4460b752c133f50 + size: 69035 + timestamp: 1791432368813 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-common-interfaces-5.3.8-np2py312h3d3361c_25.conda + sha256: dad94715a10120a2d21e4ee76c24b12782af70c27eb0579c5354f1fe673e72e8 + md5: 6e454f671e49ff0aa2259dd88a0bbe3b depends: - python - ros2-actionlib-msgs - ros2-builtin-interfaces - ros2-diagnostic-msgs - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-nav-msgs - ros2-ros-workspace @@ -26489,245 +22646,287 @@ packages: - ros2-stereo-msgs - ros2-trajectory-msgs - ros2-visualization-msgs - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 28493 - timestamp: 1788458902068 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-composition-interfaces-2.0.4-np2py312haf4906a_21.conda - sha256: 017dd1b9318b20e5619e3c2a96843430fbeeaa14d7175bdb2614561dbe466c5b - md5: 4ad31797b878c23d132e8591638c4141 + size: 28873 + timestamp: 1791438471107 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-composition-interfaces-2.0.4-np2py312h3d3361c_25.conda + sha256: 8dad5057896a7d244acf6ba9643c77e23151045963bb6c742576e90859eaa06c + md5: b221cb351aaf71588b3b255606f2e60b depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcl-interfaces - ros2-ros-workspace - ros2-rosidl-default-runtime - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 198321 - timestamp: 1788362822454 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-console-bridge-vendor-1.7.2-np2py312haf4906a_21.conda - sha256: 0ce8137dca02d0b58fdd7f136102b595821168f68781d8cd7861739559d20d56 - md5: 2446ebc67dad0abb0b5ddd12a97e632f + size: 199566 + timestamp: 1791434913991 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-console-bridge-vendor-1.7.2-np2py312h6fbb871_25.conda + sha256: f792d3bd4792f8307fe09bb8e58e4e0c8233206fedd0f2e530d77bbab3728623 + md5: 2e80d98334e0f571c97192756799818d depends: - console_bridge - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - console_bridge >=1.0.2,<1.1.0a0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - console_bridge >=1.0.2,<1.1.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 OR BSD-3-Clause - size: 29576 - timestamp: 1788271353598 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-cyclonedds-0.10.5-np2py312haf4906a_21.conda - sha256: c603cac3963fa5c26002a5dc0f0697d14257edfce70dfbf4a16131e299b8c04a - md5: 30904375b4733927cb78caad1c4ebd2f + size: 30166 + timestamp: 1791431482957 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-cyclonedds-0.10.5-py312h588e9fb_25.conda + sha256: 88ce4937dc46d028ea365ac60311aace15bf2f3b4dee926a5d50db4cf1aef55a + md5: 9d30a4d33fd992673f3a2040e35be262 depends: + - cyclonedds >=0.10.5,<0.11.0a0 - openssl - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-iceoryx-binding-c - ros2-iceoryx-hoofs - ros2-iceoryx-posh - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - openssl >=3.6.4,<4.0a0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - openssl >=3.5.9,<4.0a0 license: EPL-2.0 OR BSD-3-Clause - size: 1046581 - timestamp: 1788268132699 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-demo-nodes-py-0.33.11-np2py312haf4906a_21.conda - sha256: bc73de5c330ce69869d34e1d63ee2918accefa9019575a2dbf8f47a8dc333991 - md5: 9a9338bf08ae67292ff72b3bb62c6b45 + size: 7584 + timestamp: 1791428595391 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-demo-nodes-py-0.33.11-np2py312h3d3361c_25.conda + sha256: 17130af221efede6e93ca20a86b751f0e04835809bc7d2e832d8aab4e70ae3e2 + md5: 21b21ca61c6883d7653c5acce908d8ac depends: - python - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-example-interfaces - ros2-rcl-interfaces - ros2-rclpy - ros2-ros-workspace - ros2-std-msgs - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 44338 - timestamp: 1788459672169 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-diagnostic-msgs-5.3.8-np2py312haf4906a_21.conda - sha256: 3bea08865f50670cd2da37c41e13fd521bd8a393cb6354bbbea30d9463338f1a - md5: d819ad73ef84a1ca6cea8e0aa5f82b1b + size: 44848 + timestamp: 1791435518746 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-diagnostic-msgs-5.3.8-np2py312h3d3361c_25.conda + sha256: c66ebab8ee4ae2f0e29e1f91762e523a5912838d7b9e95ff3abeb7c440f2fdb8 + md5: c08735a39f29c3e2b2d036c3fce56264 depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-ros-workspace - ros2-rosidl-default-runtime - ros2-std-msgs - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 191214 - timestamp: 1788457627197 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.16.0-jazzy_21.conda - sha256: 5b11ed36a77f0155993c547403c223c9b44bdfdfdeacac99ff975d40154498f2 - md5: 6650d72a9bd28abe114cebf4b2accf36 - constrains: - - libboost 1.90.* - - libboost-devel 1.90.* - - pcl 1.15.1.* - - gazebo 11.* - - libprotobuf 7.35.* - - vtk 9.6.2.* + size: 191290 + timestamp: 1791436365059 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.19.0-jazzy_26.conda + sha256: 8fac64ae705d148678e4f69ba7154c1915e3b2896f54e9c677803e10ee7e59c1 + md5: 1e20826cc167884fd57a5149a9df18e7 license: BSD-3-Clause run_exports: weak: - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - size: 2349 - timestamp: 1788189208605 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.1-np2py312haf4906a_21.conda - sha256: 08c73909057f9b2c143cd88943c1227dba867aeca88759f556881f7b1b50a74f - md5: 9e840b39dd1e93f794c1302c324c3c89 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + size: 2227 + timestamp: 1792621447366 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.20.0-jazzy_27.conda + sha256: 1cb4a4bce65afde2e8f9540ec0b598bdd603e83536e4adbf4daf4b6cb2d21105 + md5: a26889230c649ce52b10c97754c895c3 + license: BSD-3-Clause + size: 2224 + timestamp: 1792668176150 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.2-np2py312h3d3361c_25.conda + sha256: b531d8cece1b7374bd09bbb750ab7a21fc7fb3b70b06328bf9d6c6931c690944 + md5: 9a4841f090da70d7e15eb66ee1b480ab depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 22198 - timestamp: 1788268257140 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-eigen3-cmake-module-0.3.1-np2py312haf4906a_21.conda - sha256: 5e3586a5a2072e7a0c42aa89e78cc062b25a1816f8d2980c77871fd4d8e6776e - md5: 44dda3105aa91dbd0c70eb1b152c23db + size: 22845 + timestamp: 1791428782342 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.2-np2py314h40712d6_27.conda + sha256: f002285a7270e06d42764f95c02fb7d854b91729c100a3287da54feb1a4da952 + md5: 3fe1851efab9826f36663472fa087dbb depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 + size: 22816 + timestamp: 1792669662369 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-eigen3-cmake-module-0.3.1-np2py312h3d3361c_25.conda + sha256: 08f6faff15863c890eccc55dfa62103a26b5a7db543c81df871f53d739958fe9 + md5: fe1f98f5e4f27d8c69527d3508c48330 + depends: + - python + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 25590 - timestamp: 1788269538916 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-example-interfaces-0.12.1-np2py312haf4906a_21.conda - sha256: 7b981fb5c95fef3c1d79205574075a13d3c308e9c37cae1095c0cf66b44c431f - md5: b74c211bc2a6cb3d72f7760c205e1f17 + size: 25874 + timestamp: 1791430174980 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-example-interfaces-0.12.1-np2py312h3d3361c_25.conda + sha256: 5b4ccd0f8c5c9fb116da9d29f94f3577cd0ff5bf79c6ba475404d265ca24cefa + md5: 10b9e16f05f2a03a7e6c494eaf77ae1f depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-default-runtime - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 460902 - timestamp: 1788362356668 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.7-np2py312haf4906a_21.conda - sha256: 28ede9e4be31cbae220d31472d4feadc19ccd6b23ae875ce338c42e202d3f4be - md5: 2c36e61b74f2065973703ee5a3f0592f + size: 461326 + timestamp: 1791433991336 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.8-np2py312h3d3361c_25.conda + sha256: d16ad1394902ed00b15d733b155f548c441a09c3dd60c57a49add845e1a6b2ab + md5: 81ca3523d0041dfae45a27401baeb2e9 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 + size: 84691 + timestamp: 1791429024791 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.8-np2py314h40712d6_27.conda + sha256: ee322228cd142ba17661757c0d69b2797a849c040a32e9d093814a4d80e07aa9 + md5: 764d0cbf2992140d76c0767b2565adcf + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 82671 - timestamp: 1788268571766 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-2.14.6-np2py312haf4906a_21.conda - sha256: 3cf7ec8686130ca74b957c46cabb39de5af84f5390ab6a4819914d6c3af5ca6c - md5: ad4e79317ef41722e67be0f0dda83883 + size: 84957 + timestamp: 1792669969466 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-2.14.7-np2py312h6133e15_25.conda + sha256: e3115d0ebe3636aa6f81cc0a7aa7e24713db652555d8c6120bdee57939b4531b + md5: 64fa0184decdddad006fd74e35f21b75 depends: - openssl - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-fastcdr - ros2-foonathan-memory-vendor - ros2-ros-workspace - tinyxml2 - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 + - openssl >=3.5.9,<4.0a0 - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 - - openssl >=3.6.4,<4.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - tinyxml2 >=11.0.0,<11.1.0a0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 2914890 - timestamp: 1788271069168 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312haf4906a_21.conda - sha256: 9ae8fc69dfc97fd348a61f48943e2ca1dca6717bfb920f2f3553b2f647fb23fa - md5: a5b74e07027d3506231e615c1f4a6b49 + size: 2881491 + timestamp: 1791430894450 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312h3d3361c_25.conda + sha256: 5474594741e738ce061341b9c3dca41f22a52723670a0e228aee8d9cfb918338 + md5: e4598be25125ca90a7e1f4df62138abe depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 + license: Apache-2.0 + size: 29593 + timestamp: 1791430883568 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py314h40712d6_27.conda + sha256: e311ca98f4d76f564e71bcbcb8ca4c95afd43c5345d6d3b0071ccb831600c556 + md5: cc051b4947a000160d768397a7337d7d + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 29102 - timestamp: 1788271052691 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foonathan-memory-vendor-1.3.1-np2py312haf4906a_21.conda - sha256: 154bee2d649827e22b3ae29318f45a5c2ecebd2ec4715434614a2c9f7d541b40 - md5: 85ecd3048455cb07bccff9d7c08a1409 + size: 30387 + timestamp: 1792672310079 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foonathan-memory-vendor-1.3.1-np2py312h3d3361c_25.conda + sha256: 2169ce52c90fc2f69063915dcc103626bcc4cb2d22602bc0769ad6c8984b263d + md5: 1b67aacf2eb63250d0cb025aa27a9128 depends: - foonathan-memory - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - cmake - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 - foonathan-memory >=0.7.4,<0.7.5.0a0 - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 OR Zlib - size: 21162 - timestamp: 1788270684489 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foxglove-bridge-3.4.3-np2py312haf4906a_21.conda - sha256: 1fc9d345bc538b849e19c9f2d148cbbfec8338893a2d25982e2a852474462bd2 - md5: 4b37b5dcf04848d686a2f90f31b147b1 + size: 21626 + timestamp: 1791430320975 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-foxglove-bridge-3.6.0-np2py312h3d3361c_25.conda + sha256: d97658f497a6fd71329bcf8f2c1b42f883e0414aa9b298a2bf2c48f67a7fc87d + md5: 0060b7a6314e68a88967956e709807a2 depends: - python - ros2-ament-index-cpp - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcl-interfaces - ros2-rclcpp - ros2-rclcpp-components @@ -26740,37 +22939,37 @@ packages: - ros2-rosx-introspection - ros2-service-msgs - ros2-std-msgs - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: MIT - size: 12599521 - timestamp: 1788464156279 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry-msgs-5.3.8-np2py312haf4906a_21.conda - sha256: a8918e98a55a25371239a219b075e50699cdcbd9b0e90a7207994eeee59e8b2e - md5: c6288c4a679dfe427fd8cc7e494d701f + size: 12738677 + timestamp: 1791444964430 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry-msgs-5.3.8-np2py312h3d3361c_25.conda + sha256: 14744ac65eaa444b69d7a4e992e2c292506b853d1913825d2039e78723de6bd5 + md5: e9e81d51a43012aca399931bde079152 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-default-runtime - ros2-std-msgs - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 347804 - timestamp: 1788457495863 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry2-0.36.22-np2py312haf4906a_21.conda - sha256: b3116310918326b424a4447251fc5f9386a62cc1c25569cccd3bfc1c70bbffdd - md5: c72a67859c0ad44b4b131f4dab886063 + size: 347902 + timestamp: 1791435530776 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-geometry2-0.36.23-np2py312h3d3361c_25.conda + sha256: dda1bb560c8df68bbaf88f5ce9b5254941a4dd95b4b85cde75ee2208d3b1f09e + md5: 9182e434eb38ac20f883526fe723335a depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-tf2 - ros2-tf2-bullet @@ -26783,575 +22982,617 @@ packages: - ros2-tf2-ros - ros2-tf2-sensor-msgs - ros2-tf2-tools - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: BSD-3-Clause - size: 24626 - timestamp: 1788463658892 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312haf4906a_21.conda - sha256: b123cc0cfba62ffed5da2bfa5818c1e2f91866acbda9d8d759305050e69ee341 - md5: 6d684e5b329fbdadc62f2b30c6461c68 + size: 24789 + timestamp: 1791443260417 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312h3d3361c_25.conda + sha256: 9e7c5e14a6cdfadf0ce724dc9d4623715471d0cf45986ebc001d474e28d54eca + md5: 587eecde786fbca12963e6466e9cd43d depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-gtest-vendor - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 license: BSD-3-Clause - size: 124405 - timestamp: 1788262451608 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312haf4906a_21.conda - sha256: 178978cf7a46001aba5cd75954831145209f4739f7c7141b7acabaa835cef624 - md5: 4128c24ca32e15db6e5ab155eb18bd10 + size: 124600 + timestamp: 1791428039788 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py314h40712d6_27.conda + sha256: efc8453dc6e5de280b9b3497bd31d3148302340b427ce5d8a71048fdb130e81d + md5: fa1a93aac4f3ac0fc01838fd9d0d4922 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-gtest-vendor - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + size: 124782 + timestamp: 1792668778573 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312h3d3361c_25.conda + sha256: 19ff4ae95f7b6d279abab605b83973a254d531bdddb6ba144832163c2a38ae44 + md5: 02b9b237afe1db14e8a06b7b514caea0 + depends: + - python + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - numpy >=1.25,<3 license: BSD-3-Clause - size: 210755 - timestamp: 1788260110872 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-binding-c-2.0.6-np2py312haf4906a_21.conda - sha256: cfa4d27aeba304a7bb6924459901dca93bf1f2284538712fdf41b6566ce61da7 - md5: 921d788ffe686f8c7c4e693f5d2e4176 + size: 210980 + timestamp: 1791427708468 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py314h40712d6_27.conda + sha256: 4ee2131f096395b6966b14cc5a5af2bcb6346a64f37276388d37a34d6599f136 + md5: 69ef10ac844c91a5d2608ee309d343fd depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + license: BSD-3-Clause + size: 211140 + timestamp: 1792668308389 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-binding-c-2.95.8-py312h3dea895_25.conda + sha256: 88d786771995ba3dd226c7b766f6e978eedbd7a50b52a48c90ea59d66e59b0d9 + md5: 3d4ebef9d344f2986090483b4db95bb5 + depends: + - libiceoryx-binding-c >=2.95.8,<2.96.0a0 + - python + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 81320 - timestamp: 1788267938060 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-hoofs-2.0.6-np2py312haf4906a_21.conda - sha256: 6ed3f14b9baf4808df53b3e3e6805a26a08128c9824c2aef105791003df4393b - md5: 3873e318dcc83c7344cfd1c420f03647 + size: 7212 + timestamp: 1791428409030 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-hoofs-2.95.8-py312h3dea895_25.conda + sha256: 7aac2b2b401c262da2dfed4bc4c646b634b34404ca9eeb6ab68776b156763786 + md5: add5b1a65d5235c17fde88030734e010 depends: + - libiceoryx-hoofs >=2.95.8,<2.96.0a0 - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 258767 - timestamp: 1788259951662 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-posh-2.0.6-np2py312haf4906a_21.conda - sha256: 79e5fbf15974a574f4ae5d6b0dffeca7bed642282629621c5f021649479134f3 - md5: f5900e97b03868c6cfa156e03c1edace + size: 6630 + timestamp: 1791427800009 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-iceoryx-posh-2.95.8-py312h3dea895_25.conda + sha256: dc98f9fe1925e452ce11d3511a554e3dce699bb1ad39e1f74a05b068917f146f + md5: 30b006e327ef569e24aab75449c27b38 depends: + - libiceoryx-posh >=2.95.8,<2.96.0a0 - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-iceoryx-hoofs - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 431450 - timestamp: 1788262459371 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-kdl-parser-2.11.0-np2py312haf4906a_21.conda - sha256: a22377d19458122d90cac9d3c0f30625138c1b40fa97a27e928f205a6f429c72 - md5: 79f55d6b1a56602ecf638d9e9d43e781 + size: 8982 + timestamp: 1791428047646 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-kdl-parser-2.11.0-np2py312h3d3361c_25.conda + sha256: 21ff90d45b572c1dfc2fa3b4b4ecc9b5070b80f0d28a0b217ec9609de8c7b312 + md5: 4a99eeee0016e810ba36de0373b75e92 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-orocos-kdl-vendor - ros2-rcutils - ros2-ros-workspace - ros2-urdf - ros2-urdfdom-headers - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: BSD-3-Clause - size: 49733 - timestamp: 1788361374916 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-keyboard-handler-0.3.2-np2py312haf4906a_21.conda - sha256: 492d746f9b3e1cc04c3487b889d4c363964c4e023d23d798afe4d32009ae25af - md5: 56f280dfee75f6ba7e6ab79b4aa3dc03 + size: 45596 + timestamp: 1791433073932 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-keyboard-handler-0.3.2-np2py312h3d3361c_25.conda + sha256: b6c0a09a77b6e5b3666182b7f52771f0f81d6a855b6670f6536d57ccea357f6e + md5: 5098665035beae58e3fc807a7c89d23a depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 license: Apache-2.0 - size: 57330 - timestamp: 1788271047294 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-3.4.11-np2py312haf4906a_22.conda - sha256: f54a9e4288a77d7ae73ad23a70ea3ae16fc5baf4daecb708249bc1f51eb914db - md5: 4b46c0eb868d5bacf976ce27104d16e3 + size: 56220 + timestamp: 1791431291139 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-3.4.12-np2py312h3d3361c_25.conda + sha256: 8debd07a229b8b55077bb914c52adfd6b7625f008d405417ebe354310eda8ff5 + md5: d67f8b2084c7d50225d16ddbfbec7989 depends: - importlib-metadata - lark-parser - python - pyyaml - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-osrf-pycommon - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 236378 - timestamp: 1790076849386 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-ros-0.26.12-np2py312haf4906a_22.conda - sha256: 5b7fca2859ce7355729342f2366c7234c7482c91f5687da0be862f9516d3efc8 - md5: 84f5a98e8d6588bdf288d6bb070fd71b + size: 236899 + timestamp: 1791428996755 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-ros-0.26.13-np2py312h3d3361c_25.conda + sha256: 371f8b0a78cef13b7d9a085fd6f50e2b42a5e0c8b75d9db8f77f239d2bbc51c1 + md5: 120a92f010ff79de31a155766aa19f2b depends: - importlib-metadata - python - pyyaml - ros2-ament-index-python - ros2-composition-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-launch - ros2-lifecycle-msgs - ros2-osrf-pycommon - ros2-rclpy - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 127894 - timestamp: 1790076867546 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-3.4.11-np2py312haf4906a_21.conda - sha256: b17deb9adba0a712e5ecb7ba4a2f0f96003eff9c61ae26f814e9b0f7840623df - md5: 15735eb9e61042e16b790a09a62eb08c + size: 128976 + timestamp: 1791435354252 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-3.4.12-np2py312h3d3361c_25.conda + sha256: ffda0f40b62d4087e3a43a84f760e96a9fe4e50d6a66c042625b0be51ff29200 + md5: 3dbb3d1ce9c87bccc98aa3d835042ca6 depends: - pytest - python - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-launch - ros2-launch-xml - ros2-launch-yaml - ros2-osrf-pycommon - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 117039 - timestamp: 1788269503496 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ament-cmake-3.4.11-np2py312haf4906a_21.conda - sha256: 6c0490d36d60f314a92579155b3ba18a91ae6758d36eb54d4c7afe166c4b9172 - md5: 5ae23a39873e6856f1d1c3e6f9dc02fb + size: 118488 + timestamp: 1791430165594 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ament-cmake-3.4.12-np2py312h3d3361c_25.conda + sha256: 92ccccf17c860067b77275d4c679c142c6367ab0c6d9216151f4a3940a29bcc4 + md5: 09390c94f2567ad04e8d87c0a4b2aa49 depends: - python - ros2-ament-cmake-test - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-launch-testing - ros2-python-cmake-module - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - numpy >=1.25,<3 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 OR BSD-3-Clause - size: 29181 - timestamp: 1788271303133 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ros-0.26.12-np2py312haf4906a_21.conda - sha256: b6093f069a9a9b2ded3348d287d8a4f8ccaf9f69665f8014ce09d991cde8d5a2 - md5: d5b79209e07e88bace479ed54b951dc0 + size: 29468 + timestamp: 1791431434436 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-testing-ros-0.26.13-np2py312h3d3361c_25.conda + sha256: 9dfd13db35146d693ed1932241779fa4b8eb3d46403f4863e3c1d04afc0c83b6 + md5: 4afde3d0a30ed6300e767c9384f67b1e depends: - python - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-launch-ros - ros2-launch-testing - ros2-rclpy - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 56532 - timestamp: 1788459807504 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-xml-3.4.11-np2py312haf4906a_21.conda - sha256: d2478b626d94b39749ab808705c73d6cb4df5c5d2e0b4d29b32de7aa2137d673 - md5: c21ccf0a708ece389de02377cffe51f7 + size: 57590 + timestamp: 1791435603421 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-xml-3.4.12-np2py312h3d3361c_25.conda + sha256: 5945faa55ab27ee486b8060d67b2f1de3b29cb2c4063df27dea6ffa6a9fffbee + md5: 23ee7d2f851d35a2f0eab1474026a0c0 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-launch - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 27173 - timestamp: 1788269112452 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-yaml-3.4.11-np2py312haf4906a_21.conda - sha256: 828637255528138c617cfa625d0c18db3de9d4565cdc0c52f06eddcedd1c91a7 - md5: 71628a3a608f5281bd0a6dc0affee9aa + size: 27836 + timestamp: 1791429908063 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-launch-yaml-3.4.12-np2py312h3d3361c_25.conda + sha256: 9e9cce413b11d2deb89f28fbee75b885f59167eeb6db0ca631c52deefd3b599b + md5: e49b2ca5f7de24423022a031d1c81132 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-launch - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 27789 - timestamp: 1788269103182 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libcurl-vendor-3.4.4-np2py312haf4906a_21.conda - sha256: dc930b0253120c95002c24701a97afea5a238f74c3b4342c60f755f60fe5fe34 - md5: f3227e15c96e1569abc59490cbc0f145 + size: 28427 + timestamp: 1791429899573 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libcurl-vendor-3.4.4-np2py312ha0acf58_25.conda + sha256: bd6083c8d40b9ecbebcd2476896a754a967a3a7266ba40eee2eac74e4b9ad248 + md5: 04a45c36a00612010414ced1c6d3c8b3 depends: - libcurl - pkg-config - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 - - libcurl >=8.21.0,<9.0a0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - libcurl >=8.22.0,<9.0a0 license: Apache-2.0 OR MIT - size: 26059 - timestamp: 1788268625930 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-liblz4-vendor-0.26.11-np2py312haf4906a_21.conda - sha256: d119df00ba1df059b241ac4dc430139ee28ba6cfa130423d04dff9abc599b22d - md5: 889ae1b5b42029e13aaabf71d7bae3e9 + size: 26078 + timestamp: 1791429117139 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-liblz4-vendor-0.26.11-np2py312h3d3361c_25.conda + sha256: 590aaddbb831c2341d57759fc44cc1aa31f6cb701075407e741e7ea550822c08 + md5: 1701b4d578b7d4da263ce520dd2fea86 depends: - lz4 - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 OR BSD-3-Clause OR GPL-2.0-only - size: 26257 - timestamp: 1788268503402 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libstatistics-collector-1.7.4-np2py312haf4906a_21.conda - sha256: 79311dc6082a2a58b02ad4523f258fd1af9397fe0c9c1d720112190f6da89efb - md5: 98592ed3bde14501c36c46dc8b69b347 + size: 26631 + timestamp: 1791429191912 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libstatistics-collector-1.7.4-np2py312h3d3361c_25.conda + sha256: 3d5797ab0b8e7168da7643166b47801c7dce9abf4550de2909510ef1c300fd56 + md5: ffb14cc8adb05f1951ab4ece82d0d2ff depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcl - ros2-rcpputils - ros2-rmw - ros2-ros-workspace - ros2-statistics-msgs - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 58863 - timestamp: 1788458691532 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libyaml-vendor-1.6.4-np2py312haf4906a_21.conda - sha256: a80519dfe43a1843051a5fbc71958c19440b5d06cfb278ce831e9df725735ba0 - md5: abb9e6101025b68a0eaec07f9ee0cf91 + size: 58040 + timestamp: 1791435486568 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-libyaml-vendor-1.6.4-np2py312h3d3361c_25.conda + sha256: e719c0c05c70183d87d6523bc728939e0a500a3a25e8919273649e8c988dddb0 + md5: 0002c7474cb96e0708630985747bcb2c depends: - pkg-config - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - yaml - yaml-cpp - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 - yaml-cpp >=0.8.0,<0.9.0a0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - yaml >=0.2.5,<0.3.0a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - yaml >=0.2.5,<0.3.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 OR MIT - size: 31444 - timestamp: 1788271342751 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-lifecycle-msgs-2.0.4-np2py312haf4906a_21.conda - sha256: 42bf9bd984ac8ff643c70b3349ae4618fb16c0e1f9b5ddc665568bdf8902a818 - md5: 32b646cca69183f1999bfc6664986be4 + size: 32014 + timestamp: 1791431473369 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-lifecycle-msgs-2.0.4-np2py312h3d3361c_25.conda + sha256: c442ff35bb00071690db4f7c22b63daba526c6816f0d916045077dffa5e12acc + md5: 065e9f864ec472f7c4420ad73383c27c depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-default-runtime - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 244226 - timestamp: 1788362287161 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-mcap-vendor-0.26.11-np2py312haf4906a_21.conda - sha256: 84e77e29a877fd7972a049c8ec6e1cd0ebe900af0f80dd8a1132f3dc770e9ad5 - md5: 09bc3b7b40543efeb5d5e3c1119067ab + size: 244517 + timestamp: 1791433896006 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-mcap-vendor-0.26.11-np2py312h3d3361c_25.conda + sha256: 7aa1410570d1bbf7ed5dd43bdd4fe127ea9f2fb4b86ffcb15a99eaf65fcd0d7e + md5: 27e65858d77fd2ba137f715069834f98 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-liblz4-vendor - ros2-ros-workspace - ros2-zstd-vendor - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 160399 - timestamp: 1788269119397 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-message-filters-4.11.17-np2py312haf4906a_21.conda - sha256: 05080d8d4074f050e9313b1f35b5d288e8ef0a203a1578785ea2f161d707ea6c - md5: a738dc68214ecfe677d723a6bd9cb59a + size: 158333 + timestamp: 1791429914118 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-message-filters-4.11.17-np2py312h3d3361c_25.conda + sha256: d438682c37481c7f941155cb7925f1b3239df7b1bcd03072bc14eccfede0885d + md5: 65700d8422909849e34f57a672c16311 depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclcpp - ros2-rclpy - ros2-rcutils - ros2-ros-workspace - ros2-std-msgs - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 96144 - timestamp: 1788459851123 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-nav-msgs-5.3.8-np2py312haf4906a_21.conda - sha256: 95dae02472c3c399fe78373d953a32e5eea9e1f803bb59b240d69d0c877640f6 - md5: e57133ad855d80f1672f56cfc6021c19 + size: 97051 + timestamp: 1791438153573 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-nav-msgs-5.3.8-np2py312h3d3361c_25.conda + sha256: 1663aedeb74cad75fe40ccf88eaa8b9ff040dc4227254c34b4964fc434d2f88f + md5: ada83f2277bfc21e14123fb923532e81 depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-ros-workspace - ros2-rosidl-default-runtime - ros2-std-msgs - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 306151 - timestamp: 1788457716433 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-orocos-kdl-vendor-0.5.2-np2py312hd6e7b62_21.conda - sha256: 0001eae1282b817e62ebbafde95cc52ee562a795726e6bdfabd6b5c48f836333 - md5: 7798fc51bb36fb700d9475f579d43c52 + size: 306780 + timestamp: 1791436456338 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-orocos-kdl-vendor-0.5.2-np2py312h5d78f99_25.conda + sha256: 15212f7dbed516f0c3a46f1301e7073ddac9e73afba9ad685397bc5c90158a5c + md5: 87136ccb202cc91cb9e576d78000b7fb depends: - eigen - eigen-abi-devel - orocos-kdl - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-eigen3-cmake-module - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - orocos-kdl >=1.5.4,<1.6.0a0 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - orocos-kdl >=1.5.3,<1.6.0a0 - eigen-abi >=5.0.1.100,<5.0.1.101.0a0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 license: Apache-2.0 OR LGPL-2.1-or-later - size: 30198 - timestamp: 1788271118086 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-osrf-pycommon-2.1.7-np2py312haf4906a_21.conda - sha256: c86ac5b90cdbccedfd385680fed13ba80b9cfa603b62a3a25028ba4f989bcee1 - md5: 0e431b7f631b52cf5c445d1a29282b5e + size: 30719 + timestamp: 1791431200727 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-osrf-pycommon-2.1.7-np2py312h3d3361c_25.conda + sha256: 53f4abd24f7c2ef39ed62c22291c8fc575d6b192953a5b986a376eac4929d6a9 + md5: 543e37aa0a5f38bbaab7920c0e22c4bb depends: - importlib-metadata - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 65801 - timestamp: 1788260746314 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pluginlib-5.4.5-np2py312haf4906a_21.conda - sha256: 851aa9359f4e2c399fa0de6216ea2e1bdb9a5304d8da27c06625fb762a5b8910 - md5: ee1f2c1719085cd0cd362050e4c3d5f9 + size: 66389 + timestamp: 1791427759197 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pluginlib-5.4.6-np2py312h3d3361c_25.conda + sha256: dd1eae8ec2c59b07946a42a128fc7a26fc3895f47c22c44914c108463d44eab1 + md5: c3b0698bda111311418c22633031eae9 depends: - python - ros2-ament-index-cpp - ros2-class-loader - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcpputils - ros2-rcutils - ros2-ros-workspace - ros2-tinyxml2-vendor - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 116192 - timestamp: 1788271897119 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pybind11-vendor-3.1.3-np2py312haf4906a_21.conda - sha256: eff0e3a7fcf705218b5059eee39cea43fabf3b78f94a076c9f6873a6a8c01d3c - md5: 1f7b2726e37bbdc199f0c53ad43cfba6 + size: 114973 + timestamp: 1791432617031 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-pybind11-vendor-3.1.3-np2py312h3d3361c_25.conda + sha256: 215516fdc21c97199e5017ea195f44373a5b42bed80f63cfe459d6e84b165f4e + md5: a9a8cd6e8d7757cb858830438c1b377e depends: - pybind11 - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 OR BSD-3-Clause - size: 25330 - timestamp: 1788268422025 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312haf4906a_21.conda - sha256: d6aca7259298baf6919e605ba8e3ea691a4947863c1da5918f232e3c6fd77830 - md5: c5cdb3cae97c5790a2aaadfef38c72b4 + size: 25706 + timestamp: 1791429050171 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312h3d3361c_25.conda + sha256: 9155cec11071ca47600ff8729660b2659c2aad54e825a207b043314f23796033 + md5: 82da5c961fd63361375fd67f49894884 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 + size: 29965 + timestamp: 1791430821411 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py314h40712d6_27.conda + sha256: e7e121db942625e11c43d1b3870ae71f50c4cb949aa4592273b1c799f1b1b279 + md5: d11986f8b4b71eec0b0ccad12403e9dd + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 29481 - timestamp: 1788271055211 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-orocos-kdl-vendor-0.5.2-np2py312haf4906a_21.conda - sha256: 48830eb3907f70de12a4b813a69db39fbe37036682168053587860e7a4f9d6a7 - md5: d9f499c65479a941324fd0adcecb2480 + size: 30726 + timestamp: 1792672225640 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-orocos-kdl-vendor-0.5.2-np2py312h3d3361c_25.conda + sha256: 771e4ff6e89eb862c425c5dc5da7a6c342bf590c7c9ca6a890049f8eb61a4c90 + md5: 3a9eaf0b07d7f5c9f377ae645d692f43 depends: - python - python-orocos-kdl - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-orocos-kdl-vendor - ros2-pybind11-vendor - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 - - python-orocos-kdl >=1.5.3,<1.6.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python-orocos-kdl >=1.5.4,<1.6.0a0 + - numpy >=1.25,<3 license: Apache-2.0 OR LGPL-2.1-or-later - size: 29591 - timestamp: 1788271348080 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-qt-binding-2.2.2-np2py312haf4906a_21.conda - sha256: e6560ddd2659fbc496f8a06e0277465896d5bd3378c5efe1c70684dc8b87376a - md5: eaf4d05c6f756e3607ff82337af8c958 + size: 30078 + timestamp: 1791431508031 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-qt-binding-2.2.2-np2py312haa0ef1d_25.conda + sha256: 1e9b7af3f339b1c12c0ae97b00286045b187f223837be5eb2d0c8d3d6a3399c7 + md5: 9ccafa2dd0e54bbf10bc639da8035329 depends: - pyqt - pyqt-builder + - pyqt-builder <1.20 - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 + - qt-main >=5.15.15,<5.16.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - pyqt >=5.15.11,<5.16.0a0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - qt-main >=5.15.15,<5.16.0a0 + - python_abi 3.12.* *_cp312 + - sip >=6.15.3,<6.16.0a0 license: BSD-3-Clause - size: 56911 - timestamp: 1788271103819 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-qt-dotgraph-2.7.6-np2py312h04422e8_21.conda - sha256: b99523f26faf68e5383d3584073ca0ca149b34f6cfbb610355bca2d3d96c5d88 - md5: 8182d42e625d623dd712b2c068e45c20 + size: 57190 + timestamp: 1791431211861 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-qt-dotgraph-2.7.6-np2py312hab57ebb_25.conda + sha256: d0ee6caa73552205063f5631d6d94c501663f5bf783595d7dcdc0cea42327142 + md5: bded7a8818f826e99455f6c715d006ce depends: - pydot - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-python-qt-binding - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - graphviz >=14.1.2,<15.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - graphviz >=14.1.2,<15.0a0 license: BSD-3-Clause - size: 63453 - timestamp: 1788271374173 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-qt-gui-2.7.6-np2py312haf4906a_21.conda - sha256: 0ebec9c835ead74185719f6b18f1f2d54102948cc3634ce24957003021a56695 - md5: 031786448bb59f588141651cd53f0e9b + size: 63432 + timestamp: 1791431595892 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-qt-gui-2.7.6-np2py312haa0ef1d_25.conda + sha256: 9657d369ef76f8ecee7ee235348523489073c1b53ee9a9c29ca3557ad7de6bc7 + md5: 9142d948ea2e14322b202870be41044b depends: - catkin_pkg - python - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-python-qt-binding - ros2-ros-workspace - ros2-tango-icons-vendor - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - qt-main >=5.15.15,<5.16.0a0 + - __osx >=14.0 + - libcxx >=21 - pyqt >=5.15.11,<5.16.0a0 - - python_abi 3.12.* *_cp312 + - qt-main >=5.15.15,<5.16.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 167875 - timestamp: 1788271333293 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-9.2.11-np2py312haf4906a_21.conda - sha256: 6775db6b65e82c384439f443531d67ede55c348ef1b04f327a2302cf611f6d35 - md5: c215c6e84e28e5c2f57e11e497be7e2a + size: 167958 + timestamp: 1791431561629 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-9.2.11-np2py312h3d3361c_25.conda + sha256: 5ddaf5f1465eae50d955f1613566a66c777f3f15d3c8a10a0d2ad9c5fae12616 + md5: ffaa709e230aca6e55a3db3db08fa637 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-libyaml-vendor - ros2-rcl-interfaces - ros2-rcl-logging-interface @@ -27367,59 +23608,59 @@ packages: - ros2-type-description-interfaces - yaml - yaml-cpp - - __osx >=12.0 - - libcxx >=19 - - yaml-cpp >=0.8.0,<0.9.0a0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - yaml >=0.2.5,<0.3.0a0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 + - yaml-cpp >=0.8.0,<0.9.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 183351 - timestamp: 1788458139118 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-action-9.2.11-np2py312haf4906a_21.conda - sha256: 2f8be5be045deb6766fdb44b2ccd10a2f557dec02a4a0f4acf965370d6924601 - md5: 7b6c022c0a537f2e32e25e46f689da26 + size: 183247 + timestamp: 1791435105737 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-action-9.2.11-np2py312h3d3361c_25.conda + sha256: f64ca4d94e11a7fef7a07bc003ad3fd934c3c2a1283892901836e3f2040686c5 + md5: e7dc54c2f53f860fcd2a5d3efb4fde35 depends: - python - ros2-action-msgs - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcl - ros2-rcutils - ros2-rmw - ros2-ros-workspace - ros2-rosidl-runtime-c - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 license: Apache-2.0 - size: 76619 - timestamp: 1788458734237 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-interfaces-2.0.4-np2py312haf4906a_21.conda - sha256: a778c1a2a1294956a97494e3dbbcb7a77460af2a5f84fc0e480807c0285e015a - md5: 8ca71dc00e39c3cb5c1a484966931ccb + size: 77441 + timestamp: 1791435135069 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-interfaces-2.0.4-np2py312h3d3361c_25.conda + sha256: eccfcc8c513ad1c3469c793b3387d837594a55692668714e730646a31dc3985a + md5: d8408f16559a7253635d5e5aa7ad64ac depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-default-runtime - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 484311 - timestamp: 1788362156275 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-lifecycle-9.2.11-np2py312haf4906a_21.conda - sha256: 08ab66fa524fcc4ef3797c0864f82a6e41e0840294475fc2a9c74ebe3ebf7136 - md5: 328006673b7539d77cc72a18d3f3160a + size: 486042 + timestamp: 1791433818533 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-lifecycle-9.2.11-np2py312h3d3361c_25.conda + sha256: 8039f80bd10dc5866db3b4134fbb81152ba97b6ffcdeda787f4e8b24a75a8e80 + md5: 8f1beb0412fb6880a761eff454519088 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-lifecycle-msgs - ros2-rcl - ros2-rcutils @@ -27427,83 +23668,83 @@ packages: - ros2-ros-workspace - ros2-rosidl-runtime-c - ros2-tracetools - - __osx >=12.0 - - libcxx >=19 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 55541 - timestamp: 1788458719594 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-interface-3.1.1-np2py312haf4906a_21.conda - sha256: eb92697b44a3681968041691cca6713c5e012f8445a405474450b73610010635 - md5: 03c198ccb3229d81f6c83387caff5b5e + size: 56431 + timestamp: 1791435124335 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-interface-3.1.1-np2py312h3d3361c_25.conda + sha256: 7521cd14c329d01ed6e5ab896a08b9f6e89c06f865851b3ac311bfddf7bd2e37 + md5: c489801633a2c1ec4b36f5914f47dc9a depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcutils - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 36473 - timestamp: 1788271775853 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-spdlog-3.1.1-np2py312h88edd79_21.conda - sha256: 6538a1d1f94446566cb6a3f7061b7d22781951e2b3321a4ec3a2d65883c34c3a - md5: 929d858c338bc09d6436c5949f763dd3 + size: 36969 + timestamp: 1791432355241 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-logging-spdlog-3.1.1-np2py312h6cdb02c_25.conda + sha256: 7da6bcb9ef990a8ee7231ae4cd26e4ba0838c2412eb2f98033c3e39c81697b54 + md5: b045ae000856e0a578df0da780b2d647 depends: - fmt - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcl-logging-interface - ros2-rcpputils - ros2-rcutils - ros2-ros-workspace - ros2-spdlog-vendor - spdlog - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 - spdlog >=1.17.0,<1.18.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - fmt >=12.1.0,<12.2.0a0 - - numpy >=1.25,<3 license: Apache-2.0 - size: 45512 - timestamp: 1788271964561 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-yaml-param-parser-9.2.11-np2py312haf4906a_21.conda - sha256: 6c4032ef7f67dbb925b227b0ee51653764c7dd1af7857f4fef3b9d3ac05614a1 - md5: 57118f91b24f86362005c57b57d8e756 + size: 46044 + timestamp: 1791432605690 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcl-yaml-param-parser-9.2.11-np2py312h3d3361c_25.conda + sha256: 6d164e3a117316c1336492e605c2e20b8c3f333c1101edae20833c9705543fc5 + md5: 4810a16fc2f72f8d373b8d1bfbc08e12 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-libyaml-vendor - ros2-rcutils - ros2-rmw - ros2-ros-workspace - yaml - yaml-cpp - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 + - yaml >=0.2.5,<0.3.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - yaml-cpp >=0.8.0,<0.9.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - yaml >=0.2.5,<0.3.0a0 - - numpy >=1.25,<3 license: Apache-2.0 - size: 50465 - timestamp: 1788361233024 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-28.1.21-np2py312haf4906a_21.conda - sha256: 4a2623d920fb9d5a2851789bf3d6d89b9af735315e672af65f85927027a08f6e - md5: ad418f8acd3c035492127cd4ba55dcf1 + size: 50755 + timestamp: 1791432861476 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-28.1.22-np2py312h3d3361c_25.conda + sha256: efb3309d363fdef5f82a36ac35ad909a39ae57e47976928229e0f94551367496 + md5: 679e36d267408559f8b0f5bf0652787a depends: - python - ros2-ament-index-cpp - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-libstatistics-collector - ros2-rcl - ros2-rcl-interfaces @@ -27521,61 +23762,61 @@ packages: - ros2-rosidl-typesupport-cpp - ros2-statistics-msgs - ros2-tracetools - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 816163 - timestamp: 1788458951037 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-action-28.1.21-np2py312haf4906a_21.conda - sha256: fc1d7126278ad2a2f2b048aa135672db26ffb4a06970267cdf93ed4a15a1b3bb - md5: 7e38bf6a35771ba8036785b20d072cf8 + size: 813333 + timestamp: 1791436179597 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-action-28.1.22-np2py312h3d3361c_25.conda + sha256: bc73efe912e812cefeaa779b189d3887366e6e83ae9d475221aa4e957ab75cb5 + md5: 16db0e9c392c383ea96722ae17d85911 depends: - python - ros2-action-msgs - ros2-ament-cmake - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcl - ros2-rcl-action - ros2-rclcpp - ros2-rcpputils - ros2-ros-workspace - ros2-rosidl-runtime-c - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 130149 - timestamp: 1788459626562 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-components-28.1.21-np2py312haf4906a_21.conda - sha256: 886e82c1a85175ff1c0df829a52581fb4068911ddbad89c699703da3d123c62b - md5: 49fae9c012643f7e2ab8a267885aff69 + size: 129324 + timestamp: 1791437182027 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-components-28.1.22-np2py312h3d3361c_25.conda + sha256: 5171bcbfa689102d0a7f71ceed49deabaa26741e0f5507f39fdd73ead72e0e31 + md5: ba9728d704262105860f5e85918fc782 depends: - python - ros2-ament-index-cpp - ros2-class-loader - ros2-composition-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclcpp - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 119213 - timestamp: 1788459462152 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-lifecycle-28.1.21-np2py312haf4906a_21.conda - sha256: 7fbeb9baf50382c152ce778328140c3bffe494c745e33322b55577fb15574c3b - md5: 2c885aa7a9b1d4e587337b4cd2b7f4fc + size: 118532 + timestamp: 1791437210683 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclcpp-lifecycle-28.1.22-np2py312h3d3361c_25.conda + sha256: 2b92c85fefd1440db6a81cc58b45fbcf4f863ff06e4488ddb21083a4d30f9a68 + md5: 97a97962774bbfba3f1e43353f505fca depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-lifecycle-msgs - ros2-rcl - ros2-rcl-interfaces @@ -27585,24 +23826,24 @@ packages: - ros2-rmw - ros2-ros-workspace - ros2-rosidl-typesupport-cpp - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 106172 - timestamp: 1788459603817 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclpy-7.1.11-np2py312haf4906a_21.conda - sha256: 4f21c971536eea2d0783da9cac54c97e97caf0dc4e41729ed6cba7c7b58cad8e - md5: 9144bb781f0463ebfc513dadda4b8e33 + size: 107960 + timestamp: 1791437149831 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rclpy-7.1.12-np2py312h3d3361c_25.conda + sha256: a4e82e2b9b0033a21a14105dc60390654c260f99819f087a70ef0da35fd120f8 + md5: 969922c7bbfdeeb8a7d1a0e0fb3b4f7b depends: - python - pyyaml - ros2-action-msgs - ros2-ament-index-python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-lifecycle-msgs - ros2-rcl - ros2-rcl-action @@ -27617,103 +23858,152 @@ packages: - ros2-rosidl-runtime-c - ros2-rpyutils - ros2-unique-identifier-msgs - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 647562 - timestamp: 1788459059908 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312haf4906a_21.conda - sha256: 4e14190716316d5d0f41c5fe430b12e341f7f2302de71e657c8e2f64e07c974a - md5: a23a2959530e954ccb48aab87b72b8ac + size: 650283 + timestamp: 1791435145331 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312h3d3361c_25.conda + sha256: ea0814da0b8143bc786b42724b10d5097b723e20b275a27e0c0c3b7123a2b2b6 + md5: e37860c7f0e390226e1d51250fe546c7 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcutils - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 OR BSD-3-Clause + size: 77281 + timestamp: 1791432074757 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py314h40712d6_27.conda + sha256: 4df2bd620a55e028881e42f9b87238000653f2431fe3c0d0c5835d452122088a + md5: 1f2d7f280abe5642085bf3500539ce99 + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-rcutils + - ros2-ros-workspace + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 OR BSD-3-Clause - size: 77694 - timestamp: 1788271614520 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312haf4906a_21.conda - sha256: 82f08335eac323f5614b0c81e2a2c691e80088ddb0025a76e42180646b46a93f - md5: e91ff85a21753f5733f20d0bd9acd0e0 + size: 77887 + timestamp: 1792674044115 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312h3d3361c_25.conda + sha256: d2c45c7445cb9c62eea11bbde4806e0ab2efc4ab6a1e0e6e3e39e2f5c58bde13 + md5: c71cff8ff97808fad3a47bba3a3b728c depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 116477 - timestamp: 1788271469515 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-resource-retriever-3.4.4-np2py312haf4906a_21.conda - sha256: 41746083c440eefafb726ebc89f6ce8e8b1ef631ef0366f8264ab31bce2b0152 - md5: b8a94203d773dacfffc7dfbd07487553 + size: 116799 + timestamp: 1791431766854 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py314h40712d6_27.conda + sha256: 1b7c57c69c1780e91c70964d0a61375053847ef24dd3dedaae214b71124ba067 + md5: 66e0feea268cb929cc1e1326197547e5 + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 + - numpy >=1.25,<3 + license: Apache-2.0 + size: 117603 + timestamp: 1792673722627 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-resource-retriever-3.4.4-np2py312h3d3361c_25.conda + sha256: 1351dc5d5fa14f492234f46cd4dd27c75fbf2a03b920f8f6f539317c26b99793 + md5: 583a34bcfe46b3bea3c2491847dcd7ec depends: - python - ros2-ament-index-cpp - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-libcurl-vendor - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: BSD-3-Clause - size: 43599 - timestamp: 1788271358362 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.3-np2py312haf4906a_21.conda - sha256: e50dc5e54dc21f047e0628f12b3bc5bc54b207dc96aea324cb3cbc42e764625f - md5: 5172be7981c552e7495e7a197f4fc3d6 + size: 43537 + timestamp: 1791431516004 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.4-np2py312h3d3361c_25.conda + sha256: 4dad802e3184101aecdca628d14d300ad1bb9a39bf5a056684ed6fc3e700993a + md5: 7cdc7f02d0cc2bc72adacfdc02d2b4e0 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcutils - ros2-ros-workspace - ros2-rosidl-dynamic-typesupport - ros2-rosidl-runtime-c - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 + size: 94917 + timestamp: 1791432571916 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.4-np2py314h40712d6_27.conda + sha256: 5f1f34132e13b8b5bd89ad865926e731b45d4a439c06b61d4fbc08b601b5ab34 + md5: 8e08593dcd765cd8687dabc0bf011512 + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-rcutils + - ros2-ros-workspace + - ros2-rosidl-dynamic-typesupport + - ros2-rosidl-runtime-c + - __osx >=14.0 + - libcxx >=21 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 - size: 94501 - timestamp: 1788271920545 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-0.22.3-np2py312haf4906a_21.conda - sha256: 351c5b2f763ed29c73bb8fd59f0db78e77d788b17807e448a96b5f84a2d55520 - md5: b5db000b7a44a4d554e24468b6582974 + size: 95585 + timestamp: 1792674666068 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-0.22.3-np2py312h3d3361c_25.conda + sha256: 942bb691cc9cb6e6d4634ac0b060645bb5bf3303c8c7fa0bd9e772c2d9471702 + md5: d785d884d199ead641ad012008a17734 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rmw-connextdds-common - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 33784 - timestamp: 1788457481466 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-common-0.22.3-np2py312haf4906a_21.conda - sha256: 2a04f660360b0eea7efc3145600985db7134eafceefcb3cc471f3c2afaca02ff - md5: 54e33bc98d026343741b6c50f483962f + size: 34135 + timestamp: 1791435074285 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-connextdds-common-0.22.3-np2py312h3d3361c_25.conda + sha256: 1efb4d38fa5cbc7082d922af3697de6057947f66fea883ec262eea11285ec520 + md5: 904a7d5dba30b9ddda4d543637da958a depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-fastcdr - ros2-rcpputils - ros2-rcutils @@ -27728,21 +24018,21 @@ packages: - ros2-rosidl-typesupport-introspection-cpp - ros2-rti-connext-dds-cmake-module - ros2-tracetools - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 license: Apache-2.0 - size: 55496 - timestamp: 1788362758137 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-cyclonedds-cpp-2.2.3-np2py312haf4906a_21.conda - sha256: 615be4fa31bc2b502edf3e8fa711f998129f55e7de50e990681eb8b2c21bfe8a - md5: 4300d0c16d37cc9b993d6158adbb4004 + size: 55955 + timestamp: 1791434860716 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py312h3d3361c_25.conda + sha256: 57ef154afe47ab06b7a428dd86368efd520408cb5f65b0ba1ef4c7719a74cf33 + md5: 0c65bf6ab4e7ea0a7bb7a8dc0189249c depends: - python - ros2-cyclonedds - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-iceoryx-binding-c - ros2-rcpputils - ros2-rcutils @@ -27753,20 +24043,20 @@ packages: - ros2-rosidl-typesupport-introspection-c - ros2-rosidl-typesupport-introspection-cpp - ros2-tracetools - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 187656 - timestamp: 1788362768704 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-dds-common-3.1.1-np2py312haf4906a_21.conda - sha256: 00357580611fa473eaaa83df9b366c416138f6fe42bde904a693b2471bd2b351 - md5: a08804a48a341195dda00bc82ddedb6e + size: 186869 + timestamp: 1791434870986 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-dds-common-3.1.1-np2py312h3d3361c_25.conda + sha256: 847c9d91193dbc893414c6ac295147b0df0f4899bc90b8a4590672978afa6361 + md5: 32a73484e4a576832e5872404dbb27f8 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcpputils - ros2-rcutils - ros2-rmw @@ -27774,20 +24064,20 @@ packages: - ros2-rosidl-default-runtime - ros2-rosidl-runtime-c - ros2-rosidl-runtime-cpp - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 164780 - timestamp: 1788362052668 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312haf4906a_21.conda - sha256: 838ad645a02b91cba647647279463ee9fa0b8fce2898c56c8716e0c413e31353 - md5: 3138613e7cb98954e8ee00ce19c3b94a + size: 160759 + timestamp: 1791433699020 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312h3d3361c_25.conda + sha256: 52dd3733cd9a7b788004d33daf1725f23367478b59179a53803205703709fd51 + md5: 1874acb82402b4287f9be95e9e789afa depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-fastcdr - ros2-fastrtps - ros2-fastrtps-cmake-module @@ -27804,20 +24094,20 @@ packages: - ros2-rosidl-typesupport-fastrtps-c - ros2-rosidl-typesupport-fastrtps-cpp - ros2-tracetools - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 120243 - timestamp: 1788457438984 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312haf4906a_21.conda - sha256: 739f3f73e1f6925859c8c9bedf8324294447848c209609f23fedbe60b4a78bf7 - md5: d5926c1bc7b6d68730af75282e6c5e8c + size: 119279 + timestamp: 1791435052279 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312h3d3361c_25.conda + sha256: cf5cf1d9bf5179b79b496970ebc59eed74bc8ee53fad1e41339997573f59b3e6 + md5: f808d49eb5971154019db5ce962966d2 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-fastcdr - ros2-fastrtps - ros2-fastrtps-cmake-module @@ -27830,20 +24120,20 @@ packages: - ros2-rosidl-runtime-c - ros2-rosidl-typesupport-introspection-c - ros2-rosidl-typesupport-introspection-cpp - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 137906 - timestamp: 1788457366072 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312haf4906a_21.conda - sha256: 6cc59de1d70b91e9e2c598dcf2de2587b03bfe75735b0f3a551a46f056ee7d12 - md5: 3db8221a2e43072461d5d90ee784c3fc + size: 136495 + timestamp: 1791435018046 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312h3d3361c_25.conda + sha256: 3de0db4847172e8789b8d87cc189ded83884b106c6e231fbd9fe05b10ca8217a + md5: b0bf9970882ca3dfe2e653d4fbfe484e depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-fastcdr - ros2-fastrtps - ros2-fastrtps-cmake-module @@ -27856,21 +24146,21 @@ packages: - ros2-rosidl-typesupport-introspection-c - ros2-rosidl-typesupport-introspection-cpp - ros2-tracetools - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 184596 - timestamp: 1788362698035 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-2.15.6-np2py312haf4906a_21.conda - sha256: 6b7c58ab86ff386104ffb53182c9aed541e540364432317d6d67296b27f0ec82 - md5: 0cbe51cd8ef440ecc3b8756fb035c097 + size: 183671 + timestamp: 1791434812203 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-2.15.6-np2py312h3d3361c_25.conda + sha256: 25810bceb826e3819a02025dc0857bd42031994c8e0a749e2f301284294e8e2b + md5: ea19564e8eac7847215ae7df017912ae depends: - python - ros2-ament-index-cpp - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcpputils - ros2-rcutils - ros2-rmw-connextdds @@ -27879,37 +24169,62 @@ packages: - ros2-rmw-fastrtps-dynamic-cpp - ros2-rmw-implementation-cmake - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 52365 - timestamp: 1788457716312 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-cmake-7.3.3-np2py312haf4906a_21.conda - sha256: bce0dbb9a9deeb61d7319da6f3c2409603bb484b9cfe7f1b0f8b090c608c4f6f - md5: 13194602500319ee49acba1f2ff14cd3 + size: 53305 + timestamp: 1791435093615 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-implementation-cmake-7.3.4-np2py312h3d3361c_26.conda + sha256: d48964cbcc02ee71afcfe9a1870dd628b519f3e701e3fccf4e497b5bb216853c + md5: b0fd2a7725f0591eb2f01c85d7f3c4b2 depends: - python - ros2-ament-cmake - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 31137 - timestamp: 1788271246441 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-robot-state-publisher-3.3.4-np2py312haf4906a_21.conda - sha256: e59417dcdd4344f299535d8da85d94469c82f0ecf54d0477da324a3e7105fa87 - md5: cc60a62cf2794b196e7a22e90032fe3d + size: 32889 + timestamp: 1792622103396 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-zenoh-cpp-0.2.11-np2py312h48e1e13_25.conda + sha256: c3780a34b580030d69573f6e37621965f33b85a8bb66ccc694b320c233693d87 + md5: a7dbd60ee68ee8cecad846c7a0812130 + depends: + - python + - ros2-ament-index-cpp + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-fastcdr + - ros2-rcpputils + - ros2-rcutils + - ros2-rmw + - ros2-ros-workspace + - ros2-rosidl-typesupport-fastrtps-c + - ros2-rosidl-typesupport-fastrtps-cpp + - ros2-tracetools + - ros2-zenoh-cpp-vendor + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - libzenohc >=1.9.0,<1.9.1.0a0 + - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 OR BSD-3-Clause + size: 222737 + timestamp: 1791433225915 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-robot-state-publisher-3.3.4-np2py312h3d3361c_25.conda + sha256: d80461a0367dbee4e263af59701aa81256f5c95ac897f88d711e6996f1f7941e + md5: aca3f637e8eda13e1fa19b75abfc3155 depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-kdl-parser - ros2-orocos-kdl-vendor @@ -27921,20 +24236,20 @@ packages: - ros2-std-msgs - ros2-tf2-ros - ros2-urdf - - __osx >=12.0 - - libcxx >=19 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 218607 - timestamp: 1788461145599 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-base-0.11.0-np2py312haf4906a_21.conda - sha256: 52fe5b86d64ded36021c9f038ee2bf8c90c32e74864ab2fe8ea1fb3e97ff54c4 - md5: d67a087e3be1273e7d32bc61f8a0fd74 + size: 215519 + timestamp: 1791440312447 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-base-0.11.0-np2py312h3d3361c_25.conda + sha256: 24701b49483aac38d4e01bf99e1d32727eab6877cd89958cda45499869988385 + md5: 2cada10a410caa145eeba2a057d4d5a2 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry2 - ros2-kdl-parser - ros2-robot-state-publisher @@ -27942,17 +24257,17 @@ packages: - ros2-ros-workspace - ros2-rosbag2 - ros2-urdf - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 24509 - timestamp: 1788467914367 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-core-0.11.0-np2py312haf4906a_21.conda - sha256: f6d357a58d126dda10ad3a8b9f36a7c7fb85aea3806bf61a4447a2f1c81498fc - md5: 5054b91fa811cec144c35d27cbef93a7 + size: 24653 + timestamp: 1791451376648 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-core-0.11.0-np2py312h3d3361c_25.conda + sha256: c0d1e2cd419bf474cefaa2ef292fa3c8e10790bfbed37b7e070ac8857d182a77 + md5: b591973308a7c52bf6f165104fa29ae0 depends: - python - ros2-ament-cmake @@ -27967,7 +24282,7 @@ packages: - ros2-ament-lint-common - ros2-class-loader - ros2-common-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-launch - ros2-launch-ros - ros2-launch-testing @@ -27989,109 +24304,137 @@ packages: - ros2-rosidl-default-runtime - ros2-sros2 - ros2-sros2-cmake - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 + size: 25324 + timestamp: 1791441329987 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312h3d3361c_25.conda + sha256: a8ed7fc76e4fe80baee899e2215f2e51720d14b923ade2565f40f0615975ba5c + md5: 33de317e6322633ff6ff6e8c177ce176 + depends: + - python + - ros2-distro-mutex 0.19.* jazzy_* + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 license: Apache-2.0 - size: 25176 - timestamp: 1788465276005 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312haf4906a_21.conda - sha256: ca37e03ac6babd113e703ad5bb9a516e2cad71a54b61e0f83793f23298068cf1 - md5: 904115ef3522f7692db7ae2e781e30fa + size: 23671 + timestamp: 1791427524102 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py314h40712d6_27.conda + sha256: d403a54cc2af61f596356e54e11f4c11072f3a119e74c8b798ae568bb170e1bb + md5: 15274c9600baf1d481f79b9bcd401e6b depends: - python - - ros2-distro-mutex 0.16.* jazzy_* - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - ros2-distro-mutex 0.20.* jazzy_* + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 23393 - timestamp: 1788259715192 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312haf4906a_21.conda - sha256: 657a04a4783cf634ef795495b66758762eeeef64ebff8e0c09ba9e52b8e95902 - md5: 7dc95811ea20aa1e76133a717a61bebd + size: 24390 + timestamp: 1792668223161 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312h3d3361c_25.conda + sha256: 268e0361342dc953b9893fc58a07c337742391ec7b49194ca74facfa6fb7f9f6 + md5: d2eb1989ee56026024a7a45a2a65608d depends: - python - - ros2-distro-mutex 0.16.* jazzy_* - - libcxx >=19 - - __osx >=12.0 + - ros2-distro-mutex 0.19.* jazzy_* + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + license: Apache-2.0 + size: 37626 + timestamp: 1791427513446 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py314h40712d6_27.conda + sha256: 7ecbd6219f5fed2f8c4783a3a47f74cecb7b97c1261d2749c1f597e04c28aec5 + md5: f415867dd787c9224f84a995484c1bd8 + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 37316 - timestamp: 1788259705640 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2action-0.32.11-np2py312haf4906a_21.conda - sha256: 4a015af1358165e63c547a3047450d2a314c4fc473f565249908ea35ff2b1c3c - md5: 7dbbbaf626eebc5c98b081fa4e6c887e + size: 38081 + timestamp: 1792668209943 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2action-0.32.13-np2py312h3d3361c_25.conda + sha256: 52d8fa3c0c2b3f1cfded191220d7aeceb0eecf2a03e1b82668536d01d4671cd3 + md5: c68b609330bb902f19bf5154fd482208 depends: - python - ros2-action-msgs - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-workspace - ros2-ros2cli - ros2-rosidl-runtime-py - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 48127 - timestamp: 1788460783107 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2bag-0.26.11-np2py312haf4906a_21.conda - sha256: a4a11f4e748ee5d31e0bc7cb70775a1a5544f67bdb19fff39a0c46f7de846e79 - md5: 0be3182fd8424f7ecf3541db2dc3b81a + size: 49483 + timestamp: 1791436415031 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2bag-0.26.11-np2py312h3d3361c_25.conda + sha256: 8a3f9e202cc856bfea60f9cdc430628e65ad0a9df0371821a997bb448fb4b2a9 + md5: 3f1a20b2e0865aca52ac9516c06e5571 depends: - python - pyyaml - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-workspace - ros2-ros2cli - ros2-rosbag2-py - ros2-rosbag2-storage-default-plugins - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 license: Apache-2.0 - size: 71768 - timestamp: 1788466478961 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-0.32.11-np2py312haf4906a_22.conda - sha256: d5e113d7e2a6e80e3804202f981b20574a2503422cf47308f832099c79de6fdb - md5: 779c0e8747e0e1305791e1fce12dd748 + size: 73058 + timestamp: 1791449103655 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-0.32.13-np2py312h3d3361c_26.conda + sha256: dadde29b0923a17e5af175cb1fc349d408a7b4fea1837c4aea9b24bf3b6c9395 + md5: 273e95120f7a51174a62bf2a306c7d33 depends: - argcomplete - importlib-metadata - packaging - psutil - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 78225 - timestamp: 1788509547949 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-common-extensions-0.3.1-np2py312haf4906a_21.conda - sha256: 3d7474af95a600b606a8ed23db8562885d257942dc40845ba0c68b3bbc32323f - md5: 9ea8ad09e9a319a5947710d4e527a008 + size: 80182 + timestamp: 1792622252973 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2cli-common-extensions-0.3.1-np2py312h3d3361c_25.conda + sha256: d1a863664a70f96e9f7a97d014013107c7ec99fc2d4ec81eb3c7a642a30221bc + md5: 204928043a2c567593b92e6b73f3a126 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-launch-xml - ros2-launch-yaml - ros2-ros-workspace @@ -28111,22 +24454,22 @@ packages: - ros2-ros2service - ros2-ros2topic - ros2-sros2 - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 28584 - timestamp: 1788464239231 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2component-0.32.11-np2py312haf4906a_21.conda - sha256: e927fa79b601ed2c800c8269205e42bab08b3cc6732712c6d19e2d344980f14d - md5: c62f73c1b0ce0f8fe941d9945b08c177 + size: 28928 + timestamp: 1791440355289 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2component-0.32.13-np2py312h3d3361c_25.conda + sha256: b8a753184678fb8ae8e298c50ebb0fbbda893bd2ea063ee5bdb1ee4f30ea0698 + md5: 076eed26515e3f88c85a9ca8e587fd92 depends: - python - ros2-ament-index-python - ros2-composition-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcl-interfaces - ros2-rclcpp-components - ros2-rclpy @@ -28135,64 +24478,64 @@ packages: - ros2-ros2node - ros2-ros2param - ros2-ros2pkg - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 39153 - timestamp: 1788464014729 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2doctor-0.32.11-np2py312haf4906a_21.conda - sha256: 7f5caec61894a2c87df9b52a4f93d35dd620af3845cb79a9678b06547a2b856a - md5: e75c0ae742b4774d54da31b42aed1743 + size: 39902 + timestamp: 1791439533801 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2doctor-0.32.13-np2py312h3d3361c_25.conda + sha256: b9f696a143f6c6c576a8eef250d1433d1bc2a8da0c478573ac9b74325a696596 + md5: 778a5aa159c4939bb7a44891c90b03d2 depends: - catkin_pkg - importlib-metadata - psutil - python - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-environment - ros2-ros-workspace - ros2-ros2cli - ros2-std-msgs - rosdistro - - __osx >=12.0 - - libcxx >=19 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 68738 - timestamp: 1788460775400 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2interface-0.32.11-np2py312haf4906a_21.conda - sha256: 2ac785a0be7cc7ff3b38476a5a61d56577f41f27b95cc333ea41e164cd5ad4cc - md5: 5099633285654556b0a5714763b53cdc + size: 70077 + timestamp: 1791436407723 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2interface-0.32.13-np2py312h3d3361c_25.conda + sha256: af259c7e4607c884900fd7004bf41c54c43bbf15061b7edcf9d86bea34efd688 + md5: dcc7156ab3e86af4ffe385b48af0c4c0 depends: - python - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-ros2cli - ros2-rosidl-adapter - ros2-rosidl-runtime-py - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 47195 - timestamp: 1788460765359 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2launch-0.26.12-np2py312haf4906a_21.conda - sha256: a765988ba88ebb90b6dd4b54cc4cac80d0266032aaa62416855505927768d83d - md5: 95d348308dfac55ceb81384e8e6be5b1 + size: 49322 + timestamp: 1791436400030 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2launch-0.26.13-np2py312h3d3361c_25.conda + sha256: fb5a328a7c0511dfbce4cc00118cc31b0157fe16a1b660e8e5588572f57076dd + md5: dc3dcb21b5d68fb3a928e4d4ac0159cd depends: - python - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-launch - ros2-launch-ros - ros2-launch-xml @@ -28200,90 +24543,90 @@ packages: - ros2-ros-workspace - ros2-ros2cli - ros2-ros2pkg - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 47203 - timestamp: 1788461187623 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2lifecycle-0.32.11-np2py312haf4906a_21.conda - sha256: d1ac31d9cf8fb7c13ad569b5144a068d6f78af478ae60c660208a9395065f97b - md5: b83b3c927d023ac607c463e4a645cd0a + size: 48374 + timestamp: 1791437472785 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2lifecycle-0.32.13-np2py312h3d3361c_25.conda + sha256: b965665684a7af0979cee505082f8b191eacaf4b7f764808779cbcca883cb161 + md5: 44bf85fedac25d383a8b26e32bc163c2 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-lifecycle-msgs - ros2-rclpy - ros2-ros-workspace - ros2-ros2cli - ros2-ros2node - ros2-ros2service - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 45824 - timestamp: 1788462023257 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2multicast-0.32.11-np2py312haf4906a_21.conda - sha256: 0ea213cb6a0073310cbfa7d59dcdd68dd99047f6b21476b84dc18f31f6cca526 - md5: c5fe46f1ce848d836e4a9b1fa96260d8 + size: 47211 + timestamp: 1791439516814 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2multicast-0.32.13-np2py312h3d3361c_25.conda + sha256: c0313592a63f581df15a022e67db2c91ba6903bea6e1588ef265934622907e40 + md5: bf83f855bf7ae88b676247104b4c9dfa depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-ros2cli - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 26679 - timestamp: 1788459960061 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2node-0.32.11-np2py312haf4906a_21.conda - sha256: b422072f1fcf08616a496892e5cea181ebb9c6d855a97ea1c4eb239c8f4cec52 - md5: 8977a25e6b63b3bc5ee8944e335ccd9b + size: 27400 + timestamp: 1791435679992 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2node-0.32.13-np2py312h3d3361c_25.conda + sha256: b5719e0b8cba34b487d2706b0f5e8f3d01e8a228adf3d9fe9a6620a2203b17c5 + md5: f90d26f728db24d6ae9e060e4fcf2296 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-workspace - ros2-ros2cli - - __osx >=12.0 - - libcxx >=19 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 license: Apache-2.0 - size: 43658 - timestamp: 1788460738471 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2param-0.32.11-np2py312haf4906a_21.conda - sha256: 2db3dcb3a3a494dcf3896be348f097ed0a8b526086bd32bd7ffdf74aa6703fef - md5: 81451ecdfba6818667e4d3dcb784aeb6 + size: 44954 + timestamp: 1791436357650 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2param-0.32.13-np2py312h3d3361c_25.conda + sha256: 6bc3f80413bf4459871cf10b3257c40a915883a8058dde67086fef9db1c2a758 + md5: b9e75b3d0dc8f6900186c7fb0519c834 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcl-interfaces - ros2-rclpy - ros2-ros-workspace - ros2-ros2cli - ros2-ros2node - ros2-ros2service - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 50997 - timestamp: 1788461991428 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2pkg-0.32.11-np2py312haf4906a_21.conda - sha256: 90c34500c23aef36722b84f63fb1d21eef0eb2456f3ee9c422742ae3755239ea - md5: 09a936df330ee036c750a05fdede63c4 + size: 52276 + timestamp: 1791438189425 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2pkg-0.32.13-np2py312h3d3361c_25.conda + sha256: 5106cfe939ff90af0f2da963ed324060a498c79272047337ae27d20f8f2afb73 + md5: ca56b857960bd241e28d23432de5882c depends: - catkin_pkg - empy @@ -28291,99 +24634,99 @@ packages: - python - ros2-ament-copyright - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-ros2cli - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 59789 - timestamp: 1788460717829 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2plugin-5.4.5-np2py312haf4906a_21.conda - sha256: 18193e8300f9962183db7a664e1dcf75f2753fc9b3320519d5705580e949a915 - md5: 8f882ddf662ad275430182e9a86a6ccc + size: 61043 + timestamp: 1791436392776 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2plugin-5.4.6-np2py312h3d3361c_25.conda + sha256: 083bac8a64465e221a13ea65b3d9659bd3fa37bfac08294a42bc8b1c96c8f15b + md5: f1beb3fa5addb80d53c9229cf6144b7e depends: - python - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-workspace - ros2-ros2cli - ros2-ros2pkg - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 26978 - timestamp: 1788461181309 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2run-0.32.11-np2py312haf4906a_21.conda - sha256: 4a062620c45d35b9284242579cc0abd0f6b2911126e685df7d7a2b0368eef440 - md5: 380716d401b741fbfe8c02c842bde126 + size: 27697 + timestamp: 1791437461283 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2run-0.32.13-np2py312h3d3361c_25.conda + sha256: d40a9d472aaad3e7789491df83f80cb176252ed89d11f49f50aae290ced89b5c + md5: ab7f8880409b3a14c37d37069cc24e28 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-ros2cli - ros2-ros2pkg - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 license: Apache-2.0 - size: 25817 - timestamp: 1788461164554 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2service-0.32.11-np2py312haf4906a_21.conda - sha256: f8c23226ca0cd73103591d723a0680af418d6613bebb9072abdbad8b77da83c2 - md5: 0e7afe922a442e914850578e007c18c4 + size: 26485 + timestamp: 1791437449262 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2service-0.32.13-np2py312h3d3361c_25.conda + sha256: 3904d26fb7b98863c7826fe85610c251444a0858dad29250cc39310fd6a8a1cd + md5: 2c90f0f8ab7d0780184d7cbf265c9340 depends: - python - pyyaml - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-workspace - ros2-ros2cli - ros2-ros2topic - ros2-rosidl-runtime-py - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 52109 - timestamp: 1788461133317 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2topic-0.32.11-np2py312haf4906a_21.conda - sha256: 9f481e73856403e55d46550e2afc21e4b5765c2a3bbab6f106b3738e2f758550 - md5: 953aa73c3a891d737e6bd44b939750ed + size: 53463 + timestamp: 1791437362324 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros2topic-0.32.13-np2py312h3d3361c_25.conda + sha256: 8c2a6b34100fc8d4e7847f14caa8015da6756c0ed93a233a2e8f607918e0343e + md5: c79dce64c70beb2331620cfd0cbb2b40 depends: - numpy - python - pyyaml - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-workspace - ros2-ros2cli - ros2-rosidl-runtime-py - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 OR BSD-3-Clause - size: 74648 - timestamp: 1788460718938 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-0.26.11-np2py312haf4906a_21.conda - sha256: 22ebfe62c97952aceb5010af30faec2bf5d21891fea3d7af88a78dc4cd980131 - md5: 4b73c0650091a115b9ea12b86ea70a0d + size: 76016 + timestamp: 1791436313410 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-0.26.11-np2py312h3d3361c_25.conda + sha256: 2721f47f958a9086c8be66a5c76aee67083136b309efe01435185a46d72e183a + md5: e190640ef1e8d158b8eafca5e2e83a55 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-ros2bag - ros2-rosbag2-compression @@ -28393,59 +24736,59 @@ packages: - ros2-rosbag2-storage - ros2-rosbag2-storage-default-plugins - ros2-rosbag2-transport - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 37026 - timestamp: 1788467647663 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-0.26.11-np2py312haf4906a_21.conda - sha256: 7434ce7537691fe3d477c040fbc263f5308f201c5662229c61b386aeee2d8ae7 - md5: 507fa770e9822ec1c65d98ff148ab3f9 + size: 37796 + timestamp: 1791450706925 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-0.26.11-np2py312h3d3361c_25.conda + sha256: e3754c6050dfd0ce36053ba306d1579468e601679a9378c027c1da3878c7ce89 + md5: b962e4870dc38b83a63eccc2c0324eb3 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcpputils - ros2-rcutils - ros2-ros-workspace - ros2-rosbag2-cpp - ros2-rosbag2-storage - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 159435 - timestamp: 1788463992494 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-zstd-0.26.11-np2py312haf4906a_21.conda - sha256: 7b3499dca126d426c6d7e1a435c1df48d0741093a7c812ad51be21c617a76494 - md5: e00e69460a56df3adad66c3c4031ff10 + size: 158013 + timestamp: 1791443818312 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-compression-zstd-0.26.11-np2py312h3d3361c_25.conda + sha256: 0e31a656859538edf1678906170b4f25401e409bf0d383e652ecfa2784ed0d8b + md5: bcc017a2d6187c6e2a2f621cfbfc3097 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-pluginlib - ros2-rcutils - ros2-ros-workspace - ros2-rosbag2-compression - ros2-zstd-vendor - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 69637 - timestamp: 1788464374177 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-cpp-0.26.11-np2py312haf4906a_21.conda - sha256: 30bc15845af95d3b7542bfd59b573f0ae0d8c483ae9b7954c7e4417a97e277e6 - md5: 5fc66831208d4e801adf4eb05717d23b + size: 65477 + timestamp: 1791444782184 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-cpp-0.26.11-np2py312h3d3361c_25.conda + sha256: 200aa46afab34ac5defc90e9a13119182443e429f4a2a9b663de4370d2cde341 + md5: ff466c643c36b82dc3cbfd1874d0c8df depends: - python - ros2-ament-index-cpp - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-pluginlib - ros2-rclcpp - ros2-rcpputils @@ -28458,37 +24801,37 @@ packages: - ros2-rosidl-runtime-cpp - ros2-rosidl-typesupport-cpp - ros2-rosidl-typesupport-introspection-cpp - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 267418 - timestamp: 1788461947943 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-interfaces-0.26.11-np2py312haf4906a_21.conda - sha256: c5b17e808b3de2bea8ceae2110c3ffd805aa9ac18d918dec9b5a631ae4bfe796 - md5: 01a35e7cafcceb091cc76a068b7bf283 + size: 262975 + timestamp: 1791441558403 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-interfaces-0.26.11-np2py312h3d3361c_25.conda + sha256: 59aaa0fadd9c4549cc7c0bb4d9a981cd51c89a83c6d7e439a834f9a81da0e8db + md5: 83bae323e2275c2aaefc97765f3872dd depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-default-runtime - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 485871 - timestamp: 1788362165480 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-py-0.26.11-np2py312haf4906a_21.conda - sha256: 6367bba35d0f08b66e5c98413bc74688d2ca775c69a4b8e1bdebf1b15f1f2ef7 - md5: 6746844e11d29498f6f7373483c83925 + size: 486032 + timestamp: 1791434240394 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-py-0.26.11-np2py312h3d3361c_25.conda + sha256: ea345fa22ff29ecadc48c093fd582053192d7f42864657a1122f2a10710f6910 + md5: fe89d0ca435ccc63668193e5b568cca7 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-pybind11-vendor - ros2-rclpy - ros2-ros-workspace @@ -28497,78 +24840,78 @@ packages: - ros2-rosbag2-storage - ros2-rosbag2-transport - ros2-rpyutils - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 549326 - timestamp: 1788465948317 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-0.26.11-np2py312haf4906a_21.conda - sha256: 6b269a0995d170c1c92561cf0df6f0b4d836d3a8ec75a868b4d6374005f72561 - md5: d4e596c83234f6e479bcb970a4b53ef1 + size: 543811 + timestamp: 1791447946064 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-0.26.11-np2py312h3d3361c_25.conda + sha256: 50255fbe9a9f2b6e0d07efd91739223261398edf64028f9210b6c5c15bd92ce5 + md5: 56adba0341e7967895825803ed96883b depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-pluginlib - ros2-rclcpp - ros2-rcutils - ros2-rmw - ros2-ros-workspace - ros2-yaml-cpp-vendor - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 211788 - timestamp: 1788459947663 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312haf4906a_21.conda - sha256: 2a20e837f8f996df046527eb3688df2bb5dc1be64b3f7dfc24bb847b9c619a0a - md5: 0a561131f5067f269424b94436e1692a + size: 205610 + timestamp: 1791438479536 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312h3d3361c_25.conda + sha256: edfb6fa75b9d4a7a7e61412677f64f50561ad3da9af1de956f155c4481feb548 + md5: 4a28b91b613c86d5f22dbd4104841aaf depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosbag2-storage-mcap - ros2-rosbag2-storage-sqlite3 - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 24501 - timestamp: 1788461576609 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-mcap-0.26.11-np2py312haf4906a_21.conda - sha256: 2e34a660cc3989a4e80bcfe944ec41e4689b438637ac89a1530deabc185542ed - md5: 551f6d3785203eb43153b16861f5f94d + size: 24694 + timestamp: 1791440504227 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-mcap-0.26.11-np2py312h3d3361c_25.conda + sha256: 4dd96a0c72c93c3ea66d87987e47638b4b062774bf300b2f630c39056c4fb7cc + md5: 5e85d656155dace8f7471670f38d1433 depends: - python - ros2-ament-index-cpp - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-mcap-vendor - ros2-pluginlib - ros2-rcutils - ros2-ros-workspace - ros2-rosbag2-storage - ros2-yaml-cpp-vendor - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 - size: 161094 - timestamp: 1788460853422 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312haf4906a_21.conda - sha256: b675594f95aadc3e30907f9060b8fe5829f8d5e05a4ebe9404a67d0f38f7b3da - md5: 41b5b9de6f48855e641db80798fe11ac + size: 157399 + timestamp: 1791439565440 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312h3d3361c_25.conda + sha256: c9206b1487ce76d11cd6cbf31f0b0396541a9b54d5c13d8c13095f4466633d5f + md5: 0ddba6c9bf886249d8e2d5701fbd19ad depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-pluginlib - ros2-rcpputils - ros2-rcutils @@ -28576,20 +24919,20 @@ packages: - ros2-rosbag2-storage - ros2-sqlite3-vendor - ros2-yaml-cpp-vendor - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 193705 - timestamp: 1788460829105 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-transport-0.26.11-np2py312haf4906a_21.conda - sha256: 9447f49b48cd6e5a7dbd3e795db9261c71bd0ed65a9d0489b37722cca94c65ee - md5: b9e590a0c4ace2369e39237d909b5c1f + size: 191209 + timestamp: 1791439541997 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosbag2-transport-0.26.11-np2py312h3d3361c_25.conda + sha256: ed81457bbcae629fc7a9d2626d22f71a6ca0beff6235dff1597d4299a8bf427e + md5: 8b8dae6cb63ad65690534c6fe1a6de1a depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-keyboard-handler - ros2-rclcpp - ros2-rclcpp-components @@ -28602,92 +24945,173 @@ packages: - ros2-rosbag2-interfaces - ros2-rosbag2-storage - ros2-yaml-cpp-vendor - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 406000 - timestamp: 1788465279537 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosgraph-msgs-2.0.4-np2py312haf4906a_21.conda - sha256: 7da2903b126061730951f6e78b727b1aa2f9ea2be437ee648271c5be49ad98a3 - md5: 3456b6bb30a56098a81c9704c4d95e6c + size: 400706 + timestamp: 1791446397671 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosgraph-msgs-2.0.4-np2py312h3d3361c_25.conda + sha256: ebcf6a82733e9f21cbd3899605e5cfaad0457b4e75124409dcfe8c1d5a9d9e8b + md5: b1422e331c7b656b0a45a6327ae48cb3 depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcl-interfaces - ros2-ros-workspace - ros2-rosidl-default-runtime - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 + size: 209410 + timestamp: 1791434887150 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312h3d3361c_25.conda + sha256: 29feaa6964a2e5c6363323b05f6ef0708a7e3851a6c1aff78032668ebeba6f72 + md5: 77e05a377fcb6013eaec86e805566b52 + depends: + - empy + - python + - ros2-ament-cmake-core + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-cli + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 208028 - timestamp: 1788362786996 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312haf4906a_21.conda - sha256: 7edf05a83494f9ccd4bce5cb4231c5331f0a36069676fdf181db1ffa98ad3e11 - md5: e9a8feb97cce53b5446cf1a86da67395 + size: 65777 + timestamp: 1791430842629 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py314h40712d6_27.conda + sha256: 37042284737db5d211d98e147a0df1312360fc9cc55b213e2e58eda70bd8fddd + md5: 3a0b348f23ec952d14b676faf51694f6 depends: - empy - python - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - ros2-rosidl-cli - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - python_abi 3.14.* *_cp314 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 + size: 67081 + timestamp: 1792672252233 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312h3d3361c_26.conda + sha256: a53efc8ff13b6102efd0fc128531cba4e9c57007732df1d0c81a886dfee6eb4b + md5: 315bbd08ede8b7932f3a55285a9ef640 + depends: + - argcomplete + - importlib-metadata + - python + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 65376 - timestamp: 1788271086866 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312haf4906a_22.conda - sha256: 1d15020d38e48fceb239c29f16d3cba013a415a1f6b2cfc6e29d2b4607a6bead - md5: a36ae69f60f9b806ef1129a1453e925d + size: 45481 + timestamp: 1792621883881 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py314h40712d6_27.conda + sha256: 72967642d47e36bbb8501560cd25bdea7b3972d9878f56239bfa218241d8a88d + md5: 1bd870ceb6c62d4cb1ecd8e5cac7091c depends: - argcomplete - importlib-metadata - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 - size: 43747 - timestamp: 1788509525891 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312haf4906a_21.conda - sha256: c6dd4858e6dfa94148742f9ddb9c8bfa408d45e7ed0f6511031e930c35137fb4 - md5: fb037f010a0a556125e5fd22d6423dba + size: 46415 + timestamp: 1792669959335 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312h3d3361c_25.conda + sha256: ec69a9483bee415aaa0eb32c6f627ea2320903998c908e1f6b0c3b8c4fe9ad47 + md5: a1434093d3b8ab07af23a912e45ca130 depends: - empy - python - ros2-ament-cmake - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-pycommon - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + license: Apache-2.0 + size: 38762 + timestamp: 1791432064741 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py314h40712d6_27.conda + sha256: 8e24e9a071f7f199f40ba5aa2198dad645dff30418a1e814b11e04fed7284ac4 + md5: 0c4be16e7dae2313accca029d9ec6922 + depends: + - empy + - python + - ros2-ament-cmake + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-pycommon + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 + size: 39525 + timestamp: 1792674028931 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312h3d3361c_25.conda + sha256: e190a547eb52f9a7a979a37170f3c24e9ed63e0f10f0a49250540359880db4d5 + md5: 12140ad6a229227bffd6bfff0901321c + depends: + - python + - ros2-ament-cmake-core + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-cmake + - ros2-rosidl-generator-c + - ros2-rosidl-generator-cpp + - ros2-rosidl-generator-py + - ros2-rosidl-generator-rs + - ros2-rosidl-generator-type-description + - ros2-rosidl-typesupport-c + - ros2-rosidl-typesupport-cpp + - ros2-rosidl-typesupport-fastrtps-c + - ros2-rosidl-typesupport-fastrtps-cpp + - ros2-rosidl-typesupport-introspection-c + - ros2-rosidl-typesupport-introspection-cpp + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 38313 - timestamp: 1788271607333 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312haf4906a_21.conda - sha256: 606f2409c575985aa09cd24f881c11e3c94a3a2cd46cf306a2bf14e352102800 - md5: 9d8a35a101ea3de6e4230497448e6b6b + size: 34580 + timestamp: 1791433399041 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py314h40712d6_27.conda + sha256: 9b9ee97dbd7c38c69fb95cae3f8346f0b6799f9d66be5cf3ec76a3c025a037c2 + md5: 3ca08bc8db5265a84522274b3204a913 depends: - python - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - ros2-rosidl-cmake - ros2-rosidl-generator-c @@ -28701,20 +25125,45 @@ packages: - ros2-rosidl-typesupport-fastrtps-cpp - ros2-rosidl-typesupport-introspection-c - ros2-rosidl-typesupport-introspection-cpp - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 + - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 + size: 35313 + timestamp: 1792676081035 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312h3d3361c_25.conda + sha256: 83625dc5fa263f31cb80b8b23216f67628734173e46a845e5364311fe083bc3d + md5: 86ab62f0d0ce1272b1ec42bf6ec18f4f + depends: + - python + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-generator-py + - ros2-rosidl-generator-rs + - ros2-rosidl-runtime-c + - ros2-rosidl-runtime-cpp + - ros2-rosidl-typesupport-c + - ros2-rosidl-typesupport-cpp + - ros2-rosidl-typesupport-fastrtps-c + - ros2-rosidl-typesupport-fastrtps-cpp + - ros2-rosidl-typesupport-introspection-c + - ros2-rosidl-typesupport-introspection-cpp + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 34070 - timestamp: 1788361660368 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312haf4906a_21.conda - sha256: 2f0def1286c80881e341a7c0809f171ff3c2fa925280b5495a39fca3a4a296b5 - md5: 49c1b88cc54245a0debdc7ecccea7764 + size: 33636 + timestamp: 1791433390453 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py314h40712d6_27.conda + sha256: 8a92c5f808ce309a4fe50af8eb98ed64c72536fe1682e5bdd15a630bf83a034c + md5: e4cd704a6514de6ba6ade281e9d724be depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - ros2-rosidl-generator-py - ros2-rosidl-generator-rs @@ -28726,95 +25175,131 @@ packages: - ros2-rosidl-typesupport-fastrtps-cpp - ros2-rosidl-typesupport-introspection-c - ros2-rosidl-typesupport-introspection-cpp - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 + size: 34361 + timestamp: 1792676054776 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312h3d3361c_25.conda + sha256: 0e224ea189f82f354818d20f7207a833d5ab532c1f3aadb4018edb91c72f5ae2 + md5: 785d3650f35e4231521a3b6cd6ed7c68 + depends: + - python + - ros2-action-msgs + - ros2-ament-cmake-core + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-core-generators + - ros2-service-msgs + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 33173 - timestamp: 1788361636760 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312haf4906a_21.conda - sha256: acbae1e5098f966dc26ee31d7a76a7e7e53f4a4b123300bee05755c7d6e7301f - md5: 7c9c963dc7dc2f0d728fba3e8614df89 + size: 34803 + timestamp: 1791433641121 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py314h40712d6_27.conda + sha256: dc2e54d8fbf8726db3b6b0947d9f8801e7f90ab7093a80f4f4a8236919a31e18 + md5: 09a6c4999b77e321204a92ba5fee8c98 depends: - python - ros2-action-msgs - ros2-ament-cmake-core - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - ros2-rosidl-core-generators - ros2-service-msgs - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 34330 - timestamp: 1788361927812 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-runtime-1.6.1-np2py312haf4906a_21.conda - sha256: 55da4616ac6e297172f0dec0e2b4334797cd2261bdd682befc8775a88c29d865 - md5: c358a77994e4fced87eaa0904366a74c + size: 35539 + timestamp: 1792676324676 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-runtime-1.6.1-np2py312h3d3361c_25.conda + sha256: 0e549f9a84b4f7fa025e1db0bb0bfeb25be7d7cffd8357290bcb4483e3d1fda1 + md5: 32f3757757c004c0675096f470b85d5e depends: - python - ros2-action-msgs - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-core-runtime - ros2-service-msgs - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 33745 - timestamp: 1788361899322 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312haf4906a_21.conda - sha256: 38b52a55eaa3cfcf540d2ab35d217f7457d492adfb37dab38aafc1df93ebcc9a - md5: 784140effff30cb7d138acb27a693ee0 + size: 34199 + timestamp: 1791433615888 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h3d3361c_25.conda + sha256: abfd188133746c58da4b3cb22a4602a6aa01d2a4a22fe11dc03144910d9aa9be + md5: 55515c5607e2803ea21afdf23784f1ba depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcutils - ros2-ros-workspace - ros2-rosidl-runtime-c - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 + size: 57377 + timestamp: 1791432346550 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py314h40712d6_27.conda + sha256: 7a8ed9097a30e444547a1263a42228526fc0808354ab6275abc6759d5f013fbb + md5: ea5d5f20eb9a53dda69b01c0b1024000 + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-rcutils + - ros2-ros-workspace + - ros2-rosidl-runtime-c + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 57060 - timestamp: 1788271762687 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312haf4906a_21.conda - sha256: 0acf21a7b63c4b13948dcf2656449cb726581f4b2932fa667120cb1d07cc8e72 - md5: 8ddd9788d9c5a50ec805e0d20542cd2f + size: 58020 + timestamp: 1792674321533 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312h3d3361c_25.conda + sha256: 3d3237e832dfbac7dad6e68be0333f322e40c8bc1383277b4b452f9f5ba48960 + md5: 1f5e8980d983b10f6e5fd190477f9a9b depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-fastcdr - ros2-fastrtps - ros2-rcutils - ros2-ros-workspace - ros2-rosidl-dynamic-typesupport - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 75043 - timestamp: 1788271944164 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312haf4906a_21.conda - sha256: f4ea37db0273da96afcac2308a77850441e38de71c74459ed92dcf9470c75a6e - md5: 657e4122043ff2040280a6476c51659c + size: 75462 + timestamp: 1791432591073 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312h3d3361c_25.conda + sha256: 87e2e8c96582a01a3b10084e0434cde3c6bbb10835ab9d0f66a1e7c67a1eada8 + md5: e9c947e71b078b0c28822747f34c375e depends: - python - ros2-ament-cmake-core - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcutils - ros2-ros-workspace - ros2-rosidl-cli @@ -28823,22 +25308,46 @@ packages: - ros2-rosidl-parser - ros2-rosidl-pycommon - ros2-rosidl-typesupport-interface - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 + size: 55401 + timestamp: 1791432338293 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py314h40712d6_27.conda + sha256: 8cfe78553cbc4f92db3a75eb76ad19f1ae1f24fb14c79f6c52c253e1a35cd1ae + md5: 5820eeefee9a21b0cacb9b500ac2854f + depends: + - python + - ros2-ament-cmake-core + - ros2-ament-index-python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-rcutils + - ros2-ros-workspace + - ros2-rosidl-cli + - ros2-rosidl-cmake + - ros2-rosidl-generator-type-description + - ros2-rosidl-parser + - ros2-rosidl-pycommon + - ros2-rosidl-typesupport-interface + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 - size: 54909 - timestamp: 1788271753701 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312haf4906a_21.conda - sha256: 774ec983e64e777f1438944f210240e838638355cf1493ed9559f9013c6e2e88 - md5: 7693cc8d20dfa372a93224416728f4f5 + size: 56258 + timestamp: 1792674308582 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312h3d3361c_25.conda + sha256: 075c22cfa90dc4d65099fc9ca44f343344cd67ab92d742972eee811adf728afc + md5: b6396a01ce6a23898851b837896044ea depends: - python - ros2-ament-cmake-core - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-cli - ros2-rosidl-cmake @@ -28847,17 +25356,41 @@ packages: - ros2-rosidl-parser - ros2-rosidl-pycommon - ros2-rosidl-runtime-cpp - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 51748 - timestamp: 1788271894037 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312haf4906a_21.conda - sha256: b02589ce10d22593b1b337711e4b12dea7f4479012d0903f8c20acf4110aa087 - md5: a241a919391771784326fee137159854 + size: 52213 + timestamp: 1791432550276 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py314h40712d6_27.conda + sha256: 7f661a9061392c17759ec7fd3189868961e365beb5b31ec2a7acc41961525bf1 + md5: 5fa8e3849a77934c507abb22247c7d27 + depends: + - python + - ros2-ament-cmake-core + - ros2-ament-index-python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-cli + - ros2-rosidl-cmake + - ros2-rosidl-generator-c + - ros2-rosidl-generator-type-description + - ros2-rosidl-parser + - ros2-rosidl-pycommon + - ros2-rosidl-runtime-cpp + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 + size: 53191 + timestamp: 1792674640446 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312h3d3361c_25.conda + sha256: c685265f7630047531acc5912da4d41aaae962e925d6f4b75ad4775b457a67e2 + md5: d717ca2c2068c62555a490f8c42d4f41 depends: - numpy - python @@ -28868,7 +25401,7 @@ packages: - ros2-ament-cmake-pep257 - ros2-ament-cmake-uncrustify - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-python-cmake-module - ros2-rmw - ros2-ros-workspace @@ -28880,21 +25413,54 @@ packages: - ros2-rosidl-typesupport-c - ros2-rosidl-typesupport-interface - ros2-rpyutils - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 62546 - timestamp: 1788361594192 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312haf4906a_21.conda - sha256: eb9dd09e7a1d8f4d0328985d1737a6d6ca50dd5f8e8830e131e76eeb80693177 - md5: 1e6ca2b389a3861c8d7b1dbbb3c0595e + size: 63507 + timestamp: 1791433378613 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py314h40712d6_27.conda + sha256: 481820768640b14e5b6bb416fa6baacfa516b8cd5e2e61d6696402e5ace04f8c + md5: 6881390127cc19ffd84b5b1dfc5d397e + depends: + - numpy + - python + - ros2-ament-cmake + - ros2-ament-cmake-cppcheck + - ros2-ament-cmake-cpplint + - ros2-ament-cmake-flake8 + - ros2-ament-cmake-pep257 + - ros2-ament-cmake-uncrustify + - ros2-ament-index-python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-python-cmake-module + - ros2-rmw + - ros2-ros-workspace + - ros2-rosidl-cli + - ros2-rosidl-generator-c + - ros2-rosidl-parser + - ros2-rosidl-pycommon + - ros2-rosidl-runtime-c + - ros2-rosidl-typesupport-c + - ros2-rosidl-typesupport-interface + - ros2-rpyutils + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 + size: 64590 + timestamp: 1792675829471 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312h3d3361c_25.conda + sha256: bebbad6c319333bec82c0e8afc0513abc32645d7e74c03a499156714245a415d + md5: 70acbe6435978a5ae6bf4ad71184d5bd depends: - python - ros2-ament-cmake - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-environment - ros2-ros-workspace - ros2-rosidl-generator-c @@ -28902,153 +25468,317 @@ packages: - ros2-rosidl-pycommon - ros2-rosidl-typesupport-c - ros2-rosidl-typesupport-interface - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + license: Apache-2.0 + size: 53274 + timestamp: 1791433368236 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py314h40712d6_27.conda + sha256: 4c7c8e46683f233672016d1690c83c0dc006e25c9b107b7f3a187e7d149a61ab + md5: 9717d195b3e44fcb053f0575f9803e0a + depends: + - python + - ros2-ament-cmake + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-environment + - ros2-ros-workspace + - ros2-rosidl-generator-c + - ros2-rosidl-parser + - ros2-rosidl-pycommon + - ros2-rosidl-typesupport-c + - ros2-rosidl-typesupport-interface + - __osx >=14.0 + - libcxx >=21 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 - size: 52766 - timestamp: 1788361579973 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312haf4906a_21.conda - sha256: 548dd7e9cce364e785030bf337523db1fd06a7be74764aec53996b820bc0f508 - md5: 7a498b8515fb37debf5f2f0cbb79587a + size: 54345 + timestamp: 1792675815921 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312h3d3361c_25.conda + sha256: 195c603027c6eda0d09f04ea0df59324bbf2d303361232f5d42f150e6cd352db + md5: 6e7a5fbf154946dd6dc1423a90533652 depends: - python - ros2-ament-cmake-core - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-cli - ros2-rosidl-parser - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 + license: Apache-2.0 + size: 50932 + timestamp: 1791431806980 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py314h40712d6_27.conda + sha256: cba03e9c29817d0e15ce195c4f4d84dfe1c37c7bf9e16db8c7baeb70e290d8f0 + md5: 12e11c1bc49ac0061aa1705daf3e1a26 + depends: + - python + - ros2-ament-cmake-core + - ros2-ament-index-python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-cli + - ros2-rosidl-parser + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 - size: 50482 - timestamp: 1788271497045 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312haf4906a_21.conda - sha256: 12a18b324febc8252536d01e9d75ce53f8378396216f4fea48ae59d8092e16f1 - md5: f2c00ba6bde76bb89395b24796889c83 + size: 52044 + timestamp: 1792673759228 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312h3d3361c_25.conda + sha256: b56e979d446aca291b85074ec7933a663a8c5d43e0e69074f11925e1eed76876 + md5: 65ee69443883e1daf95ef94611e41eee depends: - lark-parser - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-adapter - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + license: Apache-2.0 + size: 62426 + timestamp: 1791431453887 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py314h40712d6_27.conda + sha256: 125276e1b46140e56b48e80808827a18eaf25bb0ede0c095e6fc365f384dffae + md5: b3797a3fffa31ad075d1de1f7ace5287 + depends: + - lark-parser + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-adapter + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 61966 - timestamp: 1788271322582 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312haf4906a_21.conda - sha256: 42b48552c96d94d7d930be3d4c9c2ebd1ab63d328e14208741ab677614a1c40c - md5: fdde0ed47d4161fc488c857dad0f9bce + size: 64338 + timestamp: 1792673090911 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312h3d3361c_25.conda + sha256: 2d7227e13a9478ce31d21b5f5b61ef766b74715acd678af4df4bcec387c34bec + md5: 1b54f37abeb1de1679e78e406f30e169 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-parser - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + license: Apache-2.0 + size: 26995 + timestamp: 1791431797367 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py314h40712d6_27.conda + sha256: 2bd5570be3e727671211ab7ea2816c4db1d59b0eb735085b98de3bdcf1a422eb + md5: bac1855bbda2ef39e21dc282016cfe61 + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-parser + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 license: Apache-2.0 - size: 26395 - timestamp: 1788271489928 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312haf4906a_21.conda - sha256: 21d0ca539d9eaf34b74edbb2ce76e8dd97daf4e4ae3b11bc5fb8497179528d9f - md5: 9dfa0e57b969b4de351150b5c2651573 + size: 27004 + timestamp: 1792673752375 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312h3d3361c_25.conda + sha256: 0b8d79eb9ec3ce410cc92b218f6012029f619c2606b1d75f77a9782d1ac4af2f + md5: fa89f8f970a60753fb24273af21606bd depends: - python - ros2-ament-cmake - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcutils - ros2-ros-workspace - ros2-rosidl-typesupport-interface - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + size: 80144 + timestamp: 1791432034005 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py314h40712d6_27.conda + sha256: fbfc686ed72164245f9c35b9ea78ff891289fa6a7215c6a8eb21ef16c5781cea + md5: 5781d06c89707a23fa0c28e720e063ce + depends: + - python + - ros2-ament-cmake + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-rcutils + - ros2-ros-workspace + - ros2-rosidl-typesupport-interface + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 + size: 80824 + timestamp: 1792673994831 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312h3d3361c_25.conda + sha256: 7a2f31dfa9a4408072208dd5d0836b974a66704710d4652949e8906679991dda + md5: 96b8963e85f0150be0be6a3a06d73a5b + depends: + - python + - ros2-ament-cmake + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-runtime-c + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 79723 - timestamp: 1788271583802 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312haf4906a_21.conda - sha256: 7ed4ae43e60f0135d45a1ede9bf7b26e05778d7eaffd63ff9eb3def57c7ec2a4 - md5: 7d3e31566e1c4f8c741d2fe5f3f2b055 + size: 43110 + timestamp: 1791432313377 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py314h40712d6_27.conda + sha256: f26109e6f1cce65e58539e6b2072d869c9fb417571db42fabb55f6eca0c02cf4 + md5: e1c65a1761691ad4e1b6879f9f91849f depends: - python - ros2-ament-cmake - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-ros-workspace - ros2-rosidl-runtime-c - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - numpy >=1.25,<3 + license: Apache-2.0 + size: 43816 + timestamp: 1792674280942 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-py-0.13.2-np2py312h3d3361c_25.conda + sha256: 10419da672b48ade5828e014dfe363220c19d94bdd8e0514f37d15cfc966dc1e + md5: aafeeea10f1ddf51eb64aeb4b62007c8 + depends: + - numpy + - python + - pyyaml + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-parser + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 42695 - timestamp: 1788271733402 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-py-0.13.2-np2py312haf4906a_21.conda - sha256: 86eccec61f35e914465ccd8d3583b1ff7276739b5b830c17696cfb58ddb68fb2 - md5: f1722c26437a212538e812020e8bbde7 + size: 49313 + timestamp: 1791435593185 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312h3d3361c_25.conda + sha256: 9ed5432ff4c483f094108f6285dd2aab1a86e9f75b7b908e4dedd49b644a0fac + md5: e197b32904acb4b0ef6c79d27cd032c8 + depends: + - python + - ros2-ament-cmake-core + - ros2-ament-index-python + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-rcpputils + - ros2-rcutils + - ros2-ros-workspace + - ros2-rosidl-cli + - ros2-rosidl-generator-c + - ros2-rosidl-pycommon + - ros2-rosidl-runtime-c + - ros2-rosidl-typesupport-fastrtps-c + - ros2-rosidl-typesupport-interface + - ros2-rosidl-typesupport-introspection-c + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + size: 51774 + timestamp: 1791433207427 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py314h40712d6_27.conda + sha256: 3823abc6e334061aacab9e93675db3f64c594b02cda8fbe25cf290449897000d + md5: 61e6b2d42c182214cfbf615a93be4d96 depends: - - numpy - python - - pyyaml - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-ament-cmake-core + - ros2-ament-index-python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-rcpputils + - ros2-rcutils - ros2-ros-workspace - - ros2-rosidl-parser - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-rosidl-cli + - ros2-rosidl-generator-c + - ros2-rosidl-pycommon + - ros2-rosidl-runtime-c + - ros2-rosidl-typesupport-fastrtps-c + - ros2-rosidl-typesupport-interface + - ros2-rosidl-typesupport-introspection-c + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 48533 - timestamp: 1788457576336 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312haf4906a_21.conda - sha256: d2326ccb9be21ea7cad9fe55d049af856c3d9cfb36fcc98b40826e73fa8139b0 - md5: 1e53cd7980d678bf018fa7b89fed2854 + size: 52576 + timestamp: 1792675674390 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312h3d3361c_25.conda + sha256: f6c49338ab309879c83e617cbd8834865f0bf05984ce1973ea13da4ad54cb2f1 + md5: 1b88db7f99b6993f978bee9928d4c4d3 depends: - python - ros2-ament-cmake-core - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcpputils - ros2-rcutils - ros2-ros-workspace - ros2-rosidl-cli - ros2-rosidl-generator-c + - ros2-rosidl-generator-type-description - ros2-rosidl-pycommon - ros2-rosidl-runtime-c - - ros2-rosidl-typesupport-fastrtps-c + - ros2-rosidl-runtime-cpp + - ros2-rosidl-typesupport-c + - ros2-rosidl-typesupport-fastrtps-cpp - ros2-rosidl-typesupport-interface - - ros2-rosidl-typesupport-introspection-c - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - ros2-rosidl-typesupport-introspection-cpp + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 51307 - timestamp: 1788361456188 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312haf4906a_21.conda - sha256: ece1e4ddab4fbf686fc87742aecab6799a63a1f17efb5d9ea4fa209b65fbb507 - md5: d726e544849d9ed2502a65d2f1356688 + size: 51064 + timestamp: 1791433342525 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py314h40712d6_27.conda + sha256: 07a24519f933a5d5ec46a4dfeee197733343184a6c26cf31332ae2dff7198a27 + md5: 86d9f85888772e37fd9cedecc6fee91e depends: - python - ros2-ament-cmake-core - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.20.* jazzy_* - ros2-rcpputils - ros2-rcutils - ros2-ros-workspace @@ -29062,22 +25792,22 @@ packages: - ros2-rosidl-typesupport-fastrtps-cpp - ros2-rosidl-typesupport-interface - ros2-rosidl-typesupport-introspection-cpp - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 50572 - timestamp: 1788361552169 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312haf4906a_21.conda - sha256: be35134aef7c51c36ec9dac6e9c760854b6905ba4505037d6efdd80b03121ba8 - md5: 7007f3ada47ebd9f84ddd498c939ae57 + size: 51791 + timestamp: 1792675799745 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312h3d3361c_25.conda + sha256: bc8b5c13d552b8e2ea207f8cf03f82a79e4f7e20177a399691b75e6ab93d0e7e + md5: 7feca3fd2665403dcced980f941bf4f7 depends: - python - ros2-ament-cmake-ros - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-fastcdr - ros2-fastrtps-cmake-module - ros2-rmw @@ -29089,22 +25819,49 @@ packages: - ros2-rosidl-runtime-cpp - ros2-rosidl-typesupport-fastrtps-cpp - ros2-rosidl-typesupport-interface - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 license: Apache-2.0 - size: 52611 - timestamp: 1788361331172 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312haf4906a_21.conda - sha256: d2d631cceb8d8742e4f8bde5b600e638a769dcb1c43a3e05fcac891b98fc38d8 - md5: d1c6444c294cffc26a58132fd61da407 + size: 53084 + timestamp: 1791433027403 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py314h40712d6_27.conda + sha256: 2809b44927fce1c544937b87404ee2894efc380bb51fd0bfc1f9b9be9e5bd1c0 + md5: 46b0d0917070d1854c5a1564d6d1c982 + depends: + - python + - ros2-ament-cmake-ros + - ros2-ament-index-python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-fastcdr + - ros2-fastrtps-cmake-module + - ros2-rmw + - ros2-ros-workspace + - ros2-rosidl-cli + - ros2-rosidl-generator-c + - ros2-rosidl-pycommon + - ros2-rosidl-runtime-c + - ros2-rosidl-runtime-cpp + - ros2-rosidl-typesupport-fastrtps-cpp + - ros2-rosidl-typesupport-interface + - __osx >=14.0 + - libcxx >=21 + - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + license: Apache-2.0 + size: 53806 + timestamp: 1792675351711 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312h3d3361c_25.conda + sha256: 91fa10ce5d2b85d36a4355a594a2a8bfde3cb80e9ef648b11b3649cb17186b11 + md5: f1acbee2416f349406c9fa8e0cbfc4b2 depends: - python - ros2-ament-cmake-ros - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-fastcdr - ros2-fastrtps-cmake-module - ros2-rmw @@ -29116,37 +25873,79 @@ packages: - ros2-rosidl-runtime-c - ros2-rosidl-runtime-cpp - ros2-rosidl-typesupport-interface - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + license: Apache-2.0 + size: 55073 + timestamp: 1791432828579 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py314h40712d6_27.conda + sha256: 8637b348b62b7f15f7e347e37e35a38400bb11eb413fd4fd19835ed72cfb8363 + md5: 6048e103033cf9d1f75d61336a8f3c37 + depends: + - python + - ros2-ament-cmake-ros + - ros2-ament-index-python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-fastcdr + - ros2-fastrtps-cmake-module + - ros2-rmw + - ros2-ros-workspace + - ros2-rosidl-cli + - ros2-rosidl-generator-c + - ros2-rosidl-generator-cpp + - ros2-rosidl-pycommon + - ros2-rosidl-runtime-c + - ros2-rosidl-runtime-cpp + - ros2-rosidl-typesupport-interface + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 license: Apache-2.0 - size: 54545 - timestamp: 1788361202582 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312haf4906a_21.conda - sha256: 4dc20ee48cec0915618bcf7ef5566a9e5d153d8b913bf15338a6651a99f5b3d0 - md5: f5be451db37b30d4c0b7a26e703ef20b + size: 55846 + timestamp: 1792675054857 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312h3d3361c_25.conda + sha256: 2863113e27e59bc541d1ea81e118d6ea21397aa450c5d624fb421b37ce758538 + md5: b98d7ac8822d2d85390d9763489320b5 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + license: Apache-2.0 + size: 31458 + timestamp: 1791430876021 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py314h40712d6_27.conda + sha256: 22af9aa262cc1d54bed1b7d6580dfbb2ac30e2471396bcd6f62f720a761d1cfc + md5: 6b2fce7e5e700ed37ef2b56fcf795551 + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 - size: 30961 - timestamp: 1788271126828 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312haf4906a_21.conda - sha256: 7148fac1aa4cd1b93566e0bb3fb41777a7160bcc3b867d74934d27e6bdc568a0 - md5: 350790b832f5a0272066c8f9d2d5fd62 + size: 32181 + timestamp: 1792672293299 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312h3d3361c_25.conda + sha256: 573ba8b5c3de33f42ca54a2e6b077b564783249ead0e091eb983678404356cde + md5: c836e79ffa02715349af5acf5616118f depends: - python - ros2-ament-cmake - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-cli - ros2-rosidl-cmake @@ -29155,22 +25954,46 @@ packages: - ros2-rosidl-pycommon - ros2-rosidl-runtime-c - ros2-rosidl-typesupport-interface - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 + - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 + size: 49666 + timestamp: 1791432583003 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py314h40712d6_27.conda + sha256: ecd03c82dc0b8257ab3802a2a93633b3a69cce358ea1cf9efcc238aa399adca9 + md5: c14f1ce872e3cb585d4a49eadce321d7 + depends: + - python + - ros2-ament-cmake + - ros2-ament-index-python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-cli + - ros2-rosidl-cmake + - ros2-rosidl-generator-c + - ros2-rosidl-parser + - ros2-rosidl-pycommon + - ros2-rosidl-runtime-c + - ros2-rosidl-typesupport-interface + - __osx >=14.0 + - libcxx >=21 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 49175 - timestamp: 1788271934642 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312haf4906a_21.conda - sha256: d21df1196435d753855639577f3b43356109d5e8a7976c053119ff6639f3454b - md5: 5753f2f2d0403d9d3ca78fe7b575b2e3 + size: 50469 + timestamp: 1792674676292 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312h3d3361c_25.conda + sha256: 5ee3d1f6df68358422cc18b5e1ad156731273ff4a36d0cf9583e0e8bb6174bb9 + md5: f8cd782161d8d74fd18fcf2897856081 depends: - python - ros2-ament-cmake - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-cli - ros2-rosidl-cmake @@ -29182,55 +26005,97 @@ packages: - ros2-rosidl-runtime-cpp - ros2-rosidl-typesupport-interface - ros2-rosidl-typesupport-introspection-c - - __osx >=12.0 - - libcxx >=19 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 + license: Apache-2.0 + size: 49804 + timestamp: 1791432851144 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py314h40712d6_27.conda + sha256: 5f4a60e303aed4970e8cdcb407375142b0f11e14faa4b95ea3177e77de5abb9d + md5: 42503320f8f8a95fca170d2aa358671b + depends: + - python + - ros2-ament-cmake + - ros2-ament-index-python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-cli + - ros2-rosidl-cmake + - ros2-rosidl-generator-c + - ros2-rosidl-generator-cpp + - ros2-rosidl-parser + - ros2-rosidl-pycommon + - ros2-rosidl-runtime-c + - ros2-rosidl-runtime-cpp + - ros2-rosidl-typesupport-interface + - ros2-rosidl-typesupport-introspection-c + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 49326 - timestamp: 1788361221532 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosx-introspection-2.3.0-np2py312haf4906a_21.conda - sha256: f674dac1046703c55261488f3544d60460f683882420634277780c50801b50f7 - md5: b083cb3aec118536051ec9a11264917a + size: 50586 + timestamp: 1792675088802 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosx-introspection-2.3.0-np2py312h3d3361c_25.conda + sha256: 8e7e0e419c54e0ba7ab340b3842a5f42a808c76c13e54ff26e36ea5130e4a39c + md5: 5168c0c7cd6761fff0ed2dbefe1f51fe depends: - python - rapidjson - ros2-ament-index-cpp - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclcpp - ros2-ros-workspace - ros2-rosbag2-cpp - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 license: MIT - size: 190507 - timestamp: 1788463292413 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312haf4906a_21.conda - sha256: 99b79db3c51891cf663c316dddf60892140bb431bb33bceddc2fdc100833cdc5 - md5: 83c1f8b7abe0fd72d37f78a0382e84bb + size: 187540 + timestamp: 1791443967323 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312h3d3361c_25.conda + sha256: 759bfab34567649733a84cd8179f830cc896514a23b50aca0c7faf39613b65a0 + md5: 6a2b8f6bd822eef6fb5df878858d5826 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 + license: Apache-2.0 + size: 28022 + timestamp: 1791429040875 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py314h40712d6_27.conda + sha256: d40148b3fd9a35277b035697d86d04fff7f2312defaafb0c7b5a549432e0d75a + md5: b427a081d2fc34d30a955159f6cc77cb + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 27235 - timestamp: 1788268406260 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-console-2.2.2-np2py312haf4906a_21.conda - sha256: 3e9f814817bc7383b0034251685dcc00dd12a504185e0d5e458cf1c1fff6190d - md5: 571154d82b61d6adaf70627c9ae764d2 + size: 28128 + timestamp: 1792669982724 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-console-2.2.2-np2py312h3d3361c_25.conda + sha256: 326a9b058006fe4142f2844633d34a1eb1ab44f5e89e5d49b75cc8b8b38dccef + md5: 895676c40c3615e36772ad637f942465 depends: - python - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-python-qt-binding - ros2-rcl-interfaces - ros2-rclpy @@ -29238,97 +26103,97 @@ packages: - ros2-rqt-gui - ros2-rqt-gui-py - ros2-rqt-py-common - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 84804 - timestamp: 1788461001508 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-graph-1.5.6-np2py312haf4906a_21.conda - sha256: aa776b0621e6b4fd44531757b77321d9224e94807367ec4e662942e39ad3d2c4 - md5: f1362d016cd0c933a896d95c84cdbcca + size: 85256 + timestamp: 1791436515604 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-graph-1.5.6-np2py312h3d3361c_25.conda + sha256: 9318d64819c6852ebc686c75e0ad8035c53e08ead5b81fcd43acf095b97fc228 + md5: a040d2b11dca648f48cda742fef8b649 depends: - python - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-python-qt-binding - ros2-qt-dotgraph - ros2-ros-workspace - ros2-rqt-gui - ros2-rqt-gui-py - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 71057 - timestamp: 1788460955255 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-gui-1.6.4-np2py312haf4906a_21.conda - sha256: 002d56638cfc90c2bb945ba7a7f23c376e3f112ec20a94e54eba9cb9ab479ed3 - md5: de6843e9751d44efedb136883cf11ffe + size: 71501 + timestamp: 1791436746805 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-gui-1.6.4-np2py312h3d3361c_25.conda + sha256: 8f772676afeb661cfb76bd6abcfc7d3ac02e5b0b3872a28e20aa455a85fcdb5a + md5: 84d7c95c1f470a3adb07cdc49c5bdbb1 depends: - catkin_pkg - python - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-python-qt-binding - ros2-qt-gui - ros2-rclpy - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 122818 - timestamp: 1788459418889 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-gui-py-1.6.4-np2py312haf4906a_21.conda - sha256: d6f2588037021fa6870b3c5733dcd153b4d48d61c316a2e215d54173131dcc73 - md5: 4ab85b017b096c67d2a031258938933d + size: 122721 + timestamp: 1791435385541 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-gui-py-1.6.4-np2py312h3d3361c_25.conda + sha256: 1a1d04e579c09addec0d07ec09fa5db9b2f5b0f8aa54097b75ddfbbe11cdb87e + md5: 04e1a6bb1ddc126ffac4dba57b4b2b5b depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-qt-gui - ros2-ros-workspace - ros2-rqt-gui - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: BSD-3-Clause - size: 45187 - timestamp: 1788459827592 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-py-common-1.6.4-np2py312haf4906a_21.conda - sha256: 947b5e7da8d5346c5a406a5d8e860e7a25c9cdd7416a56c01ab8fe894b179fb2 - md5: 53b7f10d8573c456cfc7270f0968d153 + size: 45745 + timestamp: 1791435861880 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-py-common-1.6.4-np2py312hdb0c022_25.conda + sha256: f34e593f75e6e0bc37f269cdda6f593b19a4bce123b5e1eb38f95d9c6784d632 + md5: ce14ce12bfd8a61086b88b1d205755c9 depends: - python - qt-main - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-python-qt-binding - ros2-qt-gui - ros2-rclpy - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - qt-main >=5.15.15,<5.16.0a0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 83884 - timestamp: 1788459433321 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-topic-1.7.5-np2py312haf4906a_21.conda - sha256: 848b95532aeba8073ca8a1391f039afe52f595c209ec41f4c6bf4e59022563f2 - md5: 68283df3d6ff3b80a7292d392809d6f2 + size: 84395 + timestamp: 1791435400380 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rqt-topic-1.7.5-np2py312h3d3361c_25.conda + sha256: 7c4203133c6d5e96f5187fa884b0beb12f113bb9a8c5d856e262370c32157707 + md5: f34f8e5a85164f94f89acad288e20157 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-python-qt-binding - ros2-rclpy - ros2-ros-workspace @@ -29336,140 +26201,157 @@ packages: - ros2-rqt-gui - ros2-rqt-gui-py - ros2-rqt-py-common - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause OR Apache-2.0 - size: 40897 - timestamp: 1788461182310 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py312haf4906a_21.conda - sha256: 306adab87b292cb8afe9f23c237831ccd0f34c435055d73ecd0e03d9e911d608 - md5: 023a307b0ce6cb1b9359ed5ed151eb09 + size: 41584 + timestamp: 1791437496880 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py312h3d3361c_25.conda + sha256: 27e88ef5baa2e053220541ee142d8915194139814fd35b2a6f387ddc93fdd5d5 + md5: 9605c6505e1ae4e3d7a05a4488467502 depends: - python - ros2-ament-cmake - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 33314 - timestamp: 1788271233781 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-5.3.8-np2py312haf4906a_21.conda - sha256: 353c01869f9d9c6f9d92bda0c0292f8192271bc4d23b2a806b1e971813eb2e47 - md5: df535258703334c7fc6dd30fdac0a9c0 + size: 33809 + timestamp: 1791431119944 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-5.3.8-np2py312h3d3361c_25.conda + sha256: 277b5ad402fbcd2d5c809ba7660610f8ceb4f5735157139fe0afe20b1f22c786 + md5: 69461e177e5f797d25e8dccdfdba7d1d depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-ros-workspace - ros2-rosidl-default-runtime - ros2-std-msgs - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 480737 - timestamp: 1788457759748 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-py-5.3.8-np2py312haf4906a_21.conda - sha256: 04c19ac742fe67304f8d0a6a7ddd921b7c6d4eab21e643beabb779208037e5ba - md5: e648af43e603feec2a5fcd87e600d15c + size: 481480 + timestamp: 1791436246520 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sensor-msgs-py-5.3.8-np2py312h3d3361c_25.conda + sha256: 746731a2e02ab361529b2e3191713425628d1518df51c0f8d13f5f529d356696 + md5: c8c7a5819b74c9f073a277d379fa06c5 depends: - numpy - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-sensor-msgs - ros2-std-msgs - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 license: BSD-3-Clause - size: 31845 - timestamp: 1788458202818 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312haf4906a_21.conda - sha256: e0215fbfd749a39f704209b8f434e8af3606c18c007802e82c8efcd761709357 - md5: 4e5e5f512084a28c17517b89c1a1f9bc + size: 32353 + timestamp: 1791437815817 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312h3d3361c_25.conda + sha256: f7ed13969b3e3f84cded405665868591cee16d721bc3222c9325c0b5463a755d + md5: 2ab09fac1c76d2f40a737ecdf1bd0d11 depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-core-runtime - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + license: Apache-2.0 + size: 81027 + timestamp: 1791433441724 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py314h40712d6_27.conda + sha256: 61b748d7c31036ebe7adfeaddc36b21c7a05e83fe6bdc4d5c2576e44358e9c5e + md5: 8352135073430fa14a0fe9e2df5b02d3 + depends: + - python + - ros2-builtin-interfaces + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-core-runtime + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 81118 - timestamp: 1788361739494 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-shape-msgs-5.3.8-np2py312haf4906a_21.conda - sha256: f6a5090437e33baa93c44a81d0ddc2b1ac6c87799b4f30135b7152d08349c76e - md5: f4f0a4211bab11447e0fbb5e08275b61 + size: 82574 + timestamp: 1792676147961 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-shape-msgs-5.3.8-np2py312h3d3361c_25.conda + sha256: 64599f72e3e85349341fc0b7150c7302ff927634368deb4c6b6a4e0be58aa8f8 + md5: 72920a9640d6ba285456ab0fd86ca2ac depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-ros-workspace - ros2-rosidl-default-runtime - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 122244 - timestamp: 1788457667272 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-spdlog-vendor-1.6.2-np2py312h88edd79_21.conda - sha256: f375c94d7732d8ee823ca0a6cea3ff0a64f01daaf2571731b02c19982c6d7389 - md5: 4406e7eb62f3d09e9f1db50188e36c84 + size: 120816 + timestamp: 1791436422608 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-spdlog-vendor-1.6.2-np2py312h6cdb02c_25.conda + sha256: 6969018e86c73c35d22d71f33e8022b16fc6b3ceff5cf264f6e400268215e7fc + md5: 6216ef22a813619aac0060074c41563d depends: - fmt - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - spdlog - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - fmt >=12.1.0,<12.2.0a0 + - numpy >=1.25,<3 - spdlog >=1.17.0,<1.18.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: Apache-2.0 OR MIT - size: 29137 - timestamp: 1788271059934 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sqlite3-vendor-0.26.11-np2py312haf4906a_21.conda - sha256: ce20f334aff60090127f86a019cee687744db7795d1156051dba65942c5bd341 - md5: 061397909b23f4cddbce7afaf058aa75 + size: 29699 + timestamp: 1791431154343 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sqlite3-vendor-0.26.11-np2py312hf913b0b_25.conda + sha256: d0d1184132c46aa6aaab1ffd19168e039cbc2cb1f1d450ba55316c9e97bfaa92 + md5: d90564a0ee4c010f2c48c53a0aff2ecf depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - sqlite - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 - libsqlite >=3.53.4,<4.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 license: Apache-2.0 - size: 26617 - timestamp: 1788268436190 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-0.13.6-np2py312haf4906a_21.conda - sha256: 562a3d4c1bbb4da420ef5e3195ec6cf67766e6c96e9471ff86d0d9fe3e3c8fd1 - md5: 883a674c7932ab9ef82c5ed29cfb84cd + size: 27018 + timestamp: 1791429238688 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-0.13.6-np2py312h3d3361c_25.conda + sha256: d6ae583d4d5f342079859f1d0452c8c537f3accefdff2a467d9cb3926008a2cf + md5: b45762dd54acf13b75f61589221e1bc2 depends: - argcomplete - cryptography @@ -29477,225 +26359,225 @@ packages: - lxml - python - ros2-ament-index-python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-workspace - ros2-ros2cli - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 77188 - timestamp: 1788462008304 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-cmake-0.13.6-np2py312haf4906a_21.conda - sha256: 8b223a264c7612bffcd2f6cd800d70d331513e3e42db4caf1f0593122c1b78c5 - md5: 60f3238e034eb3abf0d6f0ab4b69771f + size: 78429 + timestamp: 1791438246291 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-sros2-cmake-0.13.6-np2py312h3d3361c_25.conda + sha256: c3f374c0560e0c9213c4af291b10627093b9c4d314d8dcc4757fc040451b77b8 + md5: 9686a6b0065f3b625e8482386f930459 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-ros2cli - ros2-sros2 - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 license: Apache-2.0 - size: 39650 - timestamp: 1788463404934 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-statistics-msgs-2.0.4-np2py312haf4906a_21.conda - sha256: f0dc3387640077315ae470c41dab48441844f60cff0dc939b3e3a0285848787e - md5: 00f07d17374b649a3ee8b2a111b362e2 + size: 42496 + timestamp: 1791440024731 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-statistics-msgs-2.0.4-np2py312h3d3361c_25.conda + sha256: 0e83abca321a685bb4b1fc4bedc6adfa0c7030f96e374f7dde975680447ffe3f + md5: 2ecee8fe9ff2be06c33e07d820e4de72 depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-default-runtime - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 107409 - timestamp: 1788362291203 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-msgs-5.3.8-np2py312haf4906a_21.conda - sha256: a9db5e6da4001dd1d3bba6bdf1f266cd06dba501df8749c2df1348f654c2d6b9 - md5: 2f686b27be38782dd5060ae425630b8b + size: 108008 + timestamp: 1791433938271 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-msgs-5.3.8-np2py312h3d3361c_25.conda + sha256: 238ac4e93ba23b31b9fde4be501a7bb3091e8f1eda8ec00da51fbf4fad1910b2 + md5: 1636a51d8f88eba1ce9fb3bd69f8fa72 depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-default-runtime - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 294970 - timestamp: 1788362223267 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-srvs-5.3.8-np2py312haf4906a_21.conda - sha256: 2ba55e84d1022987e08061fffd47ecdbe6bb5de7dfc63a0f54f3c0a33c107b08 - md5: d9b69a6b826e5d4934635ee997aa2b51 + size: 296573 + timestamp: 1791435279301 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-std-srvs-5.3.8-np2py312h3d3361c_25.conda + sha256: 2be853a0ac3e45971d8a8f4cc661d7a1f0726a8860dc4a95997553bbaa14ab14 + md5: b23cb8ccc564f95071175fd321c37e6d depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-default-runtime - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 155837 - timestamp: 1788362332363 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-stereo-msgs-5.3.8-np2py312haf4906a_21.conda - sha256: 23d3a29b8172c7af7d7232e84508bcec560f41b9e692be2d4f6ecc3d089ada7e - md5: f1c698d1e73ec38305cfb8da361be0a3 + size: 156295 + timestamp: 1791433963927 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-stereo-msgs-5.3.8-np2py312h3d3361c_25.conda + sha256: 1314ba32f7e6992f691550115c65fb87960e6ac44598d13dd558c3e2c5276312 + md5: 4347b2a335924a127571395016bd7df4 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-default-runtime - ros2-sensor-msgs - ros2-std-msgs - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 84281 - timestamp: 1788458329383 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tango-icons-vendor-0.3.1-np2py312haf4906a_21.conda - sha256: 74497efdcd9b3cef83f8903a809c07b82c619bd79ecbf4b62016b786586d60fb - md5: 98ac5c3ada174e87a9b5da25f7c81fc9 + size: 84149 + timestamp: 1791437589649 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tango-icons-vendor-0.3.1-np2py312h3d3361c_25.conda + sha256: 9cb1ff35d2a4247c0ccc4ee6805e24b8e2cacbf92bc0bbda4fc183ff34098fb2 + md5: 67d97d10c437dd6bda8ac52b8f839fd5 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 OR Unlicense - size: 536344 - timestamp: 1788271204698 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-0.36.22-np2py312haf4906a_21.conda - sha256: 46c7b27c0b335c1b72ad1fb05a87f57b45ad8be5de2f1421d7134e539d7ab252 - md5: 59ed0bad6ba463325774fa9b4c5254b8 + size: 536894 + timestamp: 1791431274853 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-0.36.23-np2py312h3d3361c_25.conda + sha256: b28b6d261943b6388d2c0a3cc4609a5abe463edaf389bfe80dc8e5f44f2f9e13 + md5: 79d266bab26a5d3b53d625915752a5e5 depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-rcutils - ros2-ros-workspace - ros2-rosidl-runtime-cpp - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 124161 - timestamp: 1788457873638 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-bullet-0.36.22-np2py312haf4906a_21.conda - sha256: 548346c02a1ec29820426084d2b63352d38a5b5b2382d91411dacc6652e331af - md5: e20251fb18981442ba44d1aee357982d + size: 122890 + timestamp: 1791436348045 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-bullet-0.36.23-np2py312h3d3361c_25.conda + sha256: ba491588fe490122ee960afc1a2fda2a9bb39aafe5627e9f8533f31e93710adb + md5: 47b4206b3fe0b1b068162ffb6402895c depends: - bullet - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-ros-workspace - ros2-tf2 - ros2-tf2-ros - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 45784 - timestamp: 1788461267032 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-0.36.22-np2py312hd6e7b62_21.conda - sha256: bf6a1fa840d30d029fb922a0749d1faf9e63b2ef314ee64d7ebafeeec7095b87 - md5: eacceee018f33d1781895628d464032a + size: 46809 + timestamp: 1791440912308 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-0.36.23-np2py312h5d78f99_25.conda + sha256: b40fa8e9ca2b061039a6d3c4ae884e515d46ab985a891142efdb5460eaaa1b31 + md5: 1f6333b85c01678be67521bdcbfa29de depends: - eigen - eigen-abi-devel - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-ros-workspace - ros2-tf2 - ros2-tf2-ros - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - eigen-abi >=5.0.1.100,<5.0.1.101.0a0 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 - - eigen-abi >=5.0.1.100,<5.0.1.101.0a0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 license: BSD-3-Clause - size: 47761 - timestamp: 1788461373955 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-kdl-0.36.22-np2py312hd6e7b62_21.conda - sha256: dc93344feb91f66c01807430b1787fed458d55dc63955754e7dc85014fe0e87b - md5: b3fb5b870718c8b9dbcbdf0e3c306014 + size: 48876 + timestamp: 1791440374886 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-eigen-kdl-0.36.23-np2py312h5d78f99_25.conda + sha256: 24cc96e7cce4e40eb7706b172abba7368339ca64759fd879afe9b00a2bdc9286 + md5: 140437c179d049365ff1a1a6842b8843 depends: - eigen - eigen-abi-devel - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-orocos-kdl-vendor - ros2-ros-workspace - ros2-tf2 - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - numpy >=1.25,<3 + - __osx >=14.0 + - libcxx >=21 - python_abi 3.12.* *_cp312 - eigen-abi >=5.0.1.100,<5.0.1.101.0a0 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 42527 - timestamp: 1788458283357 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-geometry-msgs-0.36.22-np2py312haf4906a_21.conda - sha256: 1f1be2e3b483263d05057cf7f4bba61ce6d06face63bcfd4848c58fa3b8cc89d - md5: c1ec955fe470ee7d717cdeca3a823dde + size: 42848 + timestamp: 1791437153807 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-geometry-msgs-0.36.23-np2py312h3d3361c_25.conda + sha256: 0fab15c511f3ad6b2732bc9c6e3e8b79ec10a55dff808fdf3ee93b9c11bf72dd + md5: 6558f6202a59f1b38fa2738dbb6aa0ab depends: - numpy - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-orocos-kdl-vendor - ros2-ros-workspace - ros2-tf2 - ros2-tf2-ros - ros2-tf2-ros-py - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 59636 - timestamp: 1788461187253 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-kdl-0.36.22-np2py312haf4906a_21.conda - sha256: 1ae8e4aa415396baf6f8c66ff7c5e8855fb205ba88f720b0c585972aca3450cf - md5: 79a984421dff7c234cbd3dc1b5e49fcb + size: 60665 + timestamp: 1791440339214 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-kdl-0.36.23-np2py312h3d3361c_25.conda + sha256: 392f9d6bcb948af8ccf166127e4fa3fdb6373ef71c470c7527338041b211dce0 + md5: 34b9491f8540d89b65a9c96b5dead1d4 depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-orocos-kdl-vendor - ros2-python-orocos-kdl-vendor @@ -29703,59 +26585,59 @@ packages: - ros2-tf2 - ros2-tf2-ros - ros2-tf2-ros-py - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 49360 - timestamp: 1788461209617 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-msgs-0.36.22-np2py312haf4906a_21.conda - sha256: 721f5015e0eea1c9f20335d886a50108f3fe3989572529a168bbf8da1b85c1d2 - md5: 31f08f5b8446603decbcc566fee915f0 + size: 50234 + timestamp: 1791440362710 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-msgs-0.36.23-np2py312h3d3361c_25.conda + sha256: 533097f2232eca34ae5639c6ed27408a240aedfa8ae33192801f6fdc104dd2e9 + md5: c2e91163747bf8d065fdfec16448c76f depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-ros-workspace - ros2-rosidl-default-runtime - - __osx >=12.0 - - libcxx >=19 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 license: BSD-3-Clause - size: 236583 - timestamp: 1788457846870 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-py-0.36.22-np2py312haf4906a_21.conda - sha256: bf31c68e44482fa017889c386f049c9fac89c5bf8da85d0d26f52343711fa7e6 - md5: 94c98b9a262ba94a6350bbf1dd70b7b1 + size: 236898 + timestamp: 1791436327158 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-py-0.36.23-np2py312h3d3361c_25.conda + sha256: ed42f6c8b76a7a1ecc777a73366572709abfc0e2baa59009a848e0b03cdf5e9a + md5: 11580aa0babb5986b2759f866f48c33d depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-rclpy - ros2-ros-workspace - ros2-rpyutils - ros2-tf2 - - __osx >=12.0 - - libcxx >=19 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 53051 - timestamp: 1788459510857 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-0.36.22-np2py312haf4906a_21.conda - sha256: 67c60790ac2c4c65ab36a5fde89027fed3b92e24e8b67ceeaef98618a27829ce - md5: 08755437c18c0d26faddcb3586a0e6a4 + size: 53485 + timestamp: 1791437380558 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-0.36.23-np2py312h3d3361c_25.conda + sha256: 840548f111f5cdaacf2f2f502865bf897f096d58c4ca2d1829cd248cd1e3174d + md5: 601d429b2e71a19ce25fdc34eb32f393 depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-message-filters - ros2-rcl-interfaces @@ -29765,21 +26647,21 @@ packages: - ros2-ros-workspace - ros2-tf2 - ros2-tf2-msgs - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 323769 - timestamp: 1788460749242 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-py-0.36.22-np2py312haf4906a_21.conda - sha256: fc173d56afd3271332a6b9ffb65219b373e88745a779f04d6e055554941d258f - md5: 3cd79054ebf1ddbf1e9a733077a86222 + size: 321840 + timestamp: 1791439469826 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-ros-py-0.36.23-np2py312h3d3361c_25.conda + sha256: cf6d835d43f8399ab1b279d15ff719ef3530cf0d10101d72e24af6267c8b5a99 + md5: 5aa144113d24797b5d1dcfb2ba7ab6bd depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-rclpy - ros2-ros-workspace @@ -29787,23 +26669,23 @@ packages: - ros2-std-msgs - ros2-tf2-msgs - ros2-tf2-py - - __osx >=12.0 - - libcxx >=19 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 50797 - timestamp: 1788459909867 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-sensor-msgs-0.36.22-np2py312hd6e7b62_21.conda - sha256: 59b40bfb8cae2fb279872f5be28f0300dabb0a1ebe3d0ca0d441c1416caf995f - md5: 0c16f0205a90c95ac1c5b444b2b89a5f + size: 51393 + timestamp: 1791438222083 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-sensor-msgs-0.36.23-np2py312h5d78f99_25.conda + sha256: 69185ae38f58061f008d7d49558f388a58a5b3087ef4c95e00e96f74ed8e1da8 + md5: f78fc4d29eb0f82d0d108197e524ec97 depends: - eigen - eigen-abi-devel - numpy - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-eigen3-cmake-module - ros2-geometry-msgs - ros2-ros-workspace @@ -29813,260 +26695,309 @@ packages: - ros2-tf2 - ros2-tf2-ros - ros2-tf2-ros-py - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - eigen-abi >=5.0.1.100,<5.0.1.101.0a0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - eigen-abi >=5.0.1.100,<5.0.1.101.0a0 license: BSD-3-Clause - size: 53292 - timestamp: 1788462392998 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-tools-0.36.22-np2py312haf4906a_21.conda - sha256: 81dd094899f1c9c813a3737ac54b45eeece2ce37cfbb880c9cfe4064435232d0 - md5: a99b960889015f8ec80e54b6f5c5543f + size: 54317 + timestamp: 1791441534686 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tf2-tools-0.36.23-np2py312h3d3361c_25.conda + sha256: 5115a25f0733b3480eca21462d1bd7a4dbf147e49b2ae4728edc1dccb0606f30 + md5: dcc98e25f7f3e9e4966bbbf7c47dbc8b depends: - graphviz - python - pyyaml - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-workspace - ros2-tf2-msgs - ros2-tf2-py - ros2-tf2-ros-py - - __osx >=12.0 - - libcxx >=19 - - numpy >=1.25,<3 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 25360 - timestamp: 1788460827606 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tinyxml2-vendor-0.9.2-np2py312haf4906a_21.conda - sha256: e96bedea055819fe5fdae5ebdd294beafb4562e8f59b2e676fe766872c500ced - md5: 64741691d70f692a2c246b8f88681649 + size: 25861 + timestamp: 1791440038074 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tinyxml2-vendor-0.9.2-np2py312h4821590_25.conda + sha256: 1b774de2cf761238f647e1eccf38bab566fdd0d85eb185bf8806b1a08c21a643 + md5: a3f41cf9291ce41e12386a7a2899e2cf depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - tinyxml2 - - libcxx >=19 - - __osx >=12.0 + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - tinyxml2 >=11.0.0,<11.1.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - tinyxml2 >=11.0.0,<11.1.0a0 license: Apache-2.0 - size: 26796 - timestamp: 1788268450504 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tracetools-8.2.6-np2py312haf4906a_21.conda - sha256: c17e492135188aeaa7ecb0f3e568d08aa7e1f065a6027c44878869c5922bba74 - md5: d07a3ece82b13d208dec30a2b8b2be74 + size: 27156 + timestamp: 1791429071890 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-tracetools-8.2.6-np2py312h3d3361c_25.conda + sha256: 9b633e25e09d7f1be83218cd0512f7854df0854e5c0aa973fecc78256806f09c + md5: d8c1d6da45f12e2ab1d17c443b138e44 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - - __osx >=12.0 - - libcxx >=19 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - __osx >=14.0 + - libcxx >=21 - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 36602 - timestamp: 1788271333209 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-trajectory-msgs-5.3.8-np2py312haf4906a_21.conda - sha256: 8ff702131cdfddbeba3746c06ee6a460e19ed7af11341e67d2bb905ed646340f - md5: 9a58ca8871be160fa4544abf3bd10bc7 + size: 37048 + timestamp: 1791431462630 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-trajectory-msgs-5.3.8-np2py312h3d3361c_25.conda + sha256: 1630e3b059739191d6f3ab8186706abbc883fac68d695464f9544897040a05ac + md5: f9a4ef1b4be2e98ad54b8f953a23337d depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-ros-workspace - ros2-rosidl-default-runtime - ros2-std-msgs - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 137867 - timestamp: 1788457822655 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-type-description-interfaces-2.0.4-np2py312haf4906a_21.conda - sha256: be589e7cc79e6b5104461d504963d5caf478d01ab7b21478442aee80bb925f1c - md5: 6af8d46b32aa318159b6785cbe1a0281 + size: 138315 + timestamp: 1791436297543 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-type-description-interfaces-2.0.4-np2py312h3d3361c_25.conda + sha256: 94c3b9fa5d498916c11f0dffc59c91e94662c157c35688a17aa4b674471aaaf4 + md5: a954b13cb935f370573fbf2d257e1e4f depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-core-runtime - ros2-service-msgs - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 214542 - timestamp: 1788361822673 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312haf4906a_21.conda - sha256: 1be9b205ce24cf249e302b600e215920e5828e36bdf86f1a627e6003d2bf794a - md5: 6e49bc5e5097b08546304c7fa7df76cc + size: 215100 + timestamp: 1791433499353 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312h3d3361c_25.conda + sha256: 36e303142e0d32ded7438cafecb0e8ee2cff0d16e2970ed598f4f87e677500ee + md5: 3fd88b369de98507ee66afd56c24b330 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - uncrustify - uncrustify >=0.78 - - __osx >=12.0 - - libcxx >=19 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 + license: Apache-2.0 OR GPL-2.0-only + size: 25703 + timestamp: 1791428982129 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py314h40712d6_27.conda + sha256: 6e8101504e4adc0f8982edaa995019b2e422e7365a17229c3d5713e76e1c15c5 + md5: 2ee1b87e7f88820802f345f671477415 + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - uncrustify + - uncrustify >=0.78 + - libcxx >=21 + - __osx >=14.0 + - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 OR GPL-2.0-only - size: 25301 - timestamp: 1788268543362 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312haf4906a_21.conda - sha256: 820662c47788094cd3cb8036843ed06673d0465ae529a474e104ecce29f44b5b - md5: 99ea3c1b5ab0eabba59b22a050e3e23b + size: 26452 + timestamp: 1792669934704 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312h3d3361c_25.conda + sha256: b92c2d2d4e01abd9e185e9ce81760925393c89c83f4f7552446f1a4cacf2828d + md5: 5ce9ac5b92c1407b25456f1b041ce1b3 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-rosidl-core-runtime - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 license: BSD-3-Clause - size: 73896 - timestamp: 1788361693591 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-2.10.1-np2py312haf4906a_21.conda - sha256: b9497271dd08904537a11fb88c9e4a42feba50bcab1e2442097fca3dfd9e313f - md5: 140fed85d9b137137a627c3c874cdb07 + size: 74593 + timestamp: 1791433426301 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py314h40712d6_27.conda + sha256: a4dbf175436cab5ef78daff1ec2e74f01eef26db9fb362389714c40046781956 + md5: 54c7996a6573e1f0624d84c73e1b2d3c + depends: + - python + - ros2-distro-mutex 0.20.* jazzy_* + - ros2-ros-workspace + - ros2-rosidl-core-runtime + - __osx >=14.0 + - libcxx >=21 + - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - numpy >=1.25,<3 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + size: 75873 + timestamp: 1792676130951 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-2.10.1-np2py312h3d3361c_25.conda + sha256: 7ba8b3987861246d60c719fe14d4ad5e005bfd8fea79ddb4836de2c3126ff149 + md5: 2977716db5bebc7cb21ccd9755cd55f4 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-pluginlib - ros2-ros-workspace - ros2-tinyxml2-vendor - ros2-urdf-parser-plugin - ros2-urdfdom - ros2-urdfdom-headers - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: BSD-3-Clause - size: 131275 - timestamp: 1788361243026 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-parser-plugin-2.10.1-np2py312haf4906a_21.conda - sha256: e981354a5f0a446c47c6802498c2ee3e2c6bfc06770201be63ab2e3fbf2127ee - md5: cb1774b0c258f2aaac58feb8a48870e8 + size: 127523 + timestamp: 1791432871797 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdf-parser-plugin-2.10.1-np2py312h3d3361c_25.conda + sha256: b728924f96bec631d69bbbea63b33d2c20b40a79352d43a6da6720a5090f2e45 + md5: 57fbba4e3f6f14a1ce9621769cb57efd depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-urdfdom-headers - - libcxx >=19 - - __osx >=12.0 - - numpy >=1.25,<3 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - numpy >=1.25,<3 license: BSD-3-Clause - size: 33705 - timestamp: 1788271305838 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-6.0-py312h3dea895_21.conda - sha256: e2ccea13b8fae628b00cc3913550f4eed1fb2dccbbd10b28165d912d6a7aac92 - md5: b98fae57ae2e913de9a56819e9ad7a7a + size: 34193 + timestamp: 1791431490891 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-6.0-py312h23657be_25.conda + sha256: 1edc8930cfde7436cd3b78fb0c070d40aca342c5d34a66463976a30d34e05dc4 + md5: 5e19ce9b78acbea318d8240a2922686f depends: - console_bridge - python - ros2-console-bridge-vendor - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - ros2-tinyxml2-vendor - ros2-urdfdom-headers - tinyxml2 - urdfdom >=6.0,<6.1a0 - - console_bridge >=1.0.2,<1.1.0a0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - tinyxml2 >=11.0.0,<11.1.0a0 - python_abi 3.12.* *_cp312 + - console_bridge >=1.0.2,<1.1.0a0 license: BSD-3-Clause - size: 7269 - timestamp: 1788271504805 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-headers-3.0-py312h3dea895_21.conda - sha256: 5f4418d58ce1917b7ccb18df5565d8f72634afc8b79bd3df3b706fd5dcfb2a6d - md5: f4064d2937de1892bd1564db1a90281b + size: 7451 + timestamp: 1791431818469 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-urdfdom-headers-3.0-py312h3dea895_25.conda + sha256: 30f0b3d56a887e8184760fb4705130334197f1831f1fd7eb844de354ae179e2c + md5: 7f382d353d5a3d898e53d17a8ff0911f depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - urdfdom_headers >=3.0,<3.1a0 - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 6455 - timestamp: 1788259988500 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-visualization-msgs-5.3.8-np2py312haf4906a_21.conda - sha256: afe2f7ade218797773918e1d5a800e94478fd4e55a5dfb165433461b30997083 - md5: cd6bf90bf14a734bf4edf8ca3783b2cc + size: 6576 + timestamp: 1791427801367 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-visualization-msgs-5.3.8-np2py312h3d3361c_25.conda + sha256: 90b0f2893ec3aabbf7da37b809dee3e16cfcfa2d8e7f4b05666ca3697802c3cb + md5: d1f717bf2c2ca093d577ae9024f4305a depends: - python - ros2-builtin-interfaces - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-geometry-msgs - ros2-ros-workspace - ros2-rosidl-default-runtime - ros2-sensor-msgs - ros2-std-msgs - - libcxx >=19 - - __osx >=12.0 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 326615 - timestamp: 1788458294268 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-yaml-cpp-vendor-9.0.1-np2py312haf4906a_21.conda - sha256: 3e6d2da13025fa357f8bf339ce676e40601b5affa414e4a8f22dce7c86b4e1d2 - md5: dc5b3361269c4a427dde1aa67a529af9 + size: 326927 + timestamp: 1791437538559 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-yaml-cpp-vendor-9.0.1-np2py312h3d3361c_25.conda + sha256: 2ed2d8bec6e67ee98c6a22632a9d90f747b4b0725a93acd70b989b9a64e99555 + md5: cd5667a9477399a8fe17262b9d8d32f0 depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - yaml-cpp - - libcxx >=19 - - __osx >=12.0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - python_abi 3.12.* *_cp312 - - yaml-cpp >=0.8.0,<0.9.0a0 + - libcxx >=21 + - __osx >=14.0 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - yaml-cpp >=0.8.0,<0.9.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 OR MIT - size: 25269 - timestamp: 1788268449257 -- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zstd-vendor-0.26.11-np2py312haf4906a_21.conda - sha256: d40d48808f3e7ec9d24fbf0008acc623e9505d8cbec61dad1f726307900a17e6 - md5: 861347869b0b71b431c40fa59d86d58a + size: 25629 + timestamp: 1791429167967 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h48e1e13_25.conda + sha256: 0c88555b9809f9c818166b6dd4d6b374961edd722329d91c3aa58c101c04a8d2 + md5: 1eb8d96db0ae49bb7506fcef76666d3a + depends: + - python + - ros2-distro-mutex 0.19.* jazzy_* + - ros2-ros-workspace + - libcxx >=21 + - __osx >=14.0 + - libzenohc >=1.9.0,<1.9.1.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 + license: Apache-2.0 + size: 26456 + timestamp: 1791428959242 +- conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zstd-vendor-0.26.11-np2py312h849b6f6_25.conda + sha256: 84b33ae54ce3d01cccb825d24baee960b877087c6dc82dc406844a351697af0d + md5: 6433d242165e81a02b582918fac5e85e depends: - python - - ros2-distro-mutex 0.16.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - zstd - - libcxx >=19 - - __osx >=12.0 + - libcxx >=21 + - __osx >=14.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - zstd >=1.5.7,<1.6.0a0 - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - python_abi 3.12.* *_cp312 license: Apache-2.0 OR BSD-3-Clause - size: 26077 - timestamp: 1788268475878 + size: 26541 + timestamp: 1791429177808 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ament-cmake-2.5.6-h9490d1a_25.conda sha256: 648c4f38920971e3d2d102a9148a1ec9b9c685be53e35b8ae6c796df9c9c841f md5: 7fee9a048663361a4068d2574ac5f2bd @@ -30074,6 +27005,14 @@ packages: - ros2-ament-cmake ==2.5.6 size: 2015 timestamp: 1791432338481 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ament-cmake-2.5.6-h9490d1a_27.conda + sha256: c652a2f6b8e17489232672e54da183b533dc229474a2feb10aa9c6ae5dae24ef + md5: c9df6afeebdd9848d6f1c15fe8533111 + depends: + - ros2-ament-cmake ==2.5.6 + - ros2-distro-mutex 0.20.* jazzy_* + size: 2054 + timestamp: 1792677395828 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-demo-nodes-py-0.33.11-h9490d1a_25.conda sha256: 622f14af8d6f75504e33ffa3b73469da36e23498315f105d2db58c8e9d6d2a22 md5: 83cd9ee3a8036b01c36345bc2cb697f5 @@ -30081,14 +27020,6 @@ packages: - ros2-demo-nodes-py ==0.33.11 size: 2044 timestamp: 1791455531694 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-demo-nodes-py-0.33.11-h9490d1a_27.conda - sha256: a966bd78a14dbc491c70d16852daa5f0a0056aa5d3dd08d941a8238cd184672e - md5: 23cf18b0bf5216bbe505522b0e0993cf - depends: - - ros2-demo-nodes-py ==0.33.11 - - ros2-distro-mutex 0.20.* jazzy_* - size: 2082 - timestamp: 1792712437872 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-foxglove-bridge-3.6.0-h9490d1a_25.conda sha256: 4ba13914a9eff2df36a9d4a05bc09889269b785a42359d56ddd0f74cc453e7f8 md5: 9a47dcf91271903e16490498c24d990f @@ -30096,6 +27027,13 @@ packages: - ros2-foxglove-bridge ==3.6.0 size: 2038 timestamp: 1791486367751 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rclpy-7.1.12-h9490d1a_25.conda + sha256: befde9d25aa7d8f0e5607edec4d633302d7ed6cca0c8308384bcf0871de19310 + md5: c7d61643caac5085eafac7fa691f361c + depends: + - ros2-rclpy ==7.1.12 + size: 1992 + timestamp: 1791453101503 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-h9490d1a_25.conda sha256: f0ae90d9267b1a7ed39ff4866b9fc872e12d78ec7d7a6ad60b79f5e99290fcaf md5: b49593864e427095476f3e6ddd1655c8 @@ -30103,14 +27041,6 @@ packages: - ros2-rmw-zenoh-cpp ==0.2.11 size: 2037 timestamp: 1791448103500 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rmw-zenoh-cpp-0.2.11-h9490d1a_27.conda - sha256: a867ebee491a23d9290db81945fb5bdf2be5052250f00e1d604fab45efb353c1 - md5: e799a4f35dfca7ea061c63cb0836d313 - depends: - - ros2-rmw-zenoh-cpp ==0.2.11 - - ros2-distro-mutex 0.20.* jazzy_* - size: 2076 - timestamp: 1792696535073 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ros-base-0.11.0-h9490d1a_25.conda sha256: 80c0607ad52f94c30fd885f25af4319e96c86d503f3f4d85c6d8be4541e0c98e md5: 338359a479e8fa4f4b43ac93c6227f6c @@ -30118,14 +27048,6 @@ packages: - ros2-ros-base ==0.11.0 size: 2002 timestamp: 1791503505708 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ros-base-0.11.0-h9490d1a_27.conda - sha256: b14b8c4715fb004460364ed848931e90b8283beed2c5ae73c6ab0bc11cb869a6 - md5: 1e04496202a3a029d536ecb006f4f4c7 - depends: - - ros2-ros-base ==0.11.0 - - ros2-distro-mutex 0.20.* jazzy_* - size: 2044 - timestamp: 1792757094482 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ros-environment-4.2.1-h9490d1a_25.conda sha256: 9d7c73e58fa4dfa4eee5eb25c7efc51c927c7990a6ec1dda2657e77802348167 md5: f54c485f7d3e708370c49e3e1a876ba8 @@ -30140,6 +27062,14 @@ packages: - ros2-ros-workspace ==1.0.3 size: 2013 timestamp: 1791428449007 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ros-workspace-1.0.3-h9490d1a_27.conda + sha256: 4a0912ca72a84f1a466012d876800a5a119b015d1993d81f2981e5b96192e497 + md5: fca213df4a1f6e102180c53626d869cf + depends: + - ros2-ros-workspace ==1.0.3 + - ros2-distro-mutex 0.20.* jazzy_* + size: 2057 + timestamp: 1792670803383 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-py-0.26.11-h9490d1a_25.conda sha256: 2cf206b8a84a15fef7e1b2fd6b7ae099c40355e3705f10f79c86364323756410 md5: a1b735d31a03f3315f9b0d579aa0fee8 @@ -30147,14 +27077,6 @@ packages: - ros2-rosbag2-py ==0.26.11 size: 2019 timestamp: 1791495678543 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-py-0.26.11-h9490d1a_27.conda - sha256: 4d2be938f3315011ff41da41f4e14b4128872aee8e4f0974c23817d6f279d567 - md5: 8687f0507ca98be5bed24807f864034f - depends: - - ros2-rosbag2-py ==0.26.11 - - ros2-distro-mutex 0.20.* jazzy_* - size: 2063 - timestamp: 1792752364192 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h9490d1a_25.conda sha256: 6e16bf7e2587f3d3610cf2537250190cfba73ce600b9b88908443b96a1b5ef5e md5: fcfe1c953d76c83094d6a0da76de8cdc @@ -30162,14 +27084,6 @@ packages: - ros2-rosbag2-storage-mcap ==0.26.11 size: 2078 timestamp: 1791468273661 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosbag2-storage-mcap-0.26.11-h9490d1a_27.conda - sha256: 62231f2e021aaa6cff4f1df62cd78fb1857fb39d0d0e3937a4a5055e82097a63 - md5: 54ec3c3eee4dbad0263716bdf95a4d9d - depends: - - ros2-rosbag2-storage-mcap ==0.26.11 - - ros2-distro-mutex 0.20.* jazzy_* - size: 2111 - timestamp: 1792727202810 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-default-generators-1.6.1-h9490d1a_25.conda sha256: 809546e3df1fbaa5d883e8215041ba36714a89f4996448602ab130019a82f403 md5: 18c261e23bd9a946776ae29e78b3a7c8 @@ -30177,6 +27091,14 @@ packages: - ros2-rosidl-default-generators ==1.6.1 size: 2088 timestamp: 1791449110613 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-default-generators-1.6.1-h9490d1a_27.conda + sha256: abc842cb826dd457b40772271b5f4cd7da0f9ad800fec1d4b486ace149daab2f + md5: 3c9b6053bbdb469975181b19329220cf + depends: + - ros2-rosidl-default-generators ==1.6.1 + - ros2-distro-mutex 0.20.* jazzy_* + size: 2126 + timestamp: 1792700548976 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-default-runtime-1.6.1-h9490d1a_25.conda sha256: c0d4ebdcbe2b3b384d4659daccdcf4f4aeceabd5809d7ef3cf7eab61f0a43a5a md5: 61d7b0de5328926aedcff3d247d2fbcd @@ -30184,14 +27106,13 @@ packages: - ros2-rosidl-default-runtime ==1.6.1 size: 2066 timestamp: 1791449110155 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-default-runtime-1.6.1-h9490d1a_27.conda - sha256: 201c9ea875065594f89f888bf047beb95256bb8288cfd642aa71301e1ddd7e4a - md5: 27f4d7e0cc68fd9da2d06ca175b92317 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-runtime-py-0.13.2-h9490d1a_25.conda + sha256: f436984e33b17e85fc1e88edc9fbe9bcc8d122f79e820d0b1b325235698bdb26 + md5: efe68882acb564988749eb9f93ce6958 depends: - - ros2-rosidl-default-runtime ==1.6.1 - - ros2-distro-mutex 0.20.* jazzy_* - size: 2111 - timestamp: 1792700548641 + - ros2-rosidl-runtime-py ==0.13.2 + size: 2052 + timestamp: 1791455541742 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rqt-console-2.2.2-h9490d1a_25.conda sha256: a5c160a678ca189a7d561321c2aa85197b8b28e8543ea038743b8d087f903961 md5: b6d0f944c94665fd5927a23febeca733 @@ -30213,6 +27134,13 @@ packages: - ros2-rqt-topic ==1.7.5 size: 1994 timestamp: 1791461518855 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-std-msgs-5.3.8-h9490d1a_25.conda + sha256: 85066233e537c69334f1be4c35a40c92c1a3367e2c06bfb39e7d1b03aad1a2b8 + md5: ac11ca3a89134b2bdc1b45f73cca25d3 + depends: + - ros2-std-msgs ==5.3.8 + size: 1999 + timestamp: 1791454442393 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-action-msgs-2.0.4-np2py312hdd89193_25.conda sha256: ca01aa75fdbe77ac74de2bda55c91d2c9d39af5fd31e5464356787b71011c5b9 md5: 1b4ccd24b9d3231692efa190f2358d77 @@ -30272,25 +27200,6 @@ packages: license: Apache-2.0 size: 118977 timestamp: 1791454108982 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-actionlib-msgs-5.3.8-np2py314hf807026_27.conda - sha256: f7711c3abc21391b168e248febae268e4fe6357fcdfc1ecd26576c38e72b5ba0 - md5: f5f185bbfce805d544bd73b18c621e93 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 120122 - timestamp: 1792704758629 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-2.5.6-np2py312hdd89193_25.conda sha256: a6c44820c01c2ee3e5a6700bf1df9ca006028654202fff6050edf32ad61843ca md5: 2b2a67c6f1ac9dae367b545d98abbec1 @@ -30351,46 +27260,27 @@ packages: - ros2-distro-mutex >=0.20.0,<0.21.0a0 - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 21408 - timestamp: 1792674465163 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-auto-2.5.6-np2py312hdd89193_25.conda - sha256: c3e3ab1f32f752ed24aa28ff3867e0c0ee41a3862c179c496e9bd2d4adcae7d4 - md5: 60141506daa3b21268597f9312c20df0 - depends: - - python - - ros2-ament-cmake - - ros2-ament-cmake-gmock - - ros2-ament-cmake-gtest - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: Apache-2.0 - size: 24871 - timestamp: 1791432840066 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-auto-2.5.6-np2py314hf807026_27.conda - sha256: 27844b3e0156277b45d196964bda2defb0f00a1e0e8a70df4844b8a5353fecef - md5: a76e357d7fc156eca9e7b33fb87fbc2a + size: 21408 + timestamp: 1792674465163 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-auto-2.5.6-np2py312hdd89193_25.conda + sha256: c3e3ab1f32f752ed24aa28ff3867e0c0ee41a3862c179c496e9bd2d4adcae7d4 + md5: 60141506daa3b21268597f9312c20df0 depends: - python - ros2-ament-cmake - ros2-ament-cmake-gmock - ros2-ament-cmake-gtest - - ros2-distro-mutex 0.20.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 25519 - timestamp: 1792676309549 + size: 24871 + timestamp: 1791432840066 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-copyright-0.17.5-np2py312hdd89193_25.conda sha256: 29940ab92ede94ce9656c010dfd4c6fc06e37ccb33dbe2cc87ea3c2e56a355de md5: 9857f445d93f22c2b6594b9e526f2b58 @@ -30409,24 +27299,6 @@ packages: license: Apache-2.0 size: 20149 timestamp: 1791435074016 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-copyright-0.17.5-np2py314hf807026_27.conda - sha256: f10cc4900c781ad994de4cbac0f1db34dbea6355f6d542458a54444c589b9cdc - md5: 07b0b196b91d8496e1327179e51f738d - depends: - - python - - ros2-ament-cmake-test - - ros2-ament-copyright - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 20948 - timestamp: 1792678396831 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-core-2.5.6-np2py312hdd89193_25.conda sha256: 1360ed69d14d05f58701b742b39ec07a9ed36b157b1a3e684633467fff4d493f md5: 12924e9d539a3df1c9074e42a12fe5a7 @@ -31017,24 +27889,6 @@ packages: license: Apache-2.0 size: 19851 timestamp: 1791432335594 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-lint-cmake-0.17.5-np2py314hf807026_27.conda - sha256: d9f901383c0090818225c88b6ab7d2aa14394b08e69c64a02f25928294500db8 - md5: 64c1da28ecbcecd1988724497bd9d1c3 - depends: - - python - - ros2-ament-cmake-test - - ros2-ament-lint-cmake - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 20541 - timestamp: 1792675566770 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-pep257-0.17.5-np2py312hdd89193_25.conda sha256: ff6156cfee13eea18a16d99625cd55c81a9819a29b39ccb311fde1a62de08c9d md5: 06faea7e1c25e5a0115bba01615bd1f9 @@ -31345,24 +28199,6 @@ packages: license: Apache-2.0 size: 20390 timestamp: 1791435837795 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-xmllint-0.17.5-np2py314hf807026_27.conda - sha256: 0d936dd1dfdc629cb243577d600d0d623509decbf05d4913b18afab5da8cb31c - md5: 1b8b1530f9a7a1f6177984a0358cfac6 - depends: - - python - - ros2-ament-cmake-test - - ros2-ament-xmllint - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 21126 - timestamp: 1792679264691 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-copyright-0.17.5-np2py312hdd89193_25.conda sha256: 260e26ca51c01313b988ecfa73c11b6d28673940ba8d4218620daf03f5969069 md5: bef9012f0bb4b62d6dda6dc74a65a2cc @@ -31381,24 +28217,6 @@ packages: license: Apache-2.0 size: 71061 timestamp: 1791430690664 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-copyright-0.17.5-np2py314hf807026_27.conda - sha256: ef50149d3db14ef337f9b30adb59faf2f087277c8489cf7e8dd374dfd45b12fd - md5: 224453aff7dc204e046c7b1871085262 - depends: - - importlib-metadata - - python - - ros2-ament-lint - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 71442 - timestamp: 1792673383730 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cppcheck-0.17.5-np2py312hdd89193_25.conda sha256: 900301a408492ec84375dfb20fee9ab98c13485abb68cee6f405e37f277a5da0 md5: 4f2c3543d51ae307c3d1bf59dc023439 @@ -31527,22 +28345,6 @@ packages: license: Apache-2.0 size: 59617 timestamp: 1791439006442 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-index-cpp-1.8.4-np2py314hf807026_27.conda - sha256: df0da0a3d74d8ea159d3a8a223b92537e594bd8770585de3982fff78acae0406 - md5: 8e93d371b341722aa993d7aef41f56e5 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 60374 - timestamp: 1792683324659 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-index-python-1.8.4-np2py312hdd89193_25.conda sha256: 3cd94cf5aa98a8cf42c1f32517a338fbb586404954c371716f940ae4d6e9eff9 md5: a75f9860592b4f6036f7bf6debad4bf4 @@ -31625,24 +28427,6 @@ packages: license: Apache-2.0 size: 19536 timestamp: 1791430211344 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-auto-0.17.5-np2py314hf807026_27.conda - sha256: ffd8aff3f73dc8e9a93a9a57eb72fa4fb96a3bd3bc2fb5f4ce578469a739458b - md5: 7dee8fbb31c2dd77d5393aab04fa2017 - depends: - - python - - ros2-ament-cmake-core - - ros2-ament-cmake-test - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 20217 - timestamp: 1792672803114 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-cmake-0.17.5-np2py312hdd89193_25.conda sha256: a56ff14ce911673bb32c17baf27130d9cc0e7e7f642a9e8e8e76975dd50f3941 md5: 6c213dd00c6a19eb26cb017726db779a @@ -31659,22 +28443,6 @@ packages: license: Apache-2.0 size: 45165 timestamp: 1791431343575 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-cmake-0.17.5-np2py314hf807026_27.conda - sha256: 5f83e642453aba03b6888b847be9223da9ab1e110a276aef92681a3d52fc431d - md5: 30c5fc5331bb55350148d6299dcfca34 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 45592 - timestamp: 1792674267276 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-common-0.17.5-np2py312hdd89193_25.conda sha256: 82d1310476247040a3f8999234b6a0dfab187996fce76d37ac3b1cdbef36d88b md5: 071831e2911ec193f06cabefe3bf98a7 @@ -31700,31 +28468,6 @@ packages: license: Apache-2.0 size: 19825 timestamp: 1791437069321 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-common-0.17.5-np2py314hf807026_27.conda - sha256: 6955a908b39481abf8d61710398130ad557377aa769a80f2e67eef065e169113 - md5: 11fda26e9ff6e4c3f667d041dae944e4 - depends: - - python - - ros2-ament-cmake-copyright - - ros2-ament-cmake-core - - ros2-ament-cmake-cppcheck - - ros2-ament-cmake-cpplint - - ros2-ament-cmake-flake8 - - ros2-ament-cmake-lint-cmake - - ros2-ament-cmake-pep257 - - ros2-ament-cmake-uncrustify - - ros2-ament-cmake-xmllint - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 20629 - timestamp: 1792680482340 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-package-0.16.5-np2py312hdd89193_25.conda sha256: 75baf5d442e47e3b03ddf13cc108dd986f8637023be600b291dfb15ceea3a5aa md5: 2fdfa5bcd4ca55022922f7a39c494fcb @@ -31849,24 +28592,6 @@ packages: license: Apache-2.0 size: 36562 timestamp: 1791431534342 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-xmllint-0.17.5-np2py314hf807026_27.conda - sha256: 8becdd80007d9b77d737b643d3d97015e6e9aabb9b2823b3d08ba7d7a596c9cb - md5: 07e534d30debbfde75b3e990ffe003ad - depends: - - libxml2 - - python - - ros2-ament-lint - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 36683 - timestamp: 1792674556925 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-builtin-interfaces-2.0.4-np2py312hdd89193_25.conda sha256: 60d6c9f599c90e97e796b8453e23ab64e4422a0645a1a311267a5b3e64023eea md5: 9844e80c1e4eefa93d002a118345a85e @@ -31921,26 +28646,6 @@ packages: license: BSD-3-Clause size: 71827 timestamp: 1791443234714 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-class-loader-2.7.1-np2py314h44b9ce8_27.conda - sha256: a607b7d3c6c67afe49f7f80d62cb0a2defab2b2320dca9052b11918c4668e206 - md5: 756bf3406bf9ceceb3b47b4529ad25ae - depends: - - console_bridge - - python - - ros2-console-bridge-vendor - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcpputils - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - console_bridge >=1.0.2,<1.1.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 72550 - timestamp: 1792690194429 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-common-interfaces-5.3.8-np2py312hdd89193_25.conda sha256: 95787fccea7d694ff078fabe7b53d305849b6cbaf424f5275429f2e21054202a md5: 1523a7a225cace63167191c70da4beab @@ -31969,34 +28674,6 @@ packages: license: Apache-2.0 size: 24053 timestamp: 1791462278425 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-common-interfaces-5.3.8-np2py314hf807026_27.conda - sha256: ec8ee855283575d9e6982b3c003078f49dd73ad3ce319bac5b6ab133e695e8df - md5: 34d555b005695aca9130f2965974fbf8 - depends: - - python - - ros2-actionlib-msgs - - ros2-builtin-interfaces - - ros2-diagnostic-msgs - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-nav-msgs - - ros2-ros-workspace - - ros2-sensor-msgs - - ros2-shape-msgs - - ros2-std-msgs - - ros2-std-srvs - - ros2-stereo-msgs - - ros2-trajectory-msgs - - ros2-visualization-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 24771 - timestamp: 1792719324111 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-composition-interfaces-2.0.4-np2py312hdd89193_25.conda sha256: 4ba6c684c1417efc095e7009dcf4eec3498cdf769c7b4045f4dfbfee281edbd7 md5: b48851ee07140ccb8143cec67cde8f64 @@ -32015,24 +28692,6 @@ packages: license: Apache-2.0 size: 210810 timestamp: 1791451863425 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-composition-interfaces-2.0.4-np2py314hf807026_27.conda - sha256: dab7bd824cb580c217421a4165299b124c10f0b3976bbff63c5684ed67497001 - md5: 7b2ce00ac5af420737922c18cf3ba3e3 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl-interfaces - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 212367 - timestamp: 1792701165148 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-console-bridge-vendor-1.7.2-np2py312he78ef48_25.conda sha256: 3b08c2c719d370503b0b60206dfdc581b244b2e8a8e0ece30330e9d229e83598 md5: 4d31e1bd9f179f2bccf5f60d264c8f30 @@ -32051,24 +28710,6 @@ packages: license: Apache-2.0 OR BSD-3-Clause size: 25243 timestamp: 1791440110164 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-console-bridge-vendor-1.7.2-np2py314h44b9ce8_27.conda - sha256: d1041070a939e9f4f07a7bd7e328dca603aa13efa67f54a11c6d1c0a5e103989 - md5: 0c77e0e8886d80af7abd8fd199187035 - depends: - - console_bridge - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - console_bridge >=1.0.2,<1.1.0a0 - license: Apache-2.0 OR BSD-3-Clause - size: 25883 - timestamp: 1792685567968 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-cyclonedds-0.10.5-py312h420ed83_25.conda sha256: 28f6a22744d260bb49390ee0b4d4f90b4d2fda7d70f3bbae23f46f9f38215a8f md5: abb05dded85ba66cc42abb4e95e1cd7c @@ -32087,24 +28728,6 @@ packages: license: EPL-2.0 OR BSD-3-Clause size: 8168 timestamp: 1791430903265 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-cyclonedds-0.10.5-py314h32c167b_27.conda - sha256: b7126172cb9884ca453d9078ce62796c00c22b9afa32eada1ca02771aca4ab33 - md5: 002a786462283505a621770e2ecad5bc - depends: - - cyclonedds >=0.10.5,<0.11.0a0 - - openssl - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-iceoryx-binding-c - - ros2-iceoryx-hoofs - - ros2-iceoryx-posh - - ros2-ros-workspace - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - openssl >=3.5.9,<4.0a0 - - python_abi 3.14.* *_cp314 - license: EPL-2.0 OR BSD-3-Clause - size: 8317 - timestamp: 1792673659316 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-demo-nodes-py-0.33.11-np2py312hdd89193_25.conda sha256: b2b67de7208b59a07cb87e60f61bde45ef3af8128185ea405d41b7a14e2924db md5: a6f7c66e4b179c93ef08878851675c47 @@ -32126,27 +28749,6 @@ packages: license: Apache-2.0 size: 52141 timestamp: 1791455382875 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-demo-nodes-py-0.33.11-np2py314hf807026_27.conda - sha256: 2af7a6d96b9d167de00f9addf48b8b1b93188d3d650ac63fc22dec27fe1de69e - md5: dc3727f2e754929aee3597fafff4f4eb - depends: - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-example-interfaces - - ros2-rcl-interfaces - - ros2-rclpy - - ros2-ros-workspace - - ros2-std-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 52591 - timestamp: 1792706792644 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-diagnostic-msgs-5.3.8-np2py312hdd89193_25.conda sha256: 1fdd0e103e18b5b6754a93409ab5eef49b06233f407313dfe9814071d094270a md5: ce4958ac549067e6c9d1edc9b5a2c6b5 @@ -32167,47 +28769,15 @@ packages: license: Apache-2.0 size: 201492 timestamp: 1791456279557 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-diagnostic-msgs-5.3.8-np2py314hf807026_27.conda - sha256: 6ac5897eacb6a62afa49d0dafbc2faad3c54fbeb1019c12fc6a5ed7fd9375f7d - md5: 05a4729f02c5d5a6c3795ca3df3508e7 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 202643 - timestamp: 1792709111910 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.19.0-jazzy_25.conda - sha256: 3191675dcd712b0028d6f037bdcd23ee5b9d276bd1e8900b1fa02e751680c8d8 - md5: 7533162be72338544095a056dff837a3 - constrains: - - libboost 1.90.* - - libboost-devel 1.90.* - - pcl 1.15.1.* - - gazebo 11.* - - libprotobuf 7.35.* - - libopenvino-tensorflow-frontend >=2026.3.0 - - libopencv >=5.0.0 - - py-opencv >=5.0.0 - - vtk 9.7.0.* - - ffmpeg 9.* - - libopenvino-tensorflow-lite-frontend >=2026.3.0,<2026.3.1.0a0 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.19.0-jazzy_26.conda + sha256: 735e692df749483b8ea186072536e30833585d0517a8028b0701cab6046b15ee + md5: ed597e412998dba8c1d5e4972effe509 license: BSD-3-Clause run_exports: weak: - ros2-distro-mutex >=0.19.0,<0.20.0a0 - size: 2469 - timestamp: 1791427621990 + size: 2247 + timestamp: 1792621453741 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.20.0-jazzy_27.conda sha256: 90353831ee48dd7c1c9111248541b6ddcd07dd564980ee123ebf412f7578bae3 md5: 8a5f20aed28bc1b0f1c451dd3afc227d @@ -32251,33 +28821,17 @@ packages: md5: 5b271b9d1ef8da6b0b850e2c036a6aac depends: - python - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: Apache-2.0 - size: 20974 - timestamp: 1791436478948 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-eigen3-cmake-module-0.3.1-np2py314hf807026_27.conda - sha256: fbde9dc85314590f3276f27df5a2a56792d27eea5b254256b9b9ad68920b53df - md5: 302f9b5dbc7e9b6ca99ae50290fde3ef - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 21770 - timestamp: 1792679845359 + size: 20974 + timestamp: 1791436478948 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-example-interfaces-0.12.1-np2py312hdd89193_25.conda sha256: 8720ab08709891ca02ebac6f814041f37b159690449b487e9674f869c73e4464 md5: 8eceb8040e8c402cfb7e11391b2e7983 @@ -32295,23 +28849,6 @@ packages: license: Apache-2.0 size: 484079 timestamp: 1791449614320 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-example-interfaces-0.12.1-np2py314hf807026_27.conda - sha256: da176a45732f5a0f13b66d10c957df5507ff2d692cb5303a2d6f85a130f86e53 - md5: cb7a26c8f3d97cd9acc03ca2747499b5 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 485588 - timestamp: 1792698300950 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastcdr-2.2.8-np2py312hdd89193_25.conda sha256: f08a50a87e40cb36ca0661b7e0f6ef205ae35b101e0c48838540f96b619ad748 md5: 35ec1fac97c68ef49b0dc303460f50f8 @@ -32366,28 +28903,6 @@ packages: license: Apache-2.0 size: 3152455 timestamp: 1791438357226 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastrtps-2.14.7-np2py314h92dadff_27.conda - sha256: 36aa13d52f05b3611a6d516c131731424539c94f82cc432678cce3dd46fac81e - md5: f3fb3abc225cbf4f56149c737216bee5 - depends: - - openssl - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-fastcdr - - ros2-foonathan-memory-vendor - - ros2-ros-workspace - - tinyxml2 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - tinyxml2 >=11.0.0,<11.1.0a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - openssl >=3.5.9,<4.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 3210199 - timestamp: 1792682659801 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastrtps-cmake-module-3.6.4-np2py312hdd89193_25.conda sha256: 49259f9a42a667ea0a606dc9d5407c546e73851f303b4b9ed3fd5387f743b0d2 md5: 5a1266a5b7b9fba1d777d44daa277133 @@ -32439,25 +28954,6 @@ packages: license: Apache-2.0 OR Zlib size: 17564 timestamp: 1791437150995 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-foonathan-memory-vendor-1.3.1-np2py314hf807026_27.conda - sha256: cd6aff9d9b799a47d2da95fd587130ce578c9f98f6ef10e69bfdd7da61eea1d9 - md5: dc3991d4047db3600260cd4269a90029 - depends: - - foonathan-memory - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - cmake - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - foonathan-memory >=0.7.4,<0.7.5.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 OR Zlib - size: 17901 - timestamp: 1792680604432 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-foxglove-bridge-3.6.0-np2py312hdd89193_25.conda sha256: 108338de70ab1d32125457718dda934b420ddff2c3f7c654689a333e16822418 md5: e714d3349e7ad7177037f56b7c869a78 @@ -32504,24 +29000,6 @@ packages: license: Apache-2.0 size: 368425 timestamp: 1791453651212 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-geometry-msgs-5.3.8-np2py314hf807026_27.conda - sha256: 4abf298823b64f8584521e675a9f6bff8a3229570b7049b647684c28dd9ad7d4 - md5: f3c60868c5d0edb15e92616814c622cb - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 370478 - timestamp: 1792703878419 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-geometry2-0.36.23-np2py312hdd89193_25.conda sha256: acef50565f572821b5376cdbb96ef6706fc663e603305e3ae03b3e9a6938f8a5 md5: 41862a2fcb2aa1dd3ca0cbaf5f46bfff @@ -32549,33 +29027,6 @@ packages: license: BSD-3-Clause size: 19991 timestamp: 1791481263465 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-geometry2-0.36.23-np2py314hf807026_27.conda - sha256: 2d4744f207c57ca25f2578b73143c40e3d4baa29176bbe0cf9d83c12da760a5d - md5: c2a4e190e85ecabebd85e8ce050a5778 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-bullet - - ros2-tf2-eigen - - ros2-tf2-eigen-kdl - - ros2-tf2-geometry-msgs - - ros2-tf2-kdl - - ros2-tf2-msgs - - ros2-tf2-py - - ros2-tf2-ros - - ros2-tf2-sensor-msgs - - ros2-tf2-tools - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 20751 - timestamp: 1792744284630 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-gmock-vendor-1.14.9000-np2py312hdd89193_25.conda sha256: 0a2846a7eca5fc30288d4a32263074a470072f47d5fe470f8897a81d0257e7c6 md5: 569e30c5ce50fa4e0029e84af93c75da @@ -32655,19 +29106,6 @@ packages: license: Apache-2.0 size: 7814 timestamp: 1791430320015 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-iceoryx-binding-c-2.95.8-py314hdeddbba_27.conda - sha256: 3be0609998790c2705299b5bd04e633bf51817287556da6b6e01e4b56b7d8e64 - md5: 837dd4c5d49f15e1ffd3639106a67b17 - depends: - - libiceoryx-binding-c >=2.95.8,<2.96.0a0 - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 7990 - timestamp: 1792672973980 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-iceoryx-hoofs-2.95.8-py312h7accfcc_25.conda sha256: c991d382fb83f9f8b126e6f0bba82790b26d04d90d713f8edafb2bee4eda8cf6 md5: b944e7d4d08b55e41e9bcede925aacb7 @@ -32681,19 +29119,6 @@ packages: license: Apache-2.0 size: 7221 timestamp: 1791428260795 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-iceoryx-hoofs-2.95.8-py314hdeddbba_27.conda - sha256: ceb4febf780c192614a8aada0ed380fd8afbf445a55ea6842913490ace2415e9 - md5: 4ad04ce3f2a74ceeae40b784c3d02cbf - depends: - - libiceoryx-hoofs >=2.95.8,<2.96.0a0 - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 7391 - timestamp: 1792669517652 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-iceoryx-posh-2.95.8-py312h7accfcc_25.conda sha256: 1d13daf96542f12a48dc6512e130487c040fdf320cf58471d292bca9803a2e76 md5: 9c8db45bff8de90b120cd2834330e9d8 @@ -32708,20 +29133,6 @@ packages: license: Apache-2.0 size: 7783 timestamp: 1791429115897 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-iceoryx-posh-2.95.8-py314hdeddbba_27.conda - sha256: 6dd5be8b0772b6ba66239119fd019dc93dd63738c583384292b9f4b285bb6ab9 - md5: 78708096c97a7cfc1eff2683ea0c2664 - depends: - - libiceoryx-posh >=2.95.8,<2.96.0a0 - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-iceoryx-hoofs - - ros2-ros-workspace - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 7923 - timestamp: 1792671482134 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-kdl-parser-2.11.0-np2py312hdd89193_25.conda sha256: da309be393b259ff69772c1be35ca49f57f432a3daf197439f49c9e38bd08f90 md5: 0200801345e3c0d4c9c9018a09faa404 @@ -32742,26 +29153,6 @@ packages: license: BSD-3-Clause size: 58069 timestamp: 1791447305432 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-kdl-parser-2.11.0-np2py314hf807026_27.conda - sha256: b0ebb02f22095e93e592b9088746518b15785389cf5c9869415aa2161ae29fc5 - md5: 4644302028079908e6eeaea10f8cc937 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-orocos-kdl-vendor - - ros2-rcutils - - ros2-ros-workspace - - ros2-urdf - - ros2-urdfdom-headers - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 58705 - timestamp: 1792695035799 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-keyboard-handler-0.3.2-np2py312hdd89193_25.conda sha256: 7efe493a71e29b71cde2a5b706a7e1de21d1c03110e7edbe536ce35aa49c24db md5: e9d426b95ece913be6b9c90444134a50 @@ -32778,22 +29169,6 @@ packages: license: Apache-2.0 size: 53431 timestamp: 1791439582355 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-keyboard-handler-0.3.2-np2py314hf807026_27.conda - sha256: 7b28d3d585e313aee3bcc430499b98a6fb2d7cb380d29ba0cac46669ae1a8311 - md5: 519a0e19f70b382127c0a341f52b2608 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 54142 - timestamp: 1792684339770 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-3.4.12-np2py312hdd89193_25.conda sha256: 655c10354a185d0079d021dbe45851ced09030a15a66fc3d86b026653a3c85f3 md5: c88f58b0bf16b6f80f593506dbc63fa0 @@ -32815,27 +29190,6 @@ packages: license: Apache-2.0 size: 233215 timestamp: 1791432484706 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-3.4.12-np2py314hf807026_27.conda - sha256: fc99225d50fd2e688dbeafd20247a8183d97a001fb1417483e52718b5a57240d - md5: 6a745384c695d0b8d5f328fecfecf013 - depends: - - importlib-metadata - - lark-parser - - python - - pyyaml - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-osrf-pycommon - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 245134 - timestamp: 1792675755730 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-ros-0.26.13-np2py312hdd89193_25.conda sha256: acfc2048881a9ec860450e0817a145fb71f8c570d9a22ea3c759df502842a3be md5: 653bb14fbfaa21259d5ed7ae2e9c104a @@ -32860,30 +29214,6 @@ packages: license: Apache-2.0 size: 124270 timestamp: 1791453004738 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-ros-0.26.13-np2py314hf807026_27.conda - sha256: 753b3bf11a1eb708303d5d31ee1ea8dcabadbb0a46b05be57ac1f2f242bc2a4d - md5: c7653cd5522d36a46cd6ad1e011affaa - depends: - - importlib-metadata - - python - - pyyaml - - ros2-ament-index-python - - ros2-composition-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch - - ros2-lifecycle-msgs - - ros2-osrf-pycommon - - ros2-rclpy - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 129320 - timestamp: 1792702882185 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-testing-3.4.12-np2py312hdd89193_25.conda sha256: c7960bd4a8b1de6a00ba62cb9ee3dfd6dd03ccd90e8a465131a6675b304f3170 md5: 379d0178f29626ca1af949cac0d22242 @@ -32906,28 +29236,6 @@ packages: license: Apache-2.0 size: 121074 timestamp: 1791436411595 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-testing-3.4.12-np2py314hf807026_27.conda - sha256: f0ef3fdcc25518248b8545568526caec0030b00b7f12e1a3617d2e03d60d3e1b - md5: b3871cae82cf082d77a61325e4845697 - depends: - - pytest - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch - - ros2-launch-xml - - ros2-launch-yaml - - ros2-osrf-pycommon - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 123104 - timestamp: 1792679771860 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-testing-ament-cmake-3.4.12-np2py312hdd89193_25.conda sha256: 602e1b5a6962ca56e063c789f156619e14857640a251de382afc735f00f28df0 md5: 0cb8283df57c1d013ef612e7c16fc6e0 @@ -32947,25 +29255,6 @@ packages: license: Apache-2.0 OR BSD-3-Clause size: 24612 timestamp: 1791439855790 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-testing-ament-cmake-3.4.12-np2py314hf807026_27.conda - sha256: afae7cf700a7aa3051d2442beaae84578303dcae1894f322979fc94dec10ece3 - md5: 914b1e312db982fc212e85ebc4386ddc - depends: - - python - - ros2-ament-cmake-test - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch-testing - - ros2-python-cmake-module - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 OR BSD-3-Clause - size: 25485 - timestamp: 1792685212066 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-testing-ros-0.26.13-np2py312hdd89193_25.conda sha256: 16cb4a679b23777961da4c5566eb734a6bd81a5f12338c6fae0c1a3051cef822 md5: 1b07ce82f14c259e626dfe122598c9aa @@ -32986,26 +29275,6 @@ packages: license: Apache-2.0 size: 54379 timestamp: 1791453831527 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-testing-ros-0.26.13-np2py314hf807026_27.conda - sha256: a54c31a60ec4cbb9e3ecf377a34595327ff91f6428e03a3b6107438e6be49b7b - md5: 44b203924f522b87b42dd1e1ca400fa7 - depends: - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch-ros - - ros2-launch-testing - - ros2-rclpy - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 55279 - timestamp: 1792704138437 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-xml-3.4.12-np2py312hdd89193_25.conda sha256: 2abf97f3efece65b6d910778f7f65115000fbc0fca985c114b3bc9959d195b9e md5: 444ffdd78901e6da3144d996fa554da4 @@ -33023,23 +29292,6 @@ packages: license: Apache-2.0 size: 23440 timestamp: 1791435282972 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-xml-3.4.12-np2py314hf807026_27.conda - sha256: bb213628eb7b90a69b40724fb4d51b0932cee11ab5bdb38d2df8f17d70df9a29 - md5: 185aa8319ddf24ec3c9c5dd160c57576 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 23864 - timestamp: 1792678616020 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-yaml-3.4.12-np2py312hdd89193_25.conda sha256: 599aeca877f7cf61bdd55da18382c75c8151bbba81b32067c0ad8ec969135974 md5: 1cbf5ef009d4f736bb0d2d54a9ba6f51 @@ -33057,23 +29309,6 @@ packages: license: Apache-2.0 size: 24025 timestamp: 1791435226732 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-launch-yaml-3.4.12-np2py314hf807026_27.conda - sha256: fe645cdc4d272f0864a61784424a52f0495747caf16e359156da91872eec0437 - md5: bf13fe92c4eeeeded6c597c456732645 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 24441 - timestamp: 1792678559267 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-libcurl-vendor-3.4.4-np2py312h3ebd44a_25.conda sha256: 6a6a333e41b5a13e3bb5232d361d20adf899dd5007f9623995a1e7f0ba33805a md5: 5c9f227e114f652358628fd7cf88aa6b @@ -33104,29 +29339,12 @@ packages: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - license: Apache-2.0 OR BSD-3-Clause OR GPL-2.0-only - size: 21690 - timestamp: 1791433231149 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-liblz4-vendor-0.26.11-np2py314hf807026_27.conda - sha256: 86a4f63ee094cd36009d34bec7b7af5d1527f6c64706a0de36ed04c37c773141 - md5: 11ffd5ad048e7635d0ad1a9b4fd70732 - depends: - - lz4 - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 OR BSD-3-Clause OR GPL-2.0-only - size: 22286 - timestamp: 1792676584359 + size: 21690 + timestamp: 1791433231149 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-libstatistics-collector-1.7.4-np2py312hdd89193_25.conda sha256: 91372d33e97a4e6d496d09ae381b0c9a7ac9e434de60b72a69f72aa334859e8d md5: 67ef522917c888e54bbf1ef018771505 @@ -33148,27 +29366,6 @@ packages: license: Apache-2.0 size: 60706 timestamp: 1791453488214 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-libstatistics-collector-1.7.4-np2py314hf807026_27.conda - sha256: cb30a8d9a094ef5ecf3166a13eb0ad9ea91debc71b7c168427de88a810af2871 - md5: b91f29f72270a5037bcb375649117743 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl - - ros2-rcpputils - - ros2-rmw - - ros2-ros-workspace - - ros2-statistics-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 61432 - timestamp: 1792703684268 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-libyaml-vendor-1.6.4-np2py312hdd89193_25.conda sha256: 906c753ed85fba0d7a213cd0d94bef9d7cc96dacf718be2e0c596957c83b5854 md5: abfd7116ddc12c5b65ca9617dc5cb447 @@ -33190,27 +29387,6 @@ packages: license: Apache-2.0 OR MIT size: 27130 timestamp: 1791440048602 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-libyaml-vendor-1.6.4-np2py314hf807026_27.conda - sha256: 9991b0d14f2438cfa32edac7d917f4b11ed34973ba3b3c2be7a520ea1b8a36ef - md5: 9ce269eb4bd7b3e311f14425c72f6ce5 - depends: - - pkg-config - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - yaml - - yaml-cpp - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - yaml >=0.2.5,<0.3.0a0 - - numpy >=1.25,<3 - - yaml-cpp >=0.8.0,<0.9.0a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 OR MIT - size: 27729 - timestamp: 1792685473181 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-lifecycle-msgs-2.0.4-np2py312hdd89193_25.conda sha256: 6d0a586a59498e0a5d1f2334ca1dd2673508053189046be2ba09e2c0bc59ed11 md5: 648cabc465b033d7e895c09a753dc6fe @@ -33228,23 +29404,6 @@ packages: license: Apache-2.0 size: 255985 timestamp: 1791449363653 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-lifecycle-msgs-2.0.4-np2py314hf807026_27.conda - sha256: 0d09c032572bbc16048b8271f98204ec10eae5cca003b47912ffbbba98d4aabe - md5: 506b7af69f13c03297366663a2230647 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 259614 - timestamp: 1792698011706 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-mcap-vendor-0.26.11-np2py312hdd89193_25.conda sha256: 5d3766229fa0f0f996fbcec9034587a7c696057735b4850fc6ede0472b655a64 md5: 42142f886936c1f10c3bbe9c5d7935cd @@ -33263,24 +29422,6 @@ packages: license: Apache-2.0 size: 165605 timestamp: 1791435328148 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-mcap-vendor-0.26.11-np2py314hf807026_27.conda - sha256: f5bc3e442acf5866c26fd6dcf4d5ec6453d8d69f8ad32b10cb66ffa2fd264539 - md5: f3af62b59b623ea6cd0b5d269d7a5a64 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-liblz4-vendor - - ros2-ros-workspace - - ros2-zstd-vendor - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 166388 - timestamp: 1792678681208 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-message-filters-4.11.17-np2py312hdd89193_25.conda sha256: 332ffa1700b534c3a2ddd3c795815d08b4b5a8cc00d5425ae2198a0f09a780ed md5: b69d1ab56e5707be8618e1437711b031 @@ -33302,27 +29443,6 @@ packages: license: BSD-3-Clause size: 96278 timestamp: 1791460973613 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-message-filters-4.11.17-np2py314hf807026_27.conda - sha256: b1b0f289914c1d91e393181703975cc4fdeb0cd3ae25fcdecd460987b0720b71 - md5: a3938333662a905fbf6e2eb0b36d747f - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclcpp - - ros2-rclpy - - ros2-rcutils - - ros2-ros-workspace - - ros2-std-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 98621 - timestamp: 1792717694279 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-nav-msgs-5.3.8-np2py312hdd89193_25.conda sha256: 87a5e9399d35dd9af16d81c35bca210fdc8fc7a61b317424fac47d0ec8f36fdb md5: 0195c2a053e6757b356e9028aee49011 @@ -33343,26 +29463,6 @@ packages: license: Apache-2.0 size: 326270 timestamp: 1791456734985 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-nav-msgs-5.3.8-np2py314hf807026_27.conda - sha256: 81f05b5e5f099a2068973f872519a93cdc65b57cec91f3122997b9d72a536a29 - md5: 146a0ff58c51db0c0ed2dbf5a3efe13e - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 327748 - timestamp: 1792709746907 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-orocos-kdl-vendor-0.5.2-np2py312hd11d946_25.conda sha256: d7ad4cd5f811b8600d83c01052f6cae94826b562b213b00665422e47f84f48ce md5: f658d3204f0d6e07b21a1678a19d8ba8 @@ -33385,28 +29485,6 @@ packages: license: Apache-2.0 OR LGPL-2.1-or-later size: 25846 timestamp: 1791439277971 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-orocos-kdl-vendor-0.5.2-np2py314h3d5669a_27.conda - sha256: bedc6630a777ff9d083119afb7fff4d90b01f0c4d23031225cc43086bdfac073 - md5: 254ea65c2028cb35d8accf1339533254 - depends: - - eigen - - eigen-abi-devel - - orocos-kdl - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-eigen3-cmake-module - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - eigen-abi >=5.0.1.100,<5.0.1.101.0a0 - - orocos-kdl >=1.5.4,<1.6.0a0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 OR LGPL-2.1-or-later - size: 26450 - timestamp: 1792683848960 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-osrf-pycommon-2.1.7-np2py312hdd89193_25.conda sha256: 30e297050ef9268cdc55f0e609f5187c26e40aa572578f3d18b862af19bef4b6 md5: 58b711d059cc60d9d0db0863d94a61a0 @@ -33424,23 +29502,6 @@ packages: license: Apache-2.0 size: 60393 timestamp: 1791428156543 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-osrf-pycommon-2.1.7-np2py314hf807026_27.conda - sha256: 389075e8af3a4f6d542889fcb76a0fe544f461f3a0810bd99757b47d3ca255f5 - md5: d637365100df4fe7f749398b44a2f980 - depends: - - importlib-metadata - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 60731 - timestamp: 1792669277879 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-pluginlib-5.4.6-np2py312hdd89193_25.conda sha256: 1da76ce186942c21441b952d041d29ce898c6b224323d185a91211f71d1e5800 md5: 7efbb49469c45a383f45d7836bc5e3a4 @@ -33462,27 +29523,6 @@ packages: license: BSD-3-Clause size: 117576 timestamp: 1791444730781 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-pluginlib-5.4.6-np2py314hf807026_27.conda - sha256: 68bfc3c83941b2d9baf95d69c8462ae30b3b0641f2b1ad3a332c2ff08f438e67 - md5: 2255eaaf4d543c99712b60bbaa25444f - depends: - - python - - ros2-ament-index-cpp - - ros2-class-loader - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcpputils - - ros2-rcutils - - ros2-ros-workspace - - ros2-tinyxml2-vendor - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 118361 - timestamp: 1792692291862 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-pybind11-vendor-3.1.3-np2py312hdd89193_25.conda sha256: 95a51c80a1da0c8522b496fa1615d3cdcbfbd075828a31ef553b216ec231ea11 md5: 4dfac4de18f05942e7c249c794d9c997 @@ -33500,23 +29540,6 @@ packages: license: Apache-2.0 OR BSD-3-Clause size: 20722 timestamp: 1791432650451 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-pybind11-vendor-3.1.3-np2py314hf807026_27.conda - sha256: 8c15ada2043539663545ac7f8b678abaf05f8b094e2453b9129a7371e6f309af - md5: 71b02de2a420cab59fb493875707d6c9 - depends: - - pybind11 - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 OR BSD-3-Clause - size: 21344 - timestamp: 1792676012172 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-python-cmake-module-0.11.1-np2py312hdd89193_25.conda sha256: 7d0d22caeab384afb7bb147cbe14845afd2c232a23f448ac1fcef426c9c93d52 md5: 8055f0da9dee64980b626d2f83ecb143 @@ -33569,26 +29592,6 @@ packages: license: Apache-2.0 OR LGPL-2.1-or-later size: 25268 timestamp: 1791440274828 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-python-orocos-kdl-vendor-0.5.2-np2py314hf807026_27.conda - sha256: c410473b4c118e6dabf2714e9a5895ede66584c4cdde1388615adbb70af07b97 - md5: 65e0969fd30f8a070cea7d91b0ff5c9d - depends: - - python - - python-orocos-kdl - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-orocos-kdl-vendor - - ros2-pybind11-vendor - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - python-orocos-kdl >=1.5.4,<1.6.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 OR LGPL-2.1-or-later - size: 25969 - timestamp: 1792685847793 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-python-qt-binding-2.2.2-np2py312hf1dc57d_25.conda sha256: d7e80044aaeac7c44b2469cdd243b3dceed98d9c5456aa435f69e09f5a2f3245 md5: 465dbca4e1476a449a0a180b49b5e3dc @@ -33684,38 +29687,6 @@ packages: license: Apache-2.0 size: 198146 timestamp: 1791452391489 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-9.2.11-np2py314hf807026_27.conda - sha256: a11c2cf7ec2e533567fba4d3cb24007768211750e7f5682e22ad7dc078e55151 - md5: 592fbc7d321fa67cfc955eaab873b396 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-libyaml-vendor - - ros2-rcl-interfaces - - ros2-rcl-logging-interface - - ros2-rcl-logging-spdlog - - ros2-rcl-yaml-param-parser - - ros2-rcutils - - ros2-rmw - - ros2-rmw-implementation - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - ros2-service-msgs - - ros2-tracetools - - ros2-type-description-interfaces - - yaml - - yaml-cpp - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - yaml-cpp >=0.8.0,<0.9.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - yaml >=0.2.5,<0.3.0a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 200239 - timestamp: 1792702188352 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-action-9.2.11-np2py312hdd89193_25.conda sha256: c33251e42831ad587f00d5b77bdb1cbf51003bf6401a6c5206f49b382b42eed1 md5: 9fc6d6c0d22f7e4a7711ed9dbfee284c @@ -33737,27 +29708,6 @@ packages: license: Apache-2.0 size: 83917 timestamp: 1791452507071 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-action-9.2.11-np2py314hf807026_27.conda - sha256: 6e7724ca9f0f75b790e25e6359f6a15862d5c7623f28241c633071ee9bd8145e - md5: a5805e977dc8962493abb92edf7e7c17 - depends: - - python - - ros2-action-msgs - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 84692 - timestamp: 1792702391125 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-interfaces-2.0.4-np2py312hdd89193_25.conda sha256: 32c37379c628354b30b933fb4c9d00506a4863d984e6dd36d81825ce54c91fe4 md5: 48a1ecbe4951c9c99653ce0ce8affb5e @@ -33776,24 +29726,6 @@ packages: license: Apache-2.0 size: 489270 timestamp: 1791449236400 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-interfaces-2.0.4-np2py314hf807026_27.conda - sha256: 3bfce02ff40677777bdc33251597dd82ceca0113bc6514d391a0e30b00052481 - md5: a1b3cdb8220b8466b70a4479ae21d6d2 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 491356 - timestamp: 1792697872924 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-lifecycle-9.2.11-np2py312hdd89193_25.conda sha256: b427cbf95349ec154020fd916251841ca08105f9fd0f2750298ac29218582b30 md5: d7b96b8cbfb1a86050a619106d176017 @@ -33816,62 +29748,23 @@ packages: license: Apache-2.0 size: 57945 timestamp: 1791452457160 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-lifecycle-9.2.11-np2py314hf807026_27.conda - sha256: cef3fa27bae664e6456513c1bd092dc1c2d4c52984f48cbc5e6c1b7500e0ce66 - md5: e1846034f0016868263590fb184d696c - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-lifecycle-msgs - - ros2-rcl - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - ros2-tracetools - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 58637 - timestamp: 1792702299827 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-logging-interface-3.1.1-np2py312hdd89193_25.conda - sha256: 99149dd1645644001c97504e8d3244ab45fecbb7c81ba6eb1aec1027844bb68c - md5: 0a19fdd689c8d271be46393390f0dcee - depends: - - python - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-rcutils - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: Apache-2.0 - size: 36047 - timestamp: 1791443172117 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-logging-interface-3.1.1-np2py314hf807026_27.conda - sha256: ad787ae6354f42991006fc0681b5663e991b6ba674ef08102aecba292e67d96c - md5: 25cb8c0ae5c277b7dd296598ea07f4a9 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-logging-interface-3.1.1-np2py312hdd89193_25.conda + sha256: 99149dd1645644001c97504e8d3244ab45fecbb7c81ba6eb1aec1027844bb68c + md5: 0a19fdd689c8d271be46393390f0dcee depends: - python - - ros2-distro-mutex 0.20.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rcutils - ros2-ros-workspace - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 36862 - timestamp: 1792690104357 + size: 36047 + timestamp: 1791443172117 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-logging-spdlog-3.1.1-np2py312hcd4b164_25.conda sha256: dbde81970b8f19068b8c35c30d0c679fa748518db72149c9c2ca43b02682ecb3 md5: 0f2b95279671fd5da1b77f6e3b000a88 @@ -33896,30 +29789,6 @@ packages: license: Apache-2.0 size: 48059 timestamp: 1791444670352 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-logging-spdlog-3.1.1-np2py314hc4ee0df_27.conda - sha256: 5e6ed36d84723e50769ae3b2c694942aa1993d93917a8afc06dbf7fa325f84dd - md5: 3e0f9de4e7c4673a9bb45bbdc2147dc5 - depends: - - fmt - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl-logging-interface - - ros2-rcpputils - - ros2-rcutils - - ros2-ros-workspace - - ros2-spdlog-vendor - - spdlog - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - spdlog >=1.17.0,<1.18.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - fmt >=12.1.0,<12.2.0a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 48738 - timestamp: 1792692214887 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-yaml-param-parser-9.2.11-np2py312hdd89193_25.conda sha256: 83663c045f55b816550b0aa856d716cc9b68037a650292cbc545fe6e481e26c5 md5: 1e8607ee360f448b6d45a4ceca2e8b33 @@ -33943,29 +29812,6 @@ packages: license: Apache-2.0 size: 53250 timestamp: 1791446344310 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcl-yaml-param-parser-9.2.11-np2py314hf807026_27.conda - sha256: 3c17c12b7e5f714790eee3b95dc1dc03b118a03e695e38cf39aa7a8c5690e8e2 - md5: 13f2d41201bbd729129aa90ac8c5c2ec - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-libyaml-vendor - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - yaml - - yaml-cpp - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - yaml-cpp >=0.8.0,<0.9.0a0 - - yaml >=0.2.5,<0.3.0a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 53987 - timestamp: 1792694054825 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-28.1.22-np2py312hdd89193_25.conda sha256: 6f69f7bb3a31125c06342cf7ad6d7169f263ad815f8c3ffca565bcbc6fee3a6e md5: 26e8772cb1d73bccc465ef7ab3f92a3f @@ -34000,40 +29846,6 @@ packages: license: Apache-2.0 size: 742676 timestamp: 1791455533631 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-28.1.22-np2py314hf807026_27.conda - sha256: b9387f3c7b264ff6654a8fb6c9d5fa9ef260bb12162d181e24e1fcb860e81cda - md5: 0c2750f300aa460ef86a505980d9353f - depends: - - python - - ros2-ament-index-cpp - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-libstatistics-collector - - ros2-rcl - - ros2-rcl-interfaces - - ros2-rcl-logging-interface - - ros2-rcl-yaml-param-parser - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosgraph-msgs - - ros2-rosidl-dynamic-typesupport - - ros2-rosidl-runtime-c - - ros2-rosidl-runtime-cpp - - ros2-rosidl-typesupport-c - - ros2-rosidl-typesupport-cpp - - ros2-statistics-msgs - - ros2-tracetools - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 743555 - timestamp: 1792708148821 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-action-28.1.22-np2py312hdd89193_25.conda sha256: 8dec4153be02ce47162d7f0c36f85ecfcd402e809e931e9e32b5773e861e1686 md5: d31f915b0f3688feff6645a5ba0c7223 @@ -34057,29 +29869,6 @@ packages: license: Apache-2.0 size: 134118 timestamp: 1791457842093 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-action-28.1.22-np2py314hf807026_27.conda - sha256: 4db70a51e57e639041d6ba7b134160091f9ed0407619b689c4a3885c17b2291c - md5: a9260e15446c4f248d31f57d7f79f766 - depends: - - python - - ros2-action-msgs - - ros2-ament-cmake - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl - - ros2-rcl-action - - ros2-rclcpp - - ros2-rcpputils - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 134826 - timestamp: 1792712934266 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-components-28.1.22-np2py312hdd89193_25.conda sha256: 242dce13a3d82de2a6e2a1865ee07b3f596540f3aaa906d3a6bc79f2306958c7 md5: dfc34f80bfd5169a178de89bccbd9a05 @@ -34100,26 +29889,6 @@ packages: license: Apache-2.0 size: 116684 timestamp: 1791457924743 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-components-28.1.22-np2py314hf807026_27.conda - sha256: 02e4d487a440b1e933ca3a282f5495caf476e3cb7f75727e7918e8dab8c78648 - md5: 0f5cae0b967cd967b241b0751c4381ee - depends: - - python - - ros2-ament-index-cpp - - ros2-class-loader - - ros2-composition-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclcpp - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 117462 - timestamp: 1792713057116 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-lifecycle-28.1.22-np2py312hdd89193_25.conda sha256: 2bb0934ce3a03da4d477c800fcddb5eceb324578f7a9339cb99bfc0ea6215e58 md5: f291c57d5f597cb67b4fa447dc3e8fc6 @@ -34144,30 +29913,6 @@ packages: license: Apache-2.0 size: 99991 timestamp: 1791457758034 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclcpp-lifecycle-28.1.22-np2py314hf807026_27.conda - sha256: 3652293539afd06bb2f23fbae7451defb9605155f8e7861cf56efbaa68b7c540 - md5: d70a3f7b5d61b6b58abdb8b8279b348d - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-lifecycle-msgs - - ros2-rcl - - ros2-rcl-interfaces - - ros2-rcl-lifecycle - - ros2-rclcpp - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosidl-typesupport-cpp - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 100780 - timestamp: 1792712800056 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclpy-7.1.12-np2py312hdd89193_25.conda sha256: a5f50b78a3c2b7d66e668a85e53470b69b008d75e467cbae84d826bb9519f2e1 md5: 4ca9f02ecb234e166503b18a4af29426 @@ -34201,39 +29946,6 @@ packages: license: Apache-2.0 size: 588911 timestamp: 1791452560550 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rclpy-7.1.12-np2py314hf807026_27.conda - sha256: c5ff7d0f48e8f3fb3579f897a17b4ea705d6af523c421945c95bf9aa781df15a - md5: 2d2160780865b839596f676ae6a6d171 - depends: - - python - - pyyaml - - ros2-action-msgs - - ros2-ament-index-python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-lifecycle-msgs - - ros2-rcl - - ros2-rcl-action - - ros2-rcl-interfaces - - ros2-rcl-lifecycle - - ros2-rcl-logging-interface - - ros2-rcl-yaml-param-parser - - ros2-rmw - - ros2-rmw-implementation - - ros2-ros-workspace - - ros2-rosgraph-msgs - - ros2-rosidl-runtime-c - - ros2-rpyutils - - ros2-unique-identifier-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 603339 - timestamp: 1792702478705 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcpputils-2.11.4-np2py312hdd89193_25.conda sha256: 4b4b0d6fcb568683e3519aa60fe402013d04a1d899f01f7cfffd30158acd8a2c md5: ee42c0c3824480d9c7156252156681c9 @@ -34374,23 +30086,6 @@ packages: license: Apache-2.0 size: 29287 timestamp: 1791452288835 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-connextdds-0.22.3-np2py314hf807026_27.conda - sha256: 612e44ff7a3bc0909f62e34b346b7403b2f0a40c0d8a809363928df1cd643225 - md5: 7d6c67829beb01c1f1ae502ac37176e8 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rmw-connextdds-common - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 30104 - timestamp: 1792701895325 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-connextdds-common-0.22.3-np2py312hdd89193_25.conda sha256: ef3ccad2fb8df1c14cb186116ff1bf1d1db1ccaeff9cefe4fca8705d4c402ea2 md5: fd5e49ca9eeba6aa8fb0b44719ff80ce @@ -34420,35 +30115,6 @@ packages: license: Apache-2.0 size: 51163 timestamp: 1791451635864 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-connextdds-common-0.22.3-np2py314hf807026_27.conda - sha256: a9695276ad960f7562e3e9ca5f5e82509d9057158739c581bd56f9a34487b800 - md5: 21cc057b57d27e6c8807b9d8201b27f6 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-fastcdr - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-rmw-dds-common - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - ros2-rosidl-runtime-cpp - - ros2-rosidl-typesupport-fastrtps-c - - ros2-rosidl-typesupport-fastrtps-cpp - - ros2-rosidl-typesupport-introspection-c - - ros2-rosidl-typesupport-introspection-cpp - - ros2-rti-connext-dds-cmake-module - - ros2-tracetools - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 51970 - timestamp: 1792700898272 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py312hdd89193_25.conda sha256: ae3eb66a207d6d53d4a31bcd40f0a136a12e7712a56018d768eba7e9dc1d2954 md5: 2e02fe9f383dc2c89ce1fed697ec8558 @@ -34475,32 +30141,6 @@ packages: license: Apache-2.0 size: 184113 timestamp: 1791451708209 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-cyclonedds-cpp-2.2.4-np2py314hf807026_27.conda - sha256: badfc751fd6136fa097221d41a0f44d2aeb7a3e3dc9505e26064874ba9787e54 - md5: c14dcc4dc5f0c162e4cd1c792e582fc0 - depends: - - python - - ros2-cyclonedds - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-iceoryx-binding-c - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-rmw-dds-common - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - ros2-rosidl-typesupport-introspection-c - - ros2-rosidl-typesupport-introspection-cpp - - ros2-tracetools - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 184884 - timestamp: 1792700970844 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-dds-common-3.1.1-np2py312hdd89193_25.conda sha256: a9b170a56332c674952ae47220e4df1286d89d1c524d4ed7e198bf4d01b2eb02 md5: 5de122577414abdf6177ecddc2e073f3 @@ -34511,77 +30151,24 @@ packages: - ros2-rcutils - ros2-rmw - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-rosidl-runtime-c - - ros2-rosidl-runtime-cpp - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - numpy >=1.25,<3 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - size: 188295 - timestamp: 1791448902452 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-dds-common-3.1.1-np2py314hf807026_27.conda - sha256: 49bcf1fe018eb3ca719cd6b4ca915a5188ca1591c6a0a143d5f0c0bf49ff6c3f - md5: 055086c5f119ae60c74b5d482ee3cbd8 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-rosidl-runtime-c - - ros2-rosidl-runtime-cpp - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 189654 - timestamp: 1792697571274 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312hdd89193_25.conda - sha256: 48f09e68bb8baf8e3ab66f683cb7c37051cb2e40cdf62d2cbb1243a555bf0098 - md5: 192987b691868ddab7be802313e402ca - depends: - - python - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-fastcdr - - ros2-fastrtps - - ros2-fastrtps-cmake-module - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-rmw-dds-common - - ros2-rmw-fastrtps-shared-cpp - - ros2-ros-workspace - - ros2-rosidl-dynamic-typesupport - - ros2-rosidl-dynamic-typesupport-fastrtps + - ros2-rosidl-default-runtime - ros2-rosidl-runtime-c - ros2-rosidl-runtime-cpp - - ros2-rosidl-typesupport-fastrtps-c - - ros2-rosidl-typesupport-fastrtps-cpp - - ros2-tracetools - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 148671 - timestamp: 1791452199830 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-cpp-8.4.4-np2py314hf807026_27.conda - sha256: 98bdb0434db1f5abd2d37a9459fcabe4c98c524a1763ab192bfda4dc088912e2 - md5: 51aab07d76871cc3f1731de5578560da + size: 188295 + timestamp: 1791448902452 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-cpp-8.4.4-np2py312hdd89193_25.conda + sha256: 48f09e68bb8baf8e3ab66f683cb7c37051cb2e40cdf62d2cbb1243a555bf0098 + md5: 192987b691868ddab7be802313e402ca depends: - python - - ros2-distro-mutex 0.20.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-fastcdr - ros2-fastrtps - ros2-fastrtps-cmake-module @@ -34601,12 +30188,12 @@ packages: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 - size: 149513 - timestamp: 1792701763900 + size: 148671 + timestamp: 1791452199830 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py312hdd89193_25.conda sha256: fa72b307f1615b28d5e138cc4999ba1650bd41336b4da8a4ceeea3f04957e008 md5: 62cd75e198b9bff01f4dd84a2e7da59a @@ -34634,33 +30221,6 @@ packages: license: Apache-2.0 size: 173657 timestamp: 1791452047307 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-dynamic-cpp-8.4.4-np2py314hf807026_27.conda - sha256: 7275e365d6134c6ad85192dda874c7ce42ad01a18dd61e25c6604e77c7e32a61 - md5: 1d817da62f874d47e210ef36700348ae - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-fastcdr - - ros2-fastrtps - - ros2-fastrtps-cmake-module - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-rmw-dds-common - - ros2-rmw-fastrtps-shared-cpp - - ros2-ros-workspace - - ros2-rosidl-runtime-c - - ros2-rosidl-typesupport-introspection-c - - ros2-rosidl-typesupport-introspection-cpp - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 174494 - timestamp: 1792701557263 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py312hdd89193_25.conda sha256: adab142b429987fd0d99f8fbd52107b56cf29137f92a033006df4c003ddc020d md5: 7f1fa6d7e2175cb7fcb5009c43014bfe @@ -34688,33 +30248,6 @@ packages: license: Apache-2.0 size: 238769 timestamp: 1791451459908 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-fastrtps-shared-cpp-8.4.4-np2py314hf807026_27.conda - sha256: dcfe9dbf1c15054933957c2a93da2f4a52315928b35e1ca329a117b1a5e47f23 - md5: 700461de8ec9c3a27f53bf6701865cda - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-fastcdr - - ros2-fastrtps - - ros2-fastrtps-cmake-module - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-rmw-dds-common - - ros2-ros-workspace - - ros2-rosidl-dynamic-typesupport - - ros2-rosidl-typesupport-introspection-c - - ros2-rosidl-typesupport-introspection-cpp - - ros2-tracetools - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 239585 - timestamp: 1792700691816 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-2.15.6-np2py312hdd89193_25.conda sha256: 822f97461ed65c556e06207cc4f92c5565c4f865e741fe8e2e695d93ab8d5538 md5: 29d5d788480a51ae1c3553f2e3d6a906 @@ -34739,33 +30272,9 @@ packages: license: Apache-2.0 size: 58505 timestamp: 1791452336001 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-2.15.6-np2py314hf807026_27.conda - sha256: ffc0eb451a49510404d1c88c862e778b2f7b27ae72b1e6a7f460e2da8b8c97a2 - md5: af0d7be9b69537a1cd5323ad5c540152 - depends: - - python - - ros2-ament-index-cpp - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw-connextdds - - ros2-rmw-cyclonedds-cpp - - ros2-rmw-fastrtps-cpp - - ros2-rmw-fastrtps-dynamic-cpp - - ros2-rmw-implementation-cmake - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 59221 - timestamp: 1792702090102 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-cmake-7.3.4-np2py312hdd89193_25.conda - sha256: 400f743b1375a062401662799b33d66c37dbdcc9c32e0a87232c0162e5688db8 - md5: e2e25ca57628f49d4c63abb9f8c7f833 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-cmake-7.3.4-np2py312hdd89193_26.conda + sha256: 17ada03ec508e74af1edbe740579c1b08cc0746380247b75a857f2898efb1c65 + md5: e661a08b65680c0c4736d3cab86887d9 depends: - python - ros2-ament-cmake @@ -34774,29 +30283,12 @@ packages: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: Apache-2.0 - size: 26806 - timestamp: 1791438973999 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-implementation-cmake-7.3.4-np2py314hf807026_27.conda - sha256: 5a9dfd6142f05e806f8755b456fd37047554dfe278ecf0461e243e2751c2f58a - md5: 2e59f67d9251a11cd4b935d19937b4d1 - depends: - - python - - ros2-ament-cmake - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 license: Apache-2.0 - size: 27540 - timestamp: 1792683252449 + size: 27483 + timestamp: 1792649785102 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-zenoh-cpp-0.2.11-np2py312hbb4efd0_25.conda sha256: dc3953e3c3834fa5b755ea2813b27e46da71de32bd519e7acc5d088d2cd62a4d md5: 0327ffff49dbc0e625cd41ef22147a96 @@ -34823,32 +30315,6 @@ packages: license: Apache-2.0 OR BSD-3-Clause size: 221979 timestamp: 1791447718360 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-zenoh-cpp-0.2.11-np2py314hbd028d1_27.conda - sha256: 50c39209c7ec3f4186e7424ed4361a798397d9adaa3f4f109242a00049b66dd1 - md5: 409cda1fec26cd7daf709c3a3dd972f8 - depends: - - python - - ros2-ament-index-cpp - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-fastcdr - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosidl-typesupport-fastrtps-c - - ros2-rosidl-typesupport-fastrtps-cpp - - ros2-tracetools - - ros2-zenoh-cpp-vendor - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - libzenohc >=1.10.1,<1.10.2.0a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 OR BSD-3-Clause - size: 222722 - timestamp: 1792695768254 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-robot-state-publisher-3.3.4-np2py312hdd89193_25.conda sha256: 2991c39c4e9e9405e424a2356242c0917579574f129080aa5dbb095cab896809 md5: 3949e98d31aaa927620965ff606df4c3 @@ -34876,33 +30342,6 @@ packages: license: BSD-3-Clause size: 908023 timestamp: 1791467203726 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-robot-state-publisher-3.3.4-np2py314hf807026_27.conda - sha256: 94a34bb126191f72bea3583644a9990c29b94194117e814b4a318cc8a63fe1c3 - md5: fe323d255a4dd5959de52f2990818d38 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-kdl-parser - - ros2-orocos-kdl-vendor - - ros2-rcl-interfaces - - ros2-rclcpp - - ros2-rclcpp-components - - ros2-ros-workspace - - ros2-sensor-msgs - - ros2-std-msgs - - ros2-tf2-ros - - ros2-urdf - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 909846 - timestamp: 1792727614529 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-base-0.11.0-np2py312hdd89193_25.conda sha256: 0b06d83d66ad182ce61b78dd688ec87324a027f45099b54255ed2ccb4a14c812 md5: 56a0b64cf57a6bb8081ba11e88269737 @@ -34925,28 +30364,6 @@ packages: license: Apache-2.0 size: 19871 timestamp: 1791501272870 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-base-0.11.0-np2py314hf807026_27.conda - sha256: dd9b6f83aff60b29eb1bac6ceafe06e493176a1d9f50f2367abffea66e52c154 - md5: 5df940afe6ba8a81a495c1e33865e1bc - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry2 - - ros2-kdl-parser - - ros2-robot-state-publisher - - ros2-ros-core - - ros2-ros-workspace - - ros2-rosbag2 - - ros2-urdf - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 20726 - timestamp: 1792757017692 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-core-0.11.0-np2py312hdd89193_25.conda sha256: 2850d8907d5fd6888facf7048102b10a36fa2ae0f99bc03e152ce9cfece5684e md5: 9fbe2b575cfedfd03087048601f79bb0 @@ -34995,54 +30412,6 @@ packages: license: Apache-2.0 size: 20527 timestamp: 1791476681758 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-core-0.11.0-np2py314hf807026_27.conda - sha256: 87838cf1b3cb1d9476b9c34aa4f72bd472a1815d693b0a60d21ee6503ffccbad - md5: 13435a1ad757b233d13d12a466cd4ee6 - depends: - - python - - ros2-ament-cmake - - ros2-ament-cmake-auto - - ros2-ament-cmake-gmock - - ros2-ament-cmake-gtest - - ros2-ament-cmake-pytest - - ros2-ament-cmake-ros - - ros2-ament-index-cpp - - ros2-ament-index-python - - ros2-ament-lint-auto - - ros2-ament-lint-common - - ros2-class-loader - - ros2-common-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch - - ros2-launch-ros - - ros2-launch-testing - - ros2-launch-testing-ament-cmake - - ros2-launch-testing-ros - - ros2-launch-xml - - ros2-launch-yaml - - ros2-pluginlib - - ros2-rcl-lifecycle - - ros2-rclcpp - - ros2-rclcpp-action - - ros2-rclcpp-lifecycle - - ros2-rclpy - - ros2-ros-environment - - ros2-ros-workspace - - ros2-ros2cli-common-extensions - - ros2-ros2launch - - ros2-rosidl-default-generators - - ros2-rosidl-default-runtime - - ros2-sros2 - - ros2-sros2-cmake - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 21294 - timestamp: 1792738075408 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-environment-4.2.1-np2py312hdd89193_25.conda sha256: fdc90756e15b4fbb3aad64f204416c5f25b2e52473a91b327b95b020081b8ddc md5: 95107dcf935a3cd526d0b43efb3a2ebb @@ -35124,27 +30493,6 @@ packages: license: Apache-2.0 size: 44562 timestamp: 1791456541682 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2action-0.32.13-np2py314hf807026_27.conda - sha256: 52197069358d89296da901fd312822fc32b855f4fb0900383eb656be7c95703a - md5: 062e564ed4f82e569e438e6488ffef24 - depends: - - python - - ros2-action-msgs - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-rosidl-runtime-py - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 44846 - timestamp: 1792709563910 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2bag-0.26.11-np2py312hdd89193_25.conda sha256: dc849fae1f2aaa33fa23c5de15db335b68ae30770526e14c89a031f5e89f52d9 md5: 46c79bccdf5caf8da68283b5e4fe7eee @@ -35157,80 +30505,37 @@ packages: - ros2-ros-workspace - ros2-ros2cli - ros2-rosbag2-py - - ros2-rosbag2-storage-default-plugins - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 67037 - timestamp: 1791494366925 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2bag-0.26.11-np2py314hf807026_27.conda - sha256: 6d4e3ddd7b8973abd1fc03c92c60fdc75407a9f24b0d2acb7708dd1c1d29a00b - md5: bc3e4728f2734c56c2b2e96ed7f274dd - depends: - - python - - pyyaml - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-rosbag2-py - - ros2-rosbag2-storage-default-plugins - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 68083 - timestamp: 1792753240668 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-0.32.13-np2py312hdd89193_25.conda - sha256: cec64c6375aae137dc6721fe2a2a2c400cc275242cd67f83e19de9c36a4a3bfa - md5: 679aa480ae441f54826b107ab9f898fb - depends: - - argcomplete - - importlib-metadata - - packaging - - psutil - - python - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace + - ros2-rosbag2-storage-default-plugins - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: Apache-2.0 - size: 85443 - timestamp: 1791453054148 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-0.32.13-np2py314hf807026_27.conda - sha256: e83296c8cee14daa80e0e4d7fe10c6cb1ae233edeca286bfdb3012a95dd8b7e3 - md5: 5b0b7085e0306d46c59383882de57f4d + size: 67037 + timestamp: 1791494366925 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-0.32.13-np2py312hdd89193_26.conda + sha256: 68d08d7f47d435eaba776886c45d2b6fe0af0669f0ad4b04f8305f96d00c1fed + md5: f9fd24b12b4ec55e687edd05869aa63a depends: - argcomplete - importlib-metadata - packaging - psutil - python - - ros2-distro-mutex 0.20.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-workspace - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - numpy >=1.25,<3 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 86687 - timestamp: 1792702968693 + size: 85893 + timestamp: 1792621490444 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-common-extensions-0.3.1-np2py312hdd89193_25.conda sha256: a1221c8561e56552f5f04e594246d3cb9973560a7d77e12eae53940bab8e9890 md5: 21db86405755508361e9394ce21676f5 @@ -35265,40 +30570,6 @@ packages: license: Apache-2.0 size: 24138 timestamp: 1791467501631 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2cli-common-extensions-0.3.1-np2py314hf807026_27.conda - sha256: b05ac6ee0661f92511002abc6d38eaac4ceba8362a98e264c82dbb90cba509c7 - md5: 77873d56a514ba78dd7ef9fbf64d2702 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch-xml - - ros2-launch-yaml - - ros2-ros-workspace - - ros2-ros2action - - ros2-ros2cli - - ros2-ros2component - - ros2-ros2doctor - - ros2-ros2interface - - ros2-ros2launch - - ros2-ros2lifecycle - - ros2-ros2multicast - - ros2-ros2node - - ros2-ros2param - - ros2-ros2pkg - - ros2-ros2plugin - - ros2-ros2run - - ros2-ros2service - - ros2-ros2topic - - ros2-sros2 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 24859 - timestamp: 1792727962991 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2component-0.32.13-np2py312hdd89193_25.conda sha256: 3367ffa087acd3269144ebdc095cc7b3f6afab20f1d045041bd3733396ec24a1 md5: 83c991f6121b304bac66608f1d5ac91f @@ -35324,31 +30595,6 @@ packages: license: Apache-2.0 size: 35246 timestamp: 1791464763962 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2component-0.32.13-np2py314hf807026_27.conda - sha256: 260310bab2067c0f7be5d43fc098e2e4880cddb7583f8b6b417cd72f6a5c8d00 - md5: 5ce79a812fa1e65b62b92439c98b4cf8 - depends: - - python - - ros2-ament-index-python - - ros2-composition-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl-interfaces - - ros2-rclcpp-components - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2node - - ros2-ros2param - - ros2-ros2pkg - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 35752 - timestamp: 1792724081059 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2doctor-0.32.13-np2py312hdd89193_25.conda sha256: af9d1f4acea6536fa7e850baa7cc21f31b1b7cb38d19843c5d3f26114980855b md5: d3acd750f4047bef8d22f04aa83a8dd0 @@ -35374,31 +30620,6 @@ packages: license: Apache-2.0 size: 65233 timestamp: 1791456495492 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2doctor-0.32.13-np2py314hf807026_27.conda - sha256: 7c0f8c1c3592ca075a55f594ecdfffe48211be20ea7bee0c3d90a2afa52c006a - md5: 46d18d21ec05b9d3bd16d9f36d6ddbd6 - depends: - - catkin_pkg - - importlib-metadata - - psutil - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-environment - - ros2-ros-workspace - - ros2-ros2cli - - ros2-std-msgs - - rosdistro - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 66552 - timestamp: 1792709469383 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2interface-0.32.13-np2py312hdd89193_25.conda sha256: bdb432062ffe8800ec4ecfad5c753322ad41577e7f40940ccee6908deffe08f6 md5: cfa7eb88f8c18ff50e19954773c78496 @@ -35419,26 +30640,6 @@ packages: license: Apache-2.0 size: 44366 timestamp: 1791456445356 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2interface-0.32.13-np2py314hf807026_27.conda - sha256: 5dc54f4ff993b52917532514f558eab4104da19a4c999c96fbb6d7f804f255ee - md5: 52cbe0f6e1bef883302e488e0bbc06d6 - depends: - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-ros2cli - - ros2-rosidl-adapter - - ros2-rosidl-runtime-py - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 45112 - timestamp: 1792709378921 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2launch-0.26.13-np2py312hdd89193_25.conda sha256: 61e7747cdd918a22e9c306ffd5a1e941a834f037028cd33abca7bbbdd9e06ec2 md5: f0b97254574ee65134a4cf2c63658460 @@ -35462,29 +30663,6 @@ packages: license: Apache-2.0 size: 43799 timestamp: 1791458574421 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2launch-0.26.13-np2py314hf807026_27.conda - sha256: 5c9d96b89ad8d2251655585741a15def5b81f0e564192663514c3c99229138b3 - md5: dc2ca0234b07fc0bc5cfdd7fc8262fe6 - depends: - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-launch - - ros2-launch-ros - - ros2-launch-xml - - ros2-launch-yaml - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2pkg - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 44199 - timestamp: 1792714002257 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2lifecycle-0.32.13-np2py312hdd89193_25.conda sha256: b67cc405d79882b0702d8b9d3232dfec52cb2bfc8d780f7c38d2d0afe54d7a76 md5: 444887e01e1cdfec2702d5bf6530bcbb @@ -35506,27 +30684,6 @@ packages: license: Apache-2.0 size: 42301 timestamp: 1791464701849 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2lifecycle-0.32.13-np2py314hf807026_27.conda - sha256: e42726b21afec1c535aad0c49464ca1dd5ecd0f11062c3df39bbe2fd2e4900ad - md5: 83e80c88e4a19f1c72396a7e75e94b80 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-lifecycle-msgs - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2node - - ros2-ros2service - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 42485 - timestamp: 1792724005193 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2multicast-0.32.13-np2py312hdd89193_25.conda sha256: 36aa58209d9de981d6af5e4652b824c01c997acd0350a773d3c9da1023004154 md5: 96ecb0e633bf63f31c4dc0022a879dec @@ -35544,23 +30701,6 @@ packages: license: Apache-2.0 size: 22867 timestamp: 1791454076011 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2multicast-0.32.13-np2py314hf807026_27.conda - sha256: 3cce3a1da50142ec8ab59a0497682353838c61a51e18df91362c5c25bb8ba3be - md5: 125e56693962bc15a6ad378e035d3aa6 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-ros2cli - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 22943 - timestamp: 1792704475612 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2node-0.32.13-np2py312hdd89193_25.conda sha256: 50535f8b95c345cdb6d363310f731c31caa51520326288414631c7ae1a66edf3 md5: e192d6f9efb1f4cdda232ce05f88a591 @@ -35579,24 +30719,6 @@ packages: license: Apache-2.0 size: 40162 timestamp: 1791456231540 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2node-0.32.13-np2py314hf807026_27.conda - sha256: ceefaaf0b21f29d1410defd01837bbd1299aed21554ef60b1a10ec733d1d38e8 - md5: b2ce4179b1e607235291ece613a491dd - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 40588 - timestamp: 1792709024590 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2param-0.32.13-np2py312hdd89193_25.conda sha256: 19073c07774ec0e90f96afeee894cdd8aad13397e767e150aaa522448a60098e md5: ffab9c948f730ae2e21850fd00a6755c @@ -35618,27 +30740,6 @@ packages: license: Apache-2.0 size: 47281 timestamp: 1791461205621 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2param-0.32.13-np2py314hf807026_27.conda - sha256: 14e4dd388f4faf37a39ea88ab9a318b3d15f97fadb0158c9a37b051e430d4891 - md5: fa41993dca69cd283eb0f8448fef3b96 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl-interfaces - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2node - - ros2-ros2service - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 47702 - timestamp: 1792717925307 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2pkg-0.32.13-np2py312hdd89193_25.conda sha256: b565c621ba3e3cc795455a5da43c97f6d564966035daa335e043b95691ae24ed md5: bc531f86e5351315935a2c41732ca45c @@ -35661,28 +30762,6 @@ packages: license: Apache-2.0 size: 55534 timestamp: 1791456399735 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2pkg-0.32.13-np2py314hf807026_27.conda - sha256: 8c0a4404346aa26cf04c7b2c6f213a1bf6064a79eaa99bd6415adc2e72305a6b - md5: e582a6bb0e8b3d1587c8b5782c2e2c19 - depends: - - catkin_pkg - - empy - - importlib_resources - - python - - ros2-ament-copyright - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-ros2cli - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 55962 - timestamp: 1792709301408 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2plugin-5.4.6-np2py312hdd89193_25.conda sha256: 5dabc018963bbe054a7fc0f793008ac31b0f2e366b729dd1c2fd27d898f12acb md5: f5cd5683cb5391168dccfc8551359bc7 @@ -35703,26 +30782,6 @@ packages: license: Apache-2.0 size: 23216 timestamp: 1791458533136 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2plugin-5.4.6-np2py314hf807026_27.conda - sha256: c6f622f5bde5af5e6b4d90fc8a57cc239f3dd2c82f8ce17eece3b4e5d1a7b18c - md5: 02bac32878b9eac646a11e54d91fc04f - depends: - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2pkg - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 23282 - timestamp: 1792713939496 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2run-0.32.13-np2py312hdd89193_25.conda sha256: 8fd4dc53fc7e9ca111a42f2fa304c7e04d0d82355527a19618239f5a9e628500 md5: 3971ea1c862213ce7e449fe95bd670d3 @@ -35741,24 +30800,6 @@ packages: license: Apache-2.0 size: 22145 timestamp: 1791458502621 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2run-0.32.13-np2py314hf807026_27.conda - sha256: f116e832a2d31cac2b032aa98a1c04050b432fc6eb0578e161b76b83fb844151 - md5: 7a5a8603eb83fee45f2f7f4748ac3a9f - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2pkg - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 22177 - timestamp: 1792713872060 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2service-0.32.13-np2py312hdd89193_25.conda sha256: be578780d7e1c571c544e28db4bf150442bc63b2cd046a23aee9c850673b8bb3 md5: 762e910e851d0a877c704028a54aa999 @@ -35776,60 +30817,18 @@ packages: - ucrt >=10.0.20348.0 - ros2-distro-mutex >=0.19.0,<0.20.0a0 - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 48466 - timestamp: 1791458202756 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2service-0.32.13-np2py314hf807026_27.conda - sha256: 94873e3b2e400b0c357debdb81efb6506dda1b6cfb9c604ea7eb6e2c493473a1 - md5: ab4cd0d9cb94767133d7720d69e6c8dd - depends: - - python - - pyyaml - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-ros2topic - - ros2-rosidl-runtime-py - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 48918 - timestamp: 1792713351690 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2topic-0.32.13-np2py312hdd89193_25.conda - sha256: 2b4cf4b824f5cce1392fc09cd5cbb301dbe202394043cd14708b50b27ef0bf83 - md5: a4ba2d30689f334216b09cbcb78f64fd - depends: - - numpy - - python - - pyyaml - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - ros2-rosidl-runtime-py - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - license: Apache-2.0 OR BSD-3-Clause - size: 71122 - timestamp: 1791456045130 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2topic-0.32.13-np2py314hf807026_27.conda - sha256: 48916ca086744e1b311d61cc6e4de1e9feea439ceba3f51b625202fc0126683f - md5: 35c51e4f5253773ea28c824e588f765e + - numpy >=1.25,<3 + license: Apache-2.0 + size: 48466 + timestamp: 1791458202756 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros2topic-0.32.13-np2py312hdd89193_25.conda + sha256: 2b4cf4b824f5cce1392fc09cd5cbb301dbe202394043cd14708b50b27ef0bf83 + md5: a4ba2d30689f334216b09cbcb78f64fd depends: - numpy - python - pyyaml - - ros2-distro-mutex 0.20.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-rclpy - ros2-ros-workspace - ros2-ros2cli @@ -35837,12 +30836,12 @@ packages: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 license: Apache-2.0 OR BSD-3-Clause - size: 71935 - timestamp: 1792708744272 + size: 71122 + timestamp: 1791456045130 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-0.26.11-np2py312hdd89193_25.conda sha256: 7cf06ed781e362e7e463f98e16ff57bf6cb7635df656a14287d99c3177719071 md5: c5389f95a3e576b4e89ae93774c37668 @@ -35867,30 +30866,6 @@ packages: license: Apache-2.0 size: 32987 timestamp: 1791499200950 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-0.26.11-np2py314hf807026_27.conda - sha256: aa8773ced1a15e3ef952e45273786ee5c7bf6cdd9317390abf15572968b4a228 - md5: ad4841106500949e0537a3c89dc14938 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-ros2bag - - ros2-rosbag2-compression - - ros2-rosbag2-compression-zstd - - ros2-rosbag2-cpp - - ros2-rosbag2-py - - ros2-rosbag2-storage - - ros2-rosbag2-storage-default-plugins - - ros2-rosbag2-transport - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 33896 - timestamp: 1792755561852 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-compression-0.26.11-np2py312hdd89193_25.conda sha256: 5548c86742cbb446c7cd407420fc4f34d1f86fe8f1cca3c8043e3d4451f15bb6 md5: bc0197d412c8d21621e6c16c6af9c890 @@ -35911,26 +30886,6 @@ packages: license: Apache-2.0 size: 161881 timestamp: 1791479104712 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-compression-0.26.11-np2py314hf807026_27.conda - sha256: 43a6acd9e052558e032d4ecad0ef39150b34ba5640bba481a165a6864b926f8a - md5: bde9ca891f3277b44b5d7062c070bcb9 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcpputils - - ros2-rcutils - - ros2-ros-workspace - - ros2-rosbag2-cpp - - ros2-rosbag2-storage - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 162619 - timestamp: 1792741142893 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-compression-zstd-0.26.11-np2py312hdd89193_25.conda sha256: 81c4e71b6be052924ae7989cc3197100cbe310589a7c3f7fe9431501bddb0f1d md5: 34a7c816a89fa04b639da45946f4b680 @@ -35951,26 +30906,6 @@ packages: license: Apache-2.0 size: 72743 timestamp: 1791482394135 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-compression-zstd-0.26.11-np2py314hf807026_27.conda - sha256: 552c48a71c9d9af06c9eeca73c1cba5eada220216b76defecc29ab2f0df173b2 - md5: 8176a3d82da920b887ccc858ce768544 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-pluginlib - - ros2-rcutils - - ros2-ros-workspace - - ros2-rosbag2-compression - - ros2-zstd-vendor - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 73464 - timestamp: 1792747057006 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-cpp-0.26.11-np2py312hdd89193_25.conda sha256: 02d2ffb2ab06b416c68645f00588a7323e0d2fa52ce6bae8f0a86b301bf83baf md5: 4aa226895d1d23224450580b7e4366cb @@ -35999,34 +30934,6 @@ packages: license: Apache-2.0 size: 280878 timestamp: 1791473060221 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-cpp-0.26.11-np2py314hf807026_27.conda - sha256: 5d513eb0c5a1b1ff43ffc316240d63f25d572036053deeca3cc5dde12eae5d03 - md5: 032ed8317be884d4803819f918370785 - depends: - - python - - ros2-ament-index-cpp - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-pluginlib - - ros2-rclcpp - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-rmw-implementation - - ros2-ros-workspace - - ros2-rosbag2-storage - - ros2-rosidl-runtime-c - - ros2-rosidl-runtime-cpp - - ros2-rosidl-typesupport-cpp - - ros2-rosidl-typesupport-introspection-cpp - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 281837 - timestamp: 1792735568964 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-interfaces-0.26.11-np2py312hdd89193_25.conda sha256: dee8ff42548bb402364bfaecba735af489375887a8fcdab6df0e327f82d99b8a md5: 138815b60777b54874f5d1b998be10e2 @@ -36045,24 +30952,6 @@ packages: license: Apache-2.0 size: 495478 timestamp: 1791450193075 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-interfaces-0.26.11-np2py314hf807026_27.conda - sha256: 65d3407aa7b4014a55b14a3439fe6a1379914119752a9cb12461dc49e081f3a0 - md5: 6ef685391135f0efdf5b0c1c74889e13 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 497995 - timestamp: 1792698753391 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-py-0.26.11-np2py312hdd89193_25.conda sha256: 388364b4c6a88f3435702aa7d31b2855fc6ca1570b37947ac5cf501d98c26904 md5: 05d768c2557910692bf27b2d81153792 @@ -36086,29 +30975,6 @@ packages: license: Apache-2.0 size: 567079 timestamp: 1791490746943 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-py-0.26.11-np2py314hf807026_27.conda - sha256: 305d4e44bbd434b2655d14382c849476c802ffe84b49ab1ccdf078ba1ca65ff5 - md5: 5505ad5e5cd8f60c1ec5c34c2286ff68 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-pybind11-vendor - - ros2-rclpy - - ros2-ros-workspace - - ros2-rosbag2-compression - - ros2-rosbag2-cpp - - ros2-rosbag2-storage - - ros2-rosbag2-transport - - ros2-rpyutils - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 569261 - timestamp: 1792752120814 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-0.26.11-np2py312hdd89193_25.conda sha256: da49a8527aa72b3cfad8671ba6b21688d06c3df72f978103ddfd9886cb30902d md5: b34cc1ab9c0c458e03821e5b51d8dffc @@ -36130,27 +30996,6 @@ packages: license: Apache-2.0 size: 192326 timestamp: 1791462336856 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-0.26.11-np2py314hf807026_27.conda - sha256: 544eb326a4f27b251e6e8bb716da8af36180edc00db03269b76b71ab5c6239ab - md5: 7dd0976100449d7eed0ee1f23be90e68 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-pluginlib - - ros2-rclcpp - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-yaml-cpp-vendor - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 193117 - timestamp: 1792718378941 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py312hdd89193_25.conda sha256: 2538e8a66cf4fe02a442c1e6f71785e22e913150df08d64d0210ebc8df016c19 md5: ba1549f06ab996911fdc866303163325 @@ -36169,24 +31014,6 @@ packages: license: Apache-2.0 size: 19913 timestamp: 1791468389002 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-default-plugins-0.26.11-np2py314hf807026_27.conda - sha256: 221b7c944ec7080a8c4a70a0ff15616d8020e45d9bd6b54db1b64ea4a04ed600 - md5: 3adb673e0166213fa7aec6e1c39235fd - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosbag2-storage-mcap - - ros2-rosbag2-storage-sqlite3 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 20660 - timestamp: 1792728379160 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-mcap-0.26.11-np2py312hdd89193_25.conda sha256: 74981289547df60f31e4f8e454157ba89e27823fd09f21781ab573a4e9c46242 md5: d62f3a65fdc2079abc0b9c638a0fe410 @@ -36209,28 +31036,6 @@ packages: license: Apache-2.0 size: 134507 timestamp: 1791464869718 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-mcap-0.26.11-np2py314hf807026_27.conda - sha256: 60bd7c83b1f6d06a7f954b0bc53a6a9bac9ac1a343c89266e7bb4c248be7e41e - md5: 036f40675fcdf2ab4c0be4c721b9fb99 - depends: - - python - - ros2-ament-index-cpp - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-mcap-vendor - - ros2-pluginlib - - ros2-rcutils - - ros2-ros-workspace - - ros2-rosbag2-storage - - ros2-yaml-cpp-vendor - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 135292 - timestamp: 1792724225770 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py312hdd89193_25.conda sha256: 90c2fe6591c9c1c371c575a913b0a9cf84c051ec5944baa3ce631d6dd567a713 md5: 7602fded93a4f02c67df29faf058137a @@ -36253,28 +31058,6 @@ packages: license: Apache-2.0 size: 180045 timestamp: 1791464794527 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-storage-sqlite3-0.26.11-np2py314hf807026_27.conda - sha256: 4a008184f8b4feefe089f9a0c50f2dc0ec6b4fde698fb936609066542470e7af - md5: 18be291e91c17a3c1e8d6ca5cc3b0183 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-pluginlib - - ros2-rcpputils - - ros2-rcutils - - ros2-ros-workspace - - ros2-rosbag2-storage - - ros2-sqlite3-vendor - - ros2-yaml-cpp-vendor - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 180803 - timestamp: 1792724140091 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-transport-0.26.11-np2py312hdd89193_25.conda sha256: 68d9ffac0f3435d505e67e15979bf6a67acb11a8fb1e0fa6d1fbfd4dfcb5cc41 md5: e3812c9ce6f0e5833b13061def4114c4 @@ -36302,33 +31085,6 @@ packages: license: Apache-2.0 size: 360305 timestamp: 1791484612070 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosbag2-transport-0.26.11-np2py314hf807026_27.conda - sha256: 85950b94e802114bf6eb0ecd8414c69b6c998a75a65636bea0904556e957f374 - md5: 9143f86778f89a6404512f8c412ce086 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-keyboard-handler - - ros2-rclcpp - - ros2-rclcpp-components - - ros2-rcpputils - - ros2-rcutils - - ros2-rmw - - ros2-ros-workspace - - ros2-rosbag2-compression - - ros2-rosbag2-cpp - - ros2-rosbag2-interfaces - - ros2-rosbag2-storage - - ros2-yaml-cpp-vendor - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 361442 - timestamp: 1792751110954 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosgraph-msgs-2.0.4-np2py312hdd89193_25.conda sha256: 18bb41ed0dd2c746ec127dc03442e24fd7158c31059d466c224638cea4752036 md5: ace1b85158b16c94359959748ec16a5c @@ -36348,25 +31104,6 @@ packages: license: Apache-2.0 size: 221218 timestamp: 1791451778686 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosgraph-msgs-2.0.4-np2py314hf807026_27.conda - sha256: 6929b3226d15d38dfca00290df4244d69264a25c8cccea663bdcacc797d43dc8 - md5: f45831d62c1b687e90a3c1153fa2683b - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rcl-interfaces - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 223056 - timestamp: 1792701053531 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-adapter-4.6.9-np2py312hdd89193_25.conda sha256: 6ddcd750c7b0792686aef218555954c11a22f1ce7150a8f12301fa27ff67dab0 md5: 5cf09f32d4f67e768310407c1d7d807e @@ -36405,9 +31142,9 @@ packages: license: Apache-2.0 size: 62315 timestamp: 1792682176254 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py312hdd89193_25.conda - sha256: 00de42c5377b8c9cc360a209b1d943ee0838a0c599f563fabd27bdcb45ff44be - md5: b51c62240fcc918c200d8428a565d2e2 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py312hdd89193_26.conda + sha256: f384e4f8d542e3e534e788de3616e8bd2e59529eecf63dbcfa229e8e10aec1eb + md5: 60eadacbfc250f9d5ec576565ad64e73 depends: - argcomplete - importlib-metadata @@ -36417,12 +31154,12 @@ packages: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - numpy >=1.25,<3 - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: Apache-2.0 - size: 47685 - timestamp: 1791432527799 + size: 48646 + timestamp: 1792647638865 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py314hf807026_27.conda sha256: a163d4761f416d2ed30de05268344adc75abcad4f15053953ea87d4a7f39045c md5: 04f11310b942ad5768bd56a41dae03c1 @@ -36648,25 +31385,6 @@ packages: license: Apache-2.0 size: 29488 timestamp: 1791448680771 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-default-runtime-1.6.1-np2py314hf807026_27.conda - sha256: 9477a3750c4f73b6b50ced346eeaec7810dcd38cd98a10b1158864e53f9bfd10 - md5: 1951faec5e8ebdcb60f3b0099434adef - depends: - - python - - ros2-action-msgs - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-core-runtime - - ros2-service-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 30283 - timestamp: 1792697322050 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312hdd89193_25.conda sha256: 86679c9d0c4d7c9a4daebda93c0009d39c5809da5c6fb11b828701265444ed0e md5: ddfcc55cef9396ce8e96ddc060a3a273 @@ -36702,33 +31420,13 @@ packages: - ros2-distro-mutex >=0.20.0,<0.21.0a0 license: Apache-2.0 size: 68744 - timestamp: 1792690019851 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312hdd89193_25.conda - sha256: e05787e0488cfb2ff4cc8d1deb05f2e179886855dec36aaaab772e5b31e2f5f2 - md5: c11b7d7261f02894aeabf457a60ea678 - depends: - - python - - ros2-distro-mutex 0.19.* jazzy_* - - ros2-fastcdr - - ros2-fastrtps - - ros2-rcutils - - ros2-ros-workspace - - ros2-rosidl-dynamic-typesupport - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - size: 83301 - timestamp: 1791444608771 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py314hf807026_27.conda - sha256: 36e7ca467b63647fde9dfe5275e6da96fd8e82db2ef1e67add97bbf97b91c81d - md5: 06c8073cba288fb3a28eb87771590e36 + timestamp: 1792690019851 +- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-dynamic-typesupport-fastrtps-0.1.0-np2py312hdd89193_25.conda + sha256: e05787e0488cfb2ff4cc8d1deb05f2e179886855dec36aaaab772e5b31e2f5f2 + md5: c11b7d7261f02894aeabf457a60ea678 depends: - python - - ros2-distro-mutex 0.20.* jazzy_* + - ros2-distro-mutex 0.19.* jazzy_* - ros2-fastcdr - ros2-fastrtps - ros2-rcutils @@ -36737,12 +31435,12 @@ packages: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - numpy >=1.25,<3 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - python_abi 3.12.* *_cp312 license: Apache-2.0 - size: 84021 - timestamp: 1792692132122 + size: 83301 + timestamp: 1791444608771 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-c-4.6.9-np2py312hdd89193_25.conda sha256: e5010314491d717e3a3bc62b034b876fb1af1b6bc33ce2493e6fc12909801242 md5: 88053989781037704adc89462bc09112 @@ -37160,25 +31858,6 @@ packages: license: Apache-2.0 size: 41284 timestamp: 1791453778366 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-runtime-py-0.13.2-np2py314hf807026_27.conda - sha256: d9a3993781aa93bf16708941dacd90dfca66f22295429444a7ca668ff18da72c - md5: f51b2a31079238bfd33f4fa971b85e63 - depends: - - numpy - - python - - pyyaml - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-parser - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 42171 - timestamp: 1792704048402 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-c-3.2.3-np2py312hdd89193_25.conda sha256: 4804d1ad4650583ae1cb6a323e5ac25427dfc91ced4eb7b4fbe2c8b41060ad74 md5: 3bfbe341b7f75399939f18c9c094cd8c @@ -37738,23 +32417,6 @@ packages: license: Apache-2.0 size: 28976 timestamp: 1791438938565 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rti-connext-dds-cmake-module-0.22.3-np2py314hf807026_27.conda - sha256: 0724698d7eed7f6a28c122bc8577130d674472b25fbac600562cb59e36fa1dfa - md5: 9bc31a4695b41ccc26e345d37fd4f873 - depends: - - python - - ros2-ament-cmake - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 29725 - timestamp: 1792683169455 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sensor-msgs-5.3.8-np2py312hdd89193_25.conda sha256: f922fb501e62292da3999a41a2fec60b7e7b5158ed878b6f175ea8d3023fc13b md5: f97ced23a6231b329ad1a4d68d9d5ae7 @@ -37775,26 +32437,6 @@ packages: license: Apache-2.0 size: 495824 timestamp: 1791455837284 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sensor-msgs-5.3.8-np2py314hf807026_27.conda - sha256: 2554ca8e494a412761efdbe524abe7745e4400803f11d411d84f44c349f03d0f - md5: 2454bd3f9d4101d26ddced5594199854 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 498455 - timestamp: 1792708489528 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sensor-msgs-py-5.3.8-np2py312hdd89193_25.conda sha256: 1a54d0ed3c4c36b33f61a03b9562642ee274b19df69abddf26c17b387b118cbd md5: 199514f09ffc8a07f43d64ef974737cc @@ -37814,25 +32456,6 @@ packages: license: BSD-3-Clause size: 29108 timestamp: 1791459445964 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sensor-msgs-py-5.3.8-np2py314hf807026_27.conda - sha256: 4d5a160767173f794acca99a3af4dea5fa6d76e12bc54336e3e6ef10fa6b1279 - md5: ec85499cba06753c0681bd779140fce6 - depends: - - numpy - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-sensor-msgs - - ros2-std-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 29407 - timestamp: 1792714768010 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-service-msgs-2.0.4-np2py312hdd89193_25.conda sha256: f529fac179097e99a18ab154de0ebd93067b923d1c8d85ad288c53e3f304ccb7 md5: 276a815bb604765cee357024c86689be @@ -37887,24 +32510,6 @@ packages: license: Apache-2.0 size: 132069 timestamp: 1791456592565 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-shape-msgs-5.3.8-np2py314hf807026_27.conda - sha256: 0aafb4b78e1c7cb1d0ed7fbd29d78684d8da6eba6294b3c473ade725514731ee - md5: 190aca103758741ec82557da2519b3eb - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 134038 - timestamp: 1792709646431 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-spdlog-vendor-1.6.2-np2py312hcd4b164_25.conda sha256: 480cd10cbe7ae3664e7bd966371d3170e4018d3e079d704c3f9e0c59f1896639 md5: 9c27990dedad1826c817281479f22c7b @@ -37925,26 +32530,6 @@ packages: license: Apache-2.0 OR MIT size: 24763 timestamp: 1791439050933 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-spdlog-vendor-1.6.2-np2py314hc4ee0df_27.conda - sha256: c4269655530c5b29873d8668ee9de4a9f6514a7b9fbd674a7d88ff00f1855e8d - md5: 2041b261bdddc1c0ddf83ce95309b142 - depends: - - fmt - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - spdlog - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - spdlog >=1.17.0,<1.18.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - fmt >=12.1.0,<12.2.0a0 - license: Apache-2.0 OR MIT - size: 25368 - timestamp: 1792683404107 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sqlite3-vendor-0.26.11-np2py312heb1eb2f_25.conda sha256: 53c7756d24662e51ef360313d688e473597fd313f124537a5a0cda01e434bbfc md5: 84bb969f8347f049b98574e9263ad885 @@ -37963,24 +32548,6 @@ packages: license: Apache-2.0 size: 22085 timestamp: 1791433419817 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sqlite3-vendor-0.26.11-np2py314h0f15e22_27.conda - sha256: 47882870a992c4ac7643adabf5ab155a3f15ceb448f7d2bb9ce6dc297943c555 - md5: d40103035d68e0eea6e0fcbac0ae8fb0 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - sqlite - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - libsqlite >=3.54.1,<4.0a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 22675 - timestamp: 1792676739152 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sros2-0.13.6-np2py312hdd89193_25.conda sha256: 4739f6d90fc78b38356c9ef732fa4ba742b1acf2725dbe2e9ba5a81e1581df88 md5: 07c6376887508a5dc7e6a3a207fd193a @@ -38004,29 +32571,6 @@ packages: license: Apache-2.0 size: 71477 timestamp: 1791461508342 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sros2-0.13.6-np2py314hf807026_27.conda - sha256: fb73e16370c85670657970eeed29977d574d14f78c3a0431105ae23ae789c07e - md5: 2a2bf2d11c354db83fecd80a0a8c0f3b - depends: - - argcomplete - - cryptography - - importlib_resources - - lxml - - python - - ros2-ament-index-python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-ros2cli - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 73183 - timestamp: 1792718293158 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sros2-cmake-0.13.6-np2py312hdd89193_25.conda sha256: 8bc903a47522c2a133687d9833a5c434ccc53fd41e3424f554835912d3f926f4 md5: 76006cfb1c17acd5b270457970825d50 @@ -38045,24 +32589,6 @@ packages: license: Apache-2.0 size: 35937 timestamp: 1791466227003 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-sros2-cmake-0.13.6-np2py314hf807026_27.conda - sha256: 29421e0c6056995c443234425ff29b840ba82d6875c1c760d1a3aef63eebc808 - md5: 3c614ee843fdbe80724faa73022d1b7a - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-ros2cli - - ros2-sros2 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 36670 - timestamp: 1792724633693 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-statistics-msgs-2.0.4-np2py312hdd89193_25.conda sha256: f01ca33f1a3ffe15bfd73184396fa5e751e5c8d11aab3d7bce385821df1b5509 md5: 9be854d6d6a9cb8e4082317003a22f63 @@ -38081,24 +32607,6 @@ packages: license: Apache-2.0 size: 117566 timestamp: 1791449451497 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-statistics-msgs-2.0.4-np2py314hf807026_27.conda - sha256: d94aa0acd97590a0ed48ab28a3e0e98431ad812dfc39b83d512b800ce89a27cc - md5: 0dac46fb29f49f96724db5f83216b280 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 118648 - timestamp: 1792698120911 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-std-msgs-5.3.8-np2py312hdd89193_25.conda sha256: fbe5df9cd3aa6868a8d5c352d9517aef5620775b5f945220eb4d12122512c9f7 md5: 78dc330da20f29f168913d4b8bfad6ec @@ -38117,24 +32625,6 @@ packages: license: Apache-2.0 size: 305025 timestamp: 1791452799371 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-std-msgs-5.3.8-np2py314hf807026_27.conda - sha256: 86177f76ca385d09250a0aa05bf3250da810a8106790196df116e6a1618ec928 - md5: cee13adb572f567fd62a5eaca0a07bfd - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 306347 - timestamp: 1792702688124 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-std-srvs-5.3.8-np2py312hdd89193_25.conda sha256: d792c6b7db8fdf4695e0eab11b6260769e41a429a8bbd40d7e0646511fd00e45 md5: db1b50165b6fe33b76e548274fd12d24 @@ -38152,23 +32642,6 @@ packages: license: Apache-2.0 size: 167063 timestamp: 1791449537730 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-std-srvs-5.3.8-np2py314hf807026_27.conda - sha256: a188e7f78253ab3d7a7ac9c5cb9dcd1d24ea23680a56728cb373f87fc70e2314 - md5: cd7bc912f60f7c1321d239726312131d - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 168220 - timestamp: 1792698214831 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-stereo-msgs-5.3.8-np2py312hdd89193_25.conda sha256: a74f3d71d0733559c8b5d821d97b580b0ed70f4a7df4fbd24ed0f70379542d8c md5: 0b1f527ce5037a8c64b4fe2b10fc03e5 @@ -38188,25 +32661,6 @@ packages: license: Apache-2.0 size: 93028 timestamp: 1791458905773 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-stereo-msgs-5.3.8-np2py314hf807026_27.conda - sha256: 1c49483f15e5424162d65f06bf4a9a981d3156d20698d1085f81a48a464fcf85 - md5: 6bba24317d60591340b75958b310e8d0 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-sensor-msgs - - ros2-std-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 93698 - timestamp: 1792714439732 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tango-icons-vendor-0.3.1-np2py312hdd89193_25.conda sha256: b2105da0ec9f742080ee6b57d92440151d4e5a5e25b010c22519295639447467 md5: 8f7461e5bb1ed660e488fc3d9f630533 @@ -38243,26 +32697,6 @@ packages: license: BSD-3-Clause size: 140093 timestamp: 1791456179828 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-0.36.23-np2py314hf807026_27.conda - sha256: b53a02a8d5eca532e68bdf17c78e8b6b72021f64208aff7509515f57cc30250d - md5: 32fb9640c36e0b3e614269babd16a10a - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-rcutils - - ros2-ros-workspace - - ros2-rosidl-runtime-cpp - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 140878 - timestamp: 1792708936703 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-bullet-0.36.23-np2py312hdd89193_25.conda sha256: 4e549412786e967d8b991da00566ceeaae604db2fad1e8f1f378877e8c1a19af md5: bc70c020c4ac61087cbb698660500475 @@ -38283,26 +32717,6 @@ packages: license: BSD-3-Clause size: 39401 timestamp: 1791470487046 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-bullet-0.36.23-np2py314hf807026_27.conda - sha256: a608540c6420c773eddc1251a23f33925b761db857ce26e97ce8c2374a7baf64 - md5: f707c04d6a7c94894f3311a3e6d865fe - depends: - - bullet - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-ros - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 40275 - timestamp: 1792730677831 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-eigen-0.36.23-np2py312hd11d946_25.conda sha256: c10f25ab45f9c02cb08eb1db17d2fc358592817f6aa9f70e942be6e60c60de0c md5: dd0152a3aa15246232d2394658585020 @@ -38325,28 +32739,6 @@ packages: license: BSD-3-Clause size: 42254 timestamp: 1791467678643 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-eigen-0.36.23-np2py314h3d5669a_27.conda - sha256: 4bf216cb890b0bfb32b673a34448c972e418ee6ae0303d918ea32fb7f335ad6f - md5: 5c9b44ffea6d3fd7b5818f6dea8b435a - depends: - - eigen - - eigen-abi-devel - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-ros - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - eigen-abi >=5.0.1.100,<5.0.1.101.0a0 - license: BSD-3-Clause - size: 43050 - timestamp: 1792728250405 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-eigen-kdl-0.36.23-np2py312hd11d946_25.conda sha256: fcc3dd899a72e2a8b4910e0b56abc9663e04ea2a86f0be46ee3c327d077d4fd4 md5: 44b23edf39bf97dcef9315a9e887d36a @@ -38362,33 +32754,12 @@ packages: - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - eigen-abi >=5.0.1.100,<5.0.1.101.0a0 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 43197 - timestamp: 1791457603006 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-eigen-kdl-0.36.23-np2py314h3d5669a_27.conda - sha256: d66f6a17b76b69f4ff399c9dec28ada973cf75beb80f33f6a6bf777e0cc3d1d8 - md5: 69c67a457d950b0ec581092e45029749 - depends: - - eigen - - eigen-abi-devel - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-orocos-kdl-vendor - - ros2-ros-workspace - - ros2-tf2 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - eigen-abi >=5.0.1.100,<5.0.1.101.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - numpy >=1.25,<3 license: BSD-3-Clause - size: 43881 - timestamp: 1792715268294 + size: 43197 + timestamp: 1791457603006 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-geometry-msgs-0.36.23-np2py312hdd89193_25.conda sha256: 47f71edc02ce24a05a9c40d6234b7bfaea82dea6bb02a5512ec81ca23e3d90c7 md5: cc9b7be026a614ffc72d635a799345c0 @@ -38411,28 +32782,6 @@ packages: license: BSD-3-Clause size: 54132 timestamp: 1791467398279 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-geometry-msgs-0.36.23-np2py314hf807026_27.conda - sha256: fa3a5e013762a9d3e43c3ae83b1782fba3b7affb5563e5477741f418cb830964 - md5: af446e291deaab96b85fc590efdb7075 - depends: - - numpy - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-orocos-kdl-vendor - - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-ros - - ros2-tf2-ros-py - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - size: 56766 - timestamp: 1792727816491 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-kdl-0.36.23-np2py312hdd89193_25.conda sha256: cad4a51ca4bca878e1e4296aac4c0c3b166e11f072602f998f811e2c83bd6182 md5: 74c71687d1aae02d172eaffa94d9b72f @@ -38456,29 +32805,6 @@ packages: license: BSD-3-Clause size: 44028 timestamp: 1791467579943 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-kdl-0.36.23-np2py314hf807026_27.conda - sha256: 682bfadd3955abe31dfd071ca18bae468cf306e15914edb8c9295d36b82c1d78 - md5: 11739efa91ac2c7b00c392e0f5748545 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-orocos-kdl-vendor - - ros2-python-orocos-kdl-vendor - - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-ros - - ros2-tf2-ros-py - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 44902 - timestamp: 1792728073790 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-msgs-0.36.23-np2py312hdd89193_25.conda sha256: b1aaa7c1f41bbd8929769b41055f5bbfb0cdd97b28e2163ea5322e0e7614e77b md5: a51786f37dbafc75b252d523591109aa @@ -38498,25 +32824,6 @@ packages: license: BSD-3-Clause size: 254480 timestamp: 1791456101746 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-msgs-0.36.23-np2py314hf807026_27.conda - sha256: 54a79db2fd84ba10385c91941d4ba9c8e7dc6efcc368cdd2a7cd3adf9a1317d6 - md5: 7f95e4466fd53768411c75224544c619 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 257259 - timestamp: 1792708831711 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-py-0.36.23-np2py312hdd89193_25.conda sha256: f34f6d806da4fa5eec449291201e4520ef03ad7c47adaf3e784e0fb46c149520 md5: dd6bb302a6e7f423a1470a97b8fab34e @@ -38538,27 +32845,6 @@ packages: license: BSD-3-Clause size: 49338 timestamp: 1791458261034 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-py-0.36.23-np2py314hf807026_27.conda - sha256: cbb55f7c73b2dde182d5bf2669ad2b513eba0e1d454103a8bfa22b6eea0285bd - md5: ce35a53ff474b7b5948e8b8ef04fea3d - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-rclpy - - ros2-ros-workspace - - ros2-rpyutils - - ros2-tf2 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 50185 - timestamp: 1792713438567 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-ros-0.36.23-np2py312hdd89193_25.conda sha256: 9196722b83c4db4d62c40933443571286bdc0a82162cfde88b0a5d29bcbb45a2 md5: 4bc9b13741a4242d1da9b32b0b5c9098 @@ -38584,31 +32870,6 @@ packages: license: BSD-3-Clause size: 306047 timestamp: 1791464537161 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-ros-0.36.23-np2py314hf807026_27.conda - sha256: 797aaafae55b3d3e744259d3213557b285a91a9baa933803e0544c9f794f5de4 - md5: 358d5cb094810b7549f0a131f33fc207 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-message-filters - - ros2-rcl-interfaces - - ros2-rclcpp - - ros2-rclcpp-action - - ros2-rclcpp-components - - ros2-ros-workspace - - ros2-tf2 - - ros2-tf2-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - size: 309891 - timestamp: 1792723814232 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-ros-py-0.36.23-np2py312hdd89193_25.conda sha256: 154a428ad9fce03092877fbcea1f1ee361c1c0e98599bacc00b54267fb1c7a46 md5: d8c2649ace22c7aaea1273c3e2ee726d @@ -38632,29 +32893,6 @@ packages: license: BSD-3-Clause size: 48096 timestamp: 1791461368099 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-ros-py-0.36.23-np2py314hf807026_27.conda - sha256: 4f0ac42d40167c788c650fb2370a85037df5a8df6b166547d93a1e567aef99ee - md5: 26ce37c29bdeb805d4c465a35e4797d0 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-rclpy - - ros2-ros-workspace - - ros2-sensor-msgs - - ros2-std-msgs - - ros2-tf2-msgs - - ros2-tf2-py - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 49735 - timestamp: 1792718124074 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-sensor-msgs-0.36.23-np2py312hd11d946_25.conda sha256: c007aacff86f9082af134afcb79528b128af6749cbd422448adf7c965f4ceb8e md5: 4060bb94c2fc1c7eae6ef8ca737fdf89 @@ -38683,34 +32921,6 @@ packages: license: BSD-3-Clause size: 49348 timestamp: 1791472946311 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-sensor-msgs-0.36.23-np2py314h3d5669a_27.conda - sha256: b9e5cb90684749b1e57dd5d39b30c3f70d996edc9acf9eaae6057e8a877bb545 - md5: f026cc2f01a0bbad3c9bdb40bb166da8 - depends: - - eigen - - eigen-abi-devel - - numpy - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-eigen3-cmake-module - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-sensor-msgs - - ros2-sensor-msgs-py - - ros2-std-msgs - - ros2-tf2 - - ros2-tf2-ros - - ros2-tf2-ros-py - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - eigen-abi >=5.0.1.100,<5.0.1.101.0a0 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 50565 - timestamp: 1792735717705 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-tools-0.36.23-np2py312hdd89193_25.conda sha256: 773535ff01c0688db68f850c0bec3af8eb40433db1a42ea239e095352d5741d9 md5: 2671893e7374ab9e21ea7119891b1e09 @@ -38733,28 +32943,6 @@ packages: license: BSD-3-Clause size: 30244 timestamp: 1791466285818 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tf2-tools-0.36.23-np2py314hf807026_27.conda - sha256: e95d75cb1c87f505d696b63abb0afeb1d3e4a7c813e701d086edf54a6bf66897 - md5: beac4f7243a74fd7478664e80201046b - depends: - - graphviz - - python - - pyyaml - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-rclpy - - ros2-ros-workspace - - ros2-tf2-msgs - - ros2-tf2-py - - ros2-tf2-ros-py - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: BSD-3-Clause - size: 30179 - timestamp: 1792724720112 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tinyxml2-vendor-0.9.2-np2py312h1425c0b_25.conda sha256: f40023c2308a0314afa85701ae21893488a627bf5e67cc32c286e21f462b57d4 md5: 96649380e81e38bd51761421be3ef1ad @@ -38773,24 +32961,6 @@ packages: license: Apache-2.0 size: 22285 timestamp: 1791432758888 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tinyxml2-vendor-0.9.2-np2py314hcdf597f_27.conda - sha256: 6088aea6d5a2a83d805eac228251562147b03a4411b93a202427e1c9b1fbe372 - md5: 1c3657217084f846fb5d6a664340e256 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - tinyxml2 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - tinyxml2 >=11.0.0,<11.1.0a0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 22940 - timestamp: 1792676149058 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tracetools-8.2.6-np2py312hdd89193_25.conda sha256: 5be65ea45c2d5ff0116ba87b4c7891f15d78daab4a407a8989f6bc15ec0cab5e md5: 844469bedda7e50e3989d448456efd65 @@ -38807,22 +32977,6 @@ packages: license: Apache-2.0 size: 32292 timestamp: 1791440003474 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-tracetools-8.2.6-np2py314hf807026_27.conda - sha256: e8cc1ca47281ba7a3d54a297cbc9450b179cca4be5c40c9dfd991ba4596b5e56 - md5: 53855cfa208b8417494306f27af8c1f6 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 33009 - timestamp: 1792685399175 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-trajectory-msgs-5.3.8-np2py312hdd89193_25.conda sha256: 644473ede5dcee57582e78fd5a420c6cc9b77ae247e3f311b49654d2eee6261c md5: d70570b5fe3ac13beee8514d1e339156 @@ -38843,26 +32997,6 @@ packages: license: Apache-2.0 size: 147520 timestamp: 1791455971554 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-trajectory-msgs-5.3.8-np2py314hf807026_27.conda - sha256: 88257ed688078656e46c609acab9e0136de30c0a73c0f9a89a816671a4a7d370 - md5: c637c28aba1fba3364447604912e8599 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-std-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 148626 - timestamp: 1792708643588 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-type-description-interfaces-2.0.4-np2py312hdd89193_25.conda sha256: 3f5cbbd96a416cf25fb277bda45f228128721f9ef932fa31cc12dd66470995f3 md5: e7d4c4f5511046a5a4a7739a4ede572c @@ -38881,24 +33015,6 @@ packages: license: Apache-2.0 size: 224680 timestamp: 1791448508877 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-type-description-interfaces-2.0.4-np2py314hf807026_27.conda - sha256: 5702bf0733138d647a2c9e494d8a012bac57f15d1ad8e03196d1d39b5ddda859 - md5: 1279eb69baf0fa41f936bc41850b9899 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-rosidl-core-runtime - - ros2-service-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 - size: 226074 - timestamp: 1792697213900 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-uncrustify-vendor-3.0.1-np2py312hdd89193_25.conda sha256: 33ca26b2c0dfe4e27896d949c101bbd8fccadb34a02d52a86db011873a2b728c md5: 74006a309881e4ce9c145c0b820f31dc @@ -38990,27 +33106,6 @@ packages: license: BSD-3-Clause size: 130539 timestamp: 1791446423583 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdf-2.10.1-np2py314hf807026_27.conda - sha256: 726ac55097da09311e3d69d875ab23386d951b10a9fc18cf0fe1bedc61a68a12 - md5: 1bdeb054a4a2b81f6905e8315ff4b2c7 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-pluginlib - - ros2-ros-workspace - - ros2-tinyxml2-vendor - - ros2-urdf-parser-plugin - - ros2-urdfdom - - ros2-urdfdom-headers - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - numpy >=1.25,<3 - license: BSD-3-Clause - size: 131232 - timestamp: 1792694135248 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdf-parser-plugin-2.10.1-np2py312hdd89193_25.conda sha256: df597a78cbb07852591aea779c901115b937dfdcf030e8c07c640348078366d7 md5: 7713013d9fa49074dd0ea9e362bb2ea0 @@ -39028,23 +33123,6 @@ packages: license: BSD-3-Clause size: 29336 timestamp: 1791440170323 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdf-parser-plugin-2.10.1-np2py314hf807026_27.conda - sha256: 435d8900af482709c104c56a469018126d1a8dfeb7b163076f93c05cfaf5ee57 - md5: e0c8d62003dd04f85cb6c6fd96d51f04 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-urdfdom-headers - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - size: 30124 - timestamp: 1792685675084 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdfdom-6.0-py312h77058a8_25.conda sha256: ebbf0893929ea473d7e925b1dec9257a465a819072442481206be09dfeb63b9e md5: dbca29fcdc5445b93e3a2ab39792c873 @@ -39065,26 +33143,6 @@ packages: license: BSD-3-Clause size: 8126 timestamp: 1791441172776 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdfdom-6.0-py314h0bc3ba6_27.conda - sha256: 1df64a25c76193acbbab382352fcdadc236024f4bb21d96e9d5bf8e0a2769e64 - md5: 8828e63bc10a923989a480cf9b26bacd - depends: - - console_bridge - - python - - ros2-console-bridge-vendor - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - ros2-tinyxml2-vendor - - ros2-urdfdom-headers - - tinyxml2 - - urdfdom >=6.0,<6.1a0 - - console_bridge >=1.0.2,<1.1.0a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - tinyxml2 >=11.0.0,<11.1.0a0 - license: BSD-3-Clause - size: 8288 - timestamp: 1792687477812 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdfdom-headers-3.0-py312h7accfcc_25.conda sha256: 44bac9b76eca50f58f1d52430b33dbcd79dc7d9d7cb9ee22bb4dad56674fa59c md5: 5af01299465743b95c2a33e74282dcb3 @@ -39093,24 +33151,11 @@ packages: - ros2-distro-mutex 0.19.* jazzy_* - ros2-ros-workspace - urdfdom_headers >=3.0,<3.1a0 - - python_abi 3.12.* *_cp312 - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - license: BSD-3-Clause - size: 7188 - timestamp: 1791428266580 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-urdfdom-headers-3.0-py314hdeddbba_27.conda - sha256: 3e6f6c2c16824e8f91d4f4235b7c833ba9b9710896bb9b4b194f8bf73d183297 - md5: bb5875caf1a3fd76cd928017f1d01cd8 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - urdfdom_headers >=3.0,<3.1a0 - - python_abi 3.14.* *_cp314 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.19.0,<0.20.0a0 license: BSD-3-Clause - size: 7341 - timestamp: 1792669524367 + size: 7188 + timestamp: 1791428266580 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-visualization-msgs-5.3.8-np2py312hdd89193_25.conda sha256: 7af006c5a3c9b1ae6b4e61607fa7e8552578d005109ab09743f6f36df8d3eac4 md5: 28527598bb0ebbb6d96883e5ac16f40e @@ -39132,27 +33177,6 @@ packages: license: Apache-2.0 size: 344755 timestamp: 1791458795683 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-visualization-msgs-5.3.8-np2py314hf807026_27.conda - sha256: cf1014139af5e9ef0fab34145cd2a9da9e5806e6a0aa94465c3d72882cc3a1f2 - md5: ded833413232449bac64fb3bea199d33 - depends: - - python - - ros2-builtin-interfaces - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-geometry-msgs - - ros2-ros-workspace - - ros2-rosidl-default-runtime - - ros2-sensor-msgs - - ros2-std-msgs - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - size: 346481 - timestamp: 1792714310440 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-yaml-cpp-vendor-9.0.1-np2py312hdd89193_25.conda sha256: 58c1ecd9acefee9b6d0512dd5282be3591810d207a46560129bc97b0e629c4c4 md5: 4d270697c09a15afcc3bce543b91de6c @@ -39171,24 +33195,6 @@ packages: license: Apache-2.0 OR MIT size: 20717 timestamp: 1791433115936 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-yaml-cpp-vendor-9.0.1-np2py314hf807026_27.conda - sha256: 01cde7f66feb642762660f5f80c8422ebea06a0147703f623c40646748e8fb27 - md5: 1ca1a38a73bda07868859e3da0b812e1 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - yaml-cpp - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - yaml-cpp >=0.8.0,<0.9.0a0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: Apache-2.0 OR MIT - size: 21265 - timestamp: 1792676427332 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312hbb4efd0_25.conda sha256: c5c23ff94de59ec32f46c0bf13ba3507dc15fe5ea255979fa1cf82e850dfee02 md5: 0f83d55abc75664a722959389551a8d6 @@ -39206,23 +33212,6 @@ packages: license: Apache-2.0 size: 21870 timestamp: 1791432335534 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zenoh-cpp-vendor-0.2.11-np2py314hbd028d1_27.conda - sha256: 5f63d9adefc966e92562198af922a9da4c250f2139f0c1b89cd10da811a4ce20 - md5: 2722937c6bd136e248027c081d75edcf - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - libzenohc >=1.10.1,<1.10.2.0a0 - - numpy >=1.25,<3 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - license: Apache-2.0 - size: 22500 - timestamp: 1792676215240 - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zstd-vendor-0.26.11-np2py312h94542ee_25.conda sha256: 08392e503a3b1c75b7cb45cd48b61a92c39fbcd759c621e5616347a1ab3fb690 md5: cea349d8948caf47d5497bc43659d8fa @@ -39241,292 +33230,121 @@ packages: license: Apache-2.0 OR BSD-3-Clause size: 21471 timestamp: 1791433174793 -- conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zstd-vendor-0.26.11-np2py314h327c029_27.conda - sha256: 1d5d9d7064b4bcdd513f7167b72a2dcbcde3caa721f02c58ecf0a1b6c5ce2384 - md5: 878241cb6d4aeb386c46452a625dfe65 - depends: - - python - - ros2-distro-mutex 0.20.* jazzy_* - - ros2-ros-workspace - - zstd - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - zstd >=1.5.7,<1.6.0a0 - - numpy >=1.25,<3 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 OR BSD-3-Clause - size: 22069 - timestamp: 1792676505106 -- conda: https://raw.githubusercontent.com/reiserlab/webDisplayTools/39eeb1fa43874aae7d845dfec2a8f049c68f8954/rig/channel/linux-64/rig_interfaces-0.2.0-hb0f4dca_0.conda - sha256: 0d7489d26092ec4577b4bfff037381f4af4afa6fce7048eee8c265686c35d2b8 - md5: 4ebaa2cd9733451b0b3e59deb47e5fb6 - depends: - - ros-jazzy-rosidl-default-runtime - - ros2-distro-mutex - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - libgcc >=16 - - libstdcxx >=16 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: LicenseRef-MIT - size: 105086 - timestamp: 1793048970684 -- conda: https://raw.githubusercontent.com/reiserlab/webDisplayTools/39eeb1fa43874aae7d845dfec2a8f049c68f8954/rig/channel/osx-arm64/rig_interfaces-0.2.0-h60d57d3_0.conda - sha256: c5321504efbf9c53bc2460b3d716ec393b88b9b4202d19e91eca91989eb5c57d - md5: a7e94cc4f41518c293afe366b6158a95 - depends: - - ros-jazzy-rosidl-default-runtime - - ros2-distro-mutex - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - libcxx >=23 - - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - license: LicenseRef-MIT - size: 94008 - timestamp: 1793048978759 -- conda: https://raw.githubusercontent.com/reiserlab/webDisplayTools/39eeb1fa43874aae7d845dfec2a8f049c68f8954/rig/channel/win-64/rig_interfaces-0.2.0-ha41a7fa_0.conda - sha256: 5104b3d9b166fae11d9b0f27baf70cb71afcea6514f0e56943387e7d75a6ed22 - md5: 89bafa8c42ed698b93e78ba3d9034022 - depends: - - ros-jazzy-rosidl-default-runtime - - ros2-distro-mutex - - ros2-distro-mutex >=0.20.0,<0.21.0a0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.25,<3 - license: LicenseRef-MIT - size: 106009 - timestamp: 1793049050900 -- conda_source: rig_interfaces[10726d3a] @ interfaces/rig_interfaces - variants: - target_platform: linux-64 +- conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/linux-64/rig_interfaces-0.2.1-hb0f4dca_0.conda + sha256: 9eb49568b01263b22a193915e0102e9dc1a0597a5f4d3f6267f400c77700a3be + md5: ea446b574ec41bcdc263d3ee929c9b41 depends: - ros-jazzy-rosidl-default-runtime - ros2-distro-mutex - ros2-distro-mutex >=0.19.0,<0.20.0a0 - libgcc >=16 - - libgcc >=16 - libstdcxx >=16 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 - license: LicenseRef-MIT - build_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.4-hff7ac6b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/coreutils-9.12-hebe6cf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.22.0-py312h3cdd867_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-16.2.0-h9891192_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-16.2.0-h0ab548f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/git-2.56.0-pl5440h3795e67_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/git-lfs-3.8.0-h2c09266_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gmock-1.18.0-h48ecd08_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gtest-1.18.0-h171cf75_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-16.2.0-h0d273dc_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-16.2.0-h23aca61_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-11_h0358290_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.23.0-ha042cf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20260512-pl5321h373387f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.2.0-h69a702a_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-16.2.0-h69a702a_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.15-ha57cdbe_2_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-16.2.0-h3048135_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.0-h13e7031_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.2.0-hdf11a46_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-hb03c661_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.4-py312he827f4e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/patch-2.8-h280c20c_1003.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-h8b3dc9c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/perl-5.44.0-1_h7cc23a3_perl5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.15-h5f976f7_2_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-hee9eb32_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.83.0-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-builtins-3.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-comprehensions-3.17.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-16.2.0-he3ce08f_107.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-16.2.0-h86e191b_107.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.6-hb0f4dca_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-workspace-1.0.3-hb0f4dca_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.1-hb0f4dca_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-core-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cppcheck-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cpplint-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-definitions-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-libraries-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-targets-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-flake8-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gmock-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gtest-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-include-directories-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-libraries-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pep257-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pytest-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-python-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-ros-0.12.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-test-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-uncrustify-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-version-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cppcheck-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cpplint-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-flake8-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-python-1.8.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-package-0.16.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-pep257-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-uncrustify-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-builtin-interfaces-2.0.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastcdr-2.2.8-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-cmake-module-3.6.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gmock-vendor-1.14.9000-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gtest-vendor-1.14.9000-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-cmake-module-0.11.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcpputils-2.11.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcutils-6.7.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-7.3.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-environment-4.2.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-generators-1.6.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-c-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-cpp-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-py-0.22.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-rs-0.5.0-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-type-description-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-parser-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-pycommon-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-c-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-cpp-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-c-3.2.3-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-interface-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rpyutils-0.4.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-service-msgs-2.0.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py312h1bab3cf_25.conda - host_packages: + license: LicenseRef-MIT + size: 108827 + timestamp: 1793061689682 +- conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/noarch/rig_nodes-0.2.1-pyh4616a5c_0.conda + sha256: e002109fbeb72c36489c850ddce0176df13e0e032b422b64ccf854465d5394a7 + md5: e6d1f0825cab19cfe6a05d73ce1ddc64 + depends: + - python >=3.12 + - python * + - ros-jazzy-rclpy + - ros-jazzy-std-msgs + - ros-jazzy-rosbag2-py + - ros-jazzy-rosbag2-storage-mcap + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.19.* + - mcap >=1.2 + - websockets >=12 + license: MIT + size: 73173 + timestamp: 1793061824585 +- conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/osx-arm64/rig_interfaces-0.2.1-h60d57d3_0.conda + sha256: 76339c539d4eaae37bb81d7efd84c5e6dfff438a89b722a6c57252b09ba9d32d + md5: 49fd4624aa1a863e595c8e809f4a6d92 + depends: + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - libcxx >=23 + - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + license: LicenseRef-MIT + size: 98935 + timestamp: 1793061701492 +- conda: https://raw.githubusercontent.com/reiserlab/rig-nodes/v0.2.1/channel/win-64/rig_interfaces-0.2.1-ha41a7fa_0.conda + sha256: dfef21559ce477fd9d4ca7bbd4f9f24943b52405f82b79d075d2874202cb0d4f + md5: e4e5920b2ff153858701ac29e388fe06 + depends: + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + license: LicenseRef-MIT + size: 110182 + timestamp: 1793061783743 +- conda_source: rig_interfaces[e11d73b8] @ ../../rig-nodes/src/rig_interfaces + variants: + target_platform: linux-64 + depends: + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - libgcc >=16 + - libgcc >=16 + - libstdcxx >=16 + - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + license: LicenseRef-MIT + build_packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_103.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.3-hff7ac6b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.22.0-py312h3cdd867_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.9-hebe6cf0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.4-hff7ac6b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coreutils-9.12-hebe6cf0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.22.0-py314h79bcd83_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-16.2.0-h9891192_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-16.2.0-h0ab548f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/git-2.56.0-pl5440h3795e67_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/git-lfs-3.8.1-h2c09266_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmock-1.18.0-h48ecd08_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gtest-1.18.0-h171cf75_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-16.2.0-h0d273dc_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-16.2.0-h23aca61_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_103.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-11_h0358290_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.21.0-hcf29cc6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.23.0-ha042cf0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20260512-pl5321h373387f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.9.0-hd2095e1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.2.0-h69a702a_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-16.2.0-h69a702a_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.15-ha57cdbe_2_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.0-h0737f62_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.14.10-hd51c5da_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-16.2.0-h3048135_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h13e7031_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.2.0-hdf11a46_7.conda @@ -39534,12 +33352,16 @@ packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-h1114479_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.4-py312he827f4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.4-py314hd3a7d6b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/patch-2.8-h280c20c_1003.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/pkg-config-0.29.2-h1114479_1013.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.15-h5f976f7_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-h8b3dc9c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/perl-5.44.0-1_h7cc23a3_perl5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.10-hcd007b5_100_cp314.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-hee9eb32_1.conda @@ -39547,138 +33369,10 @@ packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.83.0-h54a6638_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-builtins-3.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-comprehensions-3.17.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.2.1-pyh8b19718_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.48.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.6-hb0f4dca_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-workspace-1.0.3-hb0f4dca_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.1-hb0f4dca_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-core-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cppcheck-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cpplint-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-definitions-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-libraries-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-targets-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-flake8-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gmock-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gtest-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-include-directories-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-libraries-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pep257-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pytest-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-python-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-ros-0.12.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-test-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-uncrustify-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-version-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cppcheck-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cpplint-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-flake8-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-python-1.8.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-package-0.16.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-pep257-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-uncrustify-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-builtin-interfaces-2.0.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastcdr-2.2.8-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-cmake-module-3.6.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gmock-vendor-1.14.9000-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gtest-vendor-1.14.9000-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-cmake-module-0.11.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcpputils-2.11.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcutils-6.7.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-7.3.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-environment-4.2.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-generators-1.6.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-c-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-cpp-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-py-0.22.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-rs-0.5.0-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-type-description-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-parser-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-pycommon-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-c-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-cpp-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-c-3.2.3-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-interface-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rpyutils-0.4.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-service-msgs-2.0.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py312h1bab3cf_25.conda -- conda_source: rig_interfaces[1555b18d] @ interfaces/rig_interfaces - variants: - target_platform: osx-arm64 - depends: - - ros-jazzy-rosidl-default-runtime - - ros2-distro-mutex - - ros2-distro-mutex >=0.16.0,<0.17.0a0 - - libcxx >=23 - - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - license: LicenseRef-MIT - build_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt23_osx-arm64-23.1.3-hb8825d9_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-arm64-23.1.3-hce30654_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.10-py314hd8ed1ab_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda @@ -39688,185 +33382,161 @@ packages: - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libcxx-headers-23.1.3-h707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-16.2.0-he3ce08f_107.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-16.2.0-h86e191b_107.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sdkroot_env_osx-arm64-26.0-ha3f98da_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-8_kmp_llvm.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.8-h74c22ad_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cctools_impl_osx-arm64-1030.6.3-llvm23_1_hf5e010b_6.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cctools_osx-arm64-1030.6.3-llvm23_1_h54b4f4b_6.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-23-23.1.3-default_h885965d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-scan-deps-23.1.3-default_h79071a4_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang_impl_osx-arm64-23.1.3-default_h79071a4_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang_osx-arm64-23.1.3-hc4210b9_34.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx_impl_osx-arm64-23.1.3-default_ha944c1a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx_osx-arm64-23.1.3-hc4210b9_34.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.4-hf91ab31_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt-23.1.3-hce30654_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt23-23.1.3-hdb3d66b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coreutils-9.12-h74c22ad_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cppcheck-2.22.0-py312h3286cfa_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/git-2.56.0-pl5440h66f49b9_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/git-lfs-3.8.0-h7021a9e_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmock-1.18.0-hab71263_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtest-1.18.0-h3feff0a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ld64_osx-arm64-956.6-llvm23_1_hc8058f9_6.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-11_h51639a9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-11_hb0561ab_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp23.1-23.1.3-default_h79071a4_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang13-23.1.3-default_h885965d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcompiler-rt-23.1.3-hdb3d66b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.22.0-h6651222_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.3-h55c6f16_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-devel-23.1.3-h6dc3340_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20260512-pl5321h26f1114_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-16.2.0-h3cf6597_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-16.2.0-h07b0088_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-16.2.0-hdb7a957_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-he4c29f2_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-hae62183_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-11_hd9741b5_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm23-23.1.3-h759d1ac_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h435687b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.34-openmp_h5e6e99c_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpsl-0.23.1-hdb0c161_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.12.15-h0677fcb_2_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsigtool-0.1.3-h98dc951_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.0-hca69786_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-hbf2880b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.52.1-h1a92334_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.4-heb56d2d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.4-h550178d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-23.1.3-hdb3d66b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-23-23.1.3-h79441dc_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-23.1.3-hdb3d66b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/make-4.4.1-h84a0fba_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ninja-1.13.2-h3feff0a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.5.4-py312hff34920_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/patch-2.8-h1a92334_1003.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre-8.45-hbdafb3b_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-he63d830_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/perl-5.44.0-1_hb001647_perl5.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.15-hd05a0c4_2_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sigtool-codesign-0.1.3-h98dc951_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tapi-1600.0.11.8-hb561403_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tinyxml2-11.0.0-hdca3b7d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uncrustify-0.83.0-h784d473_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-cmake-2.5.6-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-workspace-1.0.3-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-default-generators-1.6.1-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.16.0-jazzy_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312haf4906a_21.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.6-hb0f4dca_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-workspace-1.0.3-hb0f4dca_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.1-hb0f4dca_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-core-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cppcheck-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cpplint-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-definitions-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-libraries-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-targets-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-flake8-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gmock-2.5.6-np2py314h53a0733_28.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gtest-2.5.6-np2py314h53a0733_28.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-include-directories-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-libraries-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pep257-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pytest-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-python-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-ros-0.12.2-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-test-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-uncrustify-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-version-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cppcheck-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cpplint-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-flake8-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-python-1.8.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-package-0.16.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-pep257-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-uncrustify-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-builtin-interfaces-2.0.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.20.0-jazzy_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastcdr-2.2.8-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-cmake-module-3.6.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gmock-vendor-1.14.9000-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gtest-vendor-1.14.9000-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-cmake-module-0.11.1-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcpputils-2.11.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcutils-6.7.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-7.3.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-environment-4.2.1-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-generators-1.6.1-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-c-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-cpp-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-py-0.22.2-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-rs-0.5.0-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-type-description-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-parser-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-pycommon-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-c-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-cpp-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-c-3.2.3-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-interface-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rpyutils-0.4.2-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-service-msgs-2.0.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py314h53a0733_27.conda host_packages: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.9-hebe6cf0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.3-hff7ac6b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.22.0-py312h3cdd867_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmock-1.18.0-h48ecd08_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gtest-1.18.0-h171cf75_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-11_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.21.0-hcf29cc6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20260512-pl5321h373387f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.9.0-hd2095e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.2.0-h69a702a_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-16.2.0-h69a702a_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.16-ha57cdbe_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h0737f62_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.2.0-hdf11a46_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.4-py312he827f4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/pkg-config-0.29.2-h1114479_1013.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.16-h5f976f7_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-hee9eb32_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.83.0-h54a6638_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda @@ -39878,150 +33548,109 @@ packages: - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.2.1-pyh8b19718_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.2.2-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.48.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-8_kmp_llvm.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.8-h74c22ad_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.3-hf91ab31_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cppcheck-2.22.0-py312h3286cfa_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmock-1.18.0-hab71263_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtest-1.18.0-h3feff0a_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-11_h51639a9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-11_hb0561ab_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.21.0-hd5a2499_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.3-h55c6f16_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20260512-pl5321h26f1114_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-16.2.0-h3cf6597_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-16.2.0-h07b0088_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-16.2.0-hdb7a957_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-he4c29f2_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-11_hd9741b5_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h435687b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.34-openmp_h5e6e99c_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.12.15-h0677fcb_2_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.0-h34a968b_101.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-hbf2880b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.52.1-h1a92334_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-23.1.3-hdb3d66b_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.5.4-py312hff34920_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre-8.45-hbdafb3b_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pkg-config-0.29.2-he0b766d_1013.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.15-hd05a0c4_2_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tinyxml2-11.0.0-hdca3b7d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uncrustify-0.83.0-h784d473_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-cmake-2.5.6-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-workspace-1.0.3-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-default-generators-1.6.1-h60d57d3_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.16.0-jazzy_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.7-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312haf4906a_22.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312haf4906a_21.conda - - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312haf4906a_21.conda -- conda_source: rig_interfaces[3fd15877] @ interfaces/rig_interfaces + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.6-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-workspace-1.0.3-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.1-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-core-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cppcheck-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cpplint-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-definitions-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-libraries-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-targets-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-flake8-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gmock-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gtest-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-include-directories-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-libraries-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pep257-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pytest-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-python-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-ros-0.12.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-test-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-uncrustify-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-version-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cppcheck-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cpplint-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-flake8-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-python-1.8.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-package-0.16.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-pep257-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-uncrustify-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-builtin-interfaces-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastcdr-2.2.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-cmake-module-3.6.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gmock-vendor-1.14.9000-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gtest-vendor-1.14.9000-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-cmake-module-0.11.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcpputils-2.11.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcutils-6.7.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-7.3.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-environment-4.2.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-generators-1.6.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-c-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-cpp-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-py-0.22.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-rs-0.5.0-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-type-description-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-parser-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-pycommon-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-c-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-cpp-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-c-3.2.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-interface-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rpyutils-0.4.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-service-msgs-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py312h1bab3cf_25.conda +- conda_source: rig_interfaces[f15ddf61] @ ../../rig-nodes/src/rig_interfaces variants: c_compiler: vs2022 cxx_compiler: vs2022 @@ -40038,10 +33667,10 @@ packages: license: LicenseRef-MIT build_packages: - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.15-py312hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.10-py314hd8ed1ab_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda @@ -40051,7 +33680,7 @@ packages: - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda @@ -40059,149 +33688,151 @@ packages: - conda: https://conda.anaconda.org/conda-forge/noarch/m2-patch-2.7.6.3-hc364b38_6.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cmake-4.4.4-hde52c71_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cppcheck-2.22.0-py312h9df87ca_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/git-2.56.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/git-lfs-3.8.0-ha70c05e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gmock-1.18.0-h4f519af_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gtest-1.18.0-h477610d_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h5112557_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-11_h8455456_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-11_h2a3cdd5_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.23.0-hdb0ef4a_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.5-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.15.0-default_hae90fe0_1001.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-11_hf9ab0e9_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpsl-0.23.1-h9b16d47_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.15-hfb4101e_2_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.0-hf5d6505_101.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h734d217_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libuv-1.52.1-h6a83c73_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.4-h3cfd58e_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.4-he095d88_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.3-h49e36cd_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_235.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ninja-1.13.2-h477610d_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.4-py312ha3f287d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pcre-8.45-h0e60522_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.15-hb12b558_2_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.1.0-h272cf33_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tinyxml2-11.0.0-h5112557_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/uncrustify-0.83.0-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36247-h633cb9f_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2022_win-64-19.44.35207-ha74f236_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ament-cmake-2.5.6-h9490d1a_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ros-workspace-1.0.3-h9490d1a_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-default-generators-1.6.1-h9490d1a_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-action-msgs-2.0.4-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-core-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-cppcheck-0.17.5-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-cpplint-0.17.5-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-definitions-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-libraries-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-targets-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-flake8-0.17.5-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-gmock-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-gtest-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-include-directories-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-libraries-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-pep257-0.17.5-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-pytest-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-python-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-ros-0.12.2-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-test-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-uncrustify-0.17.5-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-version-2.5.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cppcheck-0.17.5-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cpplint-0.17.5-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-flake8-0.17.5-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-index-python-1.8.4-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-0.17.5-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-package-0.16.5-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-pep257-0.17.5-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-uncrustify-0.17.5-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-builtin-interfaces-2.0.4-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.19.0-jazzy_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-domain-coordinator-0.12.2-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastcdr-2.2.8-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastrtps-cmake-module-3.6.4-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-gmock-vendor-1.14.9000-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-gtest-vendor-1.14.9000-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-python-cmake-module-0.11.1-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcpputils-2.11.4-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcutils-6.7.6-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-7.3.4-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-environment-4.2.1-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-workspace-1.0.3-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-adapter-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cmake-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-generators-0.2.1-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-runtime-0.2.1-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-default-generators-1.6.1-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-c-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-cpp-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-py-0.22.2-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-rs-0.5.0-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-type-description-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-parser-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-pycommon-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-runtime-c-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-runtime-cpp-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-c-3.2.3-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-interface-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rpyutils-0.4.2-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-service-msgs-2.0.4-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-uncrustify-vendor-3.0.1-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-unique-identifier-msgs-2.5.1-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cmake-4.4.4-hde52c71_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cppcheck-2.22.0-py314h7ae7f31_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/git-2.56.0-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/git-lfs-3.8.1-ha70c05e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gmock-1.18.0-h4f519af_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gtest-1.18.0-h477610d_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h5112557_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-11_h8455456_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-11_h2a3cdd5_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.23.0-hdb0ef4a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.9.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.15.0-default_hae90fe0_1001.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-11_hf9ab0e9_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpsl-0.23.1-h9b16d47_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.14.10-hc6187dd_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.1-hf5d6505_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h734d217_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libuv-1.52.1-h6a83c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r688.g6b2176247.1-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.4-h3cfd58e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.4-he095d88_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.4-h49e36cd_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_235.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ninja-1.13.2-h477610d_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.4-py314h02f10f6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pcre-8.45-h0e60522_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.10-h53f6dd8_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.1.0-h272cf33_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tinyxml2-11.0.0-h5112557_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/uncrustify-0.83.0-h5112557_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36247-h633cb9f_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2022_win-64-19.44.35207-ha74f236_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ament-cmake-2.5.6-h9490d1a_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-ros-workspace-1.0.3-h9490d1a_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros-jazzy-rosidl-default-generators-1.6.1-h9490d1a_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-action-msgs-2.0.4-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-core-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-cppcheck-0.17.5-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-cpplint-0.17.5-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-definitions-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-libraries-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-export-targets-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-flake8-0.17.5-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-gmock-2.5.6-np2py314hf807026_28.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-gtest-2.5.6-np2py314hf807026_28.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-include-directories-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-libraries-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-pep257-0.17.5-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-pytest-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-python-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-ros-0.12.2-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-test-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-uncrustify-0.17.5-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cmake-version-2.5.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cppcheck-0.17.5-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-cpplint-0.17.5-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-flake8-0.17.5-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-index-python-1.8.4-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-lint-0.17.5-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-package-0.16.5-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-pep257-0.17.5-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-uncrustify-0.17.5-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-builtin-interfaces-2.0.4-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.20.0-jazzy_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-domain-coordinator-0.12.2-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastcdr-2.2.8-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastrtps-cmake-module-3.6.4-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-gmock-vendor-1.14.9000-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-gtest-vendor-1.14.9000-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-python-cmake-module-0.11.1-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcpputils-2.11.4-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rcutils-6.7.6-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rmw-7.3.4-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-environment-4.2.1-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-workspace-1.0.3-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-adapter-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cmake-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-generators-0.2.1-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-runtime-0.2.1-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-default-generators-1.6.1-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-c-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-cpp-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-py-0.22.2-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-rs-0.5.0-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-generator-type-description-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-parser-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-pycommon-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-runtime-c-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-runtime-cpp-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-c-3.2.3-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-interface-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rpyutils-0.4.2-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-service-msgs-2.0.4-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-uncrustify-vendor-3.0.1-np2py314hf807026_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-unique-identifier-msgs-2.5.1-np2py314hf807026_27.conda host_packages: - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda @@ -40213,30 +33844,31 @@ packages: - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.2.1-pyh8b19718_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.2.2-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.48.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.1-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cmake-4.4.4-hde52c71_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cppcheck-2.22.0-py312h9df87ca_1.conda @@ -40247,7 +33879,7 @@ packages: - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-11_h8455456_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-11_h2a3cdd5_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.23.0-hdb0ef4a_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.5-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.9.0-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.90.1-ha564072_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.15.0-default_hae90fe0_1001.conda @@ -40256,22 +33888,22 @@ packages: - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-11_hf9ab0e9_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpsl-0.23.1-h9b16d47_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.15-hfb4101e_2_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.0-hf5d6505_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.16-hfb4101e_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.1-hf5d6505_101.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-h734d217_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libuv-1.52.1-h6a83c73_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r688.g6b2176247.1-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.4-h3cfd58e_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.4-he095d88_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.3-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-23.1.4-h49e36cd_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_235.conda - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.4-py312ha3f287d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pcre-8.45-h0e60522_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-h8466c1e_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pkg-config-0.29.2-hffdb5b9_1013.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.15-hb12b558_2_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.16-hb12b558_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.1.0-h272cf33_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tinyxml2-11.0.0-h5112557_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda @@ -40320,7 +33952,7 @@ packages: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-pep257-0.17.5-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ament-uncrustify-0.17.5-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-builtin-interfaces-2.0.4-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.19.0-jazzy_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-distro-mutex-0.19.0-jazzy_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-domain-coordinator-0.12.2-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastcdr-2.2.8-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-fastrtps-cmake-module-3.6.4-np2py312hdd89193_25.conda @@ -40333,7 +33965,7 @@ packages: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-environment-4.2.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-ros-workspace-1.0.3-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-adapter-4.6.9-np2py312hdd89193_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py312hdd89193_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cli-4.6.9-np2py312hdd89193_26.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-cmake-4.6.9-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-generators-0.2.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-rosidl-core-runtime-0.2.1-np2py312hdd89193_25.conda @@ -40359,3 +33991,495 @@ packages: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-service-msgs-2.0.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-uncrustify-vendor-3.0.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-unique-identifier-msgs-2.5.1-np2py312hdd89193_25.conda +- conda_source: rig_interfaces[f3eefd17] @ ../../rig-nodes/src/rig_interfaces + variants: + target_platform: osx-arm64 + depends: + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - libcxx >=23 + - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + license: LicenseRef-MIT + build_packages: + - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt23_osx-arm64-23.1.4-hb8825d9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-arm64-23.1.4-hce30654_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.10-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-builtins-3.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-comprehensions-3.17.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libcxx-headers-23.1.4-h707e725_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sdkroot_env_osx-arm64-26.0-ha3f98da_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-8_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.9-h74c22ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cctools_impl_osx-arm64-1030.6.3-llvm23_1_hf5e010b_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cctools_osx-arm64-1030.6.3-llvm23_1_h54b4f4b_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-23-23.1.4-default_h63627a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang-scan-deps-23.1.4-default_h8bbc02d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang_impl_osx-arm64-23.1.4-default_h8bbc02d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clang_osx-arm64-23.1.4-h2adb7b3_35.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx_impl_osx-arm64-23.1.4-default_h7028af0_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/clangxx_osx-arm64-23.1.4-h2adb7b3_35.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.4-hf91ab31_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt-23.1.4-hce30654_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/compiler-rt23-23.1.4-hdb3d66b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coreutils-9.12-h74c22ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cppcheck-2.22.0-py314h16e8f3b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/git-2.56.0-pl5440h66f49b9_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/git-lfs-3.8.1-hc1ac0ee_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmock-1.18.0-hab71263_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtest-1.18.0-h3feff0a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ld64_osx-arm64-956.6-llvm23_1_hc8058f9_6.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-11_h51639a9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-11_hb0561ab_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp23.1-23.1.4-default_h8bbc02d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang13-23.1.4-default_h63627a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcompiler-rt-23.1.4-hdb3d66b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.23.0-h6651222_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.4-h55c6f16_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-devel-23.1.4-h6dc3340_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20260512-pl5321h26f1114_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.9.0-h6111c0a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-16.2.0-h3cf6597_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-16.2.0-h07b0088_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-16.2.0-hdb7a957_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-he4c29f2_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libintl-0.25.1-hae62183_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-11_hd9741b5_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm23-23.1.4-h759d1ac_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h435687b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.34-openmp_h5e6e99c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpsl-0.23.1-hdb0c161_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.14.10-h281bc5c_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsigtool-0.1.3-h98dc951_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.1-hca69786_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-hbf2880b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.52.1-h1a92334_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-16-2.15.4-heb56d2d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.15.4-h550178d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-23.1.4-hdb3d66b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-23-23.1.4-h79441dc_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-23.1.4-hdb3d66b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/make-4.4.1-h63fc045_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ninja-1.13.2-h3feff0a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.5.4-py314he06036b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/patch-2.8-h1a92334_1003.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre-8.45-hbdafb3b_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.47-he63d830_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/perl-5.44.0-1_hb001647_perl5.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.10-h0ae1c2c_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sigtool-codesign-0.1.3-h98dc951_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tapi-1600.0.11.8-hb561403_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tinyxml2-11.0.0-hdca3b7d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uncrustify-0.83.0-h784d473_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-cmake-2.5.6-h60d57d3_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-workspace-1.0.3-h60d57d3_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-default-generators-1.6.1-h60d57d3_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py314h40712d6_28.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py314h40712d6_28.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.2-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.20.0-jazzy_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.2-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.8-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.4-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py314h40712d6_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py314h40712d6_27.conda + host_packages: + - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-builtins-3.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-comprehensions-3.17.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.2.2-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.48.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/_openmp_mutex-4.5-8_kmp_llvm.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.9-h74c22ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cmake-4.4.3-hf91ab31_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cppcheck-2.22.0-py312h3286cfa_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmock-1.18.0-hab71263_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gtest-1.18.0-h3feff0a_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-11_h51639a9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.11.0-11_hb0561ab_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.21.0-hd5a2499_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.4-h55c6f16_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20260512-pl5321h26f1114_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.9.0-h6111c0a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgcc-16.2.0-h3cf6597_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-16.2.0-h07b0088_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-16.2.0-hdb7a957_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.18-he4c29f2_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.11.0-11_hd9741b5_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.68.1-h435687b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.34-openmp_h5e6e99c_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.12.16-h0677fcb_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.1-h34a968b_101.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-hbf2880b_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libuv-1.52.1-h1a92334_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-23.1.4-hdb3d66b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.5.4-py312hff34920_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre-8.45-hbdafb3b_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pkg-config-0.29.2-he0b766d_1013.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.16-hd05a0c4_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tinyxml2-11.0.0-hdca3b7d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uncrustify-0.83.0-h784d473_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ament-cmake-2.5.6-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-ros-workspace-1.0.3-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros-jazzy-rosidl-default-generators-1.6.1-h60d57d3_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-action-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-core-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cppcheck-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-cpplint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-definitions-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-libraries-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-export-targets-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-flake8-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gmock-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-gtest-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-include-directories-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-libraries-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pep257-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-pytest-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-python-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-ros-0.12.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-test-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-uncrustify-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cmake-version-2.5.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cppcheck-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-cpplint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-flake8-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-index-python-1.8.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-lint-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-package-0.16.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-pep257-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ament-uncrustify-0.17.5-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-builtin-interfaces-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-distro-mutex-0.19.0-jazzy_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-domain-coordinator-0.12.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastcdr-2.2.8-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-fastrtps-cmake-module-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gmock-vendor-1.14.9000-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-gtest-vendor-1.14.9000-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-python-cmake-module-0.11.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcpputils-2.11.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rcutils-6.7.6-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rmw-7.3.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-environment-4.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-ros-workspace-1.0.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-adapter-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cli-4.6.9-np2py312h3d3361c_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-cmake-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-generators-0.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-core-runtime-0.2.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-default-generators-1.6.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-py-0.22.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-rs-0.5.0-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-generator-type-description-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-parser-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-pycommon-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-runtime-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-c-3.2.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-interface-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-rpyutils-0.4.2-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312h3d3361c_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312h3d3361c_25.conda +- conda_source: rig_nodes[4f86bef0] @ ../../rig-nodes/src/rig_nodes + variants: + target_platform: noarch + depends: + - python >=3.12 + - python * + - ros-jazzy-rclpy + - ros-jazzy-std-msgs + - ros-jazzy-rosbag2-py + - ros-jazzy-rosbag2-storage-mcap + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.19.* + - mcap >=1.2 + - websockets >=12 + license: MIT + host_packages: + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/editables-0.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hatchling-1.32.4-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/trove-classifiers-2026.9.21.13-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.4-h55c6f16_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.9.0-h6111c0a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.12.16-h0677fcb_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.54.1-h34a968b_101.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.16-hd05a0c4_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.13.5-hbb8eed7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda +- conda_source: rig_nodes[98f5547c] @ ../../rig-nodes/src/rig_nodes + variants: + target_platform: noarch + depends: + - python >=3.12 + - python * + - ros-jazzy-rclpy + - ros-jazzy-std-msgs + - ros-jazzy-rosbag2-py + - ros-jazzy-rosbag2-storage-mcap + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.19.* + - mcap >=1.2 + - websockets >=12 + license: MIT + host_packages: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.9.0-hd2095e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.16-ha57cdbe_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h0737f62_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.16-h5f976f7_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.13.5-h535ca38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/editables-0.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hatchling-1.32.4-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/trove-classifiers-2026.9.21.13-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda +- conda_source: rig_nodes[d089b0ef] @ ../../rig-nodes/src/rig_nodes + variants: + target_platform: noarch + depends: + - python >=3.12 + - python * + - ros-jazzy-rclpy + - ros-jazzy-std-msgs + - ros-jazzy-rosbag2-py + - ros-jazzy-rosbag2-storage-mcap + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.19.* + - mcap >=1.2 + - websockets >=12 + license: MIT + host_packages: + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/editables-0.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hatchling-1.32.4-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/trove-classifiers-2026.9.21.13-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.9.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.16-hfb4101e_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.1-hf5d6505_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.16-hb12b558_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.13.5-hf7a7c96_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda From ad98b2a6bda85c2ade57b164a93710c6a91c198e Mon Sep 17 00:00:00 2001 From: Michael B Reiser Date: Mon, 26 Oct 2026 20:49:09 -0400 Subject: [PATCH 4/8] =?UTF-8?q?docs:=20record=20=C2=A79=20=E2=80=94=20extr?= =?UTF-8?q?action=20state=20(rig-nodes=20CI=20green,=20v0.2.1=20tagged,=20?= =?UTF-8?q?PR=20#274)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5.1 --- docs/development/rig-software-repos-and-runners.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/development/rig-software-repos-and-runners.md b/docs/development/rig-software-repos-and-runners.md index f86b6a63..5c98213e 100644 --- a/docs/development/rig-software-repos-and-runners.md +++ b/docs/development/rig-software-repos-and-runners.md @@ -410,10 +410,15 @@ changed the inventory's destinations. inventory marks "stays"; `scanimage_frames_node` / SiPM / `bias_health` follow when #261, #266 and #269 land (each PR rebases onto this move: its new node goes to rig-nodes, its gateway edits stay). `.github/workflows/rig-interfaces.yml` left with the package. -- **Open after this session:** place the `v0.2.1` tag on the rig-nodes release commit once CI is - green on the three platforms and the channel is committed; re-lock `rig/pixi.lock` against the - tagged channel (the PR is opened with that lock); the `okey-cokey` PR #269 rebases over the move - (it edits `rig.py`, `foxglove_json.py`, `viz_node.py`, adds `bias_health.py`). +- **State at the end of the session:** rig-nodes CI green on the three platforms (run + [40427967719](https://github.com/reiserlab/rig-nodes/actions/runs/40427967719), builds + channel + + clean-directory acceptance), tag `v0.2.1` placed on the release commit `e69ac22` (payload removed + again in `75b9986`), `rig/pixi.lock` re-locked on the tagged channel, webDisplayTools PR + [#274](https://github.com/reiserlab/webDisplayTools/pull/274) open. Open: the `okey-cokey` PR + #269 rebases over the move (it edits `rig.py`, `foxglove_json.py`, `viz_node.py`, adds + `bias_health.py`, which goes to rig-nodes); a Windows rig verifies `pixi install --locked` + the + harness (the `%CONDA_PREFIX%` activation paths ran only in rig-nodes' CI acceptance, not in this + workspace); LAB-337's runner planning session starts from the installed package set. ## 10. Decided, hypotheses, commitments From 31011ddb85c77f5b8fd6c31633e956f229a94ca3 Mon Sep 17 00:00:00 2001 From: Michael B Reiser Date: Tue, 27 Oct 2026 10:31:13 -0400 Subject: [PATCH 5/8] rig: dev environment = git source deps on rig-nodes main, not a sibling path (fixes `pixi install` on rig PCs) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `cd rig && pixi install` failed on any machine without a `../../rig-nodes` checkout (ww18, 2026-10-27): pixi validates every environment's source PATHS before installing ANY environment, so the `dev` feature's path dependencies broke the default install. `pixi install --locked` reported "lock-file not up-to-date", `pixi install -e default` "source path … could not be found". The `dev` feature now uses git source dependencies on reiserlab/rig-nodes `main` (`subdirectory = src/rig_nodes` / `src/rig_interfaces`), pinned to one commit in pixi.lock (75b9986 = the v0.2.1 release commit without the channel payload). Git sources are fetched only when `dev` itself is installed. Verified on the Mac with the sibling hidden and the network blocked (dead proxy, pixi git cache removed, environments removed first): `pixi install --locked` and `pixi install --locked -e typed` succeed and leave pixi.lock byte-identical. Lock diff is confined to the dev block (the two source lines per platform) and to the source packages' build records (uv 0.13.5 → 0.13.6). Dev Zenoh config URIs: with a git source the package is a real (non-editable) install, so the `$CONDA_PREFIX/…/site-packages/rig_nodes/config/*.json5` URIs resolve in `dev` too (they did not with the editable path build — LAB-338 note). Also found: a source build of the same version as the release lands in pixi's package cache under the release's filename and shadows a later channel install on that machine (my default env held the editable 25-file stub while conda-meta showed the channel URL and sha). After purging that entry: default 59/59, typed 62/62 harness checks against the genuine channel packages. The manifest comment, CLAUDE.md, rig/README.md, WINDOWS-TEST.md and the record (§7 item 6, §9) say how to point `dev` at a local checkout without committing it and name the cache gotcha. LAB-338, LAB-303. Co-Authored-By: Claude Fable 5.1 --- CLAUDE.md | 6 +- .../rig-software-repos-and-runners.md | 13 +- rig/README.md | 6 +- rig/WINDOWS-TEST.md | 2 +- rig/pixi.lock | 905 +++++++++--------- rig/pixi.toml | 29 +- 6 files changed, 501 insertions(+), 460 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 5d995c77..24ab1b0d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -115,8 +115,10 @@ arena visualization stay here; the Python arena library + headless runner go to (`rig_interfaces`, the device adapters + simulators, `rig_nodes.recorder` / `mcap_index` / `cdr` / `foxglove_json`, `rig_nodes.supervise`, the Zenoh configs; contract: its `CONTRACT.md`) and is INSTALLED into `rig/` as the pinned `rig_nodes` + `rig_interfaces` packages from that repo's channel. A node fix -is tested here with `pixi install -e dev` (a sibling `../rig-nodes` checkout built from source); a -release of the set re-pins `rig/pixi.toml`. Never re-add a device node or recorder copy under `rig/`. +is tested here with `pixi install -e dev` (rig-nodes `main` built from source — git source dependencies, +NEVER path dependencies on a sibling checkout: pixi validates every environment's source paths before +installing any environment, which broke `pixi install` on rig PCs on 2026-10-27); a release of the set +re-pins `rig/pixi.toml`. Never re-add a device node or recorder copy under `rig/`. ### Dev environment (pixi — the only tool you install) diff --git a/docs/development/rig-software-repos-and-runners.md b/docs/development/rig-software-repos-and-runners.md index 5c98213e..c0e9724e 100644 --- a/docs/development/rig-software-repos-and-runners.md +++ b/docs/development/rig-software-repos-and-runners.md @@ -282,8 +282,11 @@ These items are the body of the rig-nodes ticket and apply to pyDisplayTools as `pixi install`. One tested package-set release per repository until independent cadence is demonstrated. Release gate: installed-package acceptance in a clean directory with the real JS client (today's harness runs source-tree files and a Python emulator). Retain an installable release - bundle so a channel outage never blocks a rig rebuild. Keep a sibling-checkout developer path (pixi - path dependencies) so a node fix never needs a release to test. + bundle so a channel outage never blocks a rig rebuild. Keep a developer path that builds rig-nodes from source so a + node fix never needs a release to test: pixi **git** source dependencies on rig-nodes `main`, + pinned in the lock (a local checkout by an uncommitted manifest edit) — not path dependencies on + a sibling checkout, because pixi validates every environment's source paths before installing any + environment and a rig PC has no such checkout (found 2026-10-27, ww18). 7. **Lock files and skew.** A supported-combination table (Studio × gateway × package sets) rather than "minimum tested version"; every package version written into `run_metadata`; the shared graph is single-host initially (`bridge_node` compares adapter and gateway monotonic clocks; Zenoh is @@ -397,8 +400,10 @@ changed the inventory's destinations. - **webDisplayTools `rig/`** keeps the §3.3 "stays" set and installs the package set from the rig-nodes channel (`rig/pixi.toml`: `rig_nodes ==0.2.1`; the `typed` environment adds `rig_interfaces ==0.2.1` in the SAME solve group, which the 0.2.0 pins had made impossible; the - `dev` environment swaps both for path dependencies on a sibling `../../rig-nodes` checkout — - item 6's developer path). `rig.py` composes with `rig_nodes.supervise`; `bridge_node` imports + `dev` environment swaps both for git source dependencies on rig-nodes `main`, pinned to one commit + in the lock — item 6's developer path; the first version used path dependencies on a sibling + checkout, which made `pixi install` fail on every machine without one and was replaced on + 2026-10-27). `rig.py` composes with `rig_nodes.supervise`; `bridge_node` imports `rig_nodes._common` / `recorder` / `mcap_index` and writes the package-set versions into `hello_ack` and the `/arena/session` record (item 7); `mcap_convert` and `_rows` import the decoder and the FicTrac grammar; `foxglove_json` is the arena `enrich` wrapper. The harness diff --git a/rig/README.md b/rig/README.md index 84eb0f01..b3aa5a11 100644 --- a/rig/README.md +++ b/rig/README.md @@ -19,8 +19,10 @@ untouched, so bridge 3.4 (`pixi run bridge` at the repo root) stays installed si > the arena visualization (`nodes/viz_node.py`, `nodes/foxglove_json.py`'s arena derivations, > `foxglove/`), the Studio emulator and this harness. Device nodes are started as > `python -m rig_nodes.` / the `rig-*` console scripts; a node fix is tested here with -> `pixi install -e dev` (a sibling `../../rig-nodes` checkout built from source). The graph contract -> is rig-nodes' `CONTRACT.md`. The sections below are the build record and keep their original paths. +> `pixi install -e dev` (rig-nodes `main` built from source through git source dependencies pinned in +> `pixi.lock`; the manifest comment says how to point it at a local checkout without committing that — +> never path dependencies on a sibling checkout, which broke `pixi install` on rig PCs without one). +> The graph contract is rig-nodes' `CONTRACT.md`. The sections below are the build record and keep their original paths. ``` fictrac_sim.py / FicTrac ──UDP :60000──▶ fictrac_udp_adapter ──/fictrac/raw──▶┐ diff --git a/rig/WINDOWS-TEST.md b/rig/WINDOWS-TEST.md index db7903d3..e2957cf5 100644 --- a/rig/WINDOWS-TEST.md +++ b/rig/WINDOWS-TEST.md @@ -130,7 +130,7 @@ config (or fail); `pixi run rig` is unaffected because `rig.py` sets both paths **Write down which of the two you saw.** **1b. The `typed` environment** (since 2026-10-26: downloads `rig_interfaces` from the rig-nodes -channel — no MSVC, no build; the source build moved to the rig-nodes checkout, `pixi install -e dev`): +channel — no MSVC, no build; the source build is the rig-nodes workspace itself, or `pixi install -e dev` here): ```powershell Measure-Command { pixi install --locked -e typed | Out-Default } diff --git a/rig/pixi.lock b/rig/pixi.lock index ac89ebf3..f8689eed 100644 --- a/rig/pixi.lock +++ b/rig/pixi.lock @@ -1709,8 +1709,8 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-yaml-cpp-vendor-9.0.1-np2py312h1bab3cf_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h815c85b_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-zstd-vendor-0.26.11-np2py312h6a0d68b_25.conda - - conda_source: rig_interfaces[e11d73b8] @ ../../rig-nodes/src/rig_interfaces - - conda_source: rig_nodes[98f5547c] @ ../../rig-nodes/src/rig_nodes + - conda_source: rig_interfaces[806fd8b9] @ git+https://github.com/reiserlab/rig-nodes?subdirectory=src%2Frig_interfaces&branch=main#75b99867f253b4b8f0fe90e2214ff9d9835cb6fc + - conda_source: rig_nodes[d35d99f3] @ git+https://github.com/reiserlab/rig-nodes?subdirectory=src%2Frig_nodes&branch=main#75b99867f253b4b8f0fe90e2214ff9d9835cb6fc osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-51.0-unix_0.conda @@ -2143,8 +2143,8 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-yaml-cpp-vendor-9.0.1-np2py312h3d3361c_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zenoh-cpp-vendor-0.2.11-np2py312h48e1e13_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-zstd-vendor-0.26.11-np2py312h849b6f6_25.conda - - conda_source: rig_interfaces[f3eefd17] @ ../../rig-nodes/src/rig_interfaces - - conda_source: rig_nodes[4f86bef0] @ ../../rig-nodes/src/rig_nodes + - conda_source: rig_interfaces[d2cb8de4] @ git+https://github.com/reiserlab/rig-nodes?subdirectory=src%2Frig_interfaces&branch=main#75b99867f253b4b8f0fe90e2214ff9d9835cb6fc + - conda_source: rig_nodes[37bf213e] @ git+https://github.com/reiserlab/rig-nodes?subdirectory=src%2Frig_nodes&branch=main#75b99867f253b4b8f0fe90e2214ff9d9835cb6fc win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda @@ -2551,8 +2551,8 @@ environments: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-yaml-cpp-vendor-9.0.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zenoh-cpp-vendor-0.2.11-np2py312hbb4efd0_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-zstd-vendor-0.26.11-np2py312h94542ee_25.conda - - conda_source: rig_interfaces[f15ddf61] @ ../../rig-nodes/src/rig_interfaces - - conda_source: rig_nodes[d089b0ef] @ ../../rig-nodes/src/rig_nodes + - conda_source: rig_interfaces[4fc1ccdb] @ git+https://github.com/reiserlab/rig-nodes?subdirectory=src%2Frig_interfaces&branch=main#75b99867f253b4b8f0fe90e2214ff9d9835cb6fc + - conda_source: rig_nodes[1e0a2c3d] @ git+https://github.com/reiserlab/rig-nodes?subdirectory=src%2Frig_nodes&branch=main#75b99867f253b4b8f0fe90e2214ff9d9835cb6fc typed: channels: - url: https://conda.anaconda.org/conda-forge/ @@ -8270,20 +8270,20 @@ packages: run_exports: {} size: 22402 timestamp: 1787006267023 -- conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.13.5-h535ca38_0.conda - sha256: 10bd0e46b8b32a73d2d443f627f1c518200d63a4371ab2a218d3a2c895d87173 - md5: 1ceaca51ae1cd358b54a5e4ec6005ddf +- conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.13.6-h535ca38_0.conda + sha256: bf95a4a9f5bf9c462a2f8c1844f5d7ca201e1829d6b530c1b2d586e9a065743a + md5: b30bbbf08f32017f9bc857119b1636dc depends: - - libstdcxx >=15 - - libgcc >=15 - __glibc >=2.17,<3.0.a0 + - libgcc >=15 + - libstdcxx >=15 - zstd >=1.5.7,<1.6.0a0 constrains: - __glibc >=2.17 license: Apache-2.0 OR MIT run_exports: {} - size: 14755479 - timestamp: 1792672505702 + size: 14859953 + timestamp: 1793087304431 - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hc1c935e_2.conda sha256: df65b987979e6d7f88e756494da5a230d4f2d08d17437d04eecd35559c3a04e4 md5: 88a47e22b53e50865b1cabe2eb648352 @@ -12427,19 +12427,19 @@ packages: run_exports: {} size: 24089 timestamp: 1787006304117 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.13.5-hbb8eed7_0.conda - sha256: ce9eb619686279d5e7bfb251ac68c0af0d4ae41eaa79222ce6fc33cc5a0f2a96 - md5: b720d75dac4a57a61acdcf6c68b8f8e5 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.13.6-hbb8eed7_0.conda + sha256: dc832fb27756a2e0ba7218f20e3d9fb00e8cd81d895bc6adf734afe005fa70bd + md5: ce4671d10dba0d044bfab0ac1892d976 depends: - - libcxx >=21 - __osx >=11.0 + - libcxx >=21 - zstd >=1.5.7,<1.6.0a0 constrains: - __osx >=11.0 license: Apache-2.0 OR MIT run_exports: {} - size: 12534710 - timestamp: 1792672520798 + size: 12520229 + timestamp: 1793087357197 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/websockets-17.3-py312h9b6eb38_0.conda sha256: cf25cf72aa4588023250a68d41fd20c9c026930079a68553958702c11675470a md5: c954aace24180d2262c1b657156f9735 @@ -14493,9 +14493,9 @@ packages: run_exports: {} size: 20090 timestamp: 1787006296934 -- conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.13.5-hf7a7c96_0.conda - sha256: c9fb87a2ab0af5834973ae2abccbabfd42fbc69dc6ed3ab71c6f221a57b32724 - md5: 616630f7ae33e7e1dd4794f5932032d4 +- conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.13.6-hf7a7c96_0.conda + sha256: a7c479be4d985294eed236afa899a154d0700b96565a4f408dba39ae83d01a70 + md5: 5177960bc53ce73e7e6428514eec530c depends: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 @@ -14503,8 +14503,8 @@ packages: - zstd >=1.5.7,<1.6.0a0 license: Apache-2.0 OR MIT run_exports: {} - size: 13387537 - timestamp: 1792672517235 + size: 13291598 + timestamp: 1793087316006 - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda sha256: 35444c55a92e2f7f7ba26bc70f81e56e52344f7d064c0fd4b40a46a58517b79c md5: aa805b5522c2a98fa286e551a1f48546 @@ -33289,87 +33289,27 @@ packages: license: LicenseRef-MIT size: 110182 timestamp: 1793061783743 -- conda_source: rig_interfaces[e11d73b8] @ ../../rig-nodes/src/rig_interfaces +- conda_source: rig_interfaces[4fc1ccdb] @ git+https://github.com/reiserlab/rig-nodes?subdirectory=src%2Frig_interfaces&branch=main#75b99867f253b4b8f0fe90e2214ff9d9835cb6fc + version: 0.2.1 + build: ha41a7fa_0 + subdir: win-64 variants: - target_platform: linux-64 + c_compiler: vs2022 + cxx_compiler: vs2022 + target_platform: win-64 depends: - ros-jazzy-rosidl-default-runtime - ros2-distro-mutex - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - libgcc >=16 - - libgcc >=16 - - libstdcxx >=16 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 - python_abi 3.12.* *_cp312 - numpy >=1.25,<3 license: LicenseRef-MIT build_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.9-hebe6cf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.4-hff7ac6b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/coreutils-9.12-hebe6cf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.22.0-py314h79bcd83_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-16.2.0-h9891192_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-16.2.0-h0ab548f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/git-2.56.0-pl5440h3795e67_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/git-lfs-3.8.1-h2c09266_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gmock-1.18.0-h48ecd08_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gtest-1.18.0-h171cf75_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-16.2.0-h0d273dc_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-16.2.0-h23aca61_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-11_h0358290_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.23.0-ha042cf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20260512-pl5321h373387f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.9.0-hd2095e1_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.2.0-h69a702a_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-16.2.0-h69a702a_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.14.10-hd51c5da_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-16.2.0-h3048135_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h13e7031_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.2.0-hdf11a46_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-h1114479_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.4-py314hd3a7d6b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/patch-2.8-h280c20c_1003.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-h8b3dc9c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/perl-5.44.0-1_h7cc23a3_perl5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.10-hcd007b5_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-hee9eb32_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.83.0-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.10-py314hd8ed1ab_100.conda @@ -33385,10 +33325,9 @@ packages: - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-16.2.0-he3ce08f_107.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-16.2.0-h86e191b_107.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/m2-msys2-runtime-3.6.1.4-hc364b38_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/m2-patch-2.7.6.3-hc364b38_6.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda @@ -33404,307 +33343,10 @@ packages: - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.6-hb0f4dca_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-workspace-1.0.3-hb0f4dca_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.1-hb0f4dca_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-core-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cppcheck-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cpplint-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-definitions-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-libraries-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-targets-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-flake8-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gmock-2.5.6-np2py314h53a0733_28.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gtest-2.5.6-np2py314h53a0733_28.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-include-directories-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-libraries-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pep257-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pytest-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-python-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-ros-0.12.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-test-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-uncrustify-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-version-2.5.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cppcheck-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cpplint-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-flake8-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-python-1.8.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-package-0.16.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-pep257-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-uncrustify-0.17.5-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-builtin-interfaces-2.0.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.20.0-jazzy_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastcdr-2.2.8-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-cmake-module-3.6.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gmock-vendor-1.14.9000-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gtest-vendor-1.14.9000-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-cmake-module-0.11.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcpputils-2.11.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcutils-6.7.6-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-7.3.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-environment-4.2.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-generators-1.6.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-c-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-cpp-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-py-0.22.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-rs-0.5.0-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-type-description-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-parser-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-pycommon-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-c-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-cpp-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-c-3.2.3-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-interface-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rpyutils-0.4.2-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-service-msgs-2.0.4-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py314h53a0733_27.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py314h53a0733_27.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.9-hebe6cf0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.3-hff7ac6b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.22.0-py312h3cdd867_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gmock-1.18.0-h48ecd08_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gtest-1.18.0-h171cf75_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-11_h0358290_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.21.0-hcf29cc6_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20260512-pl5321h373387f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.9.0-hd2095e1_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.2.0-h69a702a_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-16.2.0-h69a702a_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.16-ha57cdbe_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h0737f62_101.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.2.0-hdf11a46_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.4-py312he827f4e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/pkg-config-0.29.2-h1114479_1013.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.16-h5f976f7_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-hee9eb32_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.83.0-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-builtins-3.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-comprehensions-3.17.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.2.2-pyh8b19718_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.48.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.6-hb0f4dca_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-workspace-1.0.3-hb0f4dca_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.1-hb0f4dca_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-core-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cppcheck-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cpplint-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-definitions-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-libraries-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-targets-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-flake8-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gmock-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gtest-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-include-directories-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-libraries-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pep257-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pytest-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-python-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-ros-0.12.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-test-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-uncrustify-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-version-2.5.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cppcheck-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cpplint-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-flake8-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-python-1.8.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-package-0.16.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-pep257-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-uncrustify-0.17.5-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-builtin-interfaces-2.0.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_26.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastcdr-2.2.8-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-cmake-module-3.6.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gmock-vendor-1.14.9000-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gtest-vendor-1.14.9000-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-cmake-module-0.11.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcpputils-2.11.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcutils-6.7.6-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-7.3.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-environment-4.2.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_26.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-generators-1.6.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-c-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-cpp-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-py-0.22.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-rs-0.5.0-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-type-description-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-parser-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-pycommon-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-c-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-cpp-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-c-3.2.3-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-interface-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rpyutils-0.4.2-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-service-msgs-2.0.4-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py312h1bab3cf_25.conda - - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py312h1bab3cf_25.conda -- conda_source: rig_interfaces[f15ddf61] @ ../../rig-nodes/src/rig_interfaces - variants: - c_compiler: vs2022 - cxx_compiler: vs2022 - target_platform: win-64 - depends: - - ros-jazzy-rosidl-default-runtime - - ros2-distro-mutex - - ros2-distro-mutex >=0.19.0,<0.20.0a0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - - numpy >=1.25,<3 - license: LicenseRef-MIT - build_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.10-py314hd8ed1ab_100.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-builtins-3.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-comprehensions-3.17.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/m2-msys2-runtime-3.6.1.4-hc364b38_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/m2-patch-2.7.6.3-hc364b38_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cmake-4.4.4-hde52c71_0.conda @@ -33991,7 +33633,374 @@ packages: - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-service-msgs-2.0.4-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-uncrustify-vendor-3.0.1-np2py312hdd89193_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/win-64/ros2-unique-identifier-msgs-2.5.1-np2py312hdd89193_25.conda -- conda_source: rig_interfaces[f3eefd17] @ ../../rig-nodes/src/rig_interfaces +- conda_source: rig_interfaces[806fd8b9] @ git+https://github.com/reiserlab/rig-nodes?subdirectory=src%2Frig_interfaces&branch=main#75b99867f253b4b8f0fe90e2214ff9d9835cb6fc + version: 0.2.1 + build: hb0f4dca_0 + subdir: linux-64 + variants: + target_platform: linux-64 + depends: + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex + - ros2-distro-mutex >=0.19.0,<0.20.0a0 + - libgcc >=16 + - libgcc >=16 + - libstdcxx >=16 + - python_abi 3.12.* *_cp312 + - numpy >=1.25,<3 + license: LicenseRef-MIT + build_packages: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.9-hebe6cf0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.4-hff7ac6b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coreutils-9.12-hebe6cf0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.22.0-py314h79bcd83_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-16.2.0-h9891192_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-16.2.0-h0ab548f_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/git-2.56.0-pl5440h3795e67_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/git-lfs-3.8.1-h2c09266_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmock-1.18.0-h48ecd08_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gtest-1.18.0-h171cf75_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-16.2.0-h0d273dc_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-16.2.0-h23aca61_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-11_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.23.0-ha042cf0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20260512-pl5321h373387f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.9.0-hd2095e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.2.0-h69a702a_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-16.2.0-h69a702a_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h0cb94f2_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.14.10-hd51c5da_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-16.2.0-h3048135_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h13e7031_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.2.0-hdf11a46_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-h1114479_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.4-py314hd3a7d6b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/patch-2.8-h280c20c_1003.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-h8b3dc9c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/perl-5.44.0-1_h7cc23a3_perl5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.10-hcd007b5_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-hee9eb32_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.83.0-h54a6638_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.10-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-builtins-3.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-comprehensions-3.17.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-16.2.0-he3ce08f_107.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-16.2.0-h86e191b_107.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.6-hb0f4dca_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-workspace-1.0.3-hb0f4dca_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.1-hb0f4dca_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-core-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cppcheck-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cpplint-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-definitions-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-libraries-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-targets-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-flake8-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gmock-2.5.6-np2py314h53a0733_28.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gtest-2.5.6-np2py314h53a0733_28.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-include-directories-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-libraries-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pep257-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pytest-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-python-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-ros-0.12.2-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-test-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-uncrustify-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-version-2.5.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cppcheck-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cpplint-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-flake8-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-python-1.8.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-package-0.16.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-pep257-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-uncrustify-0.17.5-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-builtin-interfaces-2.0.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.20.0-jazzy_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastcdr-2.2.8-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-cmake-module-3.6.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gmock-vendor-1.14.9000-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gtest-vendor-1.14.9000-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-cmake-module-0.11.1-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcpputils-2.11.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcutils-6.7.6-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-7.3.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-environment-4.2.1-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-generators-1.6.1-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-c-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-cpp-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-py-0.22.2-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-rs-0.5.0-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-type-description-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-parser-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-pycommon-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-c-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-cpp-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-c-3.2.3-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-interface-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rpyutils-0.4.2-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-service-msgs-2.0.4-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py314h53a0733_27.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py314h53a0733_27.conda + host_packages: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.9-hebe6cf0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-4.4.3-hff7ac6b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.22.0-py312h3cdd867_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmock-1.18.0-h48ecd08_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gtest-1.18.0-h171cf75_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-11_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-11_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.21.0-hcf29cc6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20260512-pl5321h373387f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.9.0-hd2095e1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-16.2.0-h69a702a_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-16.2.0-h69a702a_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-16.2.0-h6b99dfc_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-11_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.34-pthreads_hf13c14d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.12.16-ha57cdbe_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.54.1-h0737f62_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-16.2.0-hdf11a46_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.38-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.4-py312he827f4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/pkg-config-0.29.2-h1114479_1013.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.16-h5f976f7_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb03c661_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-hee9eb32_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.83.0-h54a6638_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.23-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/empy-4.2.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-builtins-3.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-comprehensions-3.17.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-10.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.2.2-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.15.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-4.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.21.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.3-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-3.0.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2026.5-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-9_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.2.1-pyhe730653_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.5.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.48.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.6-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-workspace-1.0.3-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.1-hb0f4dca_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-action-msgs-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-core-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cppcheck-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-cpplint-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-definitions-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-dependencies-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-include-directories-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-interfaces-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-libraries-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-link-flags-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-export-targets-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-flake8-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gen-version-h-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gmock-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-gtest-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-include-directories-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-libraries-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pep257-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-pytest-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-python-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-ros-0.12.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-target-dependencies-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-test-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-uncrustify-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cmake-version-2.5.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cppcheck-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-cpplint-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-flake8-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-index-python-1.8.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-lint-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-package-0.16.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-pep257-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ament-uncrustify-0.17.5-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-builtin-interfaces-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.19.0-jazzy_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-domain-coordinator-0.12.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastcdr-2.2.8-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-fastrtps-cmake-module-3.6.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gmock-vendor-1.14.9000-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-gtest-vendor-1.14.9000-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-python-cmake-module-0.11.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcpputils-2.11.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rcutils-6.7.6-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rmw-7.3.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-environment-4.2.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-ros-workspace-1.0.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-adapter-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cli-4.6.9-np2py312h1bab3cf_26.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-cmake-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-generators-0.2.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-core-runtime-0.2.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-default-generators-1.6.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-dynamic-typesupport-0.1.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-c-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-cpp-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-py-0.22.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-rs-0.5.0-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-generator-type-description-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-parser-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-pycommon-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-c-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-runtime-cpp-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-c-3.2.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-cpp-3.2.3-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-c-3.6.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-fastrtps-cpp-3.6.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-interface-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-c-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rosidl-typesupport-introspection-cpp-4.6.9-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-rpyutils-0.4.2-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-service-msgs-2.0.4-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-uncrustify-vendor-3.0.1-np2py312h1bab3cf_25.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-unique-identifier-msgs-2.5.1-np2py312h1bab3cf_25.conda +- conda_source: rig_interfaces[d2cb8de4] @ git+https://github.com/reiserlab/rig-nodes?subdirectory=src%2Frig_interfaces&branch=main#75b99867f253b4b8f0fe90e2214ff9d9835cb6fc + version: 0.2.1 + build: h60d57d3_0 + subdir: osx-arm64 variants: target_platform: osx-arm64 depends: @@ -34355,7 +34364,56 @@ packages: - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-service-msgs-2.0.4-np2py312h3d3361c_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-uncrustify-vendor-3.0.1-np2py312h3d3361c_25.conda - conda: https://conda.anaconda.org/robostack-jazzy/osx-arm64/ros2-unique-identifier-msgs-2.5.1-np2py312h3d3361c_25.conda -- conda_source: rig_nodes[4f86bef0] @ ../../rig-nodes/src/rig_nodes +- conda_source: rig_nodes[1e0a2c3d] @ git+https://github.com/reiserlab/rig-nodes?subdirectory=src%2Frig_nodes&branch=main#75b99867f253b4b8f0fe90e2214ff9d9835cb6fc + version: 0.2.1 + build: pyh4616a5c_0 + subdir: noarch + noarch: python + variants: + target_platform: noarch + depends: + - python >=3.12 + - python * + - ros-jazzy-rclpy + - ros-jazzy-std-msgs + - ros-jazzy-rosbag2-py + - ros-jazzy-rosbag2-storage-mcap + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.19.* + - mcap >=1.2 + - websockets >=12 + license: MIT + host_packages: + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/editables-0.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hatchling-1.32.4-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.2-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/trove-classifiers-2026.9.21.13-pyh5ded981_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.9.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.16-hfb4101e_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.1-hf5d6505_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.16-hb12b558_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.13.6-hf7a7c96_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda +- conda_source: rig_nodes[37bf213e] @ git+https://github.com/reiserlab/rig-nodes?subdirectory=src%2Frig_nodes&branch=main#75b99867f253b4b8f0fe90e2214ff9d9835cb6fc + version: 0.2.1 + build: pyh4616a5c_0 + subdir: noarch + noarch: python variants: target_platform: noarch depends: @@ -34393,9 +34451,13 @@ packages: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.16-hd05a0c4_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.13.5-hbb8eed7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.13.6-hbb8eed7_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda -- conda_source: rig_nodes[98f5547c] @ ../../rig-nodes/src/rig_nodes +- conda_source: rig_nodes[d35d99f3] @ git+https://github.com/reiserlab/rig-nodes?subdirectory=src%2Frig_nodes&branch=main#75b99867f253b4b8f0fe90e2214ff9d9835cb6fc + version: 0.2.1 + build: pyh4616a5c_0 + subdir: noarch + noarch: python variants: target_platform: noarch depends: @@ -34431,7 +34493,7 @@ packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.16-h5f976f7_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.13.5-h535ca38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.13.6-h535ca38_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/editables-0.6-pyhcf101f3_0.conda @@ -34442,44 +34504,3 @@ packages: - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.2-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/trove-classifiers-2026.9.21.13-pyh5ded981_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda -- conda_source: rig_nodes[d089b0ef] @ ../../rig-nodes/src/rig_nodes - variants: - target_platform: noarch - depends: - - python >=3.12 - - python * - - ros-jazzy-rclpy - - ros-jazzy-std-msgs - - ros-jazzy-rosbag2-py - - ros-jazzy-rosbag2-storage-mcap - - ros-jazzy-rosidl-runtime-py - - ros2-distro-mutex 0.19.* - - mcap >=1.2 - - websockets >=12 - license: MIT - host_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.23-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/editables-0.6-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/hatchling-1.32.4-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.7.0-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.15.2-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/trove-classifiers-2026.9.21.13-pyh5ded981_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026e-h5d301ff_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_10.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.9.0-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.7.0-h3d046cb_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpython-3.12.16-hfb4101e_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.54.1-hf5d6505_101.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.5-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.16-hb12b558_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_4.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.13.5-hf7a7c96_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-ha367084_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda diff --git a/rig/pixi.toml b/rig/pixi.toml index c355e95e..b0d29a02 100644 --- a/rig/pixi.toml +++ b/rig/pixi.toml @@ -12,7 +12,7 @@ # pixi install # RoboStack Jazzy (ros-base) + rmw_zenoh + rosbag2/MCAP + rig_nodes (from the rig-nodes channel) # pixi run rig # Zenoh router + fictrac adapter + bridge node (one command) # pixi install -e typed # + rig_interfaces: typed /fictrac/frame + /arena/frame (same solve group, one RoboStack set) -# pixi install -e dev # a sibling checkout of rig-nodes (../../rig-nodes) built from source instead of the channel +# pixi install -e dev # rig-nodes `main` (git source, pinned in pixi.lock) built from source instead of the channel # # Channels: RoboStack publishes ROS 2 as conda packages; conda-forge first so the non-ROS stack # (python, websockets, pyzmq) resolves from there. Bare channel names resolve through pixi's @@ -93,15 +93,26 @@ rig_nodes = "==0.2.1" [feature.typed.dependencies] rig_interfaces = "==0.2.1" -# ── developer path: a sibling checkout of rig-nodes, built from source ─────────────────────── -# `pixi install -e dev` swaps the two channel pins for path dependencies on ../../rig-nodes (a -# checkout beside webDisplayTools), so a node fix is tested here without a rig-nodes release -# (rig-software-repos-and-runners.md §7.6). Builds both packages in place (pixi-build), so it -# needs the rosidl toolchain and a C/C++ compiler like the rig-nodes workspace itself. Own solve -# group: the default/typed locks are untouched. +# ── developer path: rig-nodes `main`, built from source (git source dependencies) ──────────── +# `pixi install -e dev` swaps the two channel pins for the HEAD of reiserlab/rig-nodes `main`, +# built with pixi-build from a git checkout and pinned to ONE commit in pixi.lock +# (`pixi update -e dev rig_nodes rig_interfaces` moves it), so a node fix merged in rig-nodes is +# tested here before a package-set release (rig-software-repos-and-runners.md §7 item 6). +# NOT path dependencies on a sibling checkout (as until 2026-10-27): pixi validates every +# environment's source PATHS before installing ANY environment, so a missing `../../rig-nodes` +# broke `pixi install` on every rig PC. Git sources are only fetched when `dev` itself is +# installed — the default/typed environments install offline with no git cache (verified +# 2026-10-27, pixi 0.69). To test an UNPUSHED rig-nodes change, point the two lines below at your +# checkout — `{ path = "../../rig-nodes/src/rig_nodes" }` / `{ … /src/rig_interfaces" }` — and do +# not commit that manifest/lock change. Cache gotcha: a source build of the SAME version as the +# release lands in pixi's package cache under the release's filename (an editable path build is a +# 25-file stub) and shadows a later channel install on that machine — remove the +# `rig_nodes--*` entry under `pixi info`'s cache dir, or build a version main has bumped past +# the tag. Builds both packages in place, so it needs the rosidl toolchain and a C/C++ compiler +# like the rig-nodes workspace itself. Own solve group: the default/typed locks are untouched. [feature.dev.dependencies] -rig_nodes = { path = "../../rig-nodes/src/rig_nodes" } -rig_interfaces = { path = "../../rig-nodes/src/rig_interfaces" } +rig_nodes = { git = "https://github.com/reiserlab/rig-nodes", branch = "main", subdirectory = "src/rig_nodes" } +rig_interfaces = { git = "https://github.com/reiserlab/rig-nodes", branch = "main", subdirectory = "src/rig_interfaces" } ros-jazzy-ament-cmake = "*" ros-jazzy-rosidl-default-generators = "*" ros-jazzy-rosidl-default-runtime = "*" From 0c33668729585cbbfd41835ea40d2484ab898ce8 Mon Sep 17 00:00:00 2001 From: Michael B Reiser Date: Tue, 27 Oct 2026 11:04:14 -0400 Subject: [PATCH 6/8] closed-loop-report: apply bridge-3.4 start_frame in the idx check Since Studio v0.91 / bridge 3.4 every startClosedLoop config carries start_frame, and the bridge sets offset = (start_frame mod frames) x deg_per_frame for that message. The logged browser config still says offset: 0 and the bridge's "[cfg] applied" line goes to stderr only, so the report predicted every start_frame epoch from frame 0 and flagged 100 % idx mismatch (ww18 2026-10-27, bench_closed_loop_2x10.yaml). The report now replays the config echoes in order the way bridge.py's handler does (apply_config): offset from the message, overridden by start_frame using the same message's pitch and frame count, cleared by the next message's offset (one-shot). Logs without start_frame are unchanged. The table shows "frames @start" and the legend names it. Co-Authored-By: Claude Opus 5.5 --- docs/development/closed-loop-bias.md | 10 ++++- scripts/closed-loop-report.py | 55 +++++++++++++++++++---- tests/test-fictrac-sim.py | 67 ++++++++++++++++++++++++++++ 3 files changed, 123 insertions(+), 9 deletions(-) diff --git a/docs/development/closed-loop-bias.md b/docs/development/closed-loop-bias.md index e3ff849e..9c407729 100644 --- a/docs/development/closed-loop-bias.md +++ b/docs/development/closed-loop-bias.md @@ -370,8 +370,16 @@ idx = round((coupling * rel + offset + b) / deg_per_frame) % n_frames # bridge <= 3.2 logs: rel = ((hd_deg - hd0_deg + 180) % 360) - 180; idx = round((rel + offset + b) / gain) % n_frames ``` +`offset` is NOT simply the `config` echo's `offset` field on bridge 3.4: when the epoch's +config carries `start_frame` (the trialParams `frame_index` the epoch opens on), the bridge +sets `offset = (start_frame % n_frames) * deg_per_frame` for that message while the logged +browser config still says `offset: 0`; the next config's `offset` replaces it +(`docs/development/closed-loop-start-frame.md`). The bridge's `[cfg] applied` line goes to +its stderr, not the run log, so readers replay the config echoes in order. + `scripts/closed-loop-report.py` does exactly this (it picks the formula from whether the -`config` echo carries `coupling`) and reports the mismatch fraction per epoch. +`config` echo carries `coupling`, and replays `start_frame` the way the bridge applies it) +and reports the mismatch fraction per epoch. Because the waveform is analytic and deterministic, this recovers the exact value the bridge used — no per-frame bias column is needed. diff --git a/scripts/closed-loop-report.py b/scripts/closed-loop-report.py index 9e455136..7260a92e 100644 --- a/scripts/closed-loop-report.py +++ b/scripts/closed-loop-report.py @@ -20,6 +20,9 @@ * a CONSISTENCY check: `round((coupling · Δheading + offset + b)/deg_per_frame) mod frames` (bridge 3.3, unwrapped) — or `round((wrap180(hd − hd0) + b)/gain)` for older logs — vs the logged idx (the LAB-185 bench check — mismatches beyond ±1 frame mean the log and the mapping disagree). + Bridge 3.4: when the epoch's config carries `start_frame` (the trialParams frame_index the epoch + opens on), offset = (start_frame mod frames) · deg_per_frame, as the bridge applies it — the + logged browser config still says `offset: 0`. Usage: python scripts/closed-loop-report.py run.jsonl.gz # markdown table @@ -118,7 +121,7 @@ def parse_log(path: str) -> dict: elif typ == "config": rel = _rel(o.get("rx_ms"), t0) if rel is not None: - configs.append((rel, {k: o[k] for k in ("gain", "deg_per_frame", "coupling", "offset", "frames") if _num(o.get(k)) is not None})) + configs.append((rel, {k: o[k] for k in ("gain", "deg_per_frame", "coupling", "offset", "frames", "start_frame") if _num(o.get(k)) is not None})) elif typ == "log" and o.get("event") == "runner": rel = _rel(o.get("rx_ms"), t0) if rel is None: @@ -195,6 +198,33 @@ def _last_within(items, start_ms, end_ms, default=None): return hit +def apply_config(state: dict, c: dict) -> None: + """Replay one browser→bridge config echo onto `state` the way bridge.py's config handler does. + + The log holds only the browser's message; the bridge's `[cfg] applied` line goes to stderr. Since + bridge 3.4 a `start_frame` key (one-shot, sent with each startClosedLoop) overrides the message's + `offset` with (start_frame mod frames) × deg_per_frame, using that message's pitch and frame count; + the browser's `offset` field still says 0. A later message's `offset` replaces it again. + """ + if _num(c.get("gain")) is not None and _num(c.get("deg_per_frame")) is None: + state["deg_per_frame"] = float(c["gain"]) + state["gain_alias"] = True + if _num(c.get("deg_per_frame")) is not None: + state["deg_per_frame"] = float(c["deg_per_frame"]) + if _num(c.get("coupling")) is not None: + state["coupling"] = float(c["coupling"]) + if _num(c.get("offset")) is not None: + state["offset"] = float(c["offset"]) + state.pop("start_frame", None) + if _num(c.get("frames")): + state["frames"] = max(1, int(c["frames"])) + if _num(c.get("start_frame")) is not None: + n = state.get("frames", 200) + sf = int(c["start_frame"]) % n + state["start_frame"] = sf + state["offset"] = sf * state.get("deg_per_frame", 1.8) + + def unwrap_deg(seq): out = [] prev = None @@ -224,14 +254,16 @@ def analyze_epoch(log: dict, ep: dict, deg_per_frame: float, frame_dir: int, az0 cfg = {} for t, c in log["configs"]: if t <= ep["start_ms"] + 500.0: - cfg.update(c) + apply_config(cfg, c) # bridge 3.3 logs carry `coupling` + `deg_per_frame` (unwrapped-heading mapping); older logs - # carry only `gain` (= the pitch, wrapped-heading mapping, coupling 1). + # carry only `gain` (= the pitch, wrapped-heading mapping, coupling 1). Bridge 3.4 logs may carry + # `start_frame`, which apply_config has already folded into `offset`. coupling = _num(cfg.get("coupling")) - pitch = _num(cfg.get("deg_per_frame")) or _num(cfg.get("gain"), 1.8) + pitch = _num(cfg.get("deg_per_frame"), 1.8) or 1.8 gain = pitch offset = _num(cfg.get("offset"), 0.0) or 0.0 frames = int(_num(cfg.get("frames"), 200) or 200) + start_frame = cfg.get("start_frame") dpf = deg_per_frame if deg_per_frame else abs(pitch) # The waveform + tare that govern this epoch = the LAST push in the window around its start # (see _last_within). Fall back to the latest push before the start (Console-only use). @@ -246,6 +278,7 @@ def analyze_epoch(log: dict, ep: dict, deg_per_frame: float, frame_dir: int, az0 "condition": ep.get("condition"), "start_s": round(ep["start_ms"] / 1000.0, 2), "duration_s": round((ep["end_ms"] - ep["start_ms"]) / 1000.0, 2), "rows": len(rows), "gain": gain, "deg_per_frame": pitch, "coupling": coupling, "frames": frames, "bias": bias, + "start_frame": start_frame, "offset_deg": round(offset, 4), "hd0_deg": None if hd0 is None else round(hd0, 2), } if len(rows) < 3: @@ -328,6 +361,11 @@ def _kpitch(e): return f"gain {e['gain']:g}" +def _frames_label(e): + """'200' — or '200 @25' when a bridge-3.4 start_frame opened the epoch off frame 0.""" + return f"{e['frames']}" if e.get("start_frame") is None else f"{e['frames']} @{e['start_frame']}" + + def _bias_label(b): k = b.get("type", "none") if k == "none": @@ -343,15 +381,15 @@ def to_markdown(rep: dict) -> str: if not rep["epochs"]: out.append("_no closed-loop epochs found_") return "\n".join(out) - out.append("| # | condition | dur s | bias | coupling · °/frame | frames | fly net turn ° | fly ω mean / rms °/s | feature mean\\|az\\| ° | frontal | rejection | idx mismatch |") + out.append("| # | condition | dur s | bias | coupling · °/frame | frames @start | fly net turn ° | fly ω mean / rms °/s | feature mean\\|az\\| ° | frontal | rejection | idx mismatch |") out.append("|---|---|---|---|---|---|---|---|---|---|---|---|") for i, e in enumerate(rep["epochs"], 1): if "fly" not in e: - out.append(f"| {i} | {e.get('condition') or '—'} | {e['duration_s']} | {_bias_label(e['bias'])} | {_kpitch(e)} | {e['frames']} | — | — | — | — | — | {e.get('note', '')} |") + out.append(f"| {i} | {e.get('condition') or '—'} | {e['duration_s']} | {_bias_label(e['bias'])} | {_kpitch(e)} | {_frames_label(e)} | — | — | — | — | — | {e.get('note', '')} |") continue rej = e.get("rejection") out.append( - f"| {i} | {e.get('condition') or '—'} | {e['duration_s']} | {_bias_label(e['bias'])} | {_kpitch(e)} | {e['frames']} " + f"| {i} | {e.get('condition') or '—'} | {e['duration_s']} | {_bias_label(e['bias'])} | {_kpitch(e)} | {_frames_label(e)} " f"| {e['fly']['net_turn_deg']:+} | {e['fly']['mean_omega_dps']:+} / {e['fly']['rms_omega_dps']} " f"| {e['display']['mean_abs_az_deg']} | {e['display']['frontal_fraction']:.0%} " f"| {'—' if rej is None else f'{rej:+.2f}'} " @@ -360,7 +398,8 @@ def to_markdown(rep: dict) -> str: out.append("") out.append("_rejection: −slope(unwrapped heading vs bias angle) · coupling — 1 = fully counter-turned (display held) on any coupling sign, 0 = ignored, " "negative = followed; — at coupling 0 (the fly cannot move the display). frontal: fraction of rows with the feature within ±30°. idx mismatch: logged frame vs " - "round((coupling · Δheading + offset + bias) / deg_per_frame) mod frames (bridge 3.3, unwrapped) or round((wrap180(hd − hd0) + bias)/gain) (older logs), beyond ±1 frame._") + "round((coupling · Δheading + offset + bias) / deg_per_frame) mod frames (bridge 3.3, unwrapped) or round((wrap180(hd − hd0) + bias)/gain) (older logs), beyond ±1 frame; " + "offset = start_frame × deg_per_frame when the epoch's config carries start_frame (bridge 3.4, shown as frames @start), else the config offset._") return "\n".join(out) diff --git a/tests/test-fictrac-sim.py b/tests/test-fictrac-sim.py index b117fa7f..1338b4db 100644 --- a/tests/test-fictrac-sim.py +++ b/tests/test-fictrac-sim.py @@ -199,6 +199,73 @@ def synth_log(path, rejecting: bool, gain=1.8, frames=200, amp=90.0, dur_s=4.0, fh.write(json.dumps(l) + "\n") +def synth_start_frame_log(path, epochs, ignore_start_frame=False, coupling=-1.0, pitch=1.8, frames=200, rate=50, dur_s=2.0): + """A bridge-3.4 run shaped like the 2026-10-27 ww18 bench logs: each epoch's startClosedLoop config + carries `start_frame` (+ `epoch`, `offset: 0` from the plugin config), each stopClosedLoop config + carries `offset: 0` and no start_frame. `epochs` = [(condition, start_frame or None, spin_dps)]. + The logged idx follows the bridge: offset = (start_frame mod frames) × pitch, one-shot per epoch. + ignore_start_frame=True writes idx as a ≤3.3 bridge would (opens on frame 0).""" + t0 = 1_700_000_000_000 + L = [{"type": "session", "event": "logging_started", "ms": t0}, + {"type": "frame_schema", "level": "behavior_v2", "cols": ["ms", "fc", "idx", "ft", "x", "y", "hd"], "t0": t0}] + base = {"type": "config", "fictrac_port": 60000, "coupling": coupling, "deg_per_frame": pitch, "gain": pitch, + "offset": 0, "frames": frames, "bias": {"type": "none", "amplitude": 0, "frequency": 0}, "dir": "browser→bridge"} + fc = 0 + start = 1000 + for k, (cond, sf, spin) in enumerate(epochs): + cfg = dict(base, epoch=True, rx_ms=t0 + start - 4) + if sf is not None: + cfg["start_frame"] = sf + L.append(cfg) + hd0 = 40.0 + 97.0 * k + L.append({"type": "heading_tare", "dir": "bridge", "ms": start - 3, "hd0_deg": hd0, "reason": "epoch", "epoch": k + 1}) + L.append({"type": "log", "event": "runner", "phase": "command", "op": "fictracApply", "value": True, "condition": cond, "rx_ms": t0 + start}) + offset = 0.0 if sf is None or ignore_start_frame else (sf % frames) * pitch + n = int(dur_s * rate) + for i in range(n + 1): + t_s = i / rate + rel = spin * t_s + idx = round((coupling * rel + offset) / pitch) % frames + fc += 1 + L.append([start + int(round(t_s * 1000)), fc, idx, t_s * 1000.0, 0.0, 0.0, math.radians((hd0 + rel) % 360.0)]) + end = start + int(dur_s * 1000) + 20 + L.append({"type": "log", "event": "runner", "phase": "command", "op": "fictracApply", "value": False, "condition": cond, "rx_ms": t0 + end}) + L.append(dict(base, rx_ms=t0 + end + 1)) # stopClosedLoop: offset 0, bias none, no start_frame + start = end + 1000 + with open(path, "w") as fh: + for l in L: + fh.write(json.dumps(l) + "\n") + + +print("=== closed-loop-report: start_frame (bridge 3.4) ===") +st = {} +rep.apply_config(st, {"deg_per_frame": 1.8, "frames": 200, "offset": 0, "start_frame": 275}) +ps = bridge.Pipeline(None, None, 200, 1.8, 0.0) +check("start_frame → offset mirrors the bridge (mod frames, × pitch; overrides offset)", (st["start_frame"], st["offset"]), (75, ps.start_frame_to_offset(275))) +rep.apply_config(st, {"offset": 0}) +check("a later config's offset ends the start_frame (one-shot)", (st.get("start_frame"), st["offset"]), (None, 0.0)) +rep.apply_config(st, {"start_frame": 25, "frames": 100, "deg_per_frame": 3.6}) +check("start_frame uses the same message's pitch + frame count", st["offset"], 25 * 3.6) +with tempfile.TemporaryDirectory() as d: + eps = [("epoch_a_frame25", 25, 30.0), ("epoch_b_frame75", 275, -45.0), ("epoch_c_no_start", None, 20.0)] + p_sf = os.path.join(d, "start_frame.jsonl") + synth_start_frame_log(p_sf, eps) + S = rep.analyze(p_sf, 0.0, 1, 0.0)["epochs"] + check("three epochs", len(S), 3) + check("start_frame per epoch (mod frames; none on a plain epoch)", [e["start_frame"] for e in S], [25, 75, None]) + check("offset per epoch = start_frame × pitch", [e["offset_deg"] for e in S], [45.0, 135.0, 0.0]) + check("idx reconstruction exact on start_frame epochs (was 100 % before bridge-3.4 support)", + [e["idx_mismatch_fraction"] for e in S], [0.0, 0.0, 0.0]) + md = rep.to_markdown(rep.analyze(p_sf, 0.0, 1, 0.0)) + check("markdown shows frames @start and names start_frame in the legend", ("200 @25" in md, "200 @75" in md, "start_frame" in md), (True, True, True)) + # A log whose idx ignored start_frame (a ≤3.3 bridge that dropped the key) must still be FLAGGED: + # the report models the 3.4 bridge from the config the browser sent. + p_old = os.path.join(d, "start_frame_ignored.jsonl") + synth_start_frame_log(p_old, eps, ignore_start_frame=True) + O = rep.analyze(p_old, 0.0, 1, 0.0)["epochs"] + check("idx that ignored start_frame → mismatch on those epochs only", [e["idx_mismatch_fraction"] for e in O], [1.0, 1.0, 0.0]) + + print("=== closed-loop-report on synthetic runs ===") with tempfile.TemporaryDirectory() as d: p_rej = os.path.join(d, "rej.jsonl") From ca9f5c431f3532067b475da670af688acea26d43 Mon Sep 17 00:00:00 2001 From: Michael B Reiser Date: Tue, 27 Oct 2026 15:16:22 -0400 Subject: [PATCH 7/8] rig/WINDOWS-TEST.md: harness count is 59 (62 typed), not 46 Co-Authored-By: Claude Fable 5.1 --- rig/WINDOWS-TEST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rig/WINDOWS-TEST.md b/rig/WINDOWS-TEST.md index e2957cf5..a0701fa3 100644 --- a/rig/WINDOWS-TEST.md +++ b/rig/WINDOWS-TEST.md @@ -161,7 +161,7 @@ whether the router keeps running after Ctrl-C (`tasklist | findstr rmw_zenohd`). pixi run test -- --keep ``` -Expected: `46 / 46 checks passed` in about a minute and a line `artifacts kept in …`. Keep that +Expected: `59 / 59 checks passed` (62 / 62 with `-e typed`) in about a minute and a line `artifacts kept in …`. Keep that directory (`summary.md`, `crash-results.json`, the converted export, `runlogs\*.bag`, `proc-logs\`). Windows-specific things it exercises for the first time: child processes in their own group, `CTRL_BREAK_EVENT` as the stop signal, `TerminateProcess` for the mid-run kills (the FicTrac adapter From 458c6758fef3f1be35ee47bd4f011319a215dada Mon Sep 17 00:00:00 2001 From: Michael B Reiser Date: Tue, 27 Oct 2026 15:21:55 -0400 Subject: [PATCH 8/8] =?UTF-8?q?release:=202026-10-27=20rc1=20=E2=80=94=20A?= =?UTF-8?q?rena=20Studio=20v0.99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Candidate for Production. PRs: #274, #278, #273. Release-Manifest: releases/2026-10-27.json --- arena_studio.html | 2 +- .../development/arena-studio-release-notes.md | 8 ++++ releases/2026-10-27.json | 41 +++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 releases/2026-10-27.json diff --git a/arena_studio.html b/arena_studio.html index 85e4b25f..ddf4b6b6 100644 --- a/arena_studio.html +++ b/arena_studio.html @@ -3426,7 +3426,7 @@

Import error