diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index a2609b38e..7fa62b96a 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -FROM ros:jazzy +FROM ubuntu:24.04 ARG user=bitbots ARG uid=1000 @@ -50,25 +50,10 @@ ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 -# Setup and prioritize packages.bit-bots.de repository +# Update and upgrade all packages RUN apt update -y \ && apt upgrade -y --allow-downgrades -# Additional robotics related packages -RUN apt-get install -y \ - python3-rosdep \ - python3-vcstool \ - python3-virtualenv \ - ros-jazzy-camera-calibration \ - ros-jazzy-desktop \ - ros-jazzy-joint-state-publisher-gui \ - ros-jazzy-plotjuggler \ - ros-jazzy-plotjuggler-msgs \ - ros-jazzy-plotjuggler-ros \ - ros-jazzy-rmw-cyclonedds-cpp \ - ros-jazzy-rqt-robot-monitor \ - ros-jazzy-soccer-vision-3d-rviz-markers - # Set zsh as default shell SHELL ["/bin/zsh", "-c"] @@ -84,16 +69,6 @@ RUN groupdel users \ USER $user -# Install pip colcon extensions / patches as user -RUN python3 -m pip install --user --break-system-packages \ - git+https://github.com/ruffsl/colcon-clean \ - git+https://github.com/timonegk/colcon-core.git@colors \ - git+https://github.com/timonegk/colcon-notification.git@colors \ - git+https://github.com/timonegk/colcon-output.git@colors - -# Create colcon workspace -RUN mkdir -p /home/$user/colcon_ws/src - # Install oh-my-zsh for pretty terminal RUN sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" && \ git clone https://github.com/zsh-users/zsh-autosuggestions "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions" @@ -104,5 +79,8 @@ COPY --chown=$user:$user zshrc /home/$user/.zshrc # This is required for sharing Xauthority ENV QT_X11_NO_MITSHM=1 +# Install pixi +RUN curl -fsSL https://pixi.sh/install.sh | sh + # Switch to the workspace directory -WORKDIR /home/$user/colcon_ws +WORKDIR /home/$user/bitbots_main diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 2b735fca2..97fad5005 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -18,12 +18,30 @@ "dev.containers.copyGitConfig": false, "dev.containers.gitCredentialHelperConfigLocation": "none" }, - "extensions": ["ms-iot.vscode-ros"] + "extensions": [ + "charliermarsh.ruff", // Ruff linting and formatting support + "DavidAnson.vscode-markdownlint", // Lints markdown files + "DotJoshJohnson.xml", // XML support + "lextudio.restructuredtext", // Rendering rst files in preview + "Mastermori.dsd", // DSD support + "mohsen1.prettify-json", // JSON formatting + "MS-CEINTL.vscode-language-pack-de", // German language pack + "Ranch-Hand-Robotics.rde-pack", // ROS2 development environment + "ms-python.python", // Python support + "ms-python.vscode-pylance", // Python support + "ms-vscode.cpptools-extension-pack", // C++ support + "ms-vscode.cpptools-themes", // C++ support + "ms-vscode.cpptools", // C++ support + "streetsidesoftware.code-spell-checker-german", // Spell checker + "streetsidesoftware.code-spell-checker", // Spell checker + "tamasfe.even-better-toml", // TOML support + "trond-snekvik.simple-rst" // Syntax highlighting for rst files + ] } }, - "workspaceMount": "type=bind,source=${localWorkspaceFolder},target=/home/bitbots/colcon_ws/src/bitbots_main", - "workspaceFolder": "/home/bitbots/colcon_ws/src/bitbots_main", + "workspaceMount": "type=bind,source=${localWorkspaceFolder},target=/home/bitbots/bitbots_main", + "workspaceFolder": "/home/bitbots/bitbots_main", "mounts": [ "type=bind,source=${localEnv:HOME},target=/srv/host_home,consistency=cached" @@ -41,5 +59,5 @@ "seccomp=unconfined" ], - "postCreateCommand": "git config --global --add safe.directory '*'" + "postCreateCommand": "git config --global --add safe.directory '*' && $HOME/.pixi/bin/pixi install" } diff --git a/.devcontainer/zshrc b/.devcontainer/zshrc index 70e5cf296..5f7b70047 100644 --- a/.devcontainer/zshrc +++ b/.devcontainer/zshrc @@ -1,5 +1,5 @@ # If you come from bash you might have to change your $PATH. -export PATH=$HOME/bin:/usr/local/bin:$HOME/.local/bin:$PATH +export PATH=$HOME/bin:/usr/local/bin:$HOME/.local/bin:$HOME/.pixi/bin:$PATH # Set the default shell to zsh when running zsh export SHELL="$(which zsh)" @@ -48,48 +48,12 @@ bindkey "^H" backward-kill-word bindkey "^[[1;5C" forward-word bindkey "^[[1;5D" backward-word - # Settings for the prompt to show that we are in a docker container export PROMPT="%K{black} 🐋 %K{blue}%F{black} %~ %f%k%F{blue}%f " # Prefix the prompt with DOCKER -# >>> bit-bots initialize >>> - -# Ignore some deprecation warnings -export PYTHONWARNINGS="ignore:::setuptools.command.install,ignore:::setuptools.command.easy_install,ignore:::pkg_resources,ignore:easy_install command is deprecated,ignore:setup.py install is deprecated" - -# Limit ROS 2 communication to localhost (can be overridden when needed) -export ROS_DOMAIN_ID=24 -export ROS_AUTOMATIC_DISCOVERY_RANGE=LOCALHOST - -# Set the default colcon workspace -export COLCON_WS="$HOME/colcon_ws" - -# Set the default log level for colcon -export COLCON_LOG_LEVEL=30 - -# Define a log layout -export RCUTILS_COLORIZED_OUTPUT=1 -export RCUTILS_CONSOLE_OUTPUT_FORMAT="[{severity}] [{name}]: {message}" - -# Set the default Middleware -export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp - -# Load our ros plugin script containing useful functions and aliases for ROS 2 development -if [[ -f $COLCON_WS/src/bitbots_main/scripts/ros.plugin.sh ]]; then - source $COLCON_WS/src/bitbots_main/scripts/ros.plugin.sh -fi - -# <<< bit-bots initialize <<< - -# Set default editor -export VISUAL="vim" - # Some user instructions echo "Hello there! Welcome to the Bit-Bots ROS 2 development environment!" echo "If you just (re)build this container a few manual steps are nessessary:" echo "Create a ssh key with 'ssh-keygen -q -f $HOME/.ssh/id_rsa -N \"\" && cat $HOME/.ssh/id_rsa.pub'." echo "Copy the commands output and add it to your GitHub account ('https://github.com/settings/keys') (ctrl+click to open in browser)." -echo "Now you can install the rest of the workspace and compile everything with 'make install && cba'." -echo "To update an existing workspace you can use 'make update && cba'." -echo "To compile all packages in the workspace use 'cba'. If you want to compile only a specific package use 'cbs '." -echo "Run 'xhost local:root' in a terminal on the host machine to enable GUI applications (e.g. rviz2) in the container. This needs to be done after every restart of the host machine." +echo "Now you can install the rest of the workspace and compile everything with 'pixi run build'." diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 7baa3225b..40504d382 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -12,3 +12,4 @@ f29fb619aef9f416cbbdc74ec77c23423dcefe07 ae9fbef74c50ba1e462d1b76da16779c76aa0d5b 476e75e3f3d17c35ac89b17f513d93078687d613 cd3280273363807e1b5df2ade0138d48178cb06b +5c6c1edc69b5d4e26bb7bdc3fef3399e2a61567b diff --git a/.gitattributes b/.gitattributes index f74aebe48..887a2c18f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ -.vscode/settings.json filter=removeFullHomePath +# SCM syntax highlighting & preventing 3-way merges +pixi.lock merge=binary linguist-language=YAML linguist-generated=true diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index d377bf3a9..0626af4cf 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -11,7 +11,7 @@ ## Checklist -- [ ] Run `colcon build` +- [ ] Run `just build` - [ ] Write documentation - [ ] Test on your machine - [ ] Test on the robot diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e73122e8e..8f0661458 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,29 +4,21 @@ on: - cron: '0 0 * * *' push: -env: - PYTHONWARNINGS: "ignore:::setuptools.command.install,ignore:::setuptools.command.easy_install,ignore:::pkg_resources,ignore:easy_install command is deprecated,ignore:setup.py install is deprecated" - jobs: build: runs-on: ubuntu-latest - container: - image: ubuntu:noble steps: - name: Cancel outdated jobs uses: fkirc/skip-duplicate-actions@v5 with: cancel_others: 'true' - - # Remove comments to spawn an interactive debigging ssh shell in the ci + + # Remove comments to spawn an interactive debugging ssh shell in the ci #- name: Setup tmate session # uses: mxschmitt/action-tmate@v3 - # with: + # with: # detached: true - - - name: Set up ROS ecosystem - uses: ros-tooling/setup-ros@v0.7 - name: Check out repository uses: actions/checkout@v4 @@ -34,32 +26,17 @@ jobs: - name: Configure git to trust repository run: git config --global --add safe.directory /__w/bitbots_main/bitbots_main - - name: Add '$HOME/.local/bin' to PATH - run: | - mkdir -p $HOME/.local/bin - echo "PATH=$PATH:/github/home/.local/bin" >> "$GITHUB_ENV" + - name: Install host dependencies + run: scripts/make_basler.sh --ci - - name: Pull source code for libraries and install dependencies - run: | - sudo apt-get remove -y python3-pytest-repeat #TODO remove once the upstream apt package reports the correct version on the newest pip version - make install HTTPS=true ARGS="--ci" - - - name: Set up colcon workspace - run: | - mkdir -p /colcon_ws/src - ln -s $(realpath .) /colcon_ws/src/bitbots_main + - name: Set up workspace + uses: prefix-dev/setup-pixi@v0.9.3 + with: + pixi-version: v0.59.0 + cache: false # Disable caching to avoid issues with large pytorch packages - - name: Build packages - run: | - . /opt/ros/jazzy/setup.sh - colcon build --symlink-install - working-directory: /colcon_ws + - name: Build + run: pixi run build - - name: Test packages - run: | - # Source workspace - . /opt/ros/jazzy/setup.sh - . install/setup.sh - # Run tests for all packages - colcon test --event-handlers console_direct+ --return-code-on-test-failure --parallel-workers 1 - working-directory: /colcon_ws + - name: Test + run: pixi run test --parallel-workers 1 diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index bb80c075f..38d2e94ee 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -1,16 +1,21 @@ name: Code style checks on: - pull_request: push: - branches: [main] jobs: pre-commit: - runs-on: ubuntu-24.04 + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 - - name: Install cppcheck - run: sudo apt install cppcheck -y - - uses: pre-commit/action@v3.0.1 + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set up workspace + uses: prefix-dev/setup-pixi@v0.9.3 + with: + pixi-version: v0.59.0 + cache: true + environments: format + + - name: Run pre-commit + run: pixi run -e format format diff --git a/.gitignore b/.gitignore index 8c79b505c..bdadc991f 100644 --- a/.gitignore +++ b/.gitignore @@ -203,11 +203,10 @@ bitbots_docs_internal # VS Code ROS extension .vscode/browse.vc.* -log/ # Neural Network Model Path -/bitbots_vision/models/ -/bitbots_motion/bitbots_rl_motion/rl_walk_models/ +/src/bitbots_vision/models/ +/src/bitbots_motion/bitbots_rl_motion/rl_walk_models/ **/.*. .idea/* @@ -219,16 +218,29 @@ ansible_robots/* doc_internal/* doku/* -# library subdirectories -/lib/ - -# Path to the protocol buffer definitions, which are a different repository and managed by vcstool -/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol # Protobuf generated file -/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/robocup_extension_pb2.py -/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/robocup_extension_pb2.pyi +/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/robocup_extension_pb2.py +/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/robocup_extension_pb2.pyi # Workspace git status file from the deploy tool **/workspace_status.json +# Do not include colcon build files +/install/ +/build/ +/log/ + +# Ignore mypy cache +.mypy_cache/ + +# Pytest cache .pytest_cache/ + +# pixi environments +.pixi/ +!.pixi/config.toml + +CMakeFiles/ +CMakeCache.txt + + diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8f6e20745..fae0d6a30 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,6 +14,7 @@ repos: args: - "-i" - id: cppcheck + exclude: &exclude_robocup_protocol ^src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/ args: - "--inline-suppr" - "--suppress=missingIncludeSystem" @@ -21,11 +22,13 @@ repos: - "--suppress=unusedFunction" - "--suppress=unusedStructMember" - "--suppress=useStlAlgorithm" + - "--check-level=exhaustive" - repo: https://github.com/cheshirekow/cmake-format-precommit rev: v0.6.13 hooks: - id: cmake-format - id: cmake-lint + exclude: *exclude_robocup_protocol - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: @@ -33,4 +36,5 @@ repos: - id: check-toml - id: check-xml - id: check-yaml + exclude: *exclude_robocup_protocol - id: detect-private-key diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 2460329d7..6c1fbabfe 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -8,14 +8,11 @@ // Set include paths so the editor can find the c++ header files for the auto completion // The Bit-Bots specific environment variable COLCON_WS is utilized here and needs to be set "includePath": [ - "${env:COLCON_WS}/install/*/include/**", - "${env:COLCON_WS}/build/**/include/**", - "${env:COLCON_WS}/build/**/rosidl_generator_cpp/**", - "/root/colcon_ws/install/*/include/**", - "/root/colcon_ws/build/**/include/**", - "/root/colcon_ws/build/**/rosidl_generator_cpp/**", + "${workspaceFolder}/install/*/include/**", + "${workspaceFolder}/build/**/include/**", + "${workspaceFolder}/build/**/rosidl_generator_cpp/**", "${workspaceFolder}/**/include/**", - "/opt/ros/${env:ROS_DISTRO}/include/**", + "${workspaceFolder}/.pixi/envs/default/include/**", "/usr/include/**", "/opt/pylon/include/**" ], diff --git a/.vscode/settings.json b/.vscode/settings.json index bcb174019..6f2e285de 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -222,10 +222,92 @@ "ROS2.distro": "jazzy", "search.useIgnoreFiles": false, "python.autoComplete.extraPaths": [ - "/opt/ros/jazzy/lib/python3.12/site-packages" + "build/system_monitor", + "install/system_monitor/lib/python3.12/site-packages", + "build/bitbots_robocup_api", + "install/bitbots_robocup_api/lib/python3.12/site-packages", + "install/bitbots_pybullet_sim/lib/python3.12/site-packages", + "install/bitbots_webots_sim/lib/python3.12/site-packages", + "build/bitbots_vision", + "install/bitbots_vision/lib/python3.12/site-packages", + "build/bitbots_team_data_sim_rqt", + "install/bitbots_team_data_sim_rqt/lib/python3.12/site-packages", + "install/bitbots_team_communication/lib/python3.12/site-packages", + "install/bitbots_quintic_walk/lib/python3.12/site-packages", + "build/bitbots_localization_handler", + "install/bitbots_localization_handler/lib/python3.12/site-packages", + "install/bitbots_localization/lib/python3.12/site-packages", + "install/bitbots_parameter_blackboard/lib/python3.12/site-packages", + "build/bitbots_animation_rqt", + "install/bitbots_animation_rqt/lib/python3.12/site-packages", + "install/bitbots_hcm/lib/python3.12/site-packages", + "install/bitbots_dynup/lib/python3.12/site-packages", + "install/bitbots_dynamic_kick/lib/python3.12/site-packages", + "build/bitbots_body_behavior", + "install/bitbots_body_behavior/lib/python3.12/site-packages", + "install/bitbots_blackboard/lib/python3.12/site-packages", + "build/bitbots_animation_server", + "install/bitbots_animation_server/lib/python3.12/site-packages", + "install/bitbots_utils/lib/python3.12/site-packages", + "build/bitbots_tts", + "install/bitbots_tts/lib/python3.12/site-packages", + "build/bitbots_teleop", + "install/bitbots_teleop/lib/python3.12/site-packages", + "install/bitbots_splines/lib/python3.12/site-packages", + "build/bitbots_robot_filter", + "install/bitbots_robot_filter/lib/python3.12/site-packages", + "build/bitbots_path_planning", + "install/bitbots_path_planning/lib/python3.12/site-packages", + "install/bitbots_msgs/lib/python3.12/site-packages", + "install/bitbots_moveit_bindings/lib/python3.12/site-packages", + "build/bitbots_ball_filter", + "install/bitbots_ball_filter/lib/python3.12/site-packages", + ".pixi/envs/default/lib/python/site-packages", + ".pixi/envs/default/lib/python3.12/site-packages", ], "python.analysis.extraPaths": [ - "/opt/ros/jazzy/lib/python3.12/site-packages" + "build/system_monitor", + "install/system_monitor/lib/python3.12/site-packages", + "build/bitbots_robocup_api", + "install/bitbots_robocup_api/lib/python3.12/site-packages", + "install/bitbots_pybullet_sim/lib/python3.12/site-packages", + "install/bitbots_webots_sim/lib/python3.12/site-packages", + "build/bitbots_vision", + "install/bitbots_vision/lib/python3.12/site-packages", + "build/bitbots_team_data_sim_rqt", + "install/bitbots_team_data_sim_rqt/lib/python3.12/site-packages", + "install/bitbots_team_communication/lib/python3.12/site-packages", + "install/bitbots_quintic_walk/lib/python3.12/site-packages", + "build/bitbots_localization_handler", + "install/bitbots_localization_handler/lib/python3.12/site-packages", + "install/bitbots_localization/lib/python3.12/site-packages", + "install/bitbots_parameter_blackboard/lib/python3.12/site-packages", + "build/bitbots_animation_rqt", + "install/bitbots_animation_rqt/lib/python3.12/site-packages", + "install/bitbots_hcm/lib/python3.12/site-packages", + "install/bitbots_dynup/lib/python3.12/site-packages", + "install/bitbots_dynamic_kick/lib/python3.12/site-packages", + "build/bitbots_body_behavior", + "install/bitbots_body_behavior/lib/python3.12/site-packages", + "install/bitbots_blackboard/lib/python3.12/site-packages", + "build/bitbots_animation_server", + "install/bitbots_animation_server/lib/python3.12/site-packages", + "install/bitbots_utils/lib/python3.12/site-packages", + "build/bitbots_tts", + "install/bitbots_tts/lib/python3.12/site-packages", + "build/bitbots_teleop", + "install/bitbots_teleop/lib/python3.12/site-packages", + "install/bitbots_splines/lib/python3.12/site-packages", + "build/bitbots_robot_filter", + "install/bitbots_robot_filter/lib/python3.12/site-packages", + "build/bitbots_path_planning", + "install/bitbots_path_planning/lib/python3.12/site-packages", + "install/bitbots_msgs/lib/python3.12/site-packages", + "install/bitbots_moveit_bindings/lib/python3.12/site-packages", + "build/bitbots_ball_filter", + "install/bitbots_ball_filter/lib/python3.12/site-packages", + ".pixi/envs/default/lib/python/site-packages", + ".pixi/envs/default/lib/python3.12/site-packages", ], "cmake.configureOnOpen": false, "editor.formatOnSave": true, @@ -241,4 +323,10 @@ "[jsonc]": { "editor.defaultFormatter": "vscode.json-language-features" }, + "search.exclude": { + "build": true, + "install": true, + "log": true, + ".pixi": true, + }, } diff --git a/Makefile b/Makefile deleted file mode 100644 index 86500334c..000000000 --- a/Makefile +++ /dev/null @@ -1,103 +0,0 @@ -.PHONY : basler webots install install-no-root pip pre-commit install-git-filters format pull-all pull-init pull-repos pull-files fresh-libs remove-libs setup-libs rosdep status update update-no-root - -HTTPS := "" -REPO:=$(dir $(abspath $(firstword $(MAKEFILE_LIST)))) - -basler: - # Install Basler Pylon SDK - scripts/make_basler.sh $(ARGS) - -webots: - # Install Webots Simulation environment - scripts/make_webots.sh $(ARGS) - -install: pull-init basler update - -install-no-root: pull-init update-no-root - -pip: - # Install and upgrade pip dependencies - pip install --upgrade pip --user --break-system-packages -v - pip install --upgrade -r requirements/dev.txt --user --break-system-packages -v - -pre-commit: - # Install pre-commit hooks for all submodules that have a .pre-commit-config.yaml file - pre-commit install - -install-git-filters: - # Install git filters - # The vscode settings file gets updated by the ros extension and contains the full path to the current user's home directory. - # We don't want to commit this path, so we use a git filter to remove it when git adds the file to the staging area. - # This does not affect the file on disk, so vscode will still work as expected. - git config filter.removeFullHomePath.clean "sed '/\/\(home\|root\).*\(install\|build\)/d'" - -format: - # Format all files in the repository - pre-commit run --all-files - -pull-all: pull-repos pull-files - -pull-init: fresh-libs pull-files - -pull-repos: - # Pull all repositories - vcs pull . --nested - -pull-files: - # Pull all large files (mainly neural network weights) from the http server - wget \ - --no-verbose \ - --show-progress \ - --timeout=15 \ - --tries=2 \ - --recursive \ - --timestamping \ - --no-parent \ - --no-host-directories \ - --directory-prefix=$(REPO)/bitbots_vision \ - --reject "index.html*" \ - "https://data.bit-bots.de/models/" - wget \ - --no-verbose \ - --show-progress \ - --timeout=15 \ - --tries=2 \ - --recursive \ - --timestamping \ - --no-parent \ - --no-host-directories \ - --directory-prefix=$(REPO)/bitbots_motion/bitbots_rl_motion \ - --reject "index.html*" \ - "https://data.bit-bots.de/rl_walk_models/" - -fresh-libs: remove-libs setup-libs - -remove-libs: - # Removes the lib directory and all its contents - rm -rf lib/* - # Also remove the generated protobuf files, as they are not needed anymore - rm bitbots_team_communication/bitbots_team_communication/robocup_extension_pb2.py 2> /dev/null || true - -setup-libs: - # Clone lib repositories in workspace.repos into the lib directory -ifeq ($(HTTPS), true) - # Replace git@ with https:// to allow cloning without ssh keys - awk '{sub("git@github.com:", "https://github.com/"); print " " $$0}' workspace.repos | vcs import . -else - vcs import . < workspace.repos -endif - -rosdep: - # Initialize rosdep if not already done - [ -f /etc/ros/rosdep/sources.list.d/20-default.list ] || sudo rosdep init - # Update rosdep and install dependencies from meta directory - rosdep update - rosdep install --from-paths . --ignore-src --rosdistro jazzy -y - -status: - # Show status of all repositories - vcs status . --nested - -update: pull-all rosdep pip install-git-filters pre-commit - -update-no-root: pull-all pip install-git-filters pre-commit diff --git a/README.md b/README.md index 067943c5b..a7b8b0e73 100644 --- a/README.md +++ b/README.md @@ -5,31 +5,43 @@ [![ROS Version Jazzy](https://img.shields.io/badge/ROS%20Version-Jazzy-00b8ff)](https://docs.ros.org/en/jazzy/index.html) This git repository contains all RoboCup-related code and documentation from the Hamburg Bit-Bots team. -All code is written as individual ROS 2 packages targeting Ubuntu. +All code is written as individual ROS 2 packages.

- marimba playing robot + Bit-Bots Logo

## Installation +The workspace is managed using the [pixi](https://pixi.sh) package manager. This allows us to have reproducible builds and easy user space dependency management similar to tools like `uv` or `cargo`. This also means that no system wide ROS installation or superuser privileges are required to install or run the code. + Full step-by-step instructions for installing the Bit-Bots software stack and ROS 2 can be found in our documentation [here](https://doku.bit-bots.de/meta/manual/tutorials/install_software_ros2.html). -## Update the codebase +Run the following command inside this repository to build the workspace. All dependencies will be installed automatically. Make sure you have [pixi](https://pixi.sh) installed. A few optional proprietary dependencies will be needed for full functionality, see the documentation for details. + +``` shell +pixi run build +``` + +## Using the workspace -If you want to update this repo, all third party source files as well as the supplementing files, run +To activate the workspace run the following command in the terminal you want to use: ``` shell -make pull-all +pixi shell ``` -If you encounter any problems consider cleaning the third party source files (the `lib` folder) first: +alternatively, you can run individual commands inside the workspace without activating the shell: + +``` shell +pixi run +``` -**THIS DELETES ALL CHANGES YOU MADE TO THE THIRD PARTY SOURCE FILES!** +To see some predefined tasks, run ``` shell -make fresh-libs +pixi run -v ``` ## Run auto formatting @@ -37,7 +49,7 @@ make fresh-libs To format all code in the repository, run ``` shell -make format +pixi run format ``` ## More documentation diff --git a/pixi.lock b/pixi.lock new file mode 100644 index 000000000..6587b03c2 --- /dev/null +++ b/pixi.lock @@ -0,0 +1,20413 @@ +version: 6 +environments: + default: + channels: + - url: https://data.bit-bots.de/conda/ + - url: https://data.bit-bots.de/conda-misc/output/ + - url: https://conda.anaconda.org/robostack-jazzy/ + - url: https://conda.anaconda.org/conda-forge/ + indexes: + - https://pypi.org/simple + packages: + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.13.2-py312h27b7581_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.14-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/assimp-5.4.3-h8943939_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.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/attr-2.5.2-h39aace5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.4.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.2.0-py312h90b7ffd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-5.0.0-py312h868fb18_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beartype-0.22.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/benchmark-1.9.4-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.45-default_h4852527_104.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45-default_hfdba357_104.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.45-default_h4852527_104.conda + - conda: https://data.bit-bots.de/conda-misc/output/noarch/bitbots_model_2021_12_06_flo_torso21_yoeo_7-1.0.1-h4616a5c_2.conda + - conda: https://data.bit-bots.de/conda-misc/output/noarch/bitbots_model_2022_10_07_flo_torso21_yoeox-1.0.1-h4616a5c_2.conda + - conda: https://data.bit-bots.de/conda-misc/output/noarch/bitbots_model_2023_04_04_philipp_yoeox_with_team_colors-1.0.1-h4616a5c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/breathe-4.36.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-hed03a55_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312hdb49522_1.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_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-compiler-1.11.0-h4d9bdce_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.11.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h35888ee_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-21-21.1.0-default_h99862b1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-21.1.0-default_h99862b1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cli11-2.6.0-h54a6638_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-3.29.6-hcafd917_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.29-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/colcon-common-extensions-0.3.0-py312h7900ff3_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-core-0.20.1-pyhcf101f3_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.2.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-output-0.2.13-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-package-information-0.4.0-pyhd8ed1ab_1.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-py_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-powershell-0.4.0-pyhd8ed1ab_1.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/linux-64/compilers-1.11.0-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-14.3.0-he8ccf15_16.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/contourpy-1.3.3-py312hd9148b4_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.13.0-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.18.3-py312h014360a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cppzmq-4.11.0-hbe92c44_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-46.0.3-py312ha4b625e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cxx-compiler-1.11.0-hfcd1e18_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hd9c7081_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_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/docstring_parser-0.17.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/eigen-3.4.0-h171cf75_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/elfutils-0.193-h849f50c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/empy-3.3.4-pyh9f0ad1d_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.7.3-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fabric-3.2.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fcl-0.7.0-h543440a_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-7.1.1-gpl_h127656b_906.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.3.0-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/linux-64/flann-1.9.2-hc299af7_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-11.2.0-h07f6e7f_0.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/linux-64/fontconfig-2.15.0-h7e30c49_1.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/linux-64/fonttools-4.61.1-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/foonathan-memory-0.7.3-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fortran-compiler-1.11.0-h9bea470_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-ha6d2627_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freeimage-3.18.0-h3a85593_22.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.7.0-py312h447239a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-14.3.0-h0dff253_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-14.3.0-he8b2097_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-14.3.0-h298d278_15.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdbm-1.18-h0a1914f_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.4-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.25.1-h3f43e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gettext-tools-0.25.1-h3f43e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gfortran-14.3.0-h76987e4_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gfortran_impl_linux-64-14.3.0-h1a219da_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gfortran_linux-64-14.3.0-h614ad27_15.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gl2ps-1.4.2-hae5d5c5_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glew-2.1.0-h9c3ff4c_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-2.86.0-he175458_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.86.0-hf516916_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmock-1.17.0-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gnutls-3.8.9-h86084c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-13.1.2-h87b6fe6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.24.11-h651a532_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.24.11-hc37bda9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gtest-1.17.0-h84d6215_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.43-h021d004_4.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/gxx-14.3.0-h76987e4_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-14.3.0-h2185e75_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-14.3.0-hdb5f4f1_15.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gz-cmake3-3.5.5-h05f81b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gz-math7-7.5.2-h5bbc156_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gz-math7-python-7.5.2-py312h89d136e_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gz-tools-2.0.3-h3f54f1a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gz-tools2-2.0.3-h89235b8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gz-utils2-2.2.1-hd5bf738_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.1.0-h15599e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h1b119a7_104.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/imath-3.1.12-h7955e40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/invoke-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.8.0-pyh53cf698_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.8-he3c4edf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jaxtyping-0.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jsoncpp-1.9.6-hf42df4d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.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/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py312h0a2e395_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.17-h717163a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45-default_hbd61a6d_104.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.26.1-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250127.1-cxx17_hbbce691_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libacl-2.3.2-h0f662aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.4-h3f801dc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.1-gpl_h98cc613_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libasprintf-0.25.1-h3f43e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libasprintf-devel-0.25.1-h3f43e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.3-hba53ac1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.3.0-h766b0b6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-4_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.86.0-hed09d94_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.86.0-hfcd1e18_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.86.0-ha770c72_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-1.86.0-py312hf890105_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-devel-1.86.0-py312h26dfbe5_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcamera-0.5.0-py312_h05640e0_101_upstream.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.76-h0b2e76d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-4_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libccd-double-2.1-h59595ed_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp20.1-20.1.8-default_h99862b1_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.0-default_h99862b1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.0-default_h746c552_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-hb8b1518_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.24-h86f0d12_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.3-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_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.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.1-h73754d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_16.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-14.3.0-hf649bbc_116.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h6f5c62b_11.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgettextpo-0.25.1-h3f43e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgettextpo-devel-0.25.1-h3f43e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.0-h1fed272_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-cmake3-3.5.5-h54a6638_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-cmake4-4.2.0-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-math7-7.5.2-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-tools-2.0.3-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-tools2-2.0.3-h3f54f1a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-utils2-2.2.1-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_h3d81e11_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.8-hfac485b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-4_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-4_h6ae95b6_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm20-20.1.8-hecd9e04_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.0-hecd9e04_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmicrohttpd-1.0.2-hc2fc477_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.2-nompi_h21f7587_118.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.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/libntlm-1.8-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnuma-2.0.18-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libode-0.16.5-h45cc771_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopencv-4.11.0-qt6_py312h4381209_609.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-devel-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2025.0.0-hdc3f47d_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2025.0.0-h4d9b6c2_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2025.0.0-h4d9b6c2_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2025.0.0-h981d57b_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2025.0.0-hdc3f47d_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2025.0.0-hdc3f47d_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2025.0.0-hdc3f47d_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2025.0.0-h981d57b_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2025.0.0-h0e684df_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2025.0.0-h0e684df_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2025.0.0-h5888daf_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2025.0.0-h684f15b_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2025.0.0-h5888daf_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.5.2-hd0c01bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpisp-1.2.1-h9ab20c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.53-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-17.7-h5c52fec_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-5.29.3-h7460b1f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libraw-0.21.4-h9969a89_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.58.4-h49af25d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-14.3.0-h8f1669f_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsdformat14-14.8.0-py312h1f51ce1_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.1-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_16.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-14.3.0-h9f08a49_116.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.10-h085a93f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtasn1-4.20.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtheora-1.1.1-h4ab18f5_1006.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h8261f1e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev-257.10-h085a93f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.10-h085a93f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libunistring-0.9.10-h7f98852_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.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/liburing-2.12-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-h5347b49_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.51.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.14.1-hac33072_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.328.1-h5279c79_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.11.0-he8b52b9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.9-h04c0eec_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h7a3aeb2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.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.0.2-py312h70dad80_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.8-py312h7900ff3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.8-py312he3d6523_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-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/mdurl-0.1.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py312hd9148b4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.7.0-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.19.0-py312h4c3975b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nettle-3.10.1-h4a9d5aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nspr-4.38-h29cc59b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nss-3.118-h445c969_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/octomap-1.10.0-h84d6215_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ompl-1.7.0-py312h0e5b81d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/opencv-4.11.0-qt6_py312h78c9a49_609.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openexr-3.3.5-h09fa569_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.0-h26f9b46_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/orocos-kdl-1.5.3-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/osrf_pycommon-0.2.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/p11-kit-0.24.1-hc5aa10d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcl-1.15.0-hd1363f8_2.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.46-h1321c63_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pep517-0.13.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.3.0-py312h7b42cdd_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pkg-config-0.29.2-h4bc722e_1009.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/playsound-1.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.5.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.6.2-h18fbb6c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.3.1-py312h178313f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-5.29.3-py312h0f4f066_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py312h5253ce2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a8bead_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/py-opencv-4.11.0-qt6_py312h0c4a6be_609.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.0.1-pyh7a1b43c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-11-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.0.1-pyhc7ab6ef_0.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/pycairo-1.29.0-py312h2596900_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pydot-4.0.1-py312h7900ff3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-3.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.6.1-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.11-py312h82c0db2_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyqt-builder-1.18.2-pyhd8ed1ab_0.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/pyside6-6.9.2-py312h5654102_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.15.1-pyhd8ed1ab_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.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.0-hab00c5b_0_cpython.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/linux-64/python-librt-0.7.3-py312h5253ce2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-orocos-kdl-1.5.3-py312h1289d80_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.15-h3a7ef08_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.2-h5bd77bc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rapidjson-1.1.0.post20240409-h3f2d84a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rav1e-0.7.1-h8fae777_3.conda + - conda: https://data.bit-bots.de/conda-misc/output/noarch/readline-8.2.9999-h4616a5c_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-py-3.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-action-msgs-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-action-tutorials-cpp-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-action-tutorials-interfaces-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-action-tutorials-py-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-actionlib-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-auto-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-copyright-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-core-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-cppcheck-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-cpplint-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-definitions-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-dependencies-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-include-directories-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-interfaces-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-libraries-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-link-flags-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-targets-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-flake8-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-gen-version-h-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-gmock-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-gtest-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-include-directories-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-libraries-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-lint-cmake-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-mypy-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-pep257-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-pytest-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-python-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-ros-0.12.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-target-dependencies-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-test-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-uncrustify-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-version-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-xmllint-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-copyright-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cppcheck-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cpplint-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-flake8-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-index-cpp-1.8.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-index-python-1.8.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-lint-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-lint-auto-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-lint-cmake-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-lint-common-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-mypy-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-package-0.16.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-pep257-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-uncrustify-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-xmllint-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-angles-1.16.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-apriltag-3.4.5-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-apriltag-msgs-2.0.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-apriltag-ros-3.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-backward-ros-1.0.8-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-better-launch-1.0.4-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-bio-ik-2.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-bio-ik-msgs-0.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-biped-interfaces-0.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-bitbots-dynamixel-sdk-3.7.21-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-bitbots-tf-buffer-1.0.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-builtin-interfaces-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-camera-calibration-parsers-5.1.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-camera-info-manager-5.1.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-camera-ros-0.5.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-class-loader-2.7.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-common-interfaces-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-composition-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-composition-interfaces-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-compressed-depth-image-transport-4.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-compressed-image-transport-4.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-console-bridge-vendor-1.7.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-control-msgs-5.5.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-control-toolbox-4.7.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-controller-interface-4.37.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-controller-manager-4.37.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-controller-manager-msgs-4.37.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-cv-bridge-4.1.0-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-cyclonedds-0.10.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-data-tamer-cpp-0.9.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-data-tamer-msgs-0.9.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-cpp-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-cpp-native-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-py-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-depthimage-to-laserscan-2.5.1-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-desktop-0.11.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-diagnostic-aggregator-4.2.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-diagnostic-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-diagnostic-updater-4.2.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-domain-coordinator-0.12.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-dummy-map-server-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-dummy-robot-bringup-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-dummy-sensors-0.33.7-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-dynamic-stack-decider-0.5.3-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-dynamic-stack-decider-visualization-0.2.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-dynamixel-sdk-3.8.4-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-dynamixel-workbench-toolbox-0.1.8-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-eigen-stl-containers-1.1.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-eigen3-cmake-module-0.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-example-interfaces-0.12.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-action-client-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-action-server-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-client-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-composition-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-publisher-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-service-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-subscriber-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-timer-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-multithreaded-executor-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-executors-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-action-client-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-action-server-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-client-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-publisher-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-service-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-subscriber-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-fastcdr-2.2.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-fastrtps-2.14.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-fastrtps-cmake-module-3.6.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-filters-2.2.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-foonathan-memory-vendor-1.3.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-foxglove-bridge-0.8.5-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-game-controller-hl-1.1.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-game-controller-hl-interfaces-0.0.1-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-gazebo-msgs-3.8.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-generate-parameter-library-0.5.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-generate-parameter-library-py-0.5.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-geometric-shapes-2.3.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-geometry-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-geometry2-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gmock-vendor-1.14.9000-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-google-benchmark-vendor-0.5.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gtest-vendor-1.14.9000-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gz-cmake-vendor-0.0.10-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gz-math-vendor-0.0.8-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gz-tools-vendor-0.0.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gz-utils-vendor-0.0.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-hardware-interface-4.37.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-humanoid-base-footprint-0.1.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-iceoryx-binding-c-2.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-iceoryx-hoofs-2.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-iceoryx-posh-2.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-geometry-4.1.0-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-proc-5.0.11-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-tools-0.33.7-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-transport-5.1.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-transport-plugins-4.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-view-5.0.11-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-imu-complementary-filter-2.1.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-interactive-markers-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-intra-process-demo-0.33.7-np126py312h5cbfcd5_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ipm-image-node-0.0.0-np126py312h5cbfcd5_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ipm-interfaces-0.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ipm-library-0.0.0-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-joint-limits-4.37.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-joint-state-publisher-2.4.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-joint-state-publisher-gui-2.4.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-joy-3.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-kdl-parser-2.11.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-keyboard-handler-0.3.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-laser-geometry-2.7.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-3.4.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-param-builder-0.1.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-ros-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-testing-3.4.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-testing-ament-cmake-3.4.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-testing-ros-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-xml-3.4.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-yaml-3.4.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-libcamera-0.5.0-py312h84a10cd_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-libcurl-vendor-3.4.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-liblz4-vendor-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-libstatistics-collector-1.7.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-libyaml-vendor-1.6.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-lifecycle-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-lifecycle-msgs-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-logging-demo-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-map-msgs-2.4.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-mcap-vendor-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-message-filters-4.11.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-common-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-configs-utils-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-core-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-kinematics-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-msgs-2.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-planners-ompl-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-benchmarks-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-move-group-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-occupancy-map-monitor-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-planning-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-planning-interface-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-robot-interaction-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-visualization-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-warehouse-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-app-plugins-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-assistant-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-controllers-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-core-plugins-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-framework-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-srdf-plugins-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-simple-controller-manager-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-nav-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-object-recognition-msgs-2.0.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-octomap-msgs-2.0.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ompl-1.7.0-py312hbd645f5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-orocos-kdl-vendor-0.5.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-osqp-vendor-0.2.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-osrf-pycommon-2.1.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pal-statistics-2.7.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pal-statistics-msgs-2.7.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-parameter-traits-0.5.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-particle-filter-0.0.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pcl-conversions-2.6.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pcl-msgs-1.0.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pendulum-control-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pendulum-msgs-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-plotjuggler-3.10.11-np126py312hde09161_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pluginlib-5.4.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-point-cloud-transport-4.0.4-np126py312h3bd2861_11.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pybind11-vendor-3.1.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-python-cmake-module-0.11.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-python-orocos-kdl-vendor-0.5.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-python-qt-binding-2.2.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-qt-dotgraph-2.7.5-np126py312hd4d1b83_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-qt-gui-2.7.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-qt-gui-cpp-2.7.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-qt-gui-py-common-2.7.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-quality-of-service-demo-cpp-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-quality-of-service-demo-py-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-random-numbers-2.0.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-9.2.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-action-9.2.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-interfaces-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-lifecycle-9.2.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-logging-interface-3.1.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-logging-spdlog-3.1.1-np126py312he340118_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-yaml-param-parser-9.2.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclcpp-28.1.12-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclcpp-action-28.1.12-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclcpp-components-28.1.12-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclcpp-lifecycle-28.1.12-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-rclpy-7.1.5-np126py312h3bd2861_13.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcpputils-2.11.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcutils-6.7.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-realtime-tools-3.9.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-resource-retriever-3.4.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-7.3.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-connextdds-0.22.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-connextdds-common-0.22.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-cyclonedds-cpp-2.2.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-dds-common-3.1.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-fastrtps-cpp-8.4.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-fastrtps-dynamic-cpp-8.4.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-fastrtps-shared-cpp-8.4.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-implementation-2.15.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-implementation-cmake-7.3.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-robot-state-publisher-3.3.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-base-0.11.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-core-0.11.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-environment-4.2.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-workspace-1.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2-control-test-assets-4.37.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ros2-numpy-2.0.9-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ros2-python-extension-1.0.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2action-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2bag-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2cli-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2cli-common-extensions-0.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2component-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2doctor-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2interface-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2launch-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2lifecycle-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2multicast-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2node-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2param-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2pkg-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2run-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2service-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2topic-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-compression-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-compression-zstd-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-cpp-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-interfaces-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-py-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-default-plugins-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-mcap-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-sqlite3-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-transport-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosgraph-msgs-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-adapter-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-cli-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-cmake-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-core-generators-0.2.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-core-runtime-0.2.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-runtime-1.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-dynamic-typesupport-0.1.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-dynamic-typesupport-fastrtps-0.1.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-generator-c-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-generator-cpp-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-generator-py-0.22.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-generator-type-description-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-parser-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-pycommon-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-c-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-cpp-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-py-0.13.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-c-3.2.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-cpp-3.2.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-fastrtps-c-3.6.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-fastrtps-cpp-3.6.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-interface-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-introspection-c-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-introspection-cpp-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosx-introspection-1.0.2-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-rot-conv-1.1.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rpyutils-0.4.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-action-2.2.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-bag-1.5.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-bag-plugins-1.5.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-common-plugins-1.2.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-console-2.2.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-graph-1.5.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-gui-1.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-gui-cpp-1.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-gui-py-1.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-image-view-1.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-msg-1.5.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-plot-1.4.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-publisher-1.7.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-py-common-1.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-py-console-1.2.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-reconfigure-1.6.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-service-caller-1.2.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-shell-1.2.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-srv-1.2.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-topic-1.7.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rsl-1.2.0-np126py312hd4d1b83_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rti-connext-dds-cmake-module-0.22.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rttest-0.17.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ruckig-0.9.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-assimp-vendor-14.1.15-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-common-14.1.15-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-default-plugins-14.1.15-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-rviz-imu-plugin-2.1.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-ogre-vendor-14.1.15-np126py312h39124df_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-rendering-14.1.15-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz2-14.1.15-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sdformat-urdf-1.0.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sdformat-vendor-0.0.10-np126py312hbd70b12_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sdl2-vendor-3.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sensor-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sensor-msgs-py-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-service-msgs-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-shape-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-field-map-generator-0.0.0-np126py312h5cbfcd5_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-ipm-0.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-vision-2d-msgs-1.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-vision-3d-msgs-1.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-vision-3d-rviz-markers-1.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-vision-attribute-msgs-1.0.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-spdlog-vendor-1.6.1-np126py312he340118_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sqlite3-vendor-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-srdfdom-2.0.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sros2-0.13.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sros2-cmake-0.13.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-statistics-msgs-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-std-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-std-srvs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-stereo-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tango-icons-vendor-0.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tcb-span-1.0.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-teleop-twist-joy-2.6.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-teleop-twist-keyboard-2.4.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-test-msgs-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf-transformations-1.1.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-bullet-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-eigen-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-eigen-kdl-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-geometry-msgs-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-kdl-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-msgs-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-py-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-ros-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-ros-py-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-sensor-msgs-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-tools-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-theora-image-transport-4.0.6-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tinyxml2-vendor-0.9.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tl-expected-1.0.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tlsf-0.9.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tlsf-cpp-0.17.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-topic-monitor-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-topic-tools-1.3.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-topic-tools-interfaces-1.3.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tracetools-8.2.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tracetools-image-pipeline-5.0.11-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-trajectory-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-transmission-interface-4.37.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-turtlesim-1.8.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-type-description-interfaces-2.0.3-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-udp-bridge-0.0.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-uncrustify-vendor-3.0.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-unique-identifier-msgs-2.5.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdf-2.10.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdf-parser-plugin-2.10.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdfdom-4.0.1-py312h24bf083_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdfdom-headers-1.1.2-py312h24bf083_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdfdom-py-1.2.1-py312h24bf083_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-vision-msgs-4.1.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-vision-opencv-4.1.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-visualization-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-warehouse-ros-2.0.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-xacro-2.1.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-yaml-cpp-vendor-9.0.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-zstd-image-transport-4.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-zstd-vendor-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.11.0-jazzy_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruby-3.4.7-hd8161a3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.9-h813ae00_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.3-py312h7a1785b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdformat14-14.8.0-h5bb51b8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdformat14-python-14.8.0-py312h22a3d64_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.2.24-h68140b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/setproctitle-1.3.6-py312h4c3975b_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-68.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/simpleeval-1.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sip-6.10.0-py312h1289d80_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/spdlog-1.15.3-h6dc744f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-rtd-theme-3.0.2-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-3.0.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.51.1-hbc0de68_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-3.0.2-h5888daf_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/linux-64/tbb-2022.3.0-h8d10470_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-devel-2022.3.0-h74b38a2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-h3f2d84a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_ha0e22de_103.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.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.3-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/transforms3d-0.4.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.4.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h8577fbf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py312hd9148b4_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.81.0-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.0-py312h4c3975b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-4.0.1-hae71d53_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-py-1.2.1-py312h200335b_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom_headers-1.1.2-h84d6215_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/utfcpp-4.0.8-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-9.4.2-hf9009d3_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-base-9.4.2-py312h28cca35_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-io-ffmpeg-9.4.2-he57672f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wadler-lindig-0.1.7-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-h3e06ad9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.46-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.14-pyhd8ed1ab_0.conda + - conda: https://data.bit-bots.de/conda-misc/output/linux-64/webots-2022b-hb0f4dca_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py312h4c3975b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wslink-2.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 + - 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-cursor-0.1.6-hb03c661_0.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.46-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.12-h4f16b4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxaw-1.0.16-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.6-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.5-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxmu-1.2.1-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxpm-3.5.17-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.4-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.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-libxt-1.3.1-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2024.1-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.8.1-hbcc6ac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.1-hbcc6ac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.22.0-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h387f397_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zziplib-0.13.69-he45264a_2.conda + - conda: src/bitbots_navigation/bitbots_rust_nav + - pypi: https://files.pythonhosted.org/packages/8f/aa/ba0014cc4659328dc818a28827be78e6d97312ab0cb98105a770924dc11e/absl_py-2.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bc/8a/340a1555ae33d7354dbca4faa54948d76d89a27ceef032c8c3bc661d003e/aiofiles-25.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c3/be/d0d44e092656fe7a06b55e6103cbce807cdbdee17884a5367c68c9860853/dataclasses_json-0.6.7-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7a/bf/457ed5be028fb235f8f5ad40b5ddbf67023e0017090ea324d0fe6239a73c/dateparser-1.1.8-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz + - pypi: https://files.pythonhosted.org/packages/a9/c7/57423942b2f847cdbbb46494568d00cd8a45500904ea026f0aad6ca01bc7/editdistance-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e0/13/e430bc0af434d8775614283ceaa6181b4083e3e50ab1a6939328ca6aec3f/epitran-1.17-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ff/73/2d4ac4076c3a9773528d7e16129367ef9885e9dc36dcf64b516ea013a2f0/espeak_phonemizer-1.3.1.tar.gz + - pypi: https://files.pythonhosted.org/packages/ea/78/9a8a174011682d71cb4922f4014ebbeb9d3067922678e7059351fd9207cf/exhale-0.3.7-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ec/f9/7f9263c5695f4bd0023734af91bedb2ff8209e8de6ead162f35d8dc762fd/flask-3.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ee/1b/00a78aa2e8fbd63f9af08c9c19e6deb3d5d66b4dda677a0f61654680ee89/flatbuffers-25.9.23-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/51/c7/b64cae5dba3a1b138d7123ec36bb5ccd39d39939f18454407e5468f4763f/fsspec-2025.12.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f5/86/f6ec2164f743d9609691115ae8ece098c76b894ebe4f7c94a655c6b03e98/grpcio-1.76.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/fc/e1/6b5a01ef36b5341d5d0899401e4413594dfaa21f86cfc05be8efb25baf81/gruut-2.4.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/51/9f/7eff478e38913cc9930527ff40c9ebcb04744dfcd0ddd43bd5a1eb9565b7/gruut-ipa-0.13.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/a4/e3/22748996c573c6a7d5326ef0292956afac089c73f14e3dfee0a94661e631/gruut_lang_en-2.0.1.tar.gz + - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/93/35/850277d1b17b206bd10874c8a9a3f52e059452fb49bb0d22cbb908f6038b/hypercorn-0.18.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fb/fe/301e0936b79bcab4cacc7548bf2853fc28dced0a578bab1f7ef53c9aa75b/imageio-2.37.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/66/b1/af3142c4a85cba6da9f4ebb5ff4e21e2616309552caca5e8acefe9840622/imgaug-0.4.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4f/9a/ab96291470e305504aa4b7a2e0ec132e930da89eb3ca7a82fbe03167c131/jsonlines-1.2.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/83/60/d497a310bde3f01cb805196ac61b7ad6dc5dcf8dce66634dc34364b20b4f/lazy_loader-0.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f3/5f/93b3e3607ccd693a768eafee60829cd14ea1810b75aa48e8b20e27b332c4/marisa_trie-1.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/70/81/54e3ce63502cd085a0c556652a4e1b919c45a446bd1e5300e10c44c8c521/markdown-3.10-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/34/75/51952c7b2d3873b44a0028b1bd26a25078c18f92f256608e8d1dc61b39fd/marshmallow-3.26.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/46/11/8f92f01da9cc41247008856438aa052cc93f74e4ac12ff250eb96a44249a/mycroft_mimic3_tts-0.2.4.tar.gz + - pypi: https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d6/5b/545e9267a1cc080c8a1be2746113a063e34bcdd0f5173fd665a5c13cb234/num2words-0.5.14-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ae/71/1c91302526c45ab494c23f61c7a84aa568b8c1f9d196efa5993957faf906/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/67/42/f4f60238e8194a3106d06a058d494b18e006c10bb2b915655bd9f6ea4cb1/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/2c/14/91ae57cd4db3f9ef7aa99f4019cfa8d54cb4caa7e00975df6467e9725a9f/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ea/27/1795d86fe88ef397885f2e580ac37628ed058a92ed2c39dc8eac3adf0619/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/9f/fd/713452cd72343f682b1c7b9321e23829f00b842ceaedcda96e742ea0b0b3/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/27/94/3266821f65b92b3138631e9c8e7fe1fb513804ac934485a8d05776e1dd43/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/8a/6d/44ad094874c6f1b9c654f8ed939590bdc408349f137f9b98a3a23ccec411/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/3a/e1/5b9089a4b2a4790dfdea8b3a006052cfecff58139d5a4e34cb1a51df8d6f/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/db/f7/97a9ea26ed4bbbfc2d470994b8b4f338ef663be97b8f677519ac195e113d/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/df/99/12cd266d6233f47d00daf3a72739872bdc10267d0383508b0b9c84a18bb6/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ff/ff/847841bacfbefc97a00036e0fce5a0f086b640756dc38caea5e1bb002655/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/87/20/199b8713428322a2f22b722c62b8cc278cc53dffa9705d744484b5035ee9/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ef/88/9cc25d2bafe6bc0d4d3c1db3ade98196d5b355c0b273e6a5dc09c5d5d0d5/onnxruntime-1.23.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/72/2a/05a47a6c291414f5a66901f8d1f6ba68e8ec9fccb341d56fa0b31479d41d/panphon-0.22.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/27/6f/0cf0746d02a356103b7c3a065dbc188d8b5092e58bb363d74aa668ee1ad1/phonemes2ids-1.2.2.tar.gz + - pypi: https://files.pythonhosted.org/packages/5e/5f/82c8074f7e84978129347c2c6ec8b6c59f3584ff1a20bc3c940a3e061790/priority-2.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/54/a3/6af8a68bdfe4d8c001a1fdb84b6fa1154d2b772dbd619050697f4cc2fe39/python_crfsuite-0.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/84/14/9fb5842581f0419b5eb85f8c26c1c0c0f4cf6b4d5be638ae3157316a2650/pyttsx3-2.99-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7e/e9/cc28f21f52913adf333f653b9e0a3bf9cb223f5083a26422968ba73edd8d/quart-0.20.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ea/31/da390a5a10674481dea2909178973de81fa3a246c0eedcc0e1e4114f52f8/quart_cors-0.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/84/bd/9ce9f629fcb714ffc2c3faf62b6766ecb7a585e1e885eb699bcf130a5209/regex-2025.11.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/6b/b5/b75527c0f9532dd8a93e8e7cd8e62e547b9f207d4c11e24f0006e8646b36/scikit_image-0.25.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/b9/37/e781683abac55dde9771e086b790e554811a71ed0b2b8a1e789b7430dd44/shapely-2.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a9/56/feb011ed1e8724c4c57083d71877eefe61f535f6dc94aa598033a03b54b7/swagger_ui_py-21.12.8-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b2/fe/81695a1aa331a842b582453b605175f419fe8540355886031328089d840a/sympy-1.13.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9d/9a/6c68aad2ccfce6e2eeebbf5bb709d0240592eb51ff142ec4c8fbf3c2460a/syrupy-5.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9c/d9/a5db55f88f258ac669a92858b70a714bbbd5acd993820b41ec4a96a4d77f/tensorboard-2.20.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7a/13/e503968fefabd4c6b2650af21e110aa8466fe21432cd7c43a84577a89438/tensorboard_data_server-0.7.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c4/fb/ea621e0a19733e01fe4005d46087d383693c0f4a8f824b47d8d4122c87e0/terminaltables-3.1.10-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d5/5c/e444e1b024a519e488326525f0c154396c6b16baff17e00623f2c21dfc42/tifffile-2025.12.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8b/5c/36c114d120bfe10f9323ed35061bc5878cc74f3f594003854b0ea298942f/torch-2.5.1-cp312-cp312-manylinux1_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/7d/18/1474d06f721b86e6a9b9d7392ad68bed711a02f3b61ac43f13c719db50a6/torchsummary-1.5.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d4/75/00a852275ade58d3dc474530f7a7b6bc999a817148f0eb59d4fde12eb955/torchvision-0.20.1-cp312-cp312-manylinux1_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/78/eb/65f5ba83c2a123f6498a3097746607e5b2f16add29e36765305e4ac7fdd8/triton-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/65/f3/107a22063bf27bdccf2024833d3445f4eea42b2e598abfbd46f6a63b6cb0/typing_inspect-0.9.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c7/b0/003792df09decd6849a5e39c28b513c06e84436a54440380862b5aeff25d/tzdata-2025.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6f/a4/691ab63b17505a26096608cc309960b5a6bdf39e4ba1a793d5f9b1a53270/unicodecsv-0.14.1.tar.gz + - pypi: https://files.pythonhosted.org/packages/2f/f9/9e082990c2585c744734f85bec79b5dae5df9c974ffee58fe421652c8e91/werkzeug-3.1.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a4/f5/10b68b7b1544245097b2a1b8238f66f2fc6dcaeb24ba5d917f52bd2eed4f/wsproto-1.3.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f1/7e/1d55a5749fbf7d1ac6411f3028128b974a3e6bb770d365a2518ecee8ce7e/xdgenvpy-2.4.0-py3-none-any.whl + - pypi: git+https://github.com/bit-bots/YOEO#6a3ce221e0106aecb1b190146fb453daefdfb758 + format: + channels: + - url: https://data.bit-bots.de/conda/ + - url: https://data.bit-bots.de/conda-misc/output/ + - url: https://conda.anaconda.org/robostack-jazzy/ + - url: https://conda.anaconda.org/conda-forge/ + packages: + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h460c074_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-21-21.1.7-default_h99862b1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-21.1.7-default_h99862b1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.18.3-py312h014360a_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45-default_hbd61a6d_104.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.7-default_h99862b1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.3-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.7-hf7376ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.1-hb9d3cd8_2.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/libsqlite-3.51.1-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-h5347b49_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-hf2a90c1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h031cc0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.0-h26f9b46_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/noarch/platformdirs-4.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.5.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.0-hab00c5b_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_0.conda + - conda: https://data.bit-bots.de/conda-misc/output/noarch/readline-8.2.9999-h4616a5c_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-h3f2d84a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_ha0e22de_103.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h8577fbf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py312hd9148b4_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.8.1-hbcc6ac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.1-hbcc6ac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + robot: + channels: + - url: https://data.bit-bots.de/conda/ + - url: https://data.bit-bots.de/conda-misc/output/ + - url: https://conda.anaconda.org/robostack-jazzy/ + - url: https://conda.anaconda.org/conda-forge/ + indexes: + - https://pypi.org/simple + packages: + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.13.2-py312h27b7581_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.14-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/assimp-5.4.3-h8943939_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.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/attr-2.5.2-h39aace5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.4.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.2.0-py312h90b7ffd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-5.0.0-py312h868fb18_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beartype-0.22.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/benchmark-1.9.4-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.45-default_h4852527_104.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45-default_hfdba357_104.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.45-default_h4852527_104.conda + - conda: https://data.bit-bots.de/conda-misc/output/noarch/bitbots_model_2021_12_06_flo_torso21_yoeo_7-1.0.1-h4616a5c_2.conda + - conda: https://data.bit-bots.de/conda-misc/output/noarch/bitbots_model_2022_10_07_flo_torso21_yoeox-1.0.1-h4616a5c_2.conda + - conda: https://data.bit-bots.de/conda-misc/output/noarch/bitbots_model_2023_04_04_philipp_yoeox_with_team_colors-1.0.1-h4616a5c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/breathe-4.36.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-hed03a55_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312hdb49522_1.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_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/c-compiler-1.11.0-h4d9bdce_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.11.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h35888ee_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-21-21.1.0-default_h99862b1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-21.1.0-default_h99862b1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cli11-2.6.0-h54a6638_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-3.29.6-hcafd917_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.29-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/colcon-common-extensions-0.3.0-py312h7900ff3_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-core-0.20.1-pyhcf101f3_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.2.5-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-output-0.2.13-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-package-information-0.4.0-pyhd8ed1ab_1.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-py_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/colcon-powershell-0.4.0-pyhd8ed1ab_1.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/linux-64/compilers-1.11.0-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-14.3.0-he8ccf15_16.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/contourpy-1.3.3-py312hd9148b4_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.13.0-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.18.3-py312h014360a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cppzmq-4.11.0-hbe92c44_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-46.0.3-py312ha4b625e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cxx-compiler-1.11.0-hfcd1e18_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hd9c7081_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_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/docstring_parser-0.17.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/eigen-3.4.0-h171cf75_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/elfutils-0.193-h849f50c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/empy-3.3.4-pyh9f0ad1d_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.7.3-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fabric-3.2.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fcl-0.7.0-h543440a_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-7.1.1-gpl_h127656b_906.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.3.0-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/linux-64/flann-1.9.2-hc299af7_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-11.2.0-h07f6e7f_0.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/linux-64/fontconfig-2.15.0-h7e30c49_1.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/linux-64/fonttools-4.61.1-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/foonathan-memory-0.7.3-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fortran-compiler-1.11.0-h9bea470_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-ha6d2627_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freeimage-3.18.0-h3a85593_22.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.7.0-py312h447239a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-14.3.0-h0dff253_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-14.3.0-he8b2097_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-14.3.0-h298d278_15.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdbm-1.18-h0a1914f_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.4-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.25.1-h3f43e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gettext-tools-0.25.1-h3f43e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gfortran-14.3.0-h76987e4_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gfortran_impl_linux-64-14.3.0-h1a219da_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gfortran_linux-64-14.3.0-h614ad27_15.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gl2ps-1.4.2-hae5d5c5_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glew-2.1.0-h9c3ff4c_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-2.86.0-he175458_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.86.0-hf516916_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmock-1.17.0-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gnutls-3.8.9-h86084c0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-13.1.2-h87b6fe6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.24.11-h651a532_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.24.11-hc37bda9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gtest-1.17.0-h84d6215_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.43-h021d004_4.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/gxx-14.3.0-h76987e4_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-14.3.0-h2185e75_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-14.3.0-hdb5f4f1_15.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gz-cmake3-3.5.5-h05f81b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gz-math7-7.5.2-h5bbc156_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gz-math7-python-7.5.2-py312h89d136e_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gz-tools-2.0.3-h3f54f1a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gz-tools2-2.0.3-h89235b8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gz-utils2-2.2.1-hd5bf738_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.1.0-h15599e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h1b119a7_104.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/imath-3.1.12-h7955e40_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/invoke-2.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.8.0-pyh53cf698_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.8-he3c4edf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jaxtyping-0.3.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jsoncpp-1.9.6-hf42df4d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.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/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py312h0a2e395_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.17-h717163a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45-default_hbd61a6d_104.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.26.1-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250127.1-cxx17_hbbce691_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libacl-2.3.2-h0f662aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.4-h3f801dc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.1-gpl_h98cc613_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libasprintf-0.25.1-h3f43e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libasprintf-devel-0.25.1-h3f43e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.3-hba53ac1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.3.0-h766b0b6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-4_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.86.0-hed09d94_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.86.0-hfcd1e18_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.86.0-ha770c72_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-1.86.0-py312hf890105_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-devel-1.86.0-py312h26dfbe5_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcamera-0.5.0-py312_h05640e0_101_upstream.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.76-h0b2e76d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-4_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libccd-double-2.1-h59595ed_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp20.1-20.1.8-default_h99862b1_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.0-default_h99862b1_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.0-default_h746c552_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-hb8b1518_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.24-h86f0d12_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.3-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_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.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.1-h73754d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_16.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-14.3.0-hf649bbc_116.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h6f5c62b_11.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgettextpo-0.25.1-h3f43e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgettextpo-devel-0.25.1-h3f43e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.0-h1fed272_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-cmake3-3.5.5-h54a6638_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-cmake4-4.2.0-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-math7-7.5.2-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-tools-2.0.3-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-tools2-2.0.3-h3f54f1a_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-utils2-2.2.1-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_h3d81e11_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.8-hfac485b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-4_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-4_h6ae95b6_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm20-20.1.8-hecd9e04_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.0-hecd9e04_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmicrohttpd-1.0.2-hc2fc477_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.2-nompi_h21f7587_118.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.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/libntlm-1.8-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnuma-2.0.18-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libode-0.16.5-h45cc771_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopencv-4.11.0-qt6_py312h4381209_609.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-devel-1.7.0-ha4b6fd6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2025.0.0-hdc3f47d_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2025.0.0-h4d9b6c2_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2025.0.0-h4d9b6c2_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2025.0.0-h981d57b_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2025.0.0-hdc3f47d_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2025.0.0-hdc3f47d_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2025.0.0-hdc3f47d_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2025.0.0-h981d57b_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2025.0.0-h0e684df_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2025.0.0-h0e684df_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2025.0.0-h5888daf_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2025.0.0-h684f15b_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2025.0.0-h5888daf_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.5.2-hd0c01bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpisp-1.2.1-h9ab20c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.53-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-17.7-h5c52fec_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-5.29.3-h7460b1f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libraw-0.21.4-h9969a89_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.58.4-h49af25d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-14.3.0-h8f1669f_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsdformat14-14.8.0-py312h1f51ce1_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.1-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_16.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-14.3.0-h9f08a49_116.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.10-h085a93f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtasn1-4.20.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtheora-1.1.1-h4ab18f5_1006.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h8261f1e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev-257.10-h085a93f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.10-h085a93f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libunistring-0.9.10-h7f98852_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.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/liburing-2.12-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-h5347b49_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.51.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.14.1-hac33072_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.328.1-h5279c79_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.11.0-he8b52b9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.9-h04c0eec_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h7a3aeb2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.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.0.2-py312h70dad80_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.8-py312h7900ff3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.8-py312he3d6523_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-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/mdurl-0.1.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py312hd9148b4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.7.0-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.19.0-py312h4c3975b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nettle-3.10.1-h4a9d5aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nspr-4.38-h29cc59b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nss-3.118-h445c969_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/octomap-1.10.0-h84d6215_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ompl-1.7.0-py312h0e5b81d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/opencv-4.11.0-qt6_py312h78c9a49_609.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openexr-3.3.5-h09fa569_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.0-h26f9b46_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/orocos-kdl-1.5.3-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/osrf_pycommon-0.2.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/p11-kit-0.24.1-hc5aa10d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pcl-1.15.0-hd1363f8_2.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.46-h1321c63_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pep517-0.13.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.3.0-py312h7b42cdd_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pkg-config-0.29.2-h4bc722e_1009.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/playsound-1.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.5.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.6.2-h18fbb6c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.3.1-py312h178313f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-5.29.3-py312h0f4f066_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py312h5253ce2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a8bead_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/py-opencv-4.11.0-qt6_py312h0c4a6be_609.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.0.1-pyh7a1b43c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-11-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.0.1-pyhc7ab6ef_0.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/pycairo-1.29.0-py312h2596900_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pydot-4.0.1-py312h7900ff3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-3.4.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.6.1-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.5-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.11-py312h82c0db2_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyqt-builder-1.18.2-pyhd8ed1ab_0.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/pyside6-6.9.2-py312h5654102_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.15.1-pyhd8ed1ab_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.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.0-hab00c5b_0_cpython.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/linux-64/python-librt-0.7.3-py312h5253ce2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-orocos-kdl-1.5.3-py312h1289d80_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.15-h3a7ef08_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.2-h5bd77bc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rapidjson-1.1.0.post20240409-h3f2d84a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rav1e-0.7.1-h8fae777_3.conda + - conda: https://data.bit-bots.de/conda-misc/output/noarch/readline-8.2.9999-h4616a5c_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-py-3.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-action-msgs-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-action-tutorials-cpp-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-action-tutorials-interfaces-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-action-tutorials-py-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-actionlib-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-auto-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-copyright-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-core-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-cppcheck-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-cpplint-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-definitions-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-dependencies-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-include-directories-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-interfaces-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-libraries-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-link-flags-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-targets-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-flake8-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-gen-version-h-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-gmock-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-gtest-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-include-directories-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-libraries-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-lint-cmake-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-mypy-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-pep257-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-pytest-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-python-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-ros-0.12.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-target-dependencies-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-test-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-uncrustify-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-version-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-xmllint-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-copyright-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cppcheck-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cpplint-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-flake8-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-index-cpp-1.8.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-index-python-1.8.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-lint-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-lint-auto-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-lint-cmake-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-lint-common-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-mypy-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-package-0.16.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-pep257-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-uncrustify-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-xmllint-0.17.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-angles-1.16.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-apriltag-3.4.5-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-apriltag-msgs-2.0.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-apriltag-ros-3.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-backward-ros-1.0.8-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-better-launch-1.0.4-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-bio-ik-2.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-bio-ik-msgs-0.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-biped-interfaces-0.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-bitbots-dynamixel-sdk-3.7.21-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-bitbots-tf-buffer-1.0.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-builtin-interfaces-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-camera-calibration-parsers-5.1.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-camera-info-manager-5.1.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-camera-ros-0.5.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-class-loader-2.7.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-common-interfaces-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-composition-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-composition-interfaces-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-compressed-depth-image-transport-4.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-compressed-image-transport-4.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-console-bridge-vendor-1.7.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-control-msgs-5.5.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-control-toolbox-4.7.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-controller-interface-4.37.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-controller-manager-4.37.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-controller-manager-msgs-4.37.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-cv-bridge-4.1.0-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-cyclonedds-0.10.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-data-tamer-cpp-0.9.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-data-tamer-msgs-0.9.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-cpp-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-cpp-native-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-py-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-depthimage-to-laserscan-2.5.1-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-desktop-0.11.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-diagnostic-aggregator-4.2.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-diagnostic-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-diagnostic-updater-4.2.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-domain-coordinator-0.12.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-dummy-map-server-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-dummy-robot-bringup-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-dummy-sensors-0.33.7-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-dynamic-stack-decider-0.5.3-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-dynamic-stack-decider-visualization-0.2.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-dynamixel-sdk-3.8.4-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-dynamixel-workbench-toolbox-0.1.8-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-eigen-stl-containers-1.1.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-eigen3-cmake-module-0.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-example-interfaces-0.12.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-action-client-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-action-server-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-client-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-composition-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-publisher-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-service-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-subscriber-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-timer-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-multithreaded-executor-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-executors-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-action-client-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-action-server-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-client-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-publisher-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-service-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-subscriber-0.19.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-fastcdr-2.2.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-fastrtps-2.14.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-fastrtps-cmake-module-3.6.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-filters-2.2.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-foonathan-memory-vendor-1.3.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-foxglove-bridge-0.8.5-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-game-controller-hl-1.1.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-game-controller-hl-interfaces-0.0.1-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-gazebo-msgs-3.8.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-generate-parameter-library-0.5.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-generate-parameter-library-py-0.5.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-geometric-shapes-2.3.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-geometry-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-geometry2-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gmock-vendor-1.14.9000-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-google-benchmark-vendor-0.5.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gtest-vendor-1.14.9000-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gz-cmake-vendor-0.0.10-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gz-math-vendor-0.0.8-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gz-tools-vendor-0.0.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gz-utils-vendor-0.0.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-hardware-interface-4.37.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-humanoid-base-footprint-0.1.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-iceoryx-binding-c-2.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-iceoryx-hoofs-2.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-iceoryx-posh-2.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-geometry-4.1.0-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-proc-5.0.11-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-tools-0.33.7-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-transport-5.1.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-transport-plugins-4.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-view-5.0.11-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-imu-complementary-filter-2.1.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-interactive-markers-2.5.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-intra-process-demo-0.33.7-np126py312h5cbfcd5_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ipm-image-node-0.0.0-np126py312h5cbfcd5_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ipm-interfaces-0.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ipm-library-0.0.0-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-joint-limits-4.37.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-joint-state-publisher-2.4.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-joint-state-publisher-gui-2.4.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-joy-3.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-kdl-parser-2.11.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-keyboard-handler-0.3.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-laser-geometry-2.7.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-3.4.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-param-builder-0.1.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-ros-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-testing-3.4.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-testing-ament-cmake-3.4.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-testing-ros-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-xml-3.4.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-yaml-3.4.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-libcamera-0.5.0-py312h84a10cd_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-libcurl-vendor-3.4.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-liblz4-vendor-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-libstatistics-collector-1.7.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-libyaml-vendor-1.6.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-lifecycle-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-lifecycle-msgs-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-logging-demo-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-map-msgs-2.4.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-mcap-vendor-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-message-filters-4.11.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-common-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-configs-utils-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-core-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-kinematics-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-msgs-2.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-planners-ompl-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-benchmarks-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-move-group-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-occupancy-map-monitor-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-planning-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-planning-interface-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-robot-interaction-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-visualization-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-warehouse-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-app-plugins-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-assistant-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-controllers-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-core-plugins-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-framework-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-srdf-plugins-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-simple-controller-manager-2.12.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-nav-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-object-recognition-msgs-2.0.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-octomap-msgs-2.0.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ompl-1.7.0-py312hbd645f5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-orocos-kdl-vendor-0.5.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-osqp-vendor-0.2.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-osrf-pycommon-2.1.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pal-statistics-2.7.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pal-statistics-msgs-2.7.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-parameter-traits-0.5.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-particle-filter-0.0.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pcl-conversions-2.6.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pcl-msgs-1.0.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pendulum-control-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pendulum-msgs-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-plotjuggler-3.10.11-np126py312hde09161_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pluginlib-5.4.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-point-cloud-transport-4.0.4-np126py312h3bd2861_11.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pybind11-vendor-3.1.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-python-cmake-module-0.11.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-python-orocos-kdl-vendor-0.5.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-python-qt-binding-2.2.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-qt-dotgraph-2.7.5-np126py312hd4d1b83_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-qt-gui-2.7.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-qt-gui-cpp-2.7.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-qt-gui-py-common-2.7.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-quality-of-service-demo-cpp-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-quality-of-service-demo-py-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-random-numbers-2.0.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-9.2.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-action-9.2.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-interfaces-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-lifecycle-9.2.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-logging-interface-3.1.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-logging-spdlog-3.1.1-np126py312he340118_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-yaml-param-parser-9.2.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclcpp-28.1.12-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclcpp-action-28.1.12-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclcpp-components-28.1.12-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclcpp-lifecycle-28.1.12-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-rclpy-7.1.5-np126py312h3bd2861_13.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcpputils-2.11.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcutils-6.7.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-realtime-tools-3.9.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-resource-retriever-3.4.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-7.3.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-connextdds-0.22.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-connextdds-common-0.22.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-cyclonedds-cpp-2.2.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-dds-common-3.1.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-fastrtps-cpp-8.4.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-fastrtps-dynamic-cpp-8.4.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-fastrtps-shared-cpp-8.4.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-implementation-2.15.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-implementation-cmake-7.3.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-robot-state-publisher-3.3.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-base-0.11.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-core-0.11.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-environment-4.2.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-workspace-1.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2-control-test-assets-4.37.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ros2-numpy-2.0.9-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ros2-python-extension-1.0.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2action-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2bag-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2cli-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2cli-common-extensions-0.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2component-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2doctor-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2interface-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2launch-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2lifecycle-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2multicast-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2node-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2param-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2pkg-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2run-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2service-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2topic-0.32.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-compression-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-compression-zstd-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-cpp-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-interfaces-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-py-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-default-plugins-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-mcap-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-sqlite3-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-transport-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosgraph-msgs-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-adapter-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-cli-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-cmake-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-core-generators-0.2.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-core-runtime-0.2.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-runtime-1.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-dynamic-typesupport-0.1.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-dynamic-typesupport-fastrtps-0.1.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-generator-c-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-generator-cpp-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-generator-py-0.22.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-generator-type-description-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-parser-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-pycommon-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-c-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-cpp-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-py-0.13.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-c-3.2.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-cpp-3.2.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-fastrtps-c-3.6.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-fastrtps-cpp-3.6.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-interface-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-introspection-c-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-introspection-cpp-4.6.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosx-introspection-1.0.2-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-rot-conv-1.1.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rpyutils-0.4.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-action-2.2.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-bag-1.5.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-bag-plugins-1.5.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-common-plugins-1.2.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-console-2.2.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-graph-1.5.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-gui-1.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-gui-cpp-1.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-gui-py-1.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-image-view-1.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-msg-1.5.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-plot-1.4.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-publisher-1.7.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-py-common-1.6.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-py-console-1.2.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-reconfigure-1.6.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-service-caller-1.2.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-shell-1.2.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-srv-1.2.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-topic-1.7.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rsl-1.2.0-np126py312hd4d1b83_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rti-connext-dds-cmake-module-0.22.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rttest-0.17.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ruckig-0.9.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-assimp-vendor-14.1.15-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-common-14.1.15-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-default-plugins-14.1.15-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-rviz-imu-plugin-2.1.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-ogre-vendor-14.1.15-np126py312h39124df_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-rendering-14.1.15-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz2-14.1.15-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sdformat-urdf-1.0.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sdformat-vendor-0.0.10-np126py312hbd70b12_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sdl2-vendor-3.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sensor-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sensor-msgs-py-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-service-msgs-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-shape-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-field-map-generator-0.0.0-np126py312h5cbfcd5_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-ipm-0.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-vision-2d-msgs-1.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-vision-3d-msgs-1.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-vision-3d-rviz-markers-1.0.0-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-vision-attribute-msgs-1.0.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-spdlog-vendor-1.6.1-np126py312he340118_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sqlite3-vendor-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-srdfdom-2.0.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sros2-0.13.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sros2-cmake-0.13.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-statistics-msgs-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-std-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-std-srvs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-stereo-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tango-icons-vendor-0.3.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tcb-span-1.0.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-teleop-twist-joy-2.6.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-teleop-twist-keyboard-2.4.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-test-msgs-2.0.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf-transformations-1.1.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-bullet-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-eigen-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-eigen-kdl-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-geometry-msgs-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-kdl-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-msgs-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-py-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-ros-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-ros-py-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-sensor-msgs-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-tools-0.36.14-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-theora-image-transport-4.0.6-np126py312h5cbfcd5_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tinyxml2-vendor-0.9.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tl-expected-1.0.2-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tlsf-0.9.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tlsf-cpp-0.17.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-topic-monitor-0.33.7-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-topic-tools-1.3.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-topic-tools-interfaces-1.3.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tracetools-8.2.4-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tracetools-image-pipeline-5.0.11-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-trajectory-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-transmission-interface-4.37.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-turtlesim-1.8.3-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-type-description-interfaces-2.0.3-np126py312h3bd2861_10.conda + - conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-udp-bridge-0.0.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-uncrustify-vendor-3.0.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-unique-identifier-msgs-2.5.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdf-2.10.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdf-parser-plugin-2.10.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdfdom-4.0.1-py312h24bf083_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdfdom-headers-1.1.2-py312h24bf083_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdfdom-py-1.2.1-py312h24bf083_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-vision-msgs-4.1.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-vision-opencv-4.1.0-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-visualization-msgs-5.3.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-warehouse-ros-2.0.5-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-xacro-2.1.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-yaml-cpp-vendor-9.0.1-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-zstd-image-transport-4.0.6-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-zstd-vendor-0.26.9-np126py312h3bd2861_10.conda + - conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.11.0-jazzy_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruby-3.4.7-hd8161a3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.9-h813ae00_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.3-py312h7a1785b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdformat14-14.8.0-h5bb51b8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdformat14-python-14.8.0-py312h22a3d64_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.2.24-h68140b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/setproctitle-1.3.6-py312h4c3975b_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-68.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/simpleeval-1.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sip-6.10.0-py312h1289d80_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/spdlog-1.15.3-h6dc744f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-rtd-theme-3.0.2-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-3.0.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.51.1-hbc0de68_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-3.0.2-h5888daf_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/linux-64/tbb-2022.3.0-h8d10470_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-devel-2022.3.0-h74b38a2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-h3f2d84a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_ha0e22de_103.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.3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.3-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/transforms3d-0.4.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.4.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h8577fbf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py312hd9148b4_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.81.0-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.0-py312h4c3975b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-4.0.1-hae71d53_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-py-1.2.1-py312h200335b_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom_headers-1.1.2-h84d6215_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/utfcpp-4.0.8-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-9.4.2-hf9009d3_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-base-9.4.2-py312h28cca35_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-io-ffmpeg-9.4.2-he57672f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wadler-lindig-0.1.7-pyhe01879c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-h3e06ad9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.46-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.14-pyhd8ed1ab_0.conda + - conda: https://data.bit-bots.de/conda-misc/output/linux-64/webots-2022b-hb0f4dca_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py312h4c3975b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wslink-2.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 + - 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-cursor-0.1.6-hb03c661_0.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.46-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.12-h4f16b4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxaw-1.0.16-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.6-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.5-h5888daf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxmu-1.2.1-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxpm-3.5.17-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.4-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.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-libxt-1.3.1-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2024.1-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.8.1-hbcc6ac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.1-hbcc6ac9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.22.0-py312h8a5da7c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h387f397_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zziplib-0.13.69-he45264a_2.conda + - conda: src/bitbots_navigation/bitbots_rust_nav + - pypi: https://files.pythonhosted.org/packages/8f/aa/ba0014cc4659328dc818a28827be78e6d97312ab0cb98105a770924dc11e/absl_py-2.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bc/8a/340a1555ae33d7354dbca4faa54948d76d89a27ceef032c8c3bc661d003e/aiofiles-25.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c3/be/d0d44e092656fe7a06b55e6103cbce807cdbdee17884a5367c68c9860853/dataclasses_json-0.6.7-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7a/bf/457ed5be028fb235f8f5ad40b5ddbf67023e0017090ea324d0fe6239a73c/dateparser-1.1.8-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz + - pypi: https://files.pythonhosted.org/packages/a9/c7/57423942b2f847cdbbb46494568d00cd8a45500904ea026f0aad6ca01bc7/editdistance-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e0/13/e430bc0af434d8775614283ceaa6181b4083e3e50ab1a6939328ca6aec3f/epitran-1.17-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ff/73/2d4ac4076c3a9773528d7e16129367ef9885e9dc36dcf64b516ea013a2f0/espeak_phonemizer-1.3.1.tar.gz + - pypi: https://files.pythonhosted.org/packages/ea/78/9a8a174011682d71cb4922f4014ebbeb9d3067922678e7059351fd9207cf/exhale-0.3.7-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ec/f9/7f9263c5695f4bd0023734af91bedb2ff8209e8de6ead162f35d8dc762fd/flask-3.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ee/1b/00a78aa2e8fbd63f9af08c9c19e6deb3d5d66b4dda677a0f61654680ee89/flatbuffers-25.9.23-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/51/c7/b64cae5dba3a1b138d7123ec36bb5ccd39d39939f18454407e5468f4763f/fsspec-2025.12.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f5/86/f6ec2164f743d9609691115ae8ece098c76b894ebe4f7c94a655c6b03e98/grpcio-1.76.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/fc/e1/6b5a01ef36b5341d5d0899401e4413594dfaa21f86cfc05be8efb25baf81/gruut-2.4.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/51/9f/7eff478e38913cc9930527ff40c9ebcb04744dfcd0ddd43bd5a1eb9565b7/gruut-ipa-0.13.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/a4/e3/22748996c573c6a7d5326ef0292956afac089c73f14e3dfee0a94661e631/gruut_lang_en-2.0.1.tar.gz + - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/93/35/850277d1b17b206bd10874c8a9a3f52e059452fb49bb0d22cbb908f6038b/hypercorn-0.18.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fb/fe/301e0936b79bcab4cacc7548bf2853fc28dced0a578bab1f7ef53c9aa75b/imageio-2.37.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/66/b1/af3142c4a85cba6da9f4ebb5ff4e21e2616309552caca5e8acefe9840622/imgaug-0.4.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4f/9a/ab96291470e305504aa4b7a2e0ec132e930da89eb3ca7a82fbe03167c131/jsonlines-1.2.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/83/60/d497a310bde3f01cb805196ac61b7ad6dc5dcf8dce66634dc34364b20b4f/lazy_loader-0.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f3/5f/93b3e3607ccd693a768eafee60829cd14ea1810b75aa48e8b20e27b332c4/marisa_trie-1.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/70/81/54e3ce63502cd085a0c556652a4e1b919c45a446bd1e5300e10c44c8c521/markdown-3.10-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/34/75/51952c7b2d3873b44a0028b1bd26a25078c18f92f256608e8d1dc61b39fd/marshmallow-3.26.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/46/11/8f92f01da9cc41247008856438aa052cc93f74e4ac12ff250eb96a44249a/mycroft_mimic3_tts-0.2.4.tar.gz + - pypi: https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d6/5b/545e9267a1cc080c8a1be2746113a063e34bcdd0f5173fd665a5c13cb234/num2words-0.5.14-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ae/71/1c91302526c45ab494c23f61c7a84aa568b8c1f9d196efa5993957faf906/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/67/42/f4f60238e8194a3106d06a058d494b18e006c10bb2b915655bd9f6ea4cb1/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/2c/14/91ae57cd4db3f9ef7aa99f4019cfa8d54cb4caa7e00975df6467e9725a9f/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ea/27/1795d86fe88ef397885f2e580ac37628ed058a92ed2c39dc8eac3adf0619/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/9f/fd/713452cd72343f682b1c7b9321e23829f00b842ceaedcda96e742ea0b0b3/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/27/94/3266821f65b92b3138631e9c8e7fe1fb513804ac934485a8d05776e1dd43/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/8a/6d/44ad094874c6f1b9c654f8ed939590bdc408349f137f9b98a3a23ccec411/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/3a/e1/5b9089a4b2a4790dfdea8b3a006052cfecff58139d5a4e34cb1a51df8d6f/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/db/f7/97a9ea26ed4bbbfc2d470994b8b4f338ef663be97b8f677519ac195e113d/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/df/99/12cd266d6233f47d00daf3a72739872bdc10267d0383508b0b9c84a18bb6/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ff/ff/847841bacfbefc97a00036e0fce5a0f086b640756dc38caea5e1bb002655/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/87/20/199b8713428322a2f22b722c62b8cc278cc53dffa9705d744484b5035ee9/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/ef/88/9cc25d2bafe6bc0d4d3c1db3ade98196d5b355c0b273e6a5dc09c5d5d0d5/onnxruntime-1.23.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/72/2a/05a47a6c291414f5a66901f8d1f6ba68e8ec9fccb341d56fa0b31479d41d/panphon-0.22.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/27/6f/0cf0746d02a356103b7c3a065dbc188d8b5092e58bb363d74aa668ee1ad1/phonemes2ids-1.2.2.tar.gz + - pypi: https://files.pythonhosted.org/packages/5e/5f/82c8074f7e84978129347c2c6ec8b6c59f3584ff1a20bc3c940a3e061790/priority-2.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fc/b7/ba5551480e397c6e86805cc381dd6dc36b15411a806c00c35b661d8dd77e/pyamdgpuinfo-2.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/54/a3/6af8a68bdfe4d8c001a1fdb84b6fa1154d2b772dbd619050697f4cc2fe39/python_crfsuite-0.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/84/14/9fb5842581f0419b5eb85f8c26c1c0c0f4cf6b4d5be638ae3157316a2650/pyttsx3-2.99-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7e/e9/cc28f21f52913adf333f653b9e0a3bf9cb223f5083a26422968ba73edd8d/quart-0.20.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ea/31/da390a5a10674481dea2909178973de81fa3a246c0eedcc0e1e4114f52f8/quart_cors-0.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/84/bd/9ce9f629fcb714ffc2c3faf62b6766ecb7a585e1e885eb699bcf130a5209/regex-2025.11.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/6b/b5/b75527c0f9532dd8a93e8e7cd8e62e547b9f207d4c11e24f0006e8646b36/scikit_image-0.25.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/b9/37/e781683abac55dde9771e086b790e554811a71ed0b2b8a1e789b7430dd44/shapely-2.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a9/56/feb011ed1e8724c4c57083d71877eefe61f535f6dc94aa598033a03b54b7/swagger_ui_py-21.12.8-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b2/fe/81695a1aa331a842b582453b605175f419fe8540355886031328089d840a/sympy-1.13.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9d/9a/6c68aad2ccfce6e2eeebbf5bb709d0240592eb51ff142ec4c8fbf3c2460a/syrupy-5.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9c/d9/a5db55f88f258ac669a92858b70a714bbbd5acd993820b41ec4a96a4d77f/tensorboard-2.20.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7a/13/e503968fefabd4c6b2650af21e110aa8466fe21432cd7c43a84577a89438/tensorboard_data_server-0.7.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c4/fb/ea621e0a19733e01fe4005d46087d383693c0f4a8f824b47d8d4122c87e0/terminaltables-3.1.10-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d5/5c/e444e1b024a519e488326525f0c154396c6b16baff17e00623f2c21dfc42/tifffile-2025.12.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8b/5c/36c114d120bfe10f9323ed35061bc5878cc74f3f594003854b0ea298942f/torch-2.5.1-cp312-cp312-manylinux1_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/7d/18/1474d06f721b86e6a9b9d7392ad68bed711a02f3b61ac43f13c719db50a6/torchsummary-1.5.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d4/75/00a852275ade58d3dc474530f7a7b6bc999a817148f0eb59d4fde12eb955/torchvision-0.20.1-cp312-cp312-manylinux1_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/78/eb/65f5ba83c2a123f6498a3097746607e5b2f16add29e36765305e4ac7fdd8/triton-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/65/f3/107a22063bf27bdccf2024833d3445f4eea42b2e598abfbd46f6a63b6cb0/typing_inspect-0.9.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c7/b0/003792df09decd6849a5e39c28b513c06e84436a54440380862b5aeff25d/tzdata-2025.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6f/a4/691ab63b17505a26096608cc309960b5a6bdf39e4ba1a793d5f9b1a53270/unicodecsv-0.14.1.tar.gz + - pypi: https://files.pythonhosted.org/packages/2f/f9/9e082990c2585c744734f85bec79b5dae5df9c974ffee58fe421652c8e91/werkzeug-3.1.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a4/f5/10b68b7b1544245097b2a1b8238f66f2fc6dcaeb24ba5d917f52bd2eed4f/wsproto-1.3.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f1/7e/1d55a5749fbf7d1ac6411f3028128b974a3e6bb770d365a2518ecee8ce7e/xdgenvpy-2.4.0-py3-none-any.whl + - pypi: git+https://github.com/bit-bots/YOEO#6a3ce221e0106aecb1b190146fb453daefdfb758 +packages: +- conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 + md5: d7c89558ba9fa0495403155b64376d81 + license: None + purls: [] + size: 2562 + timestamp: 1578324546067 +- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + build_number: 16 + sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 + md5: 73aaf86a425cc6e73fcf236a5a46396d + depends: + - _libgcc_mutex 0.1 conda_forge + - libgomp >=7.5.0 + constrains: + - openmp_impl 9999 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 23621 + timestamp: 1650670423406 +- pypi: https://files.pythonhosted.org/packages/8f/aa/ba0014cc4659328dc818a28827be78e6d97312ab0cb98105a770924dc11e/absl_py-2.3.1-py3-none-any.whl + name: absl-py + version: 2.3.1 + sha256: eeecf07f0c2a93ace0772c92e596ace6d3d3996c042b2128459aaae2a76de11d + requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/noarch/adwaita-icon-theme-49.0-unix_0.conda + sha256: a362b4f5c96a0bf4def96be1a77317e2730af38915eb9bec85e2a92836501ed7 + md5: b3f0179590f3c0637b7eb5309898f79e + depends: + - __unix + - hicolor-icon-theme + - librsvg + license: LGPL-3.0-or-later OR CC-BY-SA-3.0 + license_family: LGPL + purls: [] + size: 631452 + timestamp: 1758743294412 +- pypi: https://files.pythonhosted.org/packages/bc/8a/340a1555ae33d7354dbca4faa54948d76d89a27ceef032c8c3bc661d003e/aiofiles-25.1.0-py3-none-any.whl + name: aiofiles + version: 25.1.0 + sha256: abe311e527c862958650f9438e859c1fa7568a141b22abcd015e120e86a85695 + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/aiohappyeyeballs-2.6.1-pyhd8ed1ab_0.conda + sha256: 7842ddc678e77868ba7b92a726b437575b23aaec293bca0d40826f1026d90e27 + md5: 18fd895e0e775622906cdabfc3cf0fb4 + depends: + - python >=3.9 + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/aiohappyeyeballs?source=hash-mapping + size: 19750 + timestamp: 1741775303303 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.13.2-py312h27b7581_0.conda + sha256: baf2bbf52aeecdbfe6e03a373b2664169cbdc37a92a2ac68bc7ef45353f65d61 + md5: ad84ca57d502eead2df0233090261dfb + depends: + - __glibc >=2.17,<3.0.a0 + - aiohappyeyeballs >=2.5.0 + - aiosignal >=1.4.0 + - attrs >=17.3.0 + - frozenlist >=1.1.1 + - libgcc >=14 + - multidict >=4.5,<7.0 + - propcache >=0.2.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - yarl >=1.17.0,<2.0 + license: MIT AND Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/aiohttp?source=hash-mapping + size: 1014925 + timestamp: 1761727721839 +- conda: https://conda.anaconda.org/conda-forge/noarch/aiosignal-1.4.0-pyhd8ed1ab_0.conda + sha256: 8dc149a6828d19bf104ea96382a9d04dae185d4a03cc6beb1bc7b84c428e3ca2 + md5: 421a865222cd0c9d83ff08bc78bf3a61 + depends: + - frozenlist >=1.1.0 + - python >=3.9 + - typing_extensions >=4.2 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/aiosignal?source=hash-mapping + size: 13688 + timestamp: 1751626573984 +- conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda + sha256: 6c4456a138919dae9edd3ac1a74b6fbe5fd66c05675f54df2f8ab8c8d0cc6cea + md5: 1fd9696649f65fd6611fcdb4ffec738a + depends: + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/alabaster?source=hash-mapping + size: 18684 + timestamp: 1733750512696 +- conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.14-hb9d3cd8_0.conda + sha256: b9214bc17e89bf2b691fad50d952b7f029f6148f4ac4fe7c60c08f093efdf745 + md5: 76df83c2a9035c54df5d04ff81bcc02d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + license_family: GPL + purls: [] + size: 566531 + timestamp: 1744668655747 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda + sha256: b08ef033817b5f9f76ce62dfcac7694e7b6b4006420372de22494503decac855 + md5: 346722a0be40f6edc53f12640d301338 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 2706396 + timestamp: 1718551242397 +- conda: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.6.3-pyhd8ed1ab_0.conda + sha256: a2a1879c53b7a8438c898d20fa5f6274e4b1c30161f93b7818236e9df6adffde + md5: 8f37c8fb7116a18da04e52fa9e2c8df9 + depends: + - python >=3.10 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/argcomplete?source=hash-mapping + size: 42386 + timestamp: 1760975036972 +- conda: https://conda.anaconda.org/conda-forge/linux-64/assimp-5.4.3-h8943939_0.conda + sha256: c9022ee34f756847f48907472514da3395a8c0549679cfd2a1b4f6833dd6298c + md5: 5546062a59566def2fa6482acf531841 + depends: + - __glibc >=2.17,<3.0.a0 + - libboost >=1.86.0,<1.87.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - zlib + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 3535704 + timestamp: 1725086969417 +- conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + sha256: ee4da0f3fe9d59439798ee399ef3e482791e48784873d546e706d0935f9ff010 + md5: 9673a61a297b00016442e022d689faa6 + depends: + - python >=3.10 + constrains: + - astroid >=2,<5 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/asttokens?source=hash-mapping + size: 28797 + timestamp: 1763410017955 +- conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-atk-2.38.0-h0630a04_3.tar.bz2 + sha256: 26ab9386e80bf196e51ebe005da77d57decf6d989b4f34d96130560bc133479c + md5: 6b889f174df1e0f816276ae69281af4d + depends: + - at-spi2-core >=2.40.0,<2.41.0a0 + - atk-1.0 >=2.36.0 + - dbus >=1.13.6,<2.0a0 + - libgcc-ng >=9.3.0 + - libglib >=2.68.1,<3.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 339899 + timestamp: 1619122953439 +- conda: https://conda.anaconda.org/conda-forge/linux-64/at-spi2-core-2.40.3-h0630a04_0.tar.bz2 + sha256: c4f9b66bd94c40d8f1ce1fad2d8b46534bdefda0c86e3337b28f6c25779f258d + md5: 8cb2fc4cd6cc63f1369cfa318f581cc3 + depends: + - dbus >=1.13.6,<2.0a0 + - libgcc-ng >=9.3.0 + - libglib >=2.68.3,<3.0a0 + - xorg-libx11 + - xorg-libxi + - xorg-libxtst + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 658390 + timestamp: 1625848454791 +- conda: https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.38.0-h04ea711_2.conda + sha256: df682395d05050cd1222740a42a551281210726a67447e5258968dd55854302e + md5: f730d54ba9cd543666d7220c9f7ed563 + depends: + - libgcc-ng >=12 + - libglib >=2.80.0,<3.0a0 + - libstdcxx-ng >=12 + constrains: + - atk-1.0 2.38.0 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 355900 + timestamp: 1713896169874 +- conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-h39aace5_0.conda + sha256: a9c114cbfeda42a226e2db1809a538929d2f118ef855372293bd188f71711c48 + md5: 791365c5f65975051e4e017b5da3abf5 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 68072 + timestamp: 1756738968573 +- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-25.4.0-pyhcf101f3_1.conda + sha256: c13d5e42d187b1d0255f591b7ce91201d4ed8a5370f0d986707a802c20c9d32f + md5: 537296d57ea995666c68c821b00e360b + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/attrs?source=compressed-mapping + size: 64759 + timestamp: 1764875182184 +- conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda + sha256: 1c656a35800b7f57f7371605bc6507c8d3ad60fbaaec65876fce7f73df1fc8ac + md5: 0a01c169f0ab0f91b26e77a3301fbfe4 + depends: + - python >=3.9 + - pytz >=2015.7 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/babel?source=hash-mapping + size: 6938256 + timestamp: 1738490268466 +- conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.2.0-py312h90b7ffd_0.conda + sha256: c0e375fd6a67a39b3d855d1cb53c2017faf436e745a780ca2bbb527f4cac25fd + md5: 9fc7e65938c0e4b2658631b8bfd380e8 + depends: + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-3-Clause AND MIT AND EPL-2.0 + purls: + - pkg:pypi/backports-zstd?source=hash-mapping + size: 238087 + timestamp: 1765057663263 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-5.0.0-py312h868fb18_1.conda + sha256: 22020286e3d27eba7c9efef79c1020782885992aea0e7d28d7274c4405001521 + md5: 8fbbd949c452efde5a75b62b22a88938 + depends: + - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/bcrypt?source=hash-mapping + size: 292835 + timestamp: 1762497719397 +- conda: https://conda.anaconda.org/conda-forge/noarch/beartype-0.22.9-pyhd8ed1ab_0.conda + sha256: 29f6670a04b299d6dc871f6bcc881282cd276d46fb970771c858d0cade5e3924 + md5: c69efc0c283c897a3d79868454b823a8 + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/beartype?source=hash-mapping + size: 1063520 + timestamp: 1765715830980 +- pypi: https://files.pythonhosted.org/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl + name: beautifulsoup4 + version: 4.14.3 + sha256: 0918bfe44902e6ad8d57732ba310582e98da931428d231a5ecb9e7c703a735bb + requires_dist: + - soupsieve>=1.6.1 + - typing-extensions>=4.0.0 + - cchardet ; extra == 'cchardet' + - chardet ; extra == 'chardet' + - charset-normalizer ; extra == 'charset-normalizer' + - html5lib ; extra == 'html5lib' + - lxml ; extra == 'lxml' + requires_python: '>=3.7.0' +- conda: https://conda.anaconda.org/conda-forge/linux-64/benchmark-1.9.4-h5888daf_0.conda + sha256: d9a8e7243b4aad9352cc6ad2165396192d23b7b4c69276dee45659111babed47 + md5: 8dc41abc97df6e4aae27c4e2e0e83c94 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 273265 + timestamp: 1747680846005 +- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.45-default_h4852527_104.conda + sha256: 1625ea421e0f44dbdde01e3e7d2c4958bea6c55731e6ac6954ba912d339982c2 + md5: d351e4894d6c4d9d8775bf169a97089d + depends: + - binutils_impl_linux-64 >=2.45,<2.46.0a0 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 35316 + timestamp: 1764007880473 +- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45-default_hfdba357_104.conda + sha256: 054a77ccab631071a803737ea8e5d04b5b18e57db5b0826a04495bd3fdf39a7c + md5: a7a67bf132a4a2dea92a7cb498cdc5b1 + depends: + - ld_impl_linux-64 2.45 default_hbd61a6d_104 + - sysroot_linux-64 + - zstd >=1.5.7,<1.6.0a0 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 3747046 + timestamp: 1764007847963 +- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.45-default_h4852527_104.conda + sha256: ed23fee4db69ad82320cca400fc77404c3874cd866606651a20bf743acd1a9b1 + md5: e30e71d685e23cc1e5ac1c1990ba1f81 + depends: + - binutils_impl_linux-64 2.45 default_hfdba357_104 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 36180 + timestamp: 1764007883258 +- conda: https://data.bit-bots.de/conda-misc/output/noarch/bitbots_model_2021_12_06_flo_torso21_yoeo_7-1.0.1-h4616a5c_2.conda + sha256: 8a0f1816263ac215af757058fb11d825dc01d3286fe86ceac254e8173053899a + md5: 8432320046dd788791336325220c8026 + license: MIT + size: 27253667 + timestamp: 1765723527934 +- conda: https://data.bit-bots.de/conda-misc/output/noarch/bitbots_model_2022_10_07_flo_torso21_yoeox-1.0.1-h4616a5c_2.conda + sha256: e3f8f4b678ac44207856a0af6ac18991068d7b79e3ffc04fb309a76c19a83fa1 + md5: dc4c52e1094a5c41c22ce2ddce7c68f5 + license: MIT + size: 77978904 + timestamp: 1765723527934 +- conda: https://data.bit-bots.de/conda-misc/output/noarch/bitbots_model_2023_04_04_philipp_yoeox_with_team_colors-1.0.1-h4616a5c_2.conda + sha256: 9fb7cf4e3285ae5a098a0f540a5367083c32cfb35e2c687b7684234e1172bcbb + md5: d214f45eb9dc7ee210eff2e8ea3df023 + license: MIT + size: 51676317 + timestamp: 1765723527933 +- conda: src/bitbots_navigation/bitbots_rust_nav + name: bitbots_rust_nav + version: 0.1.0 + build: pyh4616a5c_0 + subdir: noarch + depends: + - python >=3.12 + - python * + input: + hash: 0cd7151aa027f8a06b010419a8631dc454e822b74e1c6b45c66770a69fc085da + globs: + - pyproject.toml +- pypi: https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl + name: blinker + version: 1.9.0 + sha256: ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.6-he440d0b_1.conda + sha256: e7af5d1183b06a206192ff440e08db1c4e8b2ca1f8376ee45fb2f3a85d4ee45d + md5: 2c2fae981fd2afd00812c92ac47d023d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 48427 + timestamp: 1733513201413 +- conda: https://conda.anaconda.org/conda-forge/noarch/breathe-4.36.0-pyhd8ed1ab_0.conda + sha256: 2771496e00573d915ac094103ea6052ed4220f5419e14e1b62dada189dcfe094 + md5: 6077755d38aefa700d5698666db8f259 + depends: + - docutils >=0.12 + - jinja2 >=2.7.3 + - markupsafe >=0.23 + - pygments >=1.6 + - python >=3.9 + - sphinx >=7.2,<9.0.0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/breathe?source=hash-mapping + size: 78954 + timestamp: 1740314139074 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-hed03a55_1.conda + sha256: e511644d691f05eb12ebe1e971fd6dc3ae55a4df5c253b4e1788b789bdf2dfa6 + md5: 8ccf913aaba749a5496c17629d859ed1 + depends: + - __glibc >=2.17,<3.0.a0 + - brotli-bin 1.2.0 hb03c661_1 + - libbrotlidec 1.2.0 hb03c661_1 + - libbrotlienc 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 20103 + timestamp: 1764017231353 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hb03c661_1.conda + sha256: 64b137f30b83b1dd61db6c946ae7511657eead59fdf74e84ef0ded219605aa94 + md5: af39b9a8711d4a8d437b52c1d78eb6a1 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlidec 1.2.0 hb03c661_1 + - libbrotlienc 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 21021 + timestamp: 1764017221344 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312hdb49522_1.conda + sha256: 49df13a1bb5e388ca0e4e87022260f9501ed4192656d23dc9d9a1b4bf3787918 + md5: 64088dffd7413a2dd557ce837b4cbbdb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - libbrotlicommon 1.2.0 hb03c661_1 + license: MIT + license_family: MIT + purls: + - pkg:pypi/brotli?source=compressed-mapping + size: 368300 + timestamp: 1764017300621 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-3.25-h26dfbe5_5.conda + sha256: 1ba37b4b500aa486012a19c3071477e2bac202822625980e99da77e2d18ea408 + md5: 980176113a639a707f5b158031cbac21 + depends: + - bullet-cpp 3.25 hcbe3ca9_5 + - numpy + - pybullet 3.25 py312hf49885f_5 + - python + license: Zlib + purls: [] + size: 11631 + timestamp: 1761041385662 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bullet-cpp-3.25-hcbe3ca9_5.conda + sha256: 5b1d2b088f15796123a81d2213cf7998e7d36cb19293bc55d0d6c1d3254af7e5 + md5: 17f8b21e05588ceea91fbb1162133dbb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libgl >=1.7.0,<2.0a0 + - libstdcxx >=13 + - numpy >=1.23,<3 + - python_abi 3.12.* *_cp312 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: Zlib + purls: [] + size: 42581149 + timestamp: 1761041037901 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + sha256: c30daba32ddebbb7ded490f0e371eae90f51e72db620554089103b4a6934b0d5 + md5: 51a19bba1b8ebfb60df25cde030b7ebc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: bzip2-1.0.6 + license_family: BSD + purls: [] + size: 260341 + timestamp: 1757437258798 +- conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.6-hb03c661_0.conda + sha256: cc9accf72fa028d31c2a038460787751127317dcfa991f8d1f1babf216bb454e + md5: 920bb03579f15389b9e512095ad995b7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 207882 + timestamp: 1765214722852 +- conda: https://conda.anaconda.org/conda-forge/linux-64/c-compiler-1.11.0-h4d9bdce_0.conda + sha256: 8e7a40f16400d7839c82581410aa05c1f8324a693c9d50079f8c50dc9fb241f0 + md5: abd85120de1187b0d1ec305c2173c71b + depends: + - binutils + - gcc + - gcc_linux-64 14.* + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 6693 + timestamp: 1753098721814 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-hbd8a1cb_0.conda + sha256: b986ba796d42c9d3265602bc038f6f5264095702dd546c14bc684e60c385e773 + md5: f0991f0f84902f6b6009b4d2350a83aa + depends: + - __unix + license: ISC + purls: [] + size: 152432 + timestamp: 1762967197890 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda + sha256: 3bd6a391ad60e471de76c0e9db34986c4b5058587fbf2efa5a7f54645e28c2c7 + md5: 09262e66b19567aff4f592fb53b28760 + depends: + - __glibc >=2.17,<3.0.a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.6.4,<3.0a0 + - libgcc >=13 + - libglib >=2.82.2,<3.0a0 + - libpng >=1.6.47,<1.7.0a0 + - libstdcxx >=13 + - libxcb >=1.17.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.44.2,<1.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.5,<2.0a0 + - xorg-libx11 >=1.8.11,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: LGPL-2.1-only or MPL-1.1 + purls: [] + size: 978114 + timestamp: 1741554591855 +- conda: https://conda.anaconda.org/conda-forge/noarch/catkin_pkg-1.1.0-pyhd8ed1ab_0.conda + sha256: fe602164dc1920551e1452543e22338d55d8a879959f12598c9674cf295c6341 + md5: 3e500faf80e42f26d422d849877d48c4 + depends: + - docutils + - packaging + - pyparsing >=1.5.7 + - python >=3.10 + - python-dateutil + - setuptools + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/catkin-pkg?source=hash-mapping + size: 54106 + timestamp: 1757558592553 +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2025.11.12-pyhd8ed1ab_0.conda + sha256: 083a2bdad892ccf02b352ecab38ee86c3e610ba9a4b11b073ea769d55a115d32 + md5: 96a02a5c1a65470a7e4eedb644c872fd + depends: + - python >=3.10 + license: ISC + purls: + - pkg:pypi/certifi?source=compressed-mapping + size: 157131 + timestamp: 1762976260320 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h35888ee_0.conda + sha256: f9e906b2cb9ae800b5818259472c3f781b14eb1952e867ac5c1f548e92bf02d9 + md5: 60b9cd087d22272885a6b8366b1d3d43 + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.4.6,<3.5.0a0 + - libgcc >=14 + - pycparser + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/cffi?source=hash-mapping + size: 296986 + timestamp: 1758716192805 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py312h460c074_1.conda + sha256: 7dafe8173d5f94e46cf9cd597cc8ff476a8357fbbd4433a8b5697b2864845d9c + md5: 648ee28dcd4e07a1940a17da62eccd40 + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - pycparser + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 295716 + timestamp: 1761202958833 +- conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda + sha256: aa589352e61bb221351a79e5946d56916e3c595783994884accdb3b97fe9d449 + md5: 381bd45fb7aa032691f3063aff47e3a1 + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/cfgv?source=hash-mapping + size: 13589 + timestamp: 1763607964133 +- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda + sha256: b32f8362e885f1b8417bac2b3da4db7323faa12d5db62b7fd6691c02d60d6f59 + md5: a22d1fd9bf98827e280a02875d9a007a + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/charset-normalizer?source=hash-mapping + size: 50965 + timestamp: 1760437331772 +- conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-21.1.0-default_h99862b1_1.conda + sha256: b8f9111761e49d09f6138351b9ddcf22c9722cd415b632d5f818ee37d4cff5f7 + md5: e338135a864fd05ffe419e6200e68f2b + depends: + - __glibc >=2.17,<3.0.a0 + - clang-format-21 21.1.0 default_h99862b1_1 + - libclang-cpp21.1 >=21.1.0,<21.2.0a0 + - libgcc >=14 + - libllvm21 >=21.1.0,<21.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 24665 + timestamp: 1757383552190 +- conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-21.1.7-default_h99862b1_1.conda + sha256: f372c99ee86649b8bdb851b314512e64dd44cf604caff8ce65cfe34ac258ca3f + md5: 146fa402fa674283f516031bb4ff4b15 + depends: + - __glibc >=2.17,<3.0.a0 + - clang-format-21 21.1.7 default_h99862b1_1 + - libclang-cpp21.1 >=21.1.7,<21.2.0a0 + - libgcc >=14 + - libllvm21 >=21.1.7,<21.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 27448 + timestamp: 1764816889489 +- conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-21-21.1.0-default_h99862b1_1.conda + sha256: 511b2aa5b0b1aa774036b1990e9e86f200ae5b96c159737ca08d8b3882f6b210 + md5: 41987b5824e20b1f6a532cdc2b88d56d + depends: + - __glibc >=2.17,<3.0.a0 + - libclang-cpp21.1 >=21.1.0,<21.2.0a0 + - libgcc >=14 + - libllvm21 >=21.1.0,<21.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 67486 + timestamp: 1757383493919 +- conda: https://conda.anaconda.org/conda-forge/linux-64/clang-format-21-21.1.7-default_h99862b1_1.conda + sha256: 0b3eeee7762df4ff2a3dad22628fa144c21dfc62f7ea64b10c6ddedb193f4747 + md5: 17d9aac42f05a8c6ee8e6e940f31a4de + depends: + - __glibc >=2.17,<3.0.a0 + - libclang-cpp21.1 >=21.1.7,<21.2.0a0 + - libgcc >=14 + - libllvm21 >=21.1.7,<21.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 70253 + timestamp: 1764816805597 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cli11-2.6.0-h54a6638_0.conda + sha256: 324097cd9dde3a4623b0275655ea34641481daa5c1274f9ab994e8a2e6aa26e6 + md5: ddf9fed4661bace13f33f08fe38a5f45 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 98102 + timestamp: 1760975548381 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyh8f84b5b_1.conda + sha256: 38cfe1ee75b21a8361c8824f5544c3866f303af1762693a178266d7f198e8715 + md5: ea8a6c3256897cc31263de9f455e25d9 + depends: + - python >=3.10 + - __unix + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/click?source=hash-mapping + size: 97676 + timestamp: 1764518652276 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cmake-3.29.6-hcafd917_0.conda + sha256: a788df92bf0e6e02d13ebc4e14e8bc56c80186f976200537799426aafc0e51ab + md5: b1084336535950b28485bb93653ca152 + depends: + - bzip2 >=1.0.8,<2.0a0 + - libcurl >=8.8.0,<9.0a0 + - libexpat >=2.6.2,<3.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libuv >=1.48.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - rhash >=1.4.4,<2.0a0 + - xz >=5.2.6,<6.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 19042008 + timestamp: 1718668981413 +- 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 + purls: + - pkg:pypi/colcon-argcomplete?source=hash-mapping + 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 + purls: + - pkg:pypi/colcon-bash?source=hash-mapping + 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 + purls: + - pkg:pypi/colcon-cd?source=hash-mapping + size: 16858 + timestamp: 1735513271475 +- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-cmake-0.2.29-pyhd8ed1ab_1.conda + sha256: edc01069635b0bb7d9a58c1f36371d1c841ecf90b8e74397df418436209ce01c + md5: b5b23d06f0def5724475bd12365f1aa5 + depends: + - colcon-core + - colcon-library-path + - colcon-test-result >=0.3.3 + - python >=3.10 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/colcon-cmake?source=hash-mapping + size: 26257 + timestamp: 1757616401522 +- conda: https://conda.anaconda.org/conda-forge/linux-64/colcon-common-extensions-0.3.0-py312h7900ff3_4.conda + sha256: 27f2433f8e452f31d6b9a5d1e59cb034466f06850c4f1eabf079452583bce57c + md5: 75c354bb1fbd29aeebeb140b05233b66 + depends: + - colcon-argcomplete + - colcon-bash + - colcon-cd + - 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-zsh + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/colcon-common-extensions?source=hash-mapping + size: 13032 + timestamp: 1759757821346 +- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-core-0.20.1-pyhcf101f3_0.conda + sha256: 488babf2d1649d60ca2505de6f2bb8f2d66c41805e9ffeba0446a0fd2eeaafc0 + md5: 243a645c3e76d48a1a62209cd1477d0c + depends: + - python >=3.10 + - 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 + purls: + - pkg:pypi/colcon-core?source=hash-mapping + - pkg:pypi/colcon-distutils-commands?source=hash-mapping + size: 95568 + timestamp: 1759822473386 +- 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 + purls: + - pkg:pypi/colcon-defaults?source=hash-mapping + 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 + purls: + - pkg:pypi/colcon-devtools?source=hash-mapping + 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 + purls: + - pkg:pypi/colcon-library-path?source=hash-mapping + size: 13505 + timestamp: 1757615646068 +- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-metadata-0.2.5-pyhd8ed1ab_1.conda + sha256: f337471a44b2d29111ee562872da6ab2abcd55e139c8a5e74c76f3f7fb3042b7 + md5: df798f897da0ae212d14faa79a4565f5 + depends: + - colcon-core + - python >=3.10 + - pyyaml + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/colcon-metadata?source=hash-mapping + size: 20031 + timestamp: 1757624342935 +- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-output-0.2.13-pyhd8ed1ab_0.conda + sha256: ce2802f9c76f4502d17ff47f76f634449a1ae10fded0bed6a65c05d35ccafb33 + md5: d0294b947e6256444f31979612468bba + depends: + - colcon-core >=0.3.8 + - python >=3.5 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/colcon-output?source=hash-mapping + size: 16174 + timestamp: 1676526311561 +- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-package-information-0.4.0-pyhd8ed1ab_1.conda + sha256: 6654254ab628a9ca1648a18b7a1c078ae11bf9eca898a4ee20f601b622acd783 + md5: 6f4c11d25a53f2a7daac0232c3306556 + depends: + - colcon-core + - python >=3.10 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/colcon-package-information?source=hash-mapping + size: 18705 + timestamp: 1764592318817 +- 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 + purls: + - pkg:pypi/colcon-package-selection?source=hash-mapping + 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 + purls: + - pkg:pypi/colcon-parallel-executor?source=hash-mapping + size: 20688 + timestamp: 1755156877864 +- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-pkg-config-0.1.0-py_0.tar.bz2 + sha256: c8c6baf7ba174c908d501c6df577c140de73f46aadea09a6b3aaf405406e3b5a + md5: 434ecb5d163df485879081aedebd59bf + depends: + - colcon-core + - python >=3.5 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/colcon-pkg-config?source=hash-mapping + size: 10397 + timestamp: 1571038968482 +- conda: https://conda.anaconda.org/conda-forge/noarch/colcon-powershell-0.4.0-pyhd8ed1ab_1.conda + sha256: 6aeb528c0433e11052d08cd5982ae324c0a2257f8445c5ac9130919ebc5f8e43 + md5: 7568a13447ca84751fd58eb6542d9768 + depends: + - colcon-core >=0.3.18 + - python >=3.10 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/colcon-powershell?source=hash-mapping + size: 17321 + timestamp: 1757616979293 +- 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 + purls: + - pkg:pypi/colcon-python-setup-py?source=hash-mapping + 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 + purls: + - pkg:pypi/colcon-recursive-crawl?source=hash-mapping + 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 + purls: + - pkg:pypi/colcon-ros?source=hash-mapping + 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 + purls: + - pkg:pypi/colcon-test-result?source=hash-mapping + 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 + purls: + - pkg:pypi/colcon-zsh?source=hash-mapping + size: 18905 + timestamp: 1735357634338 +- conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/colorama?source=hash-mapping + 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 + purls: + - pkg:pypi/coloredlogs?source=hash-mapping + size: 43758 + timestamp: 1733928076798 +- conda: https://conda.anaconda.org/conda-forge/linux-64/compilers-1.11.0-ha770c72_0.conda + sha256: 5709f2cbfeb8690317ba702611bdf711a502b417fecda6ad3313e501f6f8bd61 + md5: fdcf2e31dd960ef7c5daa9f2c95eff0e + depends: + - c-compiler 1.11.0 h4d9bdce_0 + - cxx-compiler 1.11.0 hfcd1e18_0 + - fortran-compiler 1.11.0 h9bea470_0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 7482 + timestamp: 1753098722454 +- conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-14.3.0-he8ccf15_16.conda + sha256: 387cd20bc18c9cabae357fec1b73f691b8b6a6bafbf843b8ff17241eae0dd1d5 + md5: 77e54ea3bd0888e65ed821f19f5d23ad + depends: + - gcc_impl_linux-64 >=14.3.0,<14.3.1.0a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 31314 + timestamp: 1765256147792 +- conda: https://conda.anaconda.org/conda-forge/linux-64/console_bridge-1.0.2-h924138e_1.tar.bz2 + sha256: 29caeda123ea705e68de46dc3b86065ec78f5b44d7ae69b320cc57e136d2d9d7 + md5: e891b2b856a57d2b2ddb9ed366e3f2ce + depends: + - libgcc-ng >=10.3.0 + - libstdcxx-ng >=10.3.0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18460 + timestamp: 1648912649612 +- conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py312hd9148b4_3.conda + sha256: e173ea96fb135b233c7f57c35c0d07f7adc50ebacf814550f3daf1c7ba2ed51e + md5: 86cf7a7d861b79d38e3f0e5097e4965b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - numpy >=1.25 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/contourpy?source=hash-mapping + size: 295243 + timestamp: 1762525427240 +- conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.13.0-py312h8a5da7c_0.conda + sha256: 1624eaffb5ff622a48712114faf328b44e11d800dc85e891ee2412ffd38bd18b + md5: da396284d1f498e20b4377478dbb830c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - tomli + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/coverage?source=hash-mapping + size: 383584 + timestamp: 1765203584575 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cppcheck-2.18.3-py312h014360a_1.conda + sha256: f4321bdeddc9178f006a8cc3dedeaf32ab7e4c3be843845fbf594bc07999d2d6 + md5: ab786ccd5cc6a08c0ebd5f6154c9dfcd + depends: + - pygments + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - tinyxml2 >=11.0.0,<11.1.0a0 + - pcre >=8.45,<9.0a0 + - python_abi 3.12.* *_cp312 + license: GPL-3.0-or-later + license_family: GPL + purls: + - pkg:pypi/cppcheck-htmlreport?source=hash-mapping + size: 3065679 + timestamp: 1757440259649 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cppzmq-4.11.0-hbe92c44_0.conda + sha256: 1b64ea828c840a261fd9a066c38059c6e251ddc026e45e70382c75178a207bb9 + md5: 4804e92eea34ea83985a345eaf45ab46 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - zeromq >=4.3.5,<4.4.0a0 + license: MIT + license_family: MIT + purls: [] + size: 30502 + timestamp: 1763728886940 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-46.0.3-py312ha4b625e_1.conda + sha256: 28dd9ae4bf7913a507e08ccd13788f0abe75557831095244e487bda2c474554f + md5: a42f7c8a15d53cdb6738ece5bd745d13 + depends: + - __glibc >=2.17,<3.0.a0 + - cffi >=1.14 + - libgcc >=14 + - openssl >=3.5.4,<4.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + license_family: BSD + purls: + - pkg:pypi/cryptography?source=compressed-mapping + size: 1716814 + timestamp: 1764805537696 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cxx-compiler-1.11.0-hfcd1e18_0.conda + sha256: 3fcc97ae3e89c150401a50a4de58794ffc67b1ed0e1851468fcc376980201e25 + md5: 5da8c935dca9186673987f79cef0b2a5 + depends: + - c-compiler 1.11.0 h4d9bdce_0 + - gxx + - gxx_linux-64 14.* + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 6635 + timestamp: 1753098722177 +- conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + sha256: bb47aec5338695ff8efbddbc669064a3b10fe34ad881fb8ad5d64fbfa6910ed1 + md5: 4c2a8fef270f6c69591889b93f9f55c1 + depends: + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/cycler?source=hash-mapping + size: 14778 + timestamp: 1764466758386 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hd9c7081_0.conda + sha256: ee09ad7610c12c7008262d713416d0b58bf365bc38584dce48950025850bdf3f + md5: cae723309a49399d2949362f4ab5c9e4 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libntlm >=1.8,<2.0a0 + - libstdcxx >=13 + - libxcrypt >=4.4.36 + - openssl >=3.5.0,<4.0a0 + license: BSD-3-Clause-Attribution + license_family: BSD + purls: [] + size: 209774 + timestamp: 1750239039316 +- pypi: https://files.pythonhosted.org/packages/c3/be/d0d44e092656fe7a06b55e6103cbce807cdbdee17884a5367c68c9860853/dataclasses_json-0.6.7-py3-none-any.whl + name: dataclasses-json + version: 0.6.7 + sha256: 0dbf33f26c8d5305befd61b39d2b3414e8a407bedc2834dea9b8d642666fb40a + requires_dist: + - marshmallow>=3.18.0,<4.0.0 + - typing-inspect>=0.4.0,<1 + requires_python: '>=3.7,<4.0' +- pypi: https://files.pythonhosted.org/packages/7a/bf/457ed5be028fb235f8f5ad40b5ddbf67023e0017090ea324d0fe6239a73c/dateparser-1.1.8-py2.py3-none-any.whl + name: dateparser + version: 1.1.8 + sha256: 070b29b5bbf4b1ec2cd51c96ea040dc68a614de703910a91ad1abba18f9f379f + requires_dist: + - python-dateutil + - pytz + - regex!=2019.2.19,!=2021.8.27 + - tzlocal + - hijri-converter ; extra == 'calendars' + - convertdate ; extra == 'calendars' + - fasttext ; extra == 'fasttext' + - langdetect ; extra == 'langdetect' + requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda + sha256: 22053a5842ca8ee1cf8e1a817138cdb5e647eb2c46979f84153f6ad7bde73020 + md5: 418c6ca5929a611cbd69204907a83995 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 760229 + timestamp: 1685695754230 +- conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h3c4dab8_0.conda + sha256: 3b988146a50e165f0fa4e839545c679af88e4782ec284cc7b6d07dd226d6a068 + md5: 679616eb5ad4e521c83da4650860aba7 + depends: + - libstdcxx >=13 + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libexpat >=2.7.0,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - libglib >=2.84.2,<3.0a0 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 437860 + timestamp: 1747855126005 +- conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda + sha256: c17c6b9937c08ad63cb20a26f403a3234088e57d4455600974a0ce865cb14017 + md5: 9ce473d1d1be1cc3810856a48b3fab32 + depends: + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/decorator?source=hash-mapping + size: 14129 + timestamp: 1740385067843 +- conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.3.1-pyhd8ed1ab_0.conda + sha256: c994a70449d548dd388768090c71c1da81e1e128a281547ab9022908d46878c5 + md5: bf74a83f7a0f2a21b5d709997402cac4 + depends: + - python >=3.10 + - wrapt <2,>=1.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/deprecated?source=hash-mapping + size: 15815 + timestamp: 1761813872696 +- conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.0-pyhd8ed1ab_0.conda + sha256: 6d977f0b2fc24fee21a9554389ab83070db341af6d6f09285360b2e09ef8b26e + md5: 003b8ba0a94e2f1e117d0bd46aebc901 + depends: + - python >=3.9 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/distlib?source=hash-mapping + size: 275642 + timestamp: 1752823081585 +- conda: https://conda.anaconda.org/conda-forge/noarch/distro-1.9.0-pyhd8ed1ab_1.conda + sha256: 5603c7d0321963bb9b4030eadabc3fd7ca6103a38475b4e0ed13ed6d97c86f4e + md5: 0a2014fd9860f8b1eaa0b1f3d3771a08 + depends: + - python >=3.9 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/distro?source=hash-mapping + size: 41773 + timestamp: 1734729953882 +- pypi: https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz + name: docopt + version: 0.6.2 + sha256: 49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491 +- conda: https://conda.anaconda.org/conda-forge/noarch/docstring_parser-0.17.0-pyhd8ed1ab_0.conda + sha256: 3069a555097f084d3b7bc8f9efbb42f9907ecbfa24d310c63df9814a8df491af + md5: ce49d3e5a7d20be2ba57a2c670bdd82e + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/docstring-parser?source=hash-mapping + size: 31742 + timestamp: 1753195731224 +- conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda + sha256: fa5966bb1718bbf6967a85075e30e4547901410cc7cb7b16daf68942e9a94823 + md5: 24c1ca34138ee57de72a943237cde4cc + depends: + - python >=3.9 + license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 + purls: + - pkg:pypi/docutils?source=hash-mapping + size: 402700 + timestamp: 1733217860944 +- conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.3.1-h5888daf_0.conda + sha256: 1bcc132fbcc13f9ad69da7aa87f60ea41de7ed4d09f3a00ff6e0e70e1c690bc2 + md5: bfd56492d8346d669010eccafe0ba058 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 69544 + timestamp: 1739569648873 +- pypi: https://files.pythonhosted.org/packages/a9/c7/57423942b2f847cdbbb46494568d00cd8a45500904ea026f0aad6ca01bc7/editdistance-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: editdistance + version: 0.8.1 + sha256: c59248eabfad603f0fba47b0c263d5dc728fb01c2b6b50fb6ca187cec547fdb3 + requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/linux-64/eigen-3.4.0-h171cf75_1.conda + sha256: fee3738c2431c13f4930778e9d7daca9328e7e2f2a38928cf6ca5a0daa86474a + md5: ea2db216eae84bc83b0b2961f38f5c0d + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MPL-2.0 + license_family: MOZILLA + purls: [] + size: 1169164 + timestamp: 1759819831835 +- conda: https://conda.anaconda.org/conda-forge/linux-64/elfutils-0.193-h849f50c_0.conda + sha256: 21726a2d66cd76cac382311f63c26a56d3dad044be735666440f348a136f4588 + md5: c4548d6b94dde4ab418b1bb4cb583ecf + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libsqlite >=3.50.3,<4.0a0 + - libmicrohttpd >=1.0.2,<1.1.0a0 + - liblzma >=5.8.1,<6.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libcurl >=8.14.1,<9.0a0 + - libzlib >=1.3.1,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - libarchive >=3.8.1,<3.9.0a0 + license: LGPL-3.0-only + license_family: LGPL + purls: [] + size: 1276206 + timestamp: 1752827825990 +- conda: https://conda.anaconda.org/conda-forge/noarch/empy-3.3.4-pyh9f0ad1d_1.tar.bz2 + sha256: 75e04755df8d8db7a7711dddaf68963c11258b755c9c24565bfefa493ee383e3 + md5: e4be10fd1a907b223da5be93f06709d2 + depends: + - python + license: LGPL-2.1 + license_family: GPL + purls: + - pkg:pypi/empy?source=hash-mapping + size: 40210 + timestamp: 1586444722817 +- pypi: https://files.pythonhosted.org/packages/e0/13/e430bc0af434d8775614283ceaa6181b4083e3e50ab1a6939328ca6aec3f/epitran-1.17-py2.py3-none-any.whl + name: epitran + version: '1.17' + sha256: 3222fd1038da5315abd187b4382bc8386e3fb045ba6094759877ba3fbe9c9a8d + requires_dist: + - setuptools + - unicodecsv + - regex + - panphon>=0.19 + - marisa-trie + - requests + - subprocess32 ; python_full_version < '3' +- conda: https://conda.anaconda.org/conda-forge/linux-64/epoxy-1.5.10-hb03c661_2.conda + sha256: a5b51e491fec22bcc1765f5b2c8fff8a97428e9a5a7ee6730095fb9d091b0747 + md5: 057083b06ccf1c2778344b6dabace38b + depends: + - __glibc >=2.17,<3.0.a0 + - libdrm >=2.4.125,<2.5.0a0 + - libegl >=1.7.0,<2.0a0 + - libegl-devel + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libgl-devel + - libglx >=1.7.0,<2.0a0 + - libglx-devel + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + - xorg-libxxf86vm >=1.1.6,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 411735 + timestamp: 1758743520805 +- pypi: https://files.pythonhosted.org/packages/ff/73/2d4ac4076c3a9773528d7e16129367ef9885e9dc36dcf64b516ea013a2f0/espeak_phonemizer-1.3.1.tar.gz + name: espeak-phonemizer + version: 1.3.1 + sha256: a591335318e253fc01599370cebc63bcc7f46155a7a7af4496fbf6ca749d0ec9 +- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + sha256: ee6cf346d017d954255bbcbdb424cddea4d14e4ed7e9813e429db1d795d01144 + md5: 8e662bd460bda79b1ea39194e3c4c9ab + depends: + - python >=3.10 + - typing_extensions >=4.6.0 + license: MIT and PSF-2.0 + purls: + - pkg:pypi/exceptiongroup?source=hash-mapping + size: 21333 + timestamp: 1763918099466 +- conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + sha256: 210c8165a58fdbf16e626aac93cc4c14dbd551a01d1516be5ecad795d2422cad + md5: ff9efb7f7469aed3c4a8106ffa29593c + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/executing?source=hash-mapping + size: 30753 + timestamp: 1756729456476 +- pypi: https://files.pythonhosted.org/packages/ea/78/9a8a174011682d71cb4922f4014ebbeb9d3067922678e7059351fd9207cf/exhale-0.3.7-py3-none-any.whl + name: exhale + version: 0.3.7 + sha256: 698fe5612bdfb4955ce780ea2441d085fe30c6174b12ef29839dd232c7363504 + requires_dist: + - breathe>=4.33.1 + - sphinx>=4.3.2 + - beautifulsoup4 + - lxml + - six + requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.7.3-hecca717_0.conda + sha256: c5d573e6831fb41177fb5ae0f1ee09caed55a868ec9887bc80ccc22c3e57b9b4 + md5: c81f6fa1865526f5ab1e6b669b3ee877 + depends: + - __glibc >=2.17,<3.0.a0 + - libexpat 2.7.3 hecca717_0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 143991 + timestamp: 1763549744569 +- conda: https://conda.anaconda.org/conda-forge/noarch/fabric-3.2.2-pyhd8ed1ab_1.conda + sha256: 2ffc9220613f6e3ea59318d0249bdd59fe666e8781a213173ef5189934aa0601 + md5: 572e7a86f6323334b4b25375003149a1 + depends: + - decorator >=5 + - deprecated >=1.2 + - invoke >=2.0 + - paramiko >=2.4 + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/fabric?source=hash-mapping + size: 54770 + timestamp: 1734957505291 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fcl-0.7.0-h543440a_8.conda + sha256: b082e91c7309ffed0aa01d97aa7c7acc8deddad152211153dce381817a4ef4f6 + md5: eb7214feba07f44bff77a3ad510231a9 + depends: + - __glibc >=2.17,<3.0.a0 + - flann >=1.9.2,<1.9.3.0a0 + - libccd-double >=2.1,<2.2.0a0 + - libgcc >=13 + - libstdcxx >=13 + - octomap >=1.10.0,<1.11.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1590323 + timestamp: 1736132840079 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-7.1.1-gpl_h127656b_906.conda + sha256: e8e93a1afd93bed11ccf2a2224d2b92b2af8758c89576ed87ff4df7f3269604f + md5: 28cffcba871461840275632bc4653ce3 + depends: + - __glibc >=2.17,<3.0.a0 + - alsa-lib >=1.2.14,<1.3.0a0 + - aom >=3.9.1,<3.10.0a0 + - bzip2 >=1.0.8,<2.0a0 + - dav1d >=1.2.1,<1.2.2.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - gmp >=6.3.0,<7.0a0 + - harfbuzz >=11.0.1 + - lame >=3.100,<3.101.0a0 + - libass >=0.17.3,<0.17.4.0a0 + - libexpat >=2.7.0,<3.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libgcc >=13 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libopenvino >=2025.0.0,<2025.0.1.0a0 + - libopenvino-auto-batch-plugin >=2025.0.0,<2025.0.1.0a0 + - libopenvino-auto-plugin >=2025.0.0,<2025.0.1.0a0 + - libopenvino-hetero-plugin >=2025.0.0,<2025.0.1.0a0 + - libopenvino-intel-cpu-plugin >=2025.0.0,<2025.0.1.0a0 + - libopenvino-intel-gpu-plugin >=2025.0.0,<2025.0.1.0a0 + - libopenvino-intel-npu-plugin >=2025.0.0,<2025.0.1.0a0 + - libopenvino-ir-frontend >=2025.0.0,<2025.0.1.0a0 + - libopenvino-onnx-frontend >=2025.0.0,<2025.0.1.0a0 + - libopenvino-paddle-frontend >=2025.0.0,<2025.0.1.0a0 + - libopenvino-pytorch-frontend >=2025.0.0,<2025.0.1.0a0 + - libopenvino-tensorflow-frontend >=2025.0.0,<2025.0.1.0a0 + - libopenvino-tensorflow-lite-frontend >=2025.0.0,<2025.0.1.0a0 + - libopus >=1.5.2,<2.0a0 + - librsvg >=2.58.4,<3.0a0 + - libstdcxx >=13 + - libva >=2.22.0,<3.0a0 + - libvorbis >=1.3.7,<1.4.0a0 + - libvpx >=1.14.1,<1.15.0a0 + - libxcb >=1.17.0,<2.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - openh264 >=2.6.0,<2.6.1.0a0 + - openssl >=3.5.0,<4.0a0 + - pulseaudio-client >=17.0,<17.1.0a0 + - sdl2 >=2.32.54,<3.0a0 + - svt-av1 >=3.0.2,<3.0.3.0a0 + - x264 >=1!164.3095,<1!165 + - x265 >=3.5,<3.6.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + constrains: + - __cuda >=12.8 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 10377191 + timestamp: 1748704974937 +- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.0-pyhd8ed1ab_0.conda + sha256: 19025a4078ff3940d97eb0da29983d5e0deac9c3e09b0eabf897daeaf9d1114e + md5: 66b8b26023b8efdf8fcb23bac4b6325d + depends: + - python >=3.10 + license: Unlicense + purls: + - pkg:pypi/filelock?source=hash-mapping + size: 17976 + timestamp: 1759948208140 +- conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.3.0-pyhd8ed1ab_0.conda + sha256: a32e511ea71a9667666935fd9f497f00bcc6ed0099ef04b9416ac24606854d58 + md5: 04a55140685296b25b79ad942264c0ef + depends: + - mccabe >=0.7.0,<0.8.0 + - pycodestyle >=2.14.0,<2.15.0 + - pyflakes >=3.4.0,<3.5.0 + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/flake8?source=hash-mapping + size: 111916 + timestamp: 1750968083921 +- conda: https://conda.anaconda.org/conda-forge/noarch/flake8-builtins-3.1.0-pyhd8ed1ab_0.conda + sha256: d022684576c0c6f474bddbc263c82a3ba303c3bd09185d15af4eb7b60e896d7f + md5: 5cbaa86cc684a52a057831cbcb3bd5b9 + depends: + - flake8 + - python >=3.10 + license: GPL-2.0-only + license_family: GPL2 + purls: + - pkg:pypi/flake8-builtins?source=hash-mapping + size: 19501 + timestamp: 1761594405382 +- conda: https://conda.anaconda.org/conda-forge/noarch/flake8-comprehensions-3.17.0-pyhd8ed1ab_0.conda + sha256: a0427b75e67d6f2f41f7645b850ac028876bee3a11d8fbaa18d88fd61b467a94 + md5: 9f5bd5fb0aa24273e9cce97830629e20 + depends: + - flake8 >=3.0,!=3.2.0 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/flake8-comprehensions?source=hash-mapping + size: 14049 + timestamp: 1757526877129 +- conda: https://conda.anaconda.org/conda-forge/noarch/flake8-docstrings-1.7.0-pyhd8ed1ab_0.conda + sha256: e0757805056f7ad3c7172ca4eaf79c9db4a7d23b858aa8fdcdfbd25f8ad7254d + md5: d66b253112adf72dc5edeabe41b88dce + depends: + - flake8 >=3 + - pydocstyle >=2.1 + - python >=3.7 + license: MIT + license_family: MIT + purls: + - pkg:pypi/flake8-docstrings?source=hash-mapping + size: 10395 + timestamp: 1675285794906 +- conda: https://conda.anaconda.org/conda-forge/noarch/flake8-import-order-0.19.2-pyhd8ed1ab_0.conda + sha256: 046902c4b7b07877e68c5dd638f92ece9416fe1b10153dd7d617b91c4f18946c + md5: f4b095568df0c12ab60f8519cb203317 + depends: + - flake8 + - pycodestyle + - python >=3.9 + - setuptools + license: LGPL-3.0-only + license_family: LGPL + purls: + - pkg:pypi/flake8-import-order?source=hash-mapping + size: 21041 + timestamp: 1750969641622 +- conda: https://conda.anaconda.org/conda-forge/noarch/flake8-quotes-3.4.0-pyhd8ed1ab_1.conda + sha256: 72129d47a933843df04e98f9afb27b3c2345d89f6c4b6637ea9cd1846960ad67 + md5: adde488e6dff56bffd2e5f428ae8cded + depends: + - flake8 + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/flake8-quotes?source=hash-mapping + size: 14776 + timestamp: 1735335323771 +- conda: https://conda.anaconda.org/conda-forge/linux-64/flann-1.9.2-hc299af7_5.conda + sha256: e988c8abade5ff1fb072010fc5db59e2607ad8c823248a8acad6fc4ded544a86 + md5: ea6779ccd6859d8ab651c2078b07bcaf + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libgcc >=13 + - libstdcxx >=13 + - lz4-c >=1.10.0,<1.11.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1569631 + timestamp: 1747942598014 +- pypi: https://files.pythonhosted.org/packages/ec/f9/7f9263c5695f4bd0023734af91bedb2ff8209e8de6ead162f35d8dc762fd/flask-3.1.2-py3-none-any.whl + name: flask + version: 3.1.2 + sha256: ca1d8112ec8a6158cc29ea4858963350011b5c846a414cdb7a954aa9e967d03c + requires_dist: + - blinker>=1.9.0 + - click>=8.1.3 + - importlib-metadata>=3.6.0 ; python_full_version < '3.10' + - itsdangerous>=2.2.0 + - jinja2>=3.1.2 + - markupsafe>=2.1.1 + - werkzeug>=3.1.0 + - asgiref>=3.2 ; extra == 'async' + - python-dotenv ; extra == 'dotenv' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/ee/1b/00a78aa2e8fbd63f9af08c9c19e6deb3d5d66b4dda677a0f61654680ee89/flatbuffers-25.9.23-py2.py3-none-any.whl + name: flatbuffers + version: 25.9.23 + sha256: 255538574d6cb6d0a79a17ec8bc0d30985913b87513a01cce8bcdb6b4c44d0e2 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-11.2.0-h07f6e7f_0.conda + sha256: e0f53b7801d0bcb5d61a1ddcb873479bfe8365e56fd3722a232fbcc372a9ac52 + md5: 0c2f855a88fab6afa92a7aa41217dc8e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + purls: [] + size: 192721 + timestamp: 1751277120358 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b + md5: 0c96522c6bdaed4b1566d11387caaf45 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 397370 + timestamp: 1566932522327 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c + md5: 34893075a5c9e55cdafac56607368fc6 + license: OFL-1.1 + license_family: Other + purls: [] + size: 96530 + timestamp: 1620479909603 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 + md5: 4d59c254e01d9cde7957100457e2d5fb + license: OFL-1.1 + license_family: Other + purls: [] + size: 700814 + timestamp: 1620479612257 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 + md5: 49023d73832ef61042f6a237cb2687e7 + license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 + license_family: Other + purls: [] + size: 1620504 + timestamp: 1727511233259 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.15.0-h7e30c49_1.conda + sha256: 7093aa19d6df5ccb6ca50329ef8510c6acb6b0d8001191909397368b65b02113 + md5: 8f5b0b297b59e1ac160ad4beec99dbee + depends: + - __glibc >=2.17,<3.0.a0 + - freetype >=2.12.1,<3.0a0 + - libexpat >=2.6.3,<3.0a0 + - libgcc >=13 + - libuuid >=2.38.1,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 265599 + timestamp: 1730283881107 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61 + md5: fee5683a3f04bd15cbd8318b096a27ab + depends: + - fonts-conda-forge + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 3667 + timestamp: 1566974674465 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 + md5: a7970cd949a077b7cb9696379d338681 + depends: + - font-ttf-ubuntu + - font-ttf-inconsolata + - font-ttf-dejavu-sans-mono + - font-ttf-source-code-pro + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 4059 + timestamp: 1762351264405 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.61.1-py312h8a5da7c_0.conda + sha256: c73cd238e0f6b2183c5168b64aa35a7eb66bb145192a9b26bb9041a4152844a3 + md5: 3bf8fb959dc598c67dac0430b4aff57a + depends: + - __glibc >=2.17,<3.0.a0 + - brotli + - libgcc >=14 + - munkres + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - unicodedata2 >=15.1.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/fonttools?source=hash-mapping + size: 2932702 + timestamp: 1765632761555 +- conda: https://conda.anaconda.org/conda-forge/linux-64/foonathan-memory-0.7.3-h5888daf_1.conda + sha256: 28d9fce64ee8b5e94350feb0829e054811678f9638039f78ddff8a8615c1b693 + md5: 2a3316f47d7827afde5381ecd43b5e85 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: Zlib + purls: [] + size: 227132 + timestamp: 1746246721660 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fortran-compiler-1.11.0-h9bea470_0.conda + sha256: 53e5562ede83b478ebe9f4fc3d3b4eff5b627883f48aa0bf412e8fd90b5d6113 + md5: d5596f445a1273ddc5ea68864c01b69f + depends: + - binutils + - c-compiler 1.11.0 h4d9bdce_0 + - gfortran + - gfortran_linux-64 14.* + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 6656 + timestamp: 1753098722318 +- conda: https://conda.anaconda.org/conda-forge/linux-64/freeglut-3.2.2-ha6d2627_3.conda + sha256: 676540a8e7f73a894cb1fcb870e7bec623ec1c0a2d277094fd713261a02d8d56 + md5: 84ec3f5b46f3076be49f2cf3f1cfbf02 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libxcb >=1.16,<2.0.0a0 + - xorg-libx11 >=1.8.9,<2.0a0 + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxext >=1.3.4,<2.0a0 + - xorg-libxfixes + - xorg-libxi + license: MIT + license_family: MIT + purls: [] + size: 144010 + timestamp: 1719014356708 +- conda: https://conda.anaconda.org/conda-forge/linux-64/freeimage-3.18.0-h3a85593_22.conda + sha256: 03ccff5d255eab7a1736de9eeb539fbb1333036fa5e37ea7c8ec428270067c99 + md5: bbdf3d43d752b793ac81f27b28c49e2d + depends: + - __glibc >=2.17,<3.0.a0 + - imath >=3.1.12,<3.1.13.0a0 + - jxrlib >=1.1,<1.2.0a0 + - libgcc >=13 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libpng >=1.6.44,<1.7.0a0 + - libraw >=0.21.3,<0.22.0a0 + - libstdcxx >=13 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.4.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openexr >=3.3.1,<3.4.0a0 + - openjpeg >=2.5.2,<3.0a0 + license: GPL-2.0-or-later OR GPL-3.0-or-later OR FreeImage + purls: [] + size: 467860 + timestamp: 1729024045245 +- conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.1-ha770c72_0.conda + sha256: bf8e4dffe46f7d25dc06f31038cacb01672c47b9f45201f065b0f4d00ab0a83e + md5: 4afc585cd97ba8a23809406cd8a9eda8 + depends: + - libfreetype 2.14.1 ha770c72_0 + - libfreetype6 2.14.1 h73754d4_0 + license: GPL-2.0-only OR FTL + purls: [] + size: 173114 + timestamp: 1757945422243 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda + sha256: 858283ff33d4c033f4971bf440cebff217d5552a5222ba994c49be990dacd40d + md5: f9f81ea472684d75b9dd8d0b328cf655 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: LGPL-2.1-or-later + purls: [] + size: 61244 + timestamp: 1757438574066 +- conda: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.7.0-py312h447239a_0.conda + sha256: f4e0e6cd241bc24afb2d6d08e5d2ba170fad2475e522bdf297b7271bba268be6 + md5: 63e20cf7b7460019b423fc06abb96c60 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/frozenlist?source=hash-mapping + size: 55037 + timestamp: 1752167383781 +- pypi: https://files.pythonhosted.org/packages/51/c7/b64cae5dba3a1b138d7123ec36bb5ccd39d39939f18454407e5468f4763f/fsspec-2025.12.0-py3-none-any.whl + name: fsspec + version: 2025.12.0 + sha256: 8bf1fe301b7d8acfa6e8571e3b1c3d158f909666642431cc78a1b7b4dbc5ec5b + requires_dist: + - adlfs ; extra == 'abfs' + - adlfs ; extra == 'adl' + - pyarrow>=1 ; extra == 'arrow' + - dask ; extra == 'dask' + - distributed ; extra == 'dask' + - pre-commit ; extra == 'dev' + - ruff>=0.5 ; extra == 'dev' + - numpydoc ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-design ; extra == 'doc' + - sphinx-rtd-theme ; extra == 'doc' + - yarl ; extra == 'doc' + - dropbox ; extra == 'dropbox' + - dropboxdrivefs ; extra == 'dropbox' + - requests ; extra == 'dropbox' + - adlfs ; extra == 'full' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'full' + - dask ; extra == 'full' + - distributed ; extra == 'full' + - dropbox ; extra == 'full' + - dropboxdrivefs ; extra == 'full' + - fusepy ; extra == 'full' + - gcsfs ; extra == 'full' + - libarchive-c ; extra == 'full' + - ocifs ; extra == 'full' + - panel ; extra == 'full' + - paramiko ; extra == 'full' + - pyarrow>=1 ; extra == 'full' + - pygit2 ; extra == 'full' + - requests ; extra == 'full' + - s3fs ; extra == 'full' + - smbprotocol ; extra == 'full' + - tqdm ; extra == 'full' + - fusepy ; extra == 'fuse' + - gcsfs ; extra == 'gcs' + - pygit2 ; extra == 'git' + - requests ; extra == 'github' + - gcsfs ; extra == 'gs' + - panel ; extra == 'gui' + - pyarrow>=1 ; extra == 'hdfs' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'http' + - libarchive-c ; extra == 'libarchive' + - ocifs ; extra == 'oci' + - s3fs ; extra == 's3' + - paramiko ; extra == 'sftp' + - smbprotocol ; extra == 'smb' + - paramiko ; extra == 'ssh' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'test' + - numpy ; extra == 'test' + - pytest ; extra == 'test' + - pytest-asyncio!=0.22.0 ; extra == 'test' + - pytest-benchmark ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-mock ; extra == 'test' + - pytest-recording ; extra == 'test' + - pytest-rerunfailures ; extra == 'test' + - requests ; extra == 'test' + - aiobotocore>=2.5.4,<3.0.0 ; extra == 'test-downstream' + - dask[dataframe,test] ; extra == 'test-downstream' + - moto[server]>4,<5 ; extra == 'test-downstream' + - pytest-timeout ; extra == 'test-downstream' + - xarray ; extra == 'test-downstream' + - adlfs ; extra == 'test-full' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'test-full' + - cloudpickle ; extra == 'test-full' + - dask ; extra == 'test-full' + - distributed ; extra == 'test-full' + - dropbox ; extra == 'test-full' + - dropboxdrivefs ; extra == 'test-full' + - fastparquet ; extra == 'test-full' + - fusepy ; extra == 'test-full' + - gcsfs ; extra == 'test-full' + - jinja2 ; extra == 'test-full' + - kerchunk ; extra == 'test-full' + - libarchive-c ; extra == 'test-full' + - lz4 ; extra == 'test-full' + - notebook ; extra == 'test-full' + - numpy ; extra == 'test-full' + - ocifs ; extra == 'test-full' + - pandas ; extra == 'test-full' + - panel ; extra == 'test-full' + - paramiko ; extra == 'test-full' + - pyarrow ; extra == 'test-full' + - pyarrow>=1 ; extra == 'test-full' + - pyftpdlib ; extra == 'test-full' + - pygit2 ; extra == 'test-full' + - pytest ; extra == 'test-full' + - pytest-asyncio!=0.22.0 ; extra == 'test-full' + - pytest-benchmark ; extra == 'test-full' + - pytest-cov ; extra == 'test-full' + - pytest-mock ; extra == 'test-full' + - pytest-recording ; extra == 'test-full' + - pytest-rerunfailures ; extra == 'test-full' + - python-snappy ; extra == 'test-full' + - requests ; extra == 'test-full' + - smbprotocol ; extra == 'test-full' + - tqdm ; extra == 'test-full' + - urllib3 ; extra == 'test-full' + - zarr ; extra == 'test-full' + - zstandard ; python_full_version < '3.14' and extra == 'test-full' + - tqdm ; extra == 'tqdm' + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-14.3.0-h0dff253_16.conda + sha256: 4581ce836a04a591a2622c2a0f15b81d7a87cec614facb3a405c070c8fdb7ac8 + md5: dcaf539ffe75649239192101037f1406 + depends: + - conda-gcc-specs + - gcc_impl_linux-64 14.3.0 he8b2097_16 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 29022 + timestamp: 1765256332962 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-14.3.0-he8b2097_16.conda + sha256: 4acf50b7d5673250d585a256a40aabdd922e0947ca12cdbad0cef960ee1a9509 + md5: d274bf1343507683e6eb2954d1871569 + depends: + - binutils_impl_linux-64 >=2.45 + - libgcc >=14.3.0 + - libgcc-devel_linux-64 14.3.0 hf649bbc_116 + - libgomp >=14.3.0 + - libsanitizer 14.3.0 h8f1669f_16 + - libstdcxx >=14.3.0 + - libstdcxx-devel_linux-64 14.3.0 h9f08a49_116 + - sysroot_linux-64 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 75290045 + timestamp: 1765256021903 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-14.3.0-h298d278_15.conda + sha256: 87e526cf4a64bfd4cd003a0748cfc0c3193f56cbff39a568bab000617fa0f620 + md5: 7154d88055825c8ef8530fb1f4ea7075 + depends: + - gcc_impl_linux-64 14.3.0.* + - binutils_linux-64 + - sysroot_linux-64 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 28824 + timestamp: 1765306123456 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gdbm-1.18-h0a1914f_2.tar.bz2 + sha256: 8b9606dc896bd9262d09ab2ef1cb55c4ee43f352473209b58b37a9289dd7b00c + md5: b77bc399b07a19c00fe12fdc95ee0297 + depends: + - libgcc-ng >=7.5.0 + - readline >=8.0,<9.0a0 + license: GPL-3.0 + license_family: GPL + purls: [] + size: 194790 + timestamp: 1597622040785 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.4-h2b0a6b4_0.conda + sha256: f47222f58839bcc77c15f11a8814c1d8cb8080c5ca6ba83398a12b640fd3c85c + md5: c379d67c686fb83475c1a6ed41cc41ff + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libglib >=2.86.0,<3.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 572093 + timestamp: 1761082340749 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.25.1-h3f43e3d_1.conda + sha256: cbfa8c80771d1842c2687f6016c5e200b52d4ca8f2cc119f6377f64f899ba4ff + md5: c42356557d7f2e37676e121515417e3b + depends: + - __glibc >=2.17,<3.0.a0 + - gettext-tools 0.25.1 h3f43e3d_1 + - libasprintf 0.25.1 h3f43e3d_1 + - libasprintf-devel 0.25.1 h3f43e3d_1 + - libgcc >=14 + - libgettextpo 0.25.1 h3f43e3d_1 + - libgettextpo-devel 0.25.1 h3f43e3d_1 + - libiconv >=1.18,<2.0a0 + - libstdcxx >=14 + license: LGPL-2.1-or-later AND GPL-3.0-or-later + purls: [] + size: 541357 + timestamp: 1753343006214 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gettext-tools-0.25.1-h3f43e3d_1.conda + sha256: c792729288bdd94f21f25f80802d4c66957b4e00a57f7cb20513f07aadfaff06 + md5: a59c05d22bdcbb4e984bf0c021a2a02f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + license: GPL-3.0-or-later + license_family: GPL + purls: [] + size: 3644103 + timestamp: 1753342966311 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gfortran-14.3.0-h76987e4_16.conda + sha256: 5c985d4c2e3963b996891da6f5b1169e6b2271479d4f286d10c72d7a0475acb1 + md5: f5b82e3d5f4d345e8e1a227636eeb64f + depends: + - gcc 14.3.0 h0dff253_16 + - gcc_impl_linux-64 14.3.0 he8b2097_16 + - gfortran_impl_linux-64 14.3.0 h1a219da_16 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 28426 + timestamp: 1765256352017 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gfortran_impl_linux-64-14.3.0-h1a219da_16.conda + sha256: c27c7860eaf7043f7a1a6e518b7c741c830d0734dfe00bea3804e799c2bf0556 + md5: 3065346248242b288fd4f73fe34f833e + depends: + - gcc_impl_linux-64 >=14.3.0 + - libgcc >=14.3.0 + - libgfortran5 >=14.3.0 + - libstdcxx >=14.3.0 + - sysroot_linux-64 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 18569038 + timestamp: 1765256219467 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gfortran_linux-64-14.3.0-h614ad27_15.conda + sha256: 31557f2ee5f4977f124efd0ab9e6b48552b2e1ec88793f04fcc2c15b98df5004 + md5: 76684d42c2b77c54bee00444d5d3e5a8 + depends: + - gfortran_impl_linux-64 14.3.0.* + - gcc_linux-64 ==14.3.0 h298d278_15 + - binutils_linux-64 + - sysroot_linux-64 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 27062 + timestamp: 1765306123456 +- conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda + sha256: dbbec21a369872c8ebe23cb9a3b9d63638479ee30face165aa0fccc96e93eec3 + md5: 7c14f3706e099f8fcd47af2d494616cc + depends: + - python >=3.9 + - smmap >=3.0.1,<6 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/gitdb?source=hash-mapping + size: 53136 + timestamp: 1735887290843 +- conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.45-pyhff2d567_0.conda + sha256: 12df2c971e98f30f2a9bec8aa96ea23092717ace109d16815eeb4c095f181aa2 + md5: b91d463ea8be13bcbe644ae8bc99c39f + depends: + - gitdb >=4.0.1,<5 + - python >=3.9 + - typing_extensions >=3.10.0.2 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/gitpython?source=hash-mapping + size: 157875 + timestamp: 1753444241693 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gl2ps-1.4.2-hae5d5c5_1.conda + sha256: 68f071ea25e79ee427c0d6c35ccc137d66f093a37660a4e41bafe0c49d64f2d6 + md5: 00e642ec191a19bf806a3915800e9524 + depends: + - libgcc-ng >=12 + - libpng >=1.6.43,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 74102 + timestamp: 1718542981099 +- conda: https://conda.anaconda.org/conda-forge/linux-64/glew-2.1.0-h9c3ff4c_2.tar.bz2 + sha256: 86f5484e38f4604f7694b14f64238e932e8fd8d7364e86557f4911eded2843ae + md5: fb05eb5c47590b247658243d27fc32f1 + depends: + - libgcc-ng >=9.3.0 + - libglu + - libstdcxx-ng >=9.3.0 + - xorg-libx11 + - xorg-libxext + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 662569 + timestamp: 1607113198887 +- conda: https://conda.anaconda.org/conda-forge/linux-64/glib-2.86.0-he175458_0.conda + sha256: 3846e03ce529d9d8655651ad765b92cbb7baef4f2345e4df28b2af6133343a58 + md5: 1891353ef1a104cff6d51de55a60c9c0 + depends: + - glib-tools 2.86.0 hf516916_0 + - libffi >=3.4.6,<3.5.0a0 + - libglib 2.86.0 h1fed272_0 + - packaging + - python * + license: LGPL-2.1-or-later + purls: [] + size: 611178 + timestamp: 1757403380893 +- conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.86.0-hf516916_0.conda + sha256: b77316bd5c8680bde4e5a7ab7013c8f0f10c1702cc6c3b0fd0fac3923a31fec3 + md5: 1a8e49615381c381659de1bc6a3bf9ec + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libglib 2.86.0 h1fed272_0 + license: LGPL-2.1-or-later + purls: [] + size: 117284 + timestamp: 1757403341964 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gmock-1.17.0-ha770c72_1.conda + sha256: 80ca13dc518962fcd86856586cb5fb612fe69914234eab322f9dee25f628090f + md5: 33e7a8280999b958df24a95f0cb86b1a + depends: + - gtest 1.17.0 h84d6215_1 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 7578 + timestamp: 1748320126956 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda + sha256: 309cf4f04fec0c31b6771a5809a1909b4b3154a2208f52351e1ada006f4c750c + md5: c94a5994ef49749880a8139cf9afcbe1 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: GPL-2.0-or-later OR LGPL-3.0-or-later + purls: [] + size: 460055 + timestamp: 1718980856608 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gnutls-3.8.9-h86084c0_1.conda + sha256: 47c9b18d08d3c58032ebacde96fad1eeeb2af9fe1f0a78b730a51ce29a601418 + md5: f71a6a96b0e7537b536fc144472d7ba6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libidn2 >=2,<3.0a0 + - libstdcxx >=13 + - libtasn1 >=4.20.0,<5.0a0 + - nettle >=3.10.1,<3.11.0a0 + - p11-kit >=0.24.1,<0.25.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 2048065 + timestamp: 1748036227947 +- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda + sha256: 25ba37da5c39697a77fce2c9a15e48cf0a84f1464ad2aafbe53d8357a9f6cc8c + md5: 2cd94587f3a401ae05e03a6caf09539d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 99596 + timestamp: 1755102025473 +- conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-13.1.2-h87b6fe6_0.conda + sha256: efbd7d483f3d79b7882515ccf229eceb7f4ff636ea2019044e98243722f428be + md5: 0adddc9b820f596638d8b0ff9e3b4823 + depends: + - __glibc >=2.17,<3.0.a0 + - adwaita-icon-theme + - cairo >=1.18.4,<2.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.42.12,<3.0a0 + - gtk3 >=3.24.43,<4.0a0 + - gts >=0.7.6,<0.8.0a0 + - libexpat >=2.7.1,<3.0a0 + - libgcc >=14 + - libgd >=2.3.3,<2.4.0a0 + - libglib >=2.84.3,<3.0a0 + - librsvg >=2.58.4,<3.0a0 + - libstdcxx >=14 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pango >=1.56.4,<2.0a0 + license: EPL-1.0 + license_family: Other + purls: [] + size: 2427887 + timestamp: 1754732581595 +- pypi: https://files.pythonhosted.org/packages/f5/86/f6ec2164f743d9609691115ae8ece098c76b894ebe4f7c94a655c6b03e98/grpcio-1.76.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: grpcio + version: 1.76.0 + sha256: 980a846182ce88c4f2f7e2c22c56aefd515daeb36149d1c897f83cf57999e0b6 + requires_dist: + - typing-extensions~=4.12 + - grpcio-tools>=1.76.0 ; extra == 'protobuf' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/fc/e1/6b5a01ef36b5341d5d0899401e4413594dfaa21f86cfc05be8efb25baf81/gruut-2.4.0.tar.gz + name: gruut + version: 2.4.0 + sha256: a49f693266a3a1ab5a6bde77a8f560ef27712b4169b5a6b02e6a1a873342e19e + requires_dist: + - babel>=2.8.0,<3.0.0 + - dateparser~=1.1.1 + - gruut-ipa>=0.12.0,<1.0 + - gruut-lang-en~=2.0.0 + - jsonlines~=1.2.0 + - networkx>=2.5.0 + - num2words>=0.5.10,<1.0.0 + - numpy>=1.19.0 + - python-crfsuite~=0.9.7 + - dataclasses ; python_full_version < '3.7' + - types-dataclasses ; python_full_version < '3.7' + - importlib-resources ; python_full_version < '3.9' + - aeneas~=1.7.3.0 ; extra == 'align' + - pydub~=0.24.1 ; extra == 'align' + - hazm~=0.7.0 ; extra == 'all' + - conllu>=4.4 ; extra == 'all' + - rapidfuzz>=2.11.1 ; extra == 'all' + - aeneas~=1.7.3.0 ; extra == 'all' + - pydub~=0.24.1 ; extra == 'all' + - mishkal~=0.4.0 ; extra == 'all' + - codernitydb3~=0.6.0 ; extra == 'all' + - phonetisaurus~=0.3.0 ; extra == 'all' + - gruut-lang-ar~=2.0.0 ; extra == 'all' + - gruut-lang-ca~=2.0.0 ; extra == 'all' + - gruut-lang-cs~=2.0.0 ; extra == 'all' + - gruut-lang-de~=2.0.0 ; extra == 'all' + - gruut-lang-es~=2.0.0 ; extra == 'all' + - gruut-lang-fa~=2.0.0 ; extra == 'all' + - gruut-lang-fr~=2.0.0 ; extra == 'all' + - gruut-lang-it~=2.0.0 ; extra == 'all' + - gruut-lang-lb~=2.0.0 ; extra == 'all' + - gruut-lang-nl~=2.0.0 ; extra == 'all' + - gruut-lang-pt~=2.0.0 ; extra == 'all' + - gruut-lang-ru~=2.0.0 ; extra == 'all' + - gruut-lang-sv~=2.0.0 ; extra == 'all' + - gruut-lang-sw~=2.0.0 ; extra == 'all' + - mishkal~=0.4.0 ; extra == 'ar' + - codernitydb3~=0.6.0 ; extra == 'ar' + - gruut-lang-ar~=2.0.0 ; extra == 'ar' + - gruut-lang-ca~=2.0.0 ; extra == 'ca' + - gruut-lang-cs~=2.0.0 ; extra == 'cs' + - gruut-lang-de~=2.0.0 ; extra == 'de' + - gruut-lang-es~=2.0.0 ; extra == 'es' + - hazm~=0.7.0 ; extra == 'fa' + - gruut-lang-fa~=2.0.0 ; extra == 'fa' + - gruut-lang-fr~=2.0.0 ; extra == 'fr' + - phonetisaurus~=0.3.0 ; extra == 'g2p' + - gruut-lang-it~=2.0.0 ; extra == 'it' + - gruut-lang-lb~=2.0.0 ; extra == 'lb' + - gruut-lang-nl~=2.0.0 ; extra == 'nl' + - gruut-lang-pt~=2.0.0 ; extra == 'pt' + - gruut-lang-ru~=2.0.0 ; extra == 'ru' + - gruut-lang-sv~=2.0.0 ; extra == 'sv' + - gruut-lang-sw~=2.0.0 ; extra == 'sw' + - conllu>=4.4 ; extra == 'train' + - rapidfuzz>=2.11.1 ; extra == 'train' + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/51/9f/7eff478e38913cc9930527ff40c9ebcb04744dfcd0ddd43bd5a1eb9565b7/gruut-ipa-0.13.0.tar.gz + name: gruut-ipa + version: 0.13.0 + sha256: 71776eb99f46e119ab14d3d4e536f54317133607cc2f6bad9711ab51f1bec66e + requires_dist: + - dataclasses ; python_full_version < '3.7' + requires_python: '>=3.6' +- pypi: https://files.pythonhosted.org/packages/a4/e3/22748996c573c6a7d5326ef0292956afac089c73f14e3dfee0a94661e631/gruut_lang_en-2.0.1.tar.gz + name: gruut-lang-en + version: 2.0.1 + sha256: a3d748bca5b31bf89d26b00ba76809532187696ce3ddf76b35889fe25f94ea30 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.24.11-h651a532_0.conda + sha256: a497d2ba34fdfa4bead423cba5261b7e619df3ac491fb0b6231d91da45bd05fc + md5: d8d8894f8ced2c9be76dc9ad1ae531ce + depends: + - __glibc >=2.17,<3.0.a0 + - alsa-lib >=1.2.14,<1.3.0a0 + - gstreamer 1.24.11 hc37bda9_0 + - libdrm >=2.4.124,<2.5.0a0 + - libegl >=1.7.0,<2.0a0 + - libexpat >=2.7.0,<3.0a0 + - libgcc >=13 + - libgl >=1.7.0,<2.0a0 + - libglib >=2.84.1,<3.0a0 + - libogg >=1.3.5,<1.4.0a0 + - libopus >=1.5.2,<2.0a0 + - libpng >=1.6.47,<1.7.0a0 + - libstdcxx >=13 + - libvorbis >=1.3.7,<1.4.0a0 + - libxcb >=1.17.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxau >=1.0.12,<2.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + - xorg-libxshmfence >=1.3.3,<2.0a0 + - xorg-libxxf86vm >=1.1.6,<2.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 2859572 + timestamp: 1745093626455 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.24.11-hc37bda9_0.conda + sha256: 6e93b99d77ac7f7b3eb29c1911a0a463072a40748b96dbe37c18b2c0a90b34de + md5: 056d86cacf2b48c79c6a562a2486eb8c + depends: + - __glibc >=2.17,<3.0.a0 + - glib >=2.84.1,<3.0a0 + - libgcc >=13 + - libglib >=2.84.1,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 2021832 + timestamp: 1745093493354 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gtest-1.17.0-h84d6215_1.conda + sha256: 1f738280f245863c5ac78bcc04bb57266357acda45661c4aa25823030c6fb5db + md5: 55e29b72a71339bc651f9975492db71f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + constrains: + - gmock 1.17.0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 416610 + timestamp: 1748320117187 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gtk3-3.24.43-h021d004_4.conda + sha256: fc8abccb4b0d454891847bdd8163332ff8607aa33ea9cf1e43b3828fc88c42ce + md5: a891e341072432fafb853b3762957cbf + depends: + - __glibc >=2.17,<3.0.a0 + - at-spi2-atk >=2.38.0,<3.0a0 + - atk-1.0 >=2.38.0 + - cairo >=1.18.4,<2.0a0 + - epoxy >=1.5.10,<1.6.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.10,<2.0a0 + - gdk-pixbuf >=2.42.12,<3.0a0 + - glib-tools + - harfbuzz >=10.4.0 + - hicolor-icon-theme + - libcups >=2.3.3,<2.4.0a0 + - libcups >=2.3.3,<3.0a0 + - libexpat >=2.6.4,<3.0a0 + - libgcc >=13 + - libglib >=2.82.2,<3.0a0 + - liblzma >=5.6.4,<6.0a0 + - libxkbcommon >=1.8.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pango >=1.56.1,<2.0a0 + - wayland >=1.23.1,<2.0a0 + - xorg-libx11 >=1.8.11,<2.0a0 + - xorg-libxcomposite >=0.4.6,<1.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + - xorg-libxi >=1.8.2,<2.0a0 + - xorg-libxinerama >=1.1.5,<1.2.0a0 + - xorg-libxrandr >=1.5.4,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 5563940 + timestamp: 1741694746664 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda + sha256: b5cd16262fefb836f69dc26d879b6508d29f8a5c5948a966c47fe99e2e19c99b + md5: 4d8df0b0db060d33c9a702ada998a8fe + depends: + - libgcc-ng >=12 + - libglib >=2.76.3,<3.0a0 + - libstdcxx-ng >=12 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 318312 + timestamp: 1686545244763 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-14.3.0-h76987e4_16.conda + sha256: 5a4174e7723a95eca2305f4e4b3d19fa8c714eadd921b993e1a893fe47e5d3d7 + md5: a3aa64ee3486f51eb61018939c88ef12 + depends: + - gcc 14.3.0 h0dff253_16 + - gxx_impl_linux-64 14.3.0 h2185e75_16 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 28403 + timestamp: 1765256369945 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-14.3.0-h2185e75_16.conda + sha256: 71a6672af972c4d072d79514e9755c9e9ea359d46613fd9333adcb3b08c0c008 + md5: 8729b9d902631b9ee604346a90a50031 + depends: + - gcc_impl_linux-64 14.3.0 he8b2097_16 + - libstdcxx-devel_linux-64 14.3.0 h9f08a49_116 + - sysroot_linux-64 + - tzdata + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 15255410 + timestamp: 1765256273332 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-14.3.0-hdb5f4f1_15.conda + sha256: d64a4afd400306e7692d494744a414e1bc09783c2fbf6b0358b32a63a13945f8 + md5: 9a242c1265c796f30fcdd04066d0ea5d + depends: + - gxx_impl_linux-64 14.3.0.* + - gcc_linux-64 ==14.3.0 h298d278_15 + - binutils_linux-64 + - sysroot_linux-64 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 27421 + timestamp: 1765306123460 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gz-cmake3-3.5.5-h05f81b2_0.conda + sha256: b654d0102a8b8242836a5863c0157945b5c549d505383f4f8b724926a55f68aa + md5: fda2ad837ffe2ed7f73ddfab260d82e3 + depends: + - libgz-cmake3 ==3.5.5 h54a6638_0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 7430 + timestamp: 1759138411890 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gz-math7-7.5.2-h5bbc156_2.conda + sha256: 3c0eeb73fb3a5d01d6e2f10778a0948286b19cf9500ae24a67547262c521ff35 + md5: 058fd7a11695871d6c26080a1b2e96a1 + depends: + - libgz-math7 ==7.5.2 h54a6638_2 + - gz-math7-python >=7.5.2,<7.5.3.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 8251 + timestamp: 1759147748392 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gz-math7-python-7.5.2-py312h89d136e_2.conda + sha256: a20c5d236a70831cfa21fda695c4482fcbbe64ea4c2db32d59c66ee7df05fe05 + md5: f49be6a36d1cd45f9fcc96d2446c41c4 + depends: + - libgz-math7 ==7.5.2 h54a6638_2 + - python + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libgz-math7 >=7.5.2,<8.0a0 + - pybind11-abi ==11 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 1029585 + timestamp: 1759147748392 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gz-tools-2.0.3-h3f54f1a_1.conda + sha256: 392eee31355835b7659dbc44813c79ab8e42bb4b1b7500a423d155a04e034bee + md5: 8c366a7251e68161425d4602e5e928e4 + depends: + - libgz-tools ==2.0.3 h54a6638_1 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 7803 + timestamp: 1759148392717 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gz-tools2-2.0.3-h89235b8_1.conda + sha256: 1d578b70672a212ee4aeae44f2377070bb1aacfcf81862e7d306e6c9e2a02345 + md5: 397d00a36abb84cca1f532fdec91c905 + depends: + - gz-tools ==2.0.3 h3f54f1a_1 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 7839 + timestamp: 1759148392717 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gz-utils2-2.2.1-hd5bf738_1.conda + sha256: edac8bdb4b2e359814f06ed8972474ef282c5a2afbfd2d580e9fdf3fa8cf9fec + md5: 7464d6129d4a0bac5a4950835c747601 + depends: + - libgz-utils2 ==2.2.1 h54a6638_1 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 8049 + timestamp: 1760392404832 +- pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl + name: h11 + version: 0.16.0 + sha256: 63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86 + requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 + md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 + depends: + - python >=3.10 + - hyperframe >=6.1,<7 + - hpack >=4.1,<5 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/h2?source=compressed-mapping + size: 95967 + timestamp: 1756364871835 +- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.1.0-h15599e2_0.conda + sha256: df2a964f5b7dd652b59da018f1d2d9ae402b815c4e5d849384344df358d2a565 + md5: 7704b1edaa8316b8792424f254c1f586 + depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.14,<2.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.7.1,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libglib >=2.86.0,<3.0a0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 2058414 + timestamp: 1759365674184 +- conda: https://conda.anaconda.org/conda-forge/linux-64/hdf4-4.2.15-h2a13503_7.conda + sha256: 0d09b6dc1ce5c4005ae1c6a19dc10767932ef9a5e9c755cfdbb5189ac8fb0684 + md5: bd77f8da987968ec3927990495dc22e4 + depends: + - libgcc-ng >=12 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 756742 + timestamp: 1695661547874 +- conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.6-nompi_h1b119a7_104.conda + sha256: 454e9724b322cee277abd7acf4f8d688e9c4ded006b6d5bc9fcc2a1ff907d27a + md5: 0857f4d157820dcd5625f61fdfefb780 + depends: + - __glibc >=2.17,<3.0.a0 + - libaec >=1.1.4,<2.0a0 + - libcurl >=8.17.0,<9.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.4,<4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 3720961 + timestamp: 1764771748126 +- conda: https://conda.anaconda.org/conda-forge/linux-64/hicolor-icon-theme-0.17-ha770c72_2.tar.bz2 + sha256: 336f29ceea9594f15cc8ec4c45fdc29e10796573c697ee0d57ebb7edd7e92043 + md5: bbf6f174dcd3254e19a2f5d2295ce808 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 13841 + timestamp: 1605162808667 +- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + sha256: 6ad78a180576c706aabeb5b4c8ceb97c0cb25f1e112d76495bff23e3779948ba + md5: 0a802cb9888dd14eeefc611f05c40b6e + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/hpack?source=hash-mapping + size: 30731 + timestamp: 1737618390337 +- 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 + purls: + - pkg:pypi/humanfriendly?source=hash-mapping + size: 73563 + timestamp: 1733928021866 +- pypi: https://files.pythonhosted.org/packages/93/35/850277d1b17b206bd10874c8a9a3f52e059452fb49bb0d22cbb908f6038b/hypercorn-0.18.0-py3-none-any.whl + name: hypercorn + version: 0.18.0 + sha256: 225e268f2c1c2f28f6d8f6db8f40cb8c992963610c5725e13ccfcddccb24b1cd + requires_dist: + - exceptiongroup>=1.1.0 ; python_full_version < '3.11' + - h11 + - h2>=4.3.0 + - priority + - taskgroup ; python_full_version < '3.11' + - tomli ; python_full_version < '3.11' + - typing-extensions ; python_full_version < '3.11' + - wsproto>=0.14.0 + - pydata-sphinx-theme ; extra == 'docs' + - sphinxcontrib-mermaid ; extra == 'docs' + - aioquic>=0.9.0 ; extra == 'h3' + - trio ; extra == 'trio' + - uvloop ; extra == 'uvloop' + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 + md5: 8e6923fc12f1fe8f8c4e5c9f343256ac + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/hyperframe?source=hash-mapping + size: 17397 + timestamp: 1737618427549 +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda + sha256: 71e750d509f5fa3421087ba88ef9a7b9be11c53174af3aa4d06aff4c18b38e8e + md5: 8b189310083baabfb622af68fd9d3ae3 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MIT + license_family: MIT + purls: [] + size: 12129203 + timestamp: 1720853576813 +- conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.15-pyhd8ed1ab_0.conda + sha256: 32d5007d12e5731867908cbf5345f5cd44a6c8755a2e8e63e15a184826a51f82 + md5: 25f954b7dae6dd7b0dc004dab74f1ce9 + depends: + - python >=3.10 + - ukkonen + license: MIT + license_family: MIT + purls: + - pkg:pypi/identify?source=hash-mapping + size: 79151 + timestamp: 1759437561529 +- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + sha256: ae89d0299ada2a3162c2614a9d26557a92aa6a77120ce142f8e0109bbf0342b0 + md5: 53abe63df7e10a6ba605dc5f9f961d36 + depends: + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/idna?source=hash-mapping + size: 50721 + timestamp: 1760286526795 +- pypi: https://files.pythonhosted.org/packages/fb/fe/301e0936b79bcab4cacc7548bf2853fc28dced0a578bab1f7ef53c9aa75b/imageio-2.37.2-py3-none-any.whl + name: imageio + version: 2.37.2 + sha256: ad9adfb20335d718c03de457358ed69f141021a333c40a53e57273d8a5bd0b9b + requires_dist: + - numpy + - pillow>=8.3.2 + - imageio-ffmpeg ; extra == 'ffmpeg' + - psutil ; extra == 'ffmpeg' + - fsspec[http] ; extra == 'freeimage' + - pillow-heif ; extra == 'pillow-heif' + - tifffile ; extra == 'tifffile' + - av ; extra == 'pyav' + - astropy ; extra == 'fits' + - rawpy ; extra == 'rawpy' + - numpy>2 ; extra == 'rawpy' + - gdal ; extra == 'gdal' + - itk ; extra == 'itk' + - black ; extra == 'linting' + - flake8 ; extra == 'linting' + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' + - fsspec[github] ; extra == 'test' + - sphinx<6 ; extra == 'docs' + - numpydoc ; extra == 'docs' + - pydata-sphinx-theme ; extra == 'docs' + - pytest ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - fsspec[github] ; extra == 'dev' + - black ; extra == 'dev' + - flake8 ; extra == 'dev' + - av ; extra == 'all-plugins' + - astropy ; extra == 'all-plugins' + - fsspec[http] ; extra == 'all-plugins' + - imageio-ffmpeg ; extra == 'all-plugins' + - numpy>2 ; extra == 'all-plugins' + - pillow-heif ; extra == 'all-plugins' + - psutil ; extra == 'all-plugins' + - rawpy ; extra == 'all-plugins' + - tifffile ; extra == 'all-plugins' + - fsspec[http] ; extra == 'all-plugins-pypy' + - imageio-ffmpeg ; extra == 'all-plugins-pypy' + - pillow-heif ; extra == 'all-plugins-pypy' + - psutil ; extra == 'all-plugins-pypy' + - tifffile ; extra == 'all-plugins-pypy' + - astropy ; extra == 'full' + - av ; extra == 'full' + - black ; extra == 'full' + - flake8 ; extra == 'full' + - fsspec[github,http] ; extra == 'full' + - imageio-ffmpeg ; extra == 'full' + - numpydoc ; extra == 'full' + - numpy>2 ; extra == 'full' + - pillow-heif ; extra == 'full' + - psutil ; extra == 'full' + - pydata-sphinx-theme ; extra == 'full' + - pytest ; extra == 'full' + - pytest-cov ; extra == 'full' + - rawpy ; extra == 'full' + - sphinx<6 ; extra == 'full' + - tifffile ; extra == 'full' + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2 + sha256: c2bfd7043e0c4c12d8b5593de666c1e81d67b83c474a0a79282cc5c4ef845460 + md5: 7de5386c8fea29e76b303f37dde4c352 + depends: + - python >=3.4 + license: MIT + license_family: MIT + purls: + - pkg:pypi/imagesize?source=hash-mapping + size: 10164 + timestamp: 1656939625410 +- conda: https://conda.anaconda.org/conda-forge/linux-64/imath-3.1.12-h7955e40_0.conda + sha256: 4d8d07a4d5079d198168b44556fb86d094e6a716e8979b25a9f6c9c610e9fe56 + md5: 37f5e1ab0db3691929f37dee78335d1b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 159630 + timestamp: 1725971591485 +- pypi: https://files.pythonhosted.org/packages/66/b1/af3142c4a85cba6da9f4ebb5ff4e21e2616309552caca5e8acefe9840622/imgaug-0.4.0-py2.py3-none-any.whl + name: imgaug + version: 0.4.0 + sha256: ce61e65b4eb7405fc62c1b0a79d2fa92fd47f763aaecb65152d29243592111f9 + requires_dist: + - six + - numpy>=1.15 + - scipy + - pillow + - matplotlib + - scikit-image>=0.14.2 + - opencv-python + - imageio + - shapely +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + sha256: c18ab120a0613ada4391b15981d86ff777b5690ca461ea7e9e49531e8f374745 + md5: 63ccfdc3a3ce25b027b8767eb722fca8 + depends: + - python >=3.9 + - zipp >=3.20 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/importlib-metadata?source=hash-mapping + size: 34641 + timestamp: 1747934053147 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + sha256: acc1d991837c0afb67c75b77fdc72b4bf022aac71fedd8b9ea45918ac9b08a80 + md5: c85c76dc67d75619a92f51dfbce06992 + depends: + - python >=3.9 + - zipp >=3.1.0 + constrains: + - importlib-resources >=6.5.2,<6.5.3.0a0 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/importlib-resources?source=hash-mapping + size: 33781 + timestamp: 1736252433366 +- conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 + md5: 9614359868482abba1bd15ce465e3c42 + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/iniconfig?source=compressed-mapping + size: 13387 + timestamp: 1760831448842 +- conda: https://conda.anaconda.org/conda-forge/noarch/invoke-2.2.1-pyhd8ed1ab_0.conda + sha256: 5a4e3a01f626c8de15ddada622d364e94ff28e8d6bdedf1665442ef03a4e0140 + md5: 3a804714ed59be1969ffca10f703ec2a + depends: + - python >=3.10 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/invoke?source=hash-mapping + size: 132825 + timestamp: 1760146119847 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.8.0-pyh53cf698_0.conda + sha256: 8a72c9945dc4726ee639a9652b622ae6b03f3eba0e16a21d1c6e5bfb562f5a3f + md5: fd77b1039118a3e8ce1070ac8ed45bae + depends: + - __unix + - pexpect >4.3 + - decorator >=4.3.2 + - ipython_pygments_lexers >=1.0.0 + - jedi >=0.18.1 + - matplotlib-inline >=0.1.5 + - prompt-toolkit >=3.0.41,<3.1.0 + - pygments >=2.11.0 + - python >=3.11 + - stack_data >=0.6.0 + - traitlets >=5.13.0 + - typing_extensions >=4.6 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/ipython?source=compressed-mapping + size: 645145 + timestamp: 1764766793792 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + sha256: 894682a42a7d659ae12878dbcb274516a7031bbea9104e92f8e88c1f2765a104 + md5: bd80ba060603cc228d9d81c257093119 + depends: + - pygments + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/ipython-pygments-lexers?source=hash-mapping + size: 13993 + timestamp: 1737123723464 +- pypi: https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl + name: itsdangerous + version: 2.2.0 + sha256: c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef + requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/linux-64/jasper-4.2.8-he3c4edf_0.conda + sha256: 0e919ec86d980901d8cbb665e91f5e9bddb5ff662178f25aed6d63f999fd9afc + md5: a04073db11c2c86c555fb088acc8f8c1 + depends: + - __glibc >=2.17,<3.0.a0 + - freeglut >=3.2.2,<4.0a0 + - libgcc >=14 + - libglu >=9.0.3,<10.0a0 + - libglu >=9.0.3,<9.1.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + license: JasPer-2.0 + purls: [] + size: 681643 + timestamp: 1754514437930 +- conda: https://conda.anaconda.org/conda-forge/noarch/jaxtyping-0.3.2-pyhd8ed1ab_0.conda + sha256: c8f51056484f23a8a2a47540155095d099983ff8bc03a9b064effa9c8157cf5c + md5: 4a3e5a04f0d9ee0d00a1cdd686e5c60f + depends: + - python >=3.10 + - wadler-lindig >=0.1.3 + license: MIT + license_family: MIT + purls: + - pkg:pypi/jaxtyping?source=hash-mapping + size: 47541 + timestamp: 1747196575946 +- conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + sha256: 92c4d217e2dc68983f724aa983cca5464dcb929c566627b26a2511159667dba8 + md5: a4f4c5dc9b80bc50e0d3dc4e6e8f1bd9 + depends: + - parso >=0.8.3,<0.9.0 + - python >=3.9 + license: Apache-2.0 AND MIT + purls: + - pkg:pypi/jedi?source=hash-mapping + size: 843646 + timestamp: 1733300981994 +- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + sha256: fc9ca7348a4f25fed2079f2153ecdcf5f9cf2a0bc36c4172420ca09e1849df7b + md5: 04558c96691bed63104678757beb4f8d + depends: + - markupsafe >=2.0 + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/jinja2?source=compressed-mapping + size: 120685 + timestamp: 1764517220861 +- conda: https://conda.anaconda.org/conda-forge/linux-64/jsoncpp-1.9.6-hf42df4d_1.conda + sha256: ed4b1878be103deb2e4c6d0eea3c9bdddfd7fc3178383927dce7578fb1063520 + md5: 7bdc5e2cc11cb0a0f795bdad9732b0f2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: LicenseRef-Public-Domain OR MIT + purls: [] + size: 169093 + timestamp: 1733780223643 +- pypi: https://files.pythonhosted.org/packages/4f/9a/ab96291470e305504aa4b7a2e0ec132e930da89eb3ca7a82fbe03167c131/jsonlines-1.2.0-py2.py3-none-any.whl + name: jsonlines + version: 1.2.0 + sha256: 0ebd5b0c3efe0d4b5018b320fb0ee1a7b680ab39f6eb853715859f818d386cc8 + requires_dist: + - six +- conda: https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-hd590300_3.conda + sha256: 2057ca87b313bde5b74b93b0e696f8faab69acd4cb0edebb78469f3f388040c0 + md5: 5aeabe88534ea4169d4c49998f293d6c + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 239104 + timestamp: 1703333860145 +- conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda + sha256: 41557eeadf641de6aeae49486cef30d02a6912d8da98585d687894afd65b356a + md5: 86d9cba083cd041bfbf242a01a7a1999 + constrains: + - sysroot_linux-64 ==2.28 + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later + license_family: GPL + purls: [] + size: 1278712 + timestamp: 1765578681495 +- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + sha256: 0960d06048a7185d3542d850986d807c6e37ca2e644342dd0c72feefcf26c2a4 + md5: b38117a3c920364aff79f870c984b4a3 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + purls: [] + size: 134088 + timestamp: 1754905959823 +- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.9-py312h0a2e395_2.conda + sha256: 170d76b7ac7197012bb048e1021482a7b2455f3592a5e8d97c96f285ebad064b + md5: 3a3004fddd39e3bb1a631b08d7045156 + depends: + - python + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/kiwisolver?source=hash-mapping + size: 77682 + timestamp: 1762488738724 +- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda + sha256: 99df692f7a8a5c27cd14b5fb1374ee55e756631b9c3d659ed3ee60830249b238 + md5: 3f43953b7d3fb3aaa1d0d0723d91e368 + depends: + - keyutils >=1.6.1,<2.0a0 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + purls: [] + size: 1370023 + timestamp: 1719463201255 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 + sha256: aad2a703b9d7b038c0f745b853c6bb5f122988fe1a7a096e0e606d9cbec4eaab + md5: a8832b479f93521a9e7b5b743803be51 + depends: + - libgcc-ng >=12 + license: LGPL-2.0-only + license_family: LGPL + purls: [] + size: 508258 + timestamp: 1664996250081 +- conda: https://conda.anaconda.org/conda-forge/noarch/lark-parser-0.12.0-pyhd8ed1ab_1.conda + sha256: 7f1ad9630a87005a90099ad3ff883ac7a3fe5e85b9eb232d1f8ad0a670059cca + md5: 222dd97cb2d5da1638de5077da60712f + depends: + - python >=3.6 + license: MIT + license_family: MIT + purls: + - pkg:pypi/lark-parser?source=hash-mapping + size: 86134 + timestamp: 1725742423890 +- pypi: https://files.pythonhosted.org/packages/83/60/d497a310bde3f01cb805196ac61b7ad6dc5dcf8dce66634dc34364b20b4f/lazy_loader-0.4-py3-none-any.whl + name: lazy-loader + version: '0.4' + sha256: 342aa8e14d543a154047afb4ba8ef17f5563baad3fc610d7b15b213b0f119efc + requires_dist: + - packaging + - importlib-metadata ; python_full_version < '3.8' + - changelist==0.5 ; extra == 'dev' + - pre-commit==3.7.0 ; extra == 'lint' + - pytest>=7.4 ; extra == 'test' + - pytest-cov>=4.1 ; extra == 'test' + requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.17-h717163a_0.conda + sha256: d6a61830a354da022eae93fa896d0991385a875c6bba53c82263a289deda9db8 + md5: 000e85703f0fd9594c81710dd5066471 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libtiff >=4.7.0,<4.8.0a0 + license: MIT + license_family: MIT + purls: [] + size: 248046 + timestamp: 1739160907615 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45-default_hbd61a6d_104.conda + sha256: 9e191baf2426a19507f1d0a17be0fdb7aa155cdf0f61d5a09c808e0a69464312 + md5: a6abd2796fc332536735f68ba23f7901 + depends: + - __glibc >=2.17,<3.0.a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - binutils_impl_linux-64 2.45 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 725545 + timestamp: 1764007826689 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda + sha256: 412381a43d5ff9bbed82cd52a0bbca5b90623f62e41007c9c42d3870c60945ff + md5: 9344155d33912347b37f0ae6c410a835 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 264243 + timestamp: 1745264221534 +- conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.26.1-hb700be7_0.conda + sha256: 070cade1dec8f1352b26282c17a21df20c5ff7b58444a686222f5073cc904b7b + md5: d5d28ca40c9aefdb7617e8cdb7c218c2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + purls: [] + size: 638588 + timestamp: 1764980459016 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250127.1-cxx17_hbbce691_0.conda + sha256: 65d5ca837c3ee67b9d769125c21dc857194d7f6181bb0e7bd98ae58597b457d0 + md5: 00290e549c5c8a32cc271020acc9ec6b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + constrains: + - abseil-cpp =20250127.1 + - libabseil-static =20250127.1=cxx17* + license: Apache-2.0 + license_family: Apache + purls: [] + size: 1325007 + timestamp: 1742369558286 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libacl-2.3.2-h0f662aa_0.conda + sha256: 1b704cf161c6f84658a7ac534555ef365ec982f23576b1c4ae4cac4baeb61685 + md5: ef8039969013acacf5b741092aef2ee7 + depends: + - attr >=2.5.1,<2.6.0a0 + - libgcc-ng >=12 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 110600 + timestamp: 1706132570609 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.4-h3f801dc_0.conda + sha256: 410ab78fe89bc869d435de04c9ffa189598ac15bb0fe1ea8ace8fb1b860a2aa3 + md5: 01ba04e414e47f95c03d6ddd81fd37be + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 36825 + timestamp: 1749993532943 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.8.1-gpl_h98cc613_100.conda + sha256: 6f35e429909b0fa6a938f8ff79e1d7000e8f15fbb37f67be6f789348fea4c602 + md5: 9de6247361e1ee216b09cfb8b856e2ee + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=13 + - liblzma >=5.8.1,<6.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - lzo >=2.10,<3.0a0 + - openssl >=3.5.0,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 883383 + timestamp: 1749385818314 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libasprintf-0.25.1-h3f43e3d_1.conda + sha256: cb728a2a95557bb6a5184be2b8be83a6f2083000d0c7eff4ad5bbe5792133541 + md5: 3b0d184bc9404516d418d4509e418bdc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: LGPL-2.1-or-later + purls: [] + size: 53582 + timestamp: 1753342901341 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libasprintf-devel-0.25.1-h3f43e3d_1.conda + sha256: 2fc95060efc3d76547b7872875af0b7212d4b1407165be11c5f830aeeb57fc3a + md5: fd9cf4a11d07f0ef3e44fc061611b1ed + depends: + - __glibc >=2.17,<3.0.a0 + - libasprintf 0.25.1 h3f43e3d_1 + - libgcc >=14 + license: LGPL-2.1-or-later + purls: [] + size: 34734 + timestamp: 1753342921605 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.3-hba53ac1_1.conda + sha256: aaf38bcb9b78963f4eb58d882a9a6a350f500cfa162bd8a80f7f215d3831afa2 + md5: f5e75fe79d446bf4975b41d375314605 + depends: + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + - harfbuzz >=10.1.0 + - freetype >=2.12.1,<3.0a0 + - fribidi >=1.0.10,<2.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - libiconv >=1.17,<2.0a0 + license: ISC + purls: [] + size: 153294 + timestamp: 1733786555242 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.3.0-h766b0b6_0.conda + sha256: 170b51a3751c2f842ff9e11d22423494ef7254b448ef2b24751256ef18aa1302 + md5: f17f2d0e5c9ad6b958547fd67b155771 + depends: + - __glibc >=2.17,<3.0.a0 + - aom >=3.9.1,<3.10.0a0 + - dav1d >=1.2.1,<1.2.2.0a0 + - libgcc >=13 + - rav1e >=0.7.1,<0.8.0a0 + - svt-av1 >=3.0.2,<3.0.3.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 140052 + timestamp: 1746836263991 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-4_h4a7cf45_openblas.conda + build_number: 4 + sha256: f35fee1eb3fe1a80b2c8473f145a830cf6f98c3b15b232b256b93d44bd9c93b3 + md5: 14ff9fdfbd8bd590fca383b995470711 + depends: + - libopenblas >=0.3.30,<0.3.31.0a0 + - libopenblas >=0.3.30,<1.0a0 + constrains: + - liblapack 3.11.0 4*_openblas + - blas 2.304 openblas + - mkl <2026 + - libcblas 3.11.0 4*_openblas + - liblapacke 3.11.0 4*_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18529 + timestamp: 1764823833499 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-1.86.0-hed09d94_4.conda + sha256: 2e9778d8c3bbc6e7698fd87a1499a68ca1f02be37f6aaefa7541eb2728ffbff3 + md5: b708abf3b6a0f3cf2f833d2edf18aff0 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - icu >=75.1,<76.0a0 + - libgcc >=14 + - liblzma >=5.8.1,<6.0a0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - boost-cpp <0.0a0 + license: BSL-1.0 + purls: [] + size: 2959099 + timestamp: 1756549412040 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-devel-1.86.0-hfcd1e18_4.conda + sha256: 2301427eb210dd3b09ae335856385b040db82ea4ef6afbc92a1aa0d4947bfa9f + md5: 89014e9211890d097ea823f9a22451b3 + depends: + - libboost 1.86.0 hed09d94_4 + - libboost-headers 1.86.0 ha770c72_4 + constrains: + - boost-cpp <0.0a0 + license: BSL-1.0 + purls: [] + size: 38690 + timestamp: 1756549508060 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-headers-1.86.0-ha770c72_4.conda + sha256: e9e3178ae39650b6f3b1c79d5380e205668628c30ac42c930b186bcd61c59aaf + md5: 1cc7035631f5e331e09e1c56b816f242 + constrains: + - boost-cpp <0.0a0 + license: BSL-1.0 + purls: [] + size: 14055378 + timestamp: 1756549426826 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-1.86.0-py312hf890105_4.conda + sha256: 4d579d579ea0644612e55fbbabc0bc5f61e38d3f435251e63064140964c2da15 + md5: ad2ca5f64b13b92c0dc928767a6b8288 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - py-boost <0.0a0 + - boost <0.0a0 + license: BSL-1.0 + purls: [] + size: 124701 + timestamp: 1756549734965 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libboost-python-devel-1.86.0-py312h26dfbe5_4.conda + sha256: 77b5e1f0a12194d00b53e18cf65cb968cf802b6320270cbfcba4244f84883728 + md5: 9fec27d6d17440a0e48f93ab84c9c137 + depends: + - libboost-devel 1.86.0 hfcd1e18_4 + - libboost-python 1.86.0 py312hf890105_4 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - py-boost <0.0a0 + - boost <0.0a0 + license: BSL-1.0 + purls: [] + size: 18217 + timestamp: 1756549919306 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda + sha256: 318f36bd49ca8ad85e6478bd8506c88d82454cc008c1ac1c6bf00a3c42fa610e + md5: 72c8fd1af66bd67bf580645b426513ed + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 79965 + timestamp: 1764017188531 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda + sha256: 12fff21d38f98bc446d82baa890e01fd82e3b750378fedc720ff93522ffb752b + md5: 366b40a69f0ad6072561c1d09301c886 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 34632 + timestamp: 1764017199083 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda + sha256: a0c15c79997820bbd3fbc8ecf146f4fe0eca36cc60b62b63ac6cf78857f1dd0d + md5: 4ffbb341c8b616aa2494b6afb26a0c5f + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 298378 + timestamp: 1764017210931 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcamera-0.5.0-py312_h05640e0_101_upstream.conda + build_number: 101 + sha256: fc07d9dbed0056cc72ac75c730c693ce3443498832ea190ff2351876db8e58c7 + md5: 7282a8ca186cdfb670429c2e34535b34 + depends: + - __glibc >=2.17,<3.0.a0 + - gst-plugins-base >=1.24.11,<1.25.0a0 + - gstreamer >=1.24.11,<1.25.0a0 + - libboost >=1.86.0,<1.87.0a0 + - libdrm >=2.4.125,<2.5.0a0 + - libevent >=2.1.12,<2.1.13.0a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libglib >=2.84.2,<3.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - libpisp >=1.2.1,<1.2.2.0a0 + - libstdcxx >=14 + - libtiff >=4.7.0,<4.8.0a0 + - libudev1 >=257.7 + - libunwind >=1.8.2,<1.9.0a0 + - openssl >=3.5.1,<4.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - qt6-main >=6.9.1,<6.10.0a0 + - sdl2 >=2.30.10,<3.0a0 + - yaml >=0.2.5,<0.3.0a0 + license: | + LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND MIT AND Apache-2.0 AND CC0-1.0 AND CC-BY-SA-4.0 AND CC-BY-4.0 + purls: [] + size: 1357696 + timestamp: 1752310586722 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.76-h0b2e76d_0.conda + sha256: a946b61be1af15ff08c7722e9bac0fab446d8b9896c9f0f35657dfcf887fda8a + md5: 0f7f0c878c8dceb3b9ec67f5c06d6057 + depends: + - __glibc >=2.17,<3.0.a0 + - attr >=2.5.1,<2.6.0a0 + - libgcc >=13 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 121852 + timestamp: 1744577167992 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-4_h0358290_openblas.conda + build_number: 4 + sha256: 7abc88e2fdccddab27d2a889b9c9063df84a05766cc24828c9b5ca879f25c92c + md5: 25f5e5af61cee1ffedd9b4c9947d3af8 + depends: + - libblas 3.11.0 4_h4a7cf45_openblas + constrains: + - liblapack 3.11.0 4*_openblas + - blas 2.304 openblas + - liblapacke 3.11.0 4*_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18521 + timestamp: 1764823852735 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libccd-double-2.1-h59595ed_3.conda + sha256: 4695ce68eda595b4f53146bea1096a9f2e0d33290618ba83a246b5ed8871ebc9 + md5: 6a3d962d34385e0a511b859d679f6ea2 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + constrains: + - libccd <1 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 36171 + timestamp: 1687341825064 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp20.1-20.1.8-default_h99862b1_5.conda + sha256: b9f0e167cdf5cbe076231788fcb3affe25914534d84ab249258161b693c4cfd2 + md5: 33acc83688f092f96ea2ead08e3b4dcd + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libllvm20 >=20.1.8,<20.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 21305254 + timestamp: 1764393708507 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.0-default_h99862b1_1.conda + sha256: efe9f1363a49668d10aacdb8be650433fab659f05ed6cc2b9da00e3eb7eaf602 + md5: d599b346638b9216c1e8f9146713df05 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libllvm21 >=21.1.0,<21.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 21131028 + timestamp: 1757383135034 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp21.1-21.1.7-default_h99862b1_1.conda + sha256: ce8b8464b1230dd93d2b5a2646d2c80639774c9e781097f041581c07b83d4795 + md5: d3042ebdaacc689fd1daa701885fc96c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libllvm21 >=21.1.7,<21.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 21055642 + timestamp: 1764816319608 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-21.1.0-default_h746c552_1.conda + sha256: e6c0123b888d6abf03c66c52ed89f9de1798dde930c5fd558774f26e994afbc6 + md5: 327c78a8ce710782425a89df851392f7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libllvm21 >=21.1.0,<21.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 12358102 + timestamp: 1757383373129 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-hb8b1518_5.conda + sha256: cb83980c57e311783ee831832eb2c20ecb41e7dee6e86e8b70b8cef0e43eab55 + md5: d4a250da4737ee127fb1fa6452a9002e + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 4523621 + timestamp: 1749905341688 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.17.0-h4e3cde8_1.conda + sha256: 2d7be2fe0f58a0945692abee7bb909f8b19284b518d958747e5ff51d0655c303 + md5: 117499f93e892ea1e57fdca16c2e8351 + depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=14 + - libnghttp2 >=1.67.0,<2.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.4,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: curl + license_family: MIT + purls: [] + size: 459417 + timestamp: 1765379027010 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.24-h86f0d12_0.conda + sha256: 8420748ea1cc5f18ecc5068b4f24c7a023cc9b20971c99c824ba10641fb95ddf + md5: 64f0c503da58ec25ebd359e4d990afa8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 72573 + timestamp: 1747040452262 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda + sha256: c076a213bd3676cc1ef22eeff91588826273513ccc6040d9bea68bccdc849501 + md5: 9314bc5a1fe7d1044dc9dfd3ef400535 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpciaccess >=0.18,<0.19.0a0 + license: MIT + license_family: MIT + purls: [] + size: 310785 + timestamp: 1757212153962 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + sha256: d789471216e7aba3c184cd054ed61ce3f6dac6f87a50ec69291b9297f8c18724 + md5: c277e0a4d549b03ac1e9d6cbbe3d017b + depends: + - ncurses + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - ncurses >=6.5,<7.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 134676 + timestamp: 1738479519902 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda + sha256: 7fd5408d359d05a969133e47af580183fbf38e2235b562193d427bb9dad79723 + md5: c151d5eb730e9b7480e6d48c0fc44048 + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + purls: [] + size: 44840 + timestamp: 1731330973553 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_2.conda + sha256: f6e7095260305dc05238062142fb8db4b940346329b5b54894a90610afa6749f + md5: b513eb83b3137eca1192c34bf4f013a7 + depends: + - __glibc >=2.17,<3.0.a0 + - libegl 1.7.0 ha4b6fd6_2 + - libgl-devel 1.7.0 ha4b6fd6_2 + - xorg-libx11 + license: LicenseRef-libglvnd + purls: [] + size: 30380 + timestamp: 1731331017249 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4 + md5: 172bf1cd1ff8629f2b1179945ed45055 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 112766 + timestamp: 1702146165126 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + sha256: 2e14399d81fb348e9d231a82ca4d816bf855206923759b69ad006ba482764131 + md5: a1cfcc585f0c42bf8d5546bb1dfb668d + depends: + - libgcc-ng >=12 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 427426 + timestamp: 1685725977222 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.3-hecca717_0.conda + sha256: 1e1b08f6211629cbc2efe7a5bca5953f8f6b3cae0eeb04ca4dacee1bd4e2db2f + md5: 8b09ae86839581147ef2e5c5e229d164 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - expat 2.7.3.* + license: MIT + license_family: MIT + purls: [] + size: 76643 + timestamp: 1763549731408 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda + sha256: 764432d32db45466e87f10621db5b74363a9f847d2b8b1f9743746cd160f06ab + md5: ede4673863426c0883c0063d853bbd85 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 57433 + timestamp: 1743434498161 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + sha256: 25cbdfa65580cfab1b8d15ee90b4c9f1e0d72128f1661449c9a999d341377d54 + md5: 35f29eec58405aaf55e01cb470d8c26a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + size: 57821 + timestamp: 1760295480630 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda + sha256: e755e234236bdda3d265ae82e5b0581d259a9279e3e5b31d745dc43251ad64fb + md5: 47595b9d53054907a00d95e4d47af1d6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - libogg >=1.3.5,<1.4.0a0 + - libstdcxx >=14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 424563 + timestamp: 1764526740626 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.1-ha770c72_0.conda + sha256: 4641d37faeb97cf8a121efafd6afd040904d4bca8c46798122f417c31d5dfbec + md5: f4084e4e6577797150f9b04a4560ceb0 + depends: + - libfreetype6 >=2.14.1 + license: GPL-2.0-only OR FTL + purls: [] + size: 7664 + timestamp: 1757945417134 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.1-h73754d4_0.conda + sha256: 4a7af818a3179fafb6c91111752954e29d3a2a950259c14a2fc7ba40a8b03652 + md5: 8e7251989bca326a28f4a5ffbd74557a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpng >=1.6.50,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + constrains: + - freetype >=2.14.1 + license: GPL-2.0-only OR FTL + purls: [] + size: 386739 + timestamp: 1757945416744 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_16.conda + sha256: 6eed58051c2e12b804d53ceff5994a350c61baf117ec83f5f10c953a3f311451 + md5: 6d0363467e6ed84f11435eb309f2ff06 + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + constrains: + - libgcc-ng ==15.2.0=*_16 + - libgomp 15.2.0 he0feb66_16 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 1042798 + timestamp: 1765256792743 +- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-14.3.0-hf649bbc_116.conda + sha256: 812f2b3f523fc0aabaf4e5e1b44a029c5205671179e574dd32dc57b65e072e0f + md5: 0141e19cb0cd5602c49c84f920e81921 + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 3082749 + timestamp: 1765255729247 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_16.conda + sha256: 5f07f9317f596a201cc6e095e5fc92621afca64829785e483738d935f8cab361 + md5: 5a68259fac2da8f2ee6f7bfe49c9eb8b + depends: + - libgcc 15.2.0 he0feb66_16 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27256 + timestamp: 1765256804124 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h6f5c62b_11.conda + sha256: 19e5be91445db119152217e8e8eec4fd0499d854acc7d8062044fb55a70971cd + md5: 68fc66282364981589ef36868b1a7c78 + depends: + - __glibc >=2.17,<3.0.a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - icu >=75.1,<76.0a0 + - libexpat >=2.6.4,<3.0a0 + - libgcc >=13 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libpng >=1.6.45,<1.7.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.5.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + license: GD + license_family: BSD + purls: [] + size: 177082 + timestamp: 1737548051015 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgettextpo-0.25.1-h3f43e3d_1.conda + sha256: 50a9e9815cf3f5bce1b8c5161c0899cc5b6c6052d6d73a4c27f749119e607100 + md5: 2f4de899028319b27eb7a4023be5dfd2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + license: GPL-3.0-or-later + license_family: GPL + purls: [] + size: 188293 + timestamp: 1753342911214 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgettextpo-devel-0.25.1-h3f43e3d_1.conda + sha256: c7ea10326fd450a2a21955987db09dde78c99956a91f6f05386756a7bfe7cc04 + md5: 3f7a43b3160ec0345c9535a9f0d7908e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgettextpo 0.25.1 h3f43e3d_1 + - libiconv >=1.18,<2.0a0 + license: GPL-3.0-or-later + license_family: GPL + purls: [] + size: 37407 + timestamp: 1753342931100 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_16.conda + sha256: 8a7b01e1ee1c462ad243524d76099e7174ebdd94ff045fe3e9b1e58db196463b + md5: 40d9b534410403c821ff64f00d0adc22 + depends: + - libgfortran5 15.2.0 h68bc16d_16 + constrains: + - libgfortran-ng ==15.2.0=*_16 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27215 + timestamp: 1765256845586 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_16.conda + sha256: d0e974ebc937c67ae37f07a28edace978e01dc0f44ee02f29ab8a16004b8148b + md5: 39183d4e0c05609fd65f130633194e37 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=15.2.0 + constrains: + - libgfortran 15.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 2480559 + timestamp: 1765256819588 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda + sha256: dc2752241fa3d9e40ce552c1942d0a4b5eeb93740c9723873f6fcf8d39ef8d2d + md5: 928b8be80851f5d8ffb016f9c81dae7a + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + - libglx 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + purls: [] + size: 134712 + timestamp: 1731330998354 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_2.conda + sha256: e281356c0975751f478c53e14f3efea6cd1e23c3069406d10708d6c409525260 + md5: 53e7cbb2beb03d69a478631e23e340e9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgl 1.7.0 ha4b6fd6_2 + - libglx-devel 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + purls: [] + size: 113911 + timestamp: 1731331012126 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.0-h1fed272_0.conda + sha256: 33336bd55981be938f4823db74291e1323454491623de0be61ecbe6cf3a4619c + md5: b8e4c93f4ab70c3b6f6499299627dbdc + depends: + - __glibc >=2.17,<3.0.a0 + - libffi >=3.4.6,<3.5.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pcre2 >=10.46,<10.47.0a0 + constrains: + - glib 2.86.0 *_0 + license: LGPL-2.1-or-later + purls: [] + size: 3978602 + timestamp: 1757403291664 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglu-9.0.3-h5888daf_1.conda + sha256: a0105eb88f76073bbb30169312e797ed5449ebb4e964a756104d6e54633d17ef + md5: 8422fcc9e5e172c91e99aef703b3ce65 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libopengl >=1.7.0,<2.0a0 + - libstdcxx >=13 + license: SGI-B-2.0 + purls: [] + size: 325262 + timestamp: 1748692137626 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda + sha256: 1175f8a7a0c68b7f81962699751bb6574e6f07db4c9f72825f978e3016f46850 + md5: 434ca7e50e40f4918ab701e3facd59a0 + depends: + - __glibc >=2.17,<3.0.a0 + license: LicenseRef-libglvnd + purls: [] + size: 132463 + timestamp: 1731330968309 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda + sha256: 2d35a679624a93ce5b3e9dd301fff92343db609b79f0363e6d0ceb3a6478bfa7 + md5: c8013e438185f33b13814c5c488acd5c + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + - xorg-libx11 >=1.8.10,<2.0a0 + license: LicenseRef-libglvnd + purls: [] + size: 75504 + timestamp: 1731330988898 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_2.conda + sha256: 0a930e0148ab6e61089bbcdba25a2e17ee383e7de82e7af10cc5c12c82c580f3 + md5: 27ac5ae872a21375d980bd4a6f99edf3 + depends: + - __glibc >=2.17,<3.0.a0 + - libglx 1.7.0 ha4b6fd6_2 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-xorgproto + license: LicenseRef-libglvnd + purls: [] + size: 26388 + timestamp: 1731331003255 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_16.conda + sha256: 5b3e5e4e9270ecfcd48f47e3a68f037f5ab0f529ccb223e8e5d5ac75a58fc687 + md5: 26c46f90d0e727e95c6c9498a33a09f3 + depends: + - __glibc >=2.17,<3.0.a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 603284 + timestamp: 1765256703881 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-cmake3-3.5.5-h54a6638_0.conda + sha256: 6092ccfec5a52200a2dd5cfa33f67e7c75d473dbb1673baf145a56456589196f + md5: 046a934130154ef383da67712d179235 + depends: + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 217564 + timestamp: 1759138411890 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-cmake4-4.2.0-h54a6638_1.conda + sha256: f306eba52c454fab2d6435959fda20a9d9062c86e918a79edd2afd2a82885f9c + md5: c6600ee72e2cadd45348bc7b99e8f736 + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 217934 + timestamp: 1759138566319 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-math7-7.5.2-h54a6638_2.conda + sha256: fce7eb4797a025c4c61f9502372801bba87ffddc39c68dfbd09f25f30e282c45 + md5: 27dd93bf04ea4699afedf5ec38758c55 + depends: + - eigen + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libgz-cmake4 >=4.2.0,<5.0a0 + - libgz-utils2 >=2.2.1,<3.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 295819 + timestamp: 1759147748392 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-tools-2.0.3-h54a6638_1.conda + sha256: 11b948f8379ddf26e045ddbcca6f884a537ec2afc13986e9cbd19518855b2c6d + md5: 94785d73f138a7e56359e0535179953a + depends: + - ruby + - elfutils + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 49853 + timestamp: 1759148392717 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-tools2-2.0.3-h3f54f1a_1.conda + sha256: 1f7afd70cbe30ecee83ebc331b671f2687a0860d473e52159c31f0d144f1f96d + md5: f4166655927e17784cc09ff4e6ebffc1 + depends: + - libgz-tools ==2.0.3 h54a6638_1 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 7831 + timestamp: 1759148392717 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgz-utils2-2.2.1-h54a6638_1.conda + sha256: bca92e3b0a51b5ab8184bd85f06cc98717b44e7e69c97a0d1045308ecaca507a + md5: caa0101c91c9fda4d7f438204f6c3eab + depends: + - cli11 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgz-cmake3 >=3.5.5,<4.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 63327 + timestamp: 1760392404826 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_h3d81e11_1000.conda + sha256: eecaf76fdfc085d8fed4583b533c10cb7f4a6304be56031c43a107e01a56b7e2 + md5: d821210ab60be56dd27b5525ed18366d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 >=2.13.8,<2.14.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 2450422 + timestamp: 1752761850672 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + sha256: c467851a7312765447155e071752d7bf9bf44d610a5687e32706f480aad2833f + md5: 915f5995e94f60e9a4826e0b0920ee88 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: LGPL-2.1-only + purls: [] + size: 790176 + timestamp: 1754908768807 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.8-hfac485b_1.conda + sha256: cc38c900b9a20fe75e61cbb594e749c57a06d96510722f5ddfa309682062b065 + md5: 842a81de672ddcf476337c8bde3cad33 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libunistring >=0,<1.0a0 + license: LGPL-2.0-only + license_family: LGPL + purls: [] + size: 139036 + timestamp: 1760385590993 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda + sha256: cc9aba923eea0af8e30e0f94f2ad7156e2984d80d1e8e7fe6be5a1f257f0eb32 + md5: 8397539e3a0bbd1695584fb4f927485a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + purls: [] + size: 633710 + timestamp: 1762094827865 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-4_h47877c9_openblas.conda + build_number: 4 + sha256: 5a6ed95bf093d709c8ba8373890773b912767eafdd2e8e4ad0fa6413d13ae3c9 + md5: 8ba8431802764597f400ee3e99026367 + depends: + - libblas 3.11.0 4_h4a7cf45_openblas + constrains: + - blas 2.304 openblas + - libcblas 3.11.0 4*_openblas + - liblapacke 3.11.0 4*_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18533 + timestamp: 1764823871307 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.11.0-4_h6ae95b6_openblas.conda + build_number: 4 + sha256: 9d9eee5540f973367755dd6579c8e7ad8710408345732e11462f9c4830f6974a + md5: 91ee3fce1a4fb8495b9aa110de74d926 + depends: + - libblas 3.11.0 4_h4a7cf45_openblas + - libcblas 3.11.0 4_h0358290_openblas + - liblapack 3.11.0 4_h47877c9_openblas + constrains: + - blas 2.304 openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18545 + timestamp: 1764823889467 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm20-20.1.8-hecd9e04_0.conda + sha256: a6fddc510de09075f2b77735c64c7b9334cf5a26900da351779b275d9f9e55e1 + md5: 59a7b967b6ef5d63029b1712f8dcf661 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 43987020 + timestamp: 1752141980723 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.0-hecd9e04_0.conda + sha256: d190f1bf322149321890908a534441ca2213a9a96c59819da6cabf2c5b474115 + md5: 9ad637a7ac380c442be142dfb0b1b955 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 44363060 + timestamp: 1756291822911 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm21-21.1.7-hf7376ad_0.conda + sha256: afe5c5cfc90dc8b5b394e21cf02188394e36766119ad5d78a1d8619d011bbfb1 + md5: 27dc1a582b442f24979f2a28641fe478 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 44320825 + timestamp: 1764711528746 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda + sha256: f2591c0069447bbe28d4d696b7fcb0c5bd0b4ac582769b89addbcf26fb3430d8 + md5: 1a580f7796c7bf6393fddb8bbbde58dc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - xz 5.8.1.* + license: 0BSD + purls: [] + size: 112894 + timestamp: 1749230047870 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.8.1-hb9d3cd8_2.conda + sha256: 329e66330a8f9cbb6a8d5995005478188eb4ba8a6b6391affa849744f4968492 + md5: f61edadbb301530bd65a32646bd81552 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - liblzma 5.8.1 hb9d3cd8_2 + license: 0BSD + purls: [] + size: 439868 + timestamp: 1749230061968 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libmicrohttpd-1.0.2-hc2fc477_0.conda + sha256: 6b21e0f3d1577bbe10f27003212f0b8c9a881d99faa01a83476311730aed5c9d + md5: a02cb80c806b7b768e1d60170f63375d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - gnutls >=3.8.9,<3.9.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 286166 + timestamp: 1752566614604 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnetcdf-4.9.2-nompi_h21f7587_118.conda + sha256: ad260036929255d8089f748db0dce193d0d588ad7f88c06027dd9d8662cc1cc6 + md5: 5f05af73150f62adab1492ab2d18d573 + depends: + - __glibc >=2.17,<3.0.a0 + - blosc >=1.21.6,<2.0a0 + - bzip2 >=1.0.8,<2.0a0 + - hdf4 >=4.2.15,<4.2.16.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - libaec >=1.1.4,<2.0a0 + - libcurl >=8.14.1,<9.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 >=2.13.8,<2.14.0a0 + - libzip >=1.11.2,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.1,<4.0a0 + - zlib + - zstd >=1.5.7,<1.6.0a0 + license: MIT + license_family: MIT + purls: [] + size: 844115 + timestamp: 1754055003755 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.67.0-had1ee68_0.conda + sha256: a4a7dab8db4dc81c736e9a9b42bdfd97b087816e029e221380511960ac46c690 + md5: b499ce4b026493a13774bcf0f4c33849 + depends: + - __glibc >=2.17,<3.0.a0 + - c-ares >=1.34.5,<2.0a0 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.2,<4.0a0 + license: MIT + license_family: MIT + purls: [] + size: 666600 + timestamp: 1756834976695 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + sha256: 927fe72b054277cde6cb82597d0fcf6baf127dcbce2e0a9d8925a68f1265eef5 + md5: d864d34357c3b65a4b731f78c0801dc4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-only + license_family: GPL + purls: [] + size: 33731 + timestamp: 1750274110928 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda + sha256: 3b3f19ced060013c2dd99d9d46403be6d319d4601814c772a3472fe2955612b0 + md5: 7c7927b404672409d9917d49bff5f2d6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + purls: [] + size: 33418 + timestamp: 1734670021371 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnuma-2.0.18-hb9d3cd8_3.conda + sha256: eb130af5be94c7db5e3448c7f254f8e066e62d1b76cd1c6c7c33f3565a55a685 + md5: 20ab6b90150325f1af7ca96bffafde63 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-only + purls: [] + size: 44030 + timestamp: 1749573854077 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libode-0.16.5-h45cc771_0.conda + sha256: 13e889f327fcf1b0048ebb703065243935228eb07bb2bea17d979261d8bfa607 + md5: 53ee55db59cc0d77eeedb865dec88611 + depends: + - __glibc >=2.17,<3.0.a0 + - libccd-double >=2.1,<2.2.0a0 + - libgcc >=13 + - libstdcxx >=13 + - pthread-stubs + - python_abi 3.12.* *_cp312 + license: LGPL-2.1-or-later OR BSD-4-Clause + purls: [] + size: 504582 + timestamp: 1731154648345 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda + sha256: ffb066ddf2e76953f92e06677021c73c85536098f1c21fcd15360dbc859e22e4 + md5: 68e52064ed3897463c0e958ab5c8f91b + depends: + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 218500 + timestamp: 1745825989535 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_4.conda + sha256: 199d79c237afb0d4780ccd2fbf829cea80743df60df4705202558675e07dd2c5 + md5: be43915efc66345cccb3c310b6ed0374 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + constrains: + - openblas >=0.3.30,<0.3.31.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 5927939 + timestamp: 1763114673331 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopencv-4.11.0-qt6_py312h4381209_609.conda + sha256: 5e2704c26aad6f87d469a653153cf9c23d5e5d5fc4c8c1560bbdd40f2a836abb + md5: 89942830561713bedc985da901b0c85e + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + - ffmpeg >=7.1.1,<8.0a0 + - harfbuzz >=11.0.1 + - hdf5 >=1.14.6,<1.14.7.0a0 + - jasper >=4.2.5,<5.0a0 + - libasprintf >=0.24.1,<1.0a0 + - libavif16 >=1.3.0,<2.0a0 + - libcblas >=3.9.0,<4.0a0 + - libegl >=1.7.0,<2.0a0 + - libexpat >=2.7.0,<3.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libgcc >=13 + - libgettextpo >=0.24.1,<1.0a0 + - libgl >=1.7.0,<2.0a0 + - libglib >=2.84.2,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - liblapacke >=3.9.0,<4.0a0 + - libopenvino >=2025.0.0,<2025.0.1.0a0 + - libopenvino-auto-batch-plugin >=2025.0.0,<2025.0.1.0a0 + - libopenvino-auto-plugin >=2025.0.0,<2025.0.1.0a0 + - libopenvino-hetero-plugin >=2025.0.0,<2025.0.1.0a0 + - libopenvino-intel-cpu-plugin >=2025.0.0,<2025.0.1.0a0 + - libopenvino-intel-gpu-plugin >=2025.0.0,<2025.0.1.0a0 + - libopenvino-intel-npu-plugin >=2025.0.0,<2025.0.1.0a0 + - libopenvino-ir-frontend >=2025.0.0,<2025.0.1.0a0 + - libopenvino-onnx-frontend >=2025.0.0,<2025.0.1.0a0 + - libopenvino-paddle-frontend >=2025.0.0,<2025.0.1.0a0 + - libopenvino-pytorch-frontend >=2025.0.0,<2025.0.1.0a0 + - libopenvino-tensorflow-frontend >=2025.0.0,<2025.0.1.0a0 + - libopenvino-tensorflow-lite-frontend >=2025.0.0,<2025.0.1.0a0 + - libpng >=1.6.49,<1.7.0a0 + - libprotobuf >=5.29.3,<5.29.4.0a0 + - libstdcxx >=13 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.5.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.23,<3 + - openexr >=3.3.4,<3.4.0a0 + - qt6-main >=6.9.1,<6.10.0a0 + constrains: + - imath<3.2.0a0 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/opencv-python?source=hash-mapping + - pkg:pypi/opencv-python-headless?source=hash-mapping + size: 30775780 + timestamp: 1750898820648 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_2.conda + sha256: 215086c108d80349e96051ad14131b751d17af3ed2cb5a34edd62fa89bfe8ead + md5: 7df50d44d4a14d6c31a2c54f2cd92157 + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + purls: [] + size: 50757 + timestamp: 1731330993524 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-devel-1.7.0-ha4b6fd6_2.conda + sha256: b347798eba61ce8d7a65372cf0cf6066c328e5717ab69ae251c6822e6f664f23 + md5: 75b039b1e51525f4572f828be8441970 + depends: + - __glibc >=2.17,<3.0.a0 + - libopengl 1.7.0 ha4b6fd6_2 + license: LicenseRef-libglvnd + purls: [] + size: 15460 + timestamp: 1731331007610 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2025.0.0-hdc3f47d_3.conda + sha256: fe0e184141a3563d4c97134a1b7a60c66302cf0e2692d15d49c41382cdf61648 + md5: 3a88245058baa9d18ef4ea6df18ff63e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2021.13.0 + purls: [] + size: 5698665 + timestamp: 1742046924817 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2025.0.0-h4d9b6c2_3.conda + sha256: b4c61b3e8fc4d7090a94e3fd3936faf347eea07cac993417153dd99bd293c08d + md5: 2e349bafc75b212879bf70ef80e0d08c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libopenvino 2025.0.0 hdc3f47d_3 + - libstdcxx >=13 + - tbb >=2021.13.0 + purls: [] + size: 111823 + timestamp: 1742046947746 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2025.0.0-h4d9b6c2_3.conda + sha256: ae72903e0718897b85aae2110d9bb1bfa9490b0496522e3735b65c771e7da0ea + md5: 74d074a3ac7af3378e16bfa6ff9cba30 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libopenvino 2025.0.0 hdc3f47d_3 + - libstdcxx >=13 + - tbb >=2021.13.0 + purls: [] + size: 238973 + timestamp: 1742046961091 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2025.0.0-h981d57b_3.conda + sha256: b2c9ef97907f9c77817290bfb898897b476cc7ccf1737f0b1254437dda3d4903 + md5: 21f7997d68220d7356c1f80dc500bfad + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libopenvino 2025.0.0 hdc3f47d_3 + - libstdcxx >=13 + - pugixml >=1.15,<1.16.0a0 + purls: [] + size: 196083 + timestamp: 1742046974588 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2025.0.0-hdc3f47d_3.conda + sha256: 9f6613906386a0c679c9a683ca97a5a2070111d9ada4f115c1806d921313e32d + md5: 3385f38d15c7aebcc3b453e4d8dfb0fe + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libopenvino 2025.0.0 hdc3f47d_3 + - libstdcxx >=13 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2021.13.0 + purls: [] + size: 12419296 + timestamp: 1742046988488 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2025.0.0-hdc3f47d_3.conda + sha256: 8430f87a3cc65d3ef1ec8f9bfa990f6fb635601ad34ce08d70209099ff03f39c + md5: f2d50e234edd843d9d695f7da34c7e96 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libopenvino 2025.0.0 hdc3f47d_3 + - libstdcxx >=13 + - ocl-icd >=2.3.2,<3.0a0 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2021.13.0 + purls: [] + size: 10119530 + timestamp: 1742047030958 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2025.0.0-hdc3f47d_3.conda + sha256: 37ec3e304bf14d2d7b7781c4b6a8b3a54deae90bc7275f6ae160589ef219bcef + md5: f632cad865436394eebd41c3afa2cda3 + depends: + - __glibc >=2.17,<3.0.a0 + - level-zero >=1.21.2,<2.0a0 + - libgcc >=13 + - libopenvino 2025.0.0 hdc3f47d_3 + - libstdcxx >=13 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2021.13.0 + purls: [] + size: 1092544 + timestamp: 1742047065987 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2025.0.0-h981d57b_3.conda + sha256: 268716b5c1858c1fddd51d63c7fcd7f3544ef04f221371ab6a2f9c579ca001e4 + md5: 94f25cc6fe70f507897abb8e61603023 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libopenvino 2025.0.0 hdc3f47d_3 + - libstdcxx >=13 + - pugixml >=1.15,<1.16.0a0 + purls: [] + size: 206013 + timestamp: 1742047080381 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2025.0.0-h0e684df_3.conda + sha256: 5ce66c01f6ea365a497f488e8eecea8930b6a016f9809db7f33b8a1ebbe5644e + md5: 7cd3272c3171c1d43ed1c2b3d6795269 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250127.0,<20250128.0a0 + - libgcc >=13 + - libopenvino 2025.0.0 hdc3f47d_3 + - libprotobuf >=5.29.3,<5.29.4.0a0 + - libstdcxx >=13 + purls: [] + size: 1668681 + timestamp: 1742047094228 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2025.0.0-h0e684df_3.conda + sha256: 826507ac4ea2d496bdbec02dd9e3c8ed2eab253daa9d7f9119a8bc05c516d026 + md5: 5b66cbc9965b429922b8e69cd4e464d7 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250127.0,<20250128.0a0 + - libgcc >=13 + - libopenvino 2025.0.0 hdc3f47d_3 + - libprotobuf >=5.29.3,<5.29.4.0a0 + - libstdcxx >=13 + purls: [] + size: 690226 + timestamp: 1742047109935 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2025.0.0-h5888daf_3.conda + sha256: fda07e70a23aac329be68ae488b790f548d687807f0e47bae7129df34f0adb5b + md5: a6ece96eff7f60b2559ba699156b0edf + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libopenvino 2025.0.0 hdc3f47d_3 + - libstdcxx >=13 + purls: [] + size: 1123885 + timestamp: 1742047125703 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2025.0.0-h684f15b_3.conda + sha256: e02990fccd4676e362a026acff3d706b5839ebf6ae681d56a2903f62a63e03ef + md5: e1aeb108f4731db088782c8a20abf40a + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250127.0,<20250128.0a0 + - libgcc >=13 + - libopenvino 2025.0.0 hdc3f47d_3 + - libprotobuf >=5.29.3,<5.29.4.0a0 + - libstdcxx >=13 + - snappy >=1.2.1,<1.3.0a0 + purls: [] + size: 1313789 + timestamp: 1742047140816 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2025.0.0-h5888daf_3.conda + sha256: 236569eb4d472d75412a3384c2aad92b006afed721feec23ca08730a25932da7 + md5: a6fe9c25b834988ac88651aff731dd31 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libopenvino 2025.0.0 hdc3f47d_3 + - libstdcxx >=13 + purls: [] + size: 488142 + timestamp: 1742047155790 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.5.2-hd0c01bc_0.conda + sha256: 786d43678d6d1dc5f88a6bad2d02830cfd5a0184e84a8caa45694049f0e3ea5f + md5: b64523fb87ac6f87f0790f324ad43046 + depends: + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 312472 + timestamp: 1744330953241 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda + sha256: 0bd91de9b447a2991e666f284ae8c722ffb1d84acb594dbd0c031bd656fa32b2 + md5: 70e3400cbbfa03e96dcde7fc13e38c7b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 28424 + timestamp: 1749901812541 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpisp-1.2.1-h9ab20c4_0.conda + sha256: 0947b4fa016efb2d3c41766e3bfad3a1b8c838d3896759aa2fa815e38ef9ac8b + md5: 416d83881dcf5d9e0a1599e3598c6a95 + depends: + - __glibc >=2.28,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 217775 + timestamp: 1745991450012 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.53-h421ea60_0.conda + sha256: 8acdeb9a7e3d2630176ba8e947caf6bf4985a5148dec69b801e5eb797856688b + md5: 00d4e66b1f746cb14944cad23fffb405 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 + license: zlib-acknowledgement + purls: [] + size: 317748 + timestamp: 1764981060755 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-17.7-h5c52fec_1.conda + sha256: 06a8ace6cc5ee47b85a5e64fad621e5912a12a0202398f54f302eb4e8b9db1fd + md5: a4769024afeab4b32ac8167c2f92c7ac + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=14 + - openldap >=2.6.10,<2.7.0a0 + - openssl >=3.5.4,<4.0a0 + license: PostgreSQL + purls: [] + size: 2649881 + timestamp: 1763565297202 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-5.29.3-h7460b1f_3.conda + sha256: 14450a1cd316fe639dd0a5e040f6f31c374537141b7b931bf8afbfd5a04d9843 + md5: 63c1256f51815217d296afa24af6c754 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250127.1,<20250128.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 3558270 + timestamp: 1764617272253 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libraw-0.21.4-h9969a89_0.conda + sha256: 96bbd009b3d7f82e9af37e980af9285431ecd5c6f098a0f1afe0021d8d02b88a + md5: e4fdd13a67d5b30459463e925b9e7e1f + depends: + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=13 + - libgcc >=13 + - _openmp_mutex >=4.5 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - jasper >=4.2.5,<5.0a0 + - lcms2 >=2.17,<3.0a0 + license: LGPL-2.1-only + purls: [] + size: 704665 + timestamp: 1744641234631 +- conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.58.4-h49af25d_2.conda + sha256: 475013475a3209c24a82f9e80c545d56ccca2fa04df85952852f3d73caa38ff9 + md5: b9846db0abffb09847e2cb0fec4b4db6 + depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.2,<2.0a0 + - freetype >=2.12.1,<3.0a0 + - gdk-pixbuf >=2.42.12,<3.0a0 + - harfbuzz >=10.1.0 + - libgcc >=13 + - libglib >=2.82.2,<3.0a0 + - libpng >=1.6.44,<1.7.0a0 + - libxml2 >=2.13.5,<2.14.0a0 + - pango >=1.54.0,<2.0a0 + constrains: + - __glibc >=2.17 + license: LGPL-2.1-or-later + purls: [] + size: 6342757 + timestamp: 1734902068235 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-14.3.0-h8f1669f_16.conda + sha256: 21765d3fa780eb98055a9f40e9d4defa1eaffe254ee271a3e49555a89e37d6c9 + md5: 0617b134e4dc4474c1038707499f7eed + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14.3.0 + - libstdcxx >=14.3.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 7946383 + timestamp: 1765255939536 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsdformat14-14.8.0-py312h1f51ce1_2.conda + sha256: 41a56a57a0bb78429a5ad571226dbe4cffed586446d11ad30cc4173f89c1cee8 + md5: 6dc0e6dc04a710e77bfe2865dad3f3b8 + depends: + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - urdfdom >=4.0.1,<4.1.0a0 + - libgz-utils2 >=2.2.1,<3.0a0 + - libgz-math7 >=7.5.2,<8.0a0 + - tinyxml2 >=11.0.0,<11.1.0a0 + - libgz-cmake3 >=3.5.5,<4.0a0 + - libgz-tools >=2.0.3,<3.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 1236819 + timestamp: 1759339825312 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda + sha256: 57cb5f92110324c04498b96563211a1bca6a74b2918b1e8df578bfed03cc32e4 + md5: 067590f061c9f6ea7e61e3b2112ed6b3 + depends: + - __glibc >=2.17,<3.0.a0 + - lame >=3.100,<3.101.0a0 + - libflac >=1.5.0,<1.6.0a0 + - libgcc >=14 + - libogg >=1.3.5,<1.4.0a0 + - libopus >=1.5.2,<2.0a0 + - libstdcxx >=14 + - libvorbis >=1.3.7,<1.4.0a0 + - mpg123 >=1.32.9,<1.33.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 355619 + timestamp: 1765181778282 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda + sha256: 0105bd108f19ea8e6a78d2d994a6d4a8db16d19a41212070d2d1d48a63c34161 + md5: a587892d3c13b6621a6091be690dbca2 + depends: + - libgcc-ng >=12 + license: ISC + purls: [] + size: 205978 + timestamp: 1716828628198 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.1-h0c1763c_0.conda + sha256: 6f0e8a812e8e33a4d8b7a0e595efe28373080d27b78ee4828aa4f6649a088454 + md5: 2e1b84d273b01835256e53fd938de355 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 + license: blessing + purls: [] + size: 938979 + timestamp: 1764359444435 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hcf80075_0.conda + sha256: fa39bfd69228a13e553bd24601332b7cfeb30ca11a3ca50bb028108fe90a7661 + md5: eecce068c7e4eddeb169591baac20ac4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.0,<4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 304790 + timestamp: 1745608545575 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_16.conda + sha256: 813427918316a00c904723f1dfc3da1bbc1974c5cfe1ed1e704c6f4e0798cbc6 + md5: 68f68355000ec3f1d6f26ea13e8f525f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc 15.2.0 he0feb66_16 + constrains: + - libstdcxx-ng ==15.2.0=*_16 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 5856456 + timestamp: 1765256838573 +- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-14.3.0-h9f08a49_116.conda + sha256: 278a6b7ebb02f1e983db06c6091b130c9a99f967acb526eac1a67077fd863da8 + md5: badba6a9f0e90fdaff87b06b54736ea6 + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 20538116 + timestamp: 1765255773242 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_16.conda + sha256: 81f2f246c7533b41c5e0c274172d607829019621c4a0823b5c0b4a8c7028ee84 + md5: 1b3152694d236cf233b76b8c56bf0eae + depends: + - libstdcxx 15.2.0 h934c35e_16 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27300 + timestamp: 1765256885128 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.10-h085a93f_1.conda + sha256: a57cdd2eec34c49fe748412c1f3cf26f54dc9f346cd1f6f691b90d592ae25660 + md5: fbe2f90c5e1a2c3affbda77807883dca + depends: + - __glibc >=2.17,<3.0.a0 + - libcap >=2.76,<2.77.0a0 + - libgcc >=14 + license: LGPL-2.1-or-later + purls: [] + size: 491334 + timestamp: 1762460699434 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtasn1-4.20.0-hb03c661_1.conda + sha256: 14daa718543717b6722dc2f262a751482ad5a8ede4de6d60e63ec8f1155b6ae8 + md5: 9ab030c2a729d349dd6fb20dabcdb9c5 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: LGPL-2.1-or-later + purls: [] + size: 118109 + timestamp: 1760407132634 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtheora-1.1.1-h4ab18f5_1006.conda + sha256: 50c8cd416ac8425e415264de167b41ae8442de22a91098dfdd993ddbf9f13067 + md5: 553281a034e9cf8693c9df49f6c78ea1 + depends: + - libgcc-ng >=12 + - libogg 1.3.* + - libogg >=1.3.5,<1.4.0a0 + - libvorbis 1.3.* + - libvorbis >=1.3.7,<1.4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 328924 + timestamp: 1719667859099 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h8261f1e_0.conda + sha256: ddda0d7ee67e71e904a452010c73e32da416806f5cb9145fb62c322f97e717fb + md5: 72b531694ebe4e8aa6f5745d1015c1b4 + depends: + - __glibc >=2.17,<3.0.a0 + - lerc >=4.0.0,<5.0a0 + - libdeflate >=1.24,<1.25.0a0 + - libgcc >=14 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libstdcxx >=14 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: HPND + purls: [] + size: 437211 + timestamp: 1758278398952 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libudev-257.10-h085a93f_1.conda + sha256: 3e4844b521490904ceb40e062aac7a670ded7a57bb4a7031277e474cf94238e0 + md5: e7b53f0dfb8c922d9e279bffcaaff820 + depends: + - libudev1 257.10 h085a93f_1 + license: LGPL-2.1-or-later + purls: [] + size: 20843 + timestamp: 1762460713706 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.10-h085a93f_1.conda + sha256: 135f043ced014c8a94b62f111726addc3b14f52525f4e1d6daafd97372c1b772 + md5: 553d592cb7712ac732f58e781a2dc7b6 + depends: + - __glibc >=2.17,<3.0.a0 + - libcap >=2.76,<2.77.0a0 + - libgcc >=14 + license: LGPL-2.1-or-later + purls: [] + size: 145067 + timestamp: 1762460712193 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libunistring-0.9.10-h7f98852_0.tar.bz2 + sha256: e88c45505921db29c08df3439ddb7f771bbff35f95e7d3103bf365d5d6ce2a6d + md5: 7245a044b4a1980ed83196176b78b73a + depends: + - libgcc-ng >=9.3.0 + license: GPL-3.0-only OR LGPL-3.0-only + purls: [] + size: 1433436 + timestamp: 1626955018689 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda + sha256: 71c8b9d5c72473752a0bb6e91b01dd209a03916cb71f36cc6a564e3a2a132d7a + md5: e179a69edd30d75c0144d7a380b88f28 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + purls: [] + size: 75995 + timestamp: 1757032240102 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liburcu-0.14.0-hac33072_0.conda + sha256: 208ead1ed147f588c722ef9dec7656f538111b15fb85c04f645758fa4fa8e3c3 + md5: 0b2b4f99717fe8f82dc21a3b0c504923 + depends: + - libgcc-ng >=12 + license: LGPL-2.0-or-later + license_family: LGPL + purls: [] + size: 176874 + timestamp: 1718888439831 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.12-hb700be7_0.conda + sha256: 880b1f76b24814c9f07b33402e82fa66d5ae14738a35a943c21c4434eef2403d + md5: f0531fc1ebc0902555670e9cb0127758 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + purls: [] + size: 127967 + timestamp: 1756125594973 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda + sha256: 89c84f5b26028a9d0f5c4014330703e7dff73ba0c98f90103e9cef6b43a5323c + md5: d17e3fb595a9f24fa9e149239a33475d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libudev1 >=257.4 + license: LGPL-2.1-or-later + purls: [] + size: 89551 + timestamp: 1748856210075 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-h5347b49_1.conda + sha256: 030447cf827c471abd37092ab9714fde82b8222106f22fde94bc7a64e2704c40 + md5: 41f5c09a211985c3ce642d60721e7c3e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 40235 + timestamp: 1764790744114 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.51.0-hb03c661_1.conda + sha256: c180f4124a889ac343fc59d15558e93667d894a966ec6fdb61da1604481be26b + md5: 0f03292cc56bf91a077a134ea8747118 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 895108 + timestamp: 1753948278280 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda + sha256: 255c7d00b54e26f19fad9340db080716bced1d8539606e2b8396c57abd40007c + md5: 25813fe38b3e541fc40007592f12bae5 + depends: + - __glibc >=2.17,<3.0.a0 + - libdrm >=2.4.125,<2.5.0a0 + - libegl >=1.7.0,<2.0a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libglx >=1.7.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - wayland >=1.24.0,<2.0a0 + - wayland-protocols + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + license: MIT + license_family: MIT + purls: [] + size: 221308 + timestamp: 1765652453244 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda + sha256: ca494c99c7e5ecc1b4cd2f72b5584cef3d4ce631d23511184411abcbb90a21a5 + md5: b4ecbefe517ed0157c37f8182768271c + depends: + - libogg + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libogg >=1.3.5,<1.4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 285894 + timestamp: 1753879378005 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.14.1-hac33072_0.conda + sha256: e7d2daf409c807be48310fcc8924e481b62988143f582eb3a58c5523a6763b13 + md5: cde393f461e0c169d9ffb2fc70f81c33 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1022466 + timestamp: 1717859935011 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.328.1-h5279c79_0.conda + sha256: bbabc5c48b63ff03f440940a11d4648296f5af81bb7630d98485405cd32ac1ce + md5: 372a62464d47d9e966b630ffae3abe73 + depends: + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxrandr >=1.5.4,<2.0a0 + constrains: + - libvulkan-headers 1.4.328.1.* + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 197672 + timestamp: 1759972155030 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda + sha256: 3aed21ab28eddffdaf7f804f49be7a7d701e8f0e46c856d801270b470820a37b + md5: aea31d2e5b1091feca96fcfe945c3cf9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - libwebp 1.6.0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 429011 + timestamp: 1752159441324 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda + sha256: 666c0c431b23c6cec6e492840b176dde533d48b7e6fb8883f5071223433776aa + md5: 92ed62436b625154323d40d5f2f11dd7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - pthread-stubs + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxdmcp + license: MIT + license_family: MIT + purls: [] + size: 395888 + timestamp: 1727278577118 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c + md5: 5aa797f8787fe7a17d1b0821485b5adc + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + purls: [] + size: 100393 + timestamp: 1702724383534 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.11.0-he8b52b9_0.conda + sha256: 23f47e86cc1386e7f815fa9662ccedae151471862e971ea511c5c886aa723a54 + md5: 74e91c36d0eef3557915c68b6c2bef96 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxcb >=1.17.0,<2.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - xkeyboard-config + - xorg-libxau >=1.0.12,<2.0a0 + license: MIT/X11 Derivative + license_family: MIT + purls: [] + size: 791328 + timestamp: 1754703902365 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.13.9-h04c0eec_0.conda + sha256: 5d12e993894cb8e9f209e2e6bef9c90fa2b7a339a1f2ab133014b71db81f5d88 + md5: 35eeb0a2add53b1e50218ed230fa6a02 + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=75.1,<76.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 697033 + timestamp: 1761766011241 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h031cc0b_0.conda + sha256: ee64e507b37b073e0bdad739e35330933dd5be7c639600a096551a6968f1035d + md5: a67cd8f7b0369bbf2c40411f05a62f3b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libxml2-16 2.15.1 hf2a90c1_0 + - libzlib >=1.3.1,<2.0a0 + constrains: + - icu <0.0a0 + license: MIT + license_family: MIT + size: 45292 + timestamp: 1761015784683 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-hf2a90c1_0.conda + sha256: f5220ff49efc31431279859049199b9250e79f98c1dee1da12feb74bda2d9cf1 + md5: 23720d17346b21efb08d68c2255c8431 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.1,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + constrains: + - libxml2 2.15.1 + - icu <0.0a0 + license: MIT + license_family: MIT + size: 554734 + timestamp: 1761015772672 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h7a3aeb2_0.conda + sha256: 35ddfc0335a18677dd70995fa99b8f594da3beb05c11289c87b6de5b930b47a3 + md5: 31059dc620fa57d787e3899ed0421e6d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libxml2 >=2.13.8,<2.14.0a0 + license: MIT + license_family: MIT + purls: [] + size: 244399 + timestamp: 1753273455036 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzip-1.11.2-h6991a6a_0.conda + sha256: 991e7348b0f650d495fb6d8aa9f8c727bdf52dabf5853c0cc671439b160dce48 + md5: a7b27c075c9b7f459f1c022090697cba + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 109043 + timestamp: 1730442108429 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 + md5: edb0dca6bc32e4f4789199455a1dbeb8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + purls: [] + size: 60963 + timestamp: 1727963148474 +- conda: https://conda.anaconda.org/conda-forge/noarch/loguru-0.7.3-pyh707e725_0.conda + sha256: e4a07f357a4cf195a2345dabd98deab80f4d53574abe712a9cc7f22d3f2cc2c3 + md5: 49647ac1de4d1e4b49124aedf3934e02 + depends: + - __unix + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/loguru?source=hash-mapping + size: 59696 + timestamp: 1746634858826 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lttng-ust-2.13.9-hf5eda4c_0.conda + sha256: 77ea6f9546bb8e4d6050b4ad8efb9bfb2177e9173a03b4d9eae6fd8ce1056431 + md5: bf1ee9cd230a64573a8b7745c6aaa593 + depends: + - liburcu + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + - liburcu >=0.14.0,<0.15.0a0 + license: LGPL-2.1-only + purls: [] + size: 375355 + timestamp: 1745310024643 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lxml-6.0.2-py312h70dad80_0.conda + sha256: 287f5f493fad7bbac48ac3976e21f5526488e99e19c43b87c3cfaaf89b79b42b + md5: d581cee70d9c039d7e31ed65b2f874c4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libxml2 >=2.13.8,<2.14.0a0 + - libxslt >=1.1.43,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause and MIT-CMU + purls: + - pkg:pypi/lxml?source=hash-mapping + size: 1604566 + timestamp: 1758535320510 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-4.4.5-py312h3d67a73_1.conda + sha256: e8ae9141c7afcc95555fca7ff5f91d7a84f094536715211e750569fd4bb2caa4 + md5: a669145a2c834895bdf3fcba1f1e5b9c + depends: + - python + - lz4-c + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - lz4-c >=1.10.0,<1.11.0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/lz4?source=hash-mapping + size: 44154 + timestamp: 1765026394687 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.10.0-h5888daf_1.conda + sha256: 47326f811392a5fd3055f0f773036c392d26fdb32e4d8e7a8197eed951489346 + md5: 9de5350a85c4a20c685259b889aa6393 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 167055 + timestamp: 1733741040117 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lzo-2.10-h280c20c_1002.conda + sha256: 5c6bbeec116e29f08e3dad3d0524e9bc5527098e12fc432c0e5ca53ea16337d4 + md5: 45161d96307e3a447cc3eb5896cf6f8c + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 191060 + timestamp: 1753889274283 +- pypi: https://files.pythonhosted.org/packages/f3/5f/93b3e3607ccd693a768eafee60829cd14ea1810b75aa48e8b20e27b332c4/marisa_trie-1.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + name: marisa-trie + version: 1.3.1 + sha256: 99a00cab4cf9643a87977c87a5c8961aa44fff8d5dd46e00250135f686e7dedf + requires_dist: + - hypothesis ; extra == 'test' + - pytest ; extra == 'test' + - readme-renderer ; extra == 'test' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/70/81/54e3ce63502cd085a0c556652a4e1b919c45a446bd1e5300e10c44c8c521/markdown-3.10-py3-none-any.whl + name: markdown + version: '3.10' + sha256: b5b99d6951e2e4948d939255596523444c0e677c669700b1d17aa4a8a464cb7c + requires_dist: + - coverage ; extra == 'testing' + - pyyaml ; extra == 'testing' + - mkdocs>=1.6 ; extra == 'docs' + - mkdocs-nature>=0.6 ; extra == 'docs' + - mdx-gh-links>=0.2 ; extra == 'docs' + - mkdocstrings[python] ; extra == 'docs' + - mkdocs-gen-files ; extra == 'docs' + - mkdocs-section-index ; extra == 'docs' + - mkdocs-literate-nav ; extra == 'docs' + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda + sha256: 7b1da4b5c40385791dbc3cc85ceea9fad5da680a27d5d3cb8bfaa185e304a89e + md5: 5b5203189eb668f042ac2b0826244964 + depends: + - mdurl >=0.1,<1 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/markdown-it-py?source=hash-mapping + size: 64736 + timestamp: 1754951288511 +- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_0.conda + sha256: f77f9f1a4da45cbc8792d16b41b6f169f649651a68afdc10b2da9da12b9aa42b + md5: f775a43412f7f3d7ed218113ad233869 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/markupsafe?source=hash-mapping + size: 25321 + timestamp: 1759055268795 +- pypi: https://files.pythonhosted.org/packages/34/75/51952c7b2d3873b44a0028b1bd26a25078c18f92f256608e8d1dc61b39fd/marshmallow-3.26.1-py3-none-any.whl + name: marshmallow + version: 3.26.1 + sha256: 3350409f20a70a7e4e11a27661187b77cdcaeb20abca41c1454fe33636bea09c + requires_dist: + - packaging>=17.0 + - marshmallow[tests] ; extra == 'dev' + - tox ; extra == 'dev' + - pre-commit>=3.5,<5.0 ; extra == 'dev' + - autodocsumm==0.2.14 ; extra == 'docs' + - furo==2024.8.6 ; extra == 'docs' + - sphinx-copybutton==0.5.2 ; extra == 'docs' + - sphinx-issues==5.0.0 ; extra == 'docs' + - sphinx==8.1.3 ; extra == 'docs' + - sphinxext-opengraph==0.9.1 ; extra == 'docs' + - pytest ; extra == 'tests' + - simplejson ; extra == 'tests' + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.10.8-py312h7900ff3_0.conda + sha256: 6d66175e1a4ffb91ed954e2c11066d2e03a05bce951a808275069836ddfc993e + md5: 2a7663896e5aab10b60833a768c4c272 + depends: + - matplotlib-base >=3.10.8,<3.10.9.0a0 + - pyside6 >=6.7.2 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + purls: [] + size: 17415 + timestamp: 1763055550515 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.10.8-py312he3d6523_0.conda + sha256: 70cf0e7bfd50ef50eb712a6ca1eef0ef0d63b7884292acc81353327b434b548c + md5: b8dc157bbbb69c1407478feede8b7b42 + depends: + - __glibc >=2.17,<3.0.a0 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libstdcxx >=14 + - numpy >=1.23 + - numpy >=1.23,<3 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.12,<3.13.0a0 + - python-dateutil >=2.7 + - python_abi 3.12.* *_cp312 + - qhull >=2020.2,<2020.3.0a0 + - tk >=8.6.13,<8.7.0a0 + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/matplotlib?source=hash-mapping + size: 8442149 + timestamp: 1763055517581 +- conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda + sha256: 9d690334de0cd1d22c51bc28420663f4277cfa60d34fa5cad1ce284a13f1d603 + md5: 00e120ce3e40bad7bfc78861ce3c4a25 + depends: + - python >=3.10 + - traitlets + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/matplotlib-inline?source=hash-mapping + size: 15175 + timestamp: 1761214578417 +- conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda + sha256: 9b0037171dad0100f0296699a11ae7d355237b55f42f9094aebc0f41512d96a1 + md5: 827064ddfe0de2917fb29f1da4f8f533 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/mccabe?source=hash-mapping + size: 12934 + timestamp: 1733216573915 +- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 + md5: 592132998493b3ff25fd7479396e8351 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/mdurl?source=hash-mapping + size: 14465 + timestamp: 1733255681319 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda + sha256: 39c4700fb3fbe403a77d8cc27352fa72ba744db487559d5d44bf8411bb4ea200 + md5: c7f302fd11eeb0987a6a5e1f3aed6a21 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: LGPL-2.1-only + license_family: LGPL + purls: [] + size: 491140 + timestamp: 1730581373280 +- pypi: https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl + name: mpmath + version: 1.3.0 + sha256: a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c + requires_dist: + - pytest>=4.6 ; extra == 'develop' + - pycodestyle ; extra == 'develop' + - pytest-cov ; extra == 'develop' + - codecov ; extra == 'develop' + - wheel ; extra == 'develop' + - sphinx ; extra == 'docs' + - gmpy2>=2.1.0a4 ; platform_python_implementation != 'PyPy' and extra == 'gmpy' + - pytest>=4.6 ; extra == 'tests' +- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py312hd9148b4_1.conda + sha256: 94068fd39d1a672f8799e3146a18ba4ef553f0fcccefddb3c07fbdabfd73667a + md5: 2e489969e38f0b428c39492619b5e6e5 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/msgpack?source=hash-mapping + size: 102525 + timestamp: 1762504116832 +- conda: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.7.0-py312h8a5da7c_0.conda + sha256: e56ac750fee1edb47a0390984c4725d8ce86c243f27119e30ceaac5c68e300cf + md5: 9fe4c848dd01cde9b8d0073744d4eef8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/multidict?source=compressed-mapping + size: 99537 + timestamp: 1765460650128 +- conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + sha256: d09c47c2cf456de5c09fa66d2c3c5035aa1fa228a1983a433c47b876aa16ce90 + md5: 37293a85a0f4f77bbd9cf7aaefc62609 + depends: + - python >=3.9 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/munkres?source=hash-mapping + size: 15851 + timestamp: 1749895533014 +- pypi: https://files.pythonhosted.org/packages/46/11/8f92f01da9cc41247008856438aa052cc93f74e4ac12ff250eb96a44249a/mycroft_mimic3_tts-0.2.4.tar.gz + name: mycroft-mimic3-tts + version: 0.2.4 + sha256: 60cd282274c94967e11845b9127ff2eb7ba936341de0e231107297c0c70d2a27 + requires_dist: + - dataclasses-json<1.0 + - epitran==1.17 + - espeak-phonemizer>=1.0,<2.0 + - gruut>=2.3.0,<3.0 + - numpy<2.0 + - onnxruntime>=1.6,<2.0 + - phonemes2ids<2.0 + - quart>=0.16,<1.0 + - quart-cors + - requests>=2,<3 + - swagger-ui-py>=21,<22 + - tqdm>=4,<5 + - xdgenvpy>2.0,<3 + - importlib-resources ; python_full_version < '3.9' + - gruut[de] ; extra == 'all' + - gruut[es] ; extra == 'all' + - gruut[fa] ; extra == 'all' + - gruut[fr] ; extra == 'all' + - gruut[it] ; extra == 'all' + - gruut[nl] ; extra == 'all' + - gruut[ru] ; extra == 'all' + - gruut[sw] ; extra == 'all' + - gruut[de] ; extra == 'de' + - gruut[es] ; extra == 'es' + - gruut[fa] ; extra == 'fa' + - gruut[fr] ; extra == 'fr' + - gruut[it] ; extra == 'it' + - gruut[nl] ; extra == 'nl' + - gruut[ru] ; extra == 'ru' + - gruut[sw] ; extra == 'sw' +- conda: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.19.0-py312h4c3975b_1.conda + sha256: 9bc59897e49c7a79edc6710733c3c12ae26bf4f045f54fb3ff0723e706322043 + md5: 510dc196f3dce7015bff393d82137f1f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - mypy_extensions >=1.0.0 + - pathspec >=0.9.0 + - psutil >=4.0 + - python >=3.12,<3.13.0a0 + - python-librt >=0.6.2 + - python_abi 3.12.* *_cp312 + - typing_extensions >=4.6.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/mypy?source=hash-mapping + size: 20179662 + timestamp: 1764427165272 +- conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + sha256: 6ed158e4e5dd8f6a10ad9e525631e35cee8557718f83de7a4e3966b1f772c4b1 + md5: e9c622e0d00fa24a6292279af3ab6d06 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/mypy-extensions?source=hash-mapping + size: 11766 + timestamp: 1745776666688 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 + md5: 47e340acb35de30501a76c7c799c41d7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: X11 AND BSD-3-Clause + purls: [] + size: 891641 + timestamp: 1738195959188 +- conda: https://conda.anaconda.org/conda-forge/linux-64/nettle-3.10.1-h4a9d5aa_0.conda + sha256: 00b5a5e394d58cff5b08e0082699e773dd41995130bc14747740a16d9cacdd2c + md5: 618bf3007df69a0ca9306ed8d6b48b48 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - gmp >=6.3.0,<7.0a0 + license: GPL-2.0-or-later OR LGPL-3.0-or-later + purls: [] + size: 1047686 + timestamp: 1748012178395 +- pypi: https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl + name: networkx + version: 3.6.1 + sha256: d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762 + requires_dist: + - asv ; extra == 'benchmarking' + - virtualenv ; extra == 'benchmarking' + - numpy>=1.25 ; extra == 'default' + - scipy>=1.11.2 ; extra == 'default' + - matplotlib>=3.8 ; extra == 'default' + - pandas>=2.0 ; extra == 'default' + - pre-commit>=4.1 ; extra == 'developer' + - mypy>=1.15 ; extra == 'developer' + - sphinx>=8.0 ; extra == 'doc' + - pydata-sphinx-theme>=0.16 ; extra == 'doc' + - sphinx-gallery>=0.18 ; extra == 'doc' + - numpydoc>=1.8.0 ; extra == 'doc' + - pillow>=10 ; extra == 'doc' + - texext>=0.6.7 ; extra == 'doc' + - myst-nb>=1.1 ; extra == 'doc' + - intersphinx-registry ; extra == 'doc' + - osmnx>=2.0.0 ; extra == 'example' + - momepy>=0.7.2 ; extra == 'example' + - contextily>=1.6 ; extra == 'example' + - seaborn>=0.13 ; extra == 'example' + - cairocffi>=1.7 ; extra == 'example' + - igraph>=0.11 ; extra == 'example' + - scikit-learn>=1.5 ; extra == 'example' + - iplotx>=0.9.0 ; extra == 'example' + - lxml>=4.6 ; extra == 'extra' + - pygraphviz>=1.14 ; extra == 'extra' + - pydot>=3.0.1 ; extra == 'extra' + - sympy>=1.10 ; extra == 'extra' + - build>=0.10 ; extra == 'release' + - twine>=4.0 ; extra == 'release' + - wheel>=0.40 ; extra == 'release' + - changelist==0.5 ; extra == 'release' + - pytest>=7.2 ; extra == 'test' + - pytest-cov>=4.0 ; extra == 'test' + - pytest-xdist>=3.0 ; extra == 'test' + - pytest-mpl ; extra == 'test-extras' + - pytest-randomly ; extra == 'test-extras' + requires_python: '>=3.11,!=3.14.1' +- conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.13.2-h171cf75_0.conda + sha256: 6f7d59dbec0a7b00bf5d103a4306e8886678b796ff2151b62452d4582b2a53fb + md5: b518e9e92493721281a60fa975bddc65 + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 186323 + timestamp: 1763688260928 +- conda: https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.12.0-h54a6638_1.conda + sha256: fd2cbd8dfc006c72f45843672664a8e4b99b2f8137654eaae8c3d46dca776f63 + md5: 16c2a0e9c4a166e53632cfca4f68d020 + constrains: + - nlohmann_json-abi ==3.12.0 + license: MIT + license_family: MIT + purls: [] + size: 136216 + timestamp: 1758194284857 +- conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.9.1-pyhd8ed1ab_1.conda + sha256: 3636eec0e60466a00069b47ce94b6d88b01419b6577d8e393da44bb5bc8d3468 + md5: 7ba3f09fceae6a120d664217e58fe686 + depends: + - python >=3.9 + - setuptools + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/nodeenv?source=hash-mapping + size: 34574 + timestamp: 1734112236147 +- conda: https://conda.anaconda.org/conda-forge/linux-64/nspr-4.38-h29cc59b_0.conda + sha256: e3664264bd936c357523b55c71ed5a30263c6ba278d726a75b1eb112e6fb0b64 + md5: e235d5566c9cc8970eb2798dd4ecf62f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: MPL-2.0 + license_family: MOZILLA + purls: [] + size: 228588 + timestamp: 1762348634537 +- conda: https://conda.anaconda.org/conda-forge/linux-64/nss-3.118-h445c969_0.conda + sha256: 44dd98ffeac859d84a6dcba79a2096193a42fc10b29b28a5115687a680dd6aea + md5: 567fbeed956c200c1db5782a424e58ee + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libsqlite >=3.51.0,<4.0a0 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - nspr >=4.38,<5.0a0 + license: MPL-2.0 + license_family: MOZILLA + purls: [] + size: 2057773 + timestamp: 1763485556350 +- pypi: https://files.pythonhosted.org/packages/d6/5b/545e9267a1cc080c8a1be2746113a063e34bcdd0f5173fd665a5c13cb234/num2words-0.5.14-py3-none-any.whl + name: num2words + version: 0.5.14 + sha256: 1c8e5b00142fc2966fd8d685001e36c4a9911e070d1b120e1beb721fa1edb33d + requires_dist: + - docopt>=0.6.2 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda + sha256: fe3459c75cf84dcef6ef14efcc4adb0ade66038ddd27cadb894f34f4797687d8 + md5: d8285bea2a350f63fab23bf460221f3f + depends: + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc-ng >=12 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx-ng >=12 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 7484186 + timestamp: 1707225809722 +- pypi: https://files.pythonhosted.org/packages/ae/71/1c91302526c45ab494c23f61c7a84aa568b8c1f9d196efa5993957faf906/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl + name: nvidia-cublas-cu12 + version: 12.4.5.8 + sha256: 2fc8da60df463fdefa81e323eef2e36489e1c94335b5358bcb38360adf75ac9b + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/67/42/f4f60238e8194a3106d06a058d494b18e006c10bb2b915655bd9f6ea4cb1/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + name: nvidia-cuda-cupti-cu12 + version: 12.4.127 + sha256: 9dec60f5ac126f7bb551c055072b69d85392b13311fcc1bcda2202d172df30fb + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/2c/14/91ae57cd4db3f9ef7aa99f4019cfa8d54cb4caa7e00975df6467e9725a9f/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + name: nvidia-cuda-nvrtc-cu12 + version: 12.4.127 + sha256: a178759ebb095827bd30ef56598ec182b85547f1508941a3d560eb7ea1fbf338 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/ea/27/1795d86fe88ef397885f2e580ac37628ed058a92ed2c39dc8eac3adf0619/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + name: nvidia-cuda-runtime-cu12 + version: 12.4.127 + sha256: 64403288fa2136ee8e467cdc9c9427e0434110899d07c779f25b5c068934faa5 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/9f/fd/713452cd72343f682b1c7b9321e23829f00b842ceaedcda96e742ea0b0b3/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl + name: nvidia-cudnn-cu12 + version: 9.1.0.70 + sha256: 165764f44ef8c61fcdfdfdbe769d687e06374059fbb388b6c89ecb0e28793a6f + requires_dist: + - nvidia-cublas-cu12 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/27/94/3266821f65b92b3138631e9c8e7fe1fb513804ac934485a8d05776e1dd43/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl + name: nvidia-cufft-cu12 + version: 11.2.1.3 + sha256: f083fc24912aa410be21fa16d157fed2055dab1cc4b6934a0e03cba69eb242b9 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/8a/6d/44ad094874c6f1b9c654f8ed939590bdc408349f137f9b98a3a23ccec411/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl + name: nvidia-curand-cu12 + version: 10.3.5.147 + sha256: a88f583d4e0bb643c49743469964103aa59f7f708d862c3ddb0fc07f851e3b8b + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/3a/e1/5b9089a4b2a4790dfdea8b3a006052cfecff58139d5a4e34cb1a51df8d6f/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl + name: nvidia-cusolver-cu12 + version: 11.6.1.9 + sha256: 19e33fa442bcfd085b3086c4ebf7e8debc07cfe01e11513cc6d332fd918ac260 + requires_dist: + - nvidia-cublas-cu12 + - nvidia-nvjitlink-cu12 + - nvidia-cusparse-cu12 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/db/f7/97a9ea26ed4bbbfc2d470994b8b4f338ef663be97b8f677519ac195e113d/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl + name: nvidia-cusparse-cu12 + version: 12.3.1.170 + sha256: ea4f11a2904e2a8dc4b1833cc1b5181cde564edd0d5cd33e3c168eff2d1863f1 + requires_dist: + - nvidia-nvjitlink-cu12 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/df/99/12cd266d6233f47d00daf3a72739872bdc10267d0383508b0b9c84a18bb6/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl + name: nvidia-nccl-cu12 + version: 2.21.5 + sha256: 8579076d30a8c24988834445f8d633c697d42397e92ffc3f63fa26766d25e0a0 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/ff/ff/847841bacfbefc97a00036e0fce5a0f086b640756dc38caea5e1bb002655/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + name: nvidia-nvjitlink-cu12 + version: 12.4.127 + sha256: 06b3b9b25bf3f8af351d664978ca26a16d2c5127dbd53c0497e28d1fb9611d57 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/87/20/199b8713428322a2f22b722c62b8cc278cc53dffa9705d744484b5035ee9/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl + name: nvidia-nvtx-cu12 + version: 12.4.127 + sha256: 781e950d9b9f60d8241ccea575b32f5105a5baf4c2351cab5256a24869f12a1a + requires_python: '>=3' +- conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.3-hb9d3cd8_0.conda + sha256: 2254dae821b286fb57c61895f2b40e3571a070910fdab79a948ff703e1ea807b + md5: 56f8947aa9d5cf37b0b3d43b83f34192 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - opencl-headers >=2024.10.24 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 106742 + timestamp: 1743700382939 +- conda: https://conda.anaconda.org/conda-forge/linux-64/octomap-1.10.0-h84d6215_0.conda + sha256: 9b5bcc8be93c8da5be803be357d1096c190339018f688f509a0a295e04fb98be + md5: 0dfda663c7d58e8c35c96239ed57c16f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 234800 + timestamp: 1728635293810 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ompl-1.7.0-py312h0e5b81d_0.conda + sha256: 296b2a7e6b185b97d74f44f3380539972fe499a1833aa9821dcd50e60f92c6bc + md5: 7ca8ad5f57cb90a7acaa7c34355ded91 + depends: + - __glibc >=2.17,<3.0.a0 + - flann >=1.9.2,<1.9.3.0a0 + - libboost >=1.86.0,<1.87.0a0 + - libgcc >=13 + - libode >=0.16.5,<0.16.6.0a0 + - libstdcxx >=13 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 3110084 + timestamp: 1751019611009 +- pypi: https://files.pythonhosted.org/packages/ef/88/9cc25d2bafe6bc0d4d3c1db3ade98196d5b355c0b273e6a5dc09c5d5d0d5/onnxruntime-1.23.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + name: onnxruntime + version: 1.23.2 + sha256: 0f9b4ae77f8e3c9bee50c27bc1beede83f786fe1d52e99ac85aa8d65a01e9b77 + requires_dist: + - coloredlogs + - flatbuffers + - numpy>=1.21.6 + - packaging + - protobuf + - sympy + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-h5888daf_0.conda + sha256: 2b6ce54174ec19110e1b3c37455f7cd138d0e228a75727a9bba443427da30a36 + md5: 45c3d2c224002d6d0d7769142b29f986 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 55357 + timestamp: 1749853464518 +- conda: https://conda.anaconda.org/conda-forge/linux-64/opencv-4.11.0-qt6_py312h78c9a49_609.conda + sha256: 9775dd0eb493d4ffd5d93a1ee15a8a6609a9c4d862642146477dd70cff56ee04 + md5: 8bde514a242a2e96f25e162ea8249b0d + depends: + - libopencv 4.11.0 qt6_py312h4381209_609 + - libprotobuf >=5.29.3,<5.29.4.0a0 + - py-opencv 4.11.0 qt6_py312h0c4a6be_609 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 28892 + timestamp: 1750898952139 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openexr-3.3.5-h09fa569_0.conda + sha256: db6bac8013542227eda2153b7473b10faef11fd2bae57591d1f729993109e152 + md5: f46ae82586acba0872546bd79261fafc + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libdeflate >=1.24,<1.25.0a0 + - libzlib >=1.3.1,<2.0a0 + - imath >=3.1.12,<3.1.13.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1326814 + timestamp: 1753614941084 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda + sha256: 3f231f2747a37a58471c82a9a8a80d92b7fece9f3fce10901a5ac888ce00b747 + md5: b28cf020fd2dead0ca6d113608683842 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 731471 + timestamp: 1739400677213 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + sha256: 3900f9f2dbbf4129cf3ad6acf4e4b6f7101390b53843591c53b00f034343bc4d + md5: 11b3379b191f63139e29c0d19dee24cd + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpng >=1.6.50,<1.7.0a0 + - libstdcxx >=14 + - libtiff >=4.7.1,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 355400 + timestamp: 1758489294972 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.10-he970967_0.conda + sha256: cb0b07db15e303e6f0a19646807715d28f1264c6350309a559702f4f34f37892 + md5: 2e5bf4f1da39c0b32778561c3c4e5878 + depends: + - __glibc >=2.17,<3.0.a0 + - cyrus-sasl >=2.1.27,<3.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libgcc >=13 + - libstdcxx >=13 + - openssl >=3.5.0,<4.0a0 + license: OLDAP-2.8 + license_family: BSD + purls: [] + size: 780253 + timestamp: 1748010165522 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.0-h26f9b46_0.conda + sha256: a47271202f4518a484956968335b2521409c8173e123ab381e775c358c67fe6d + md5: 9ee58d5c534af06558933af3c845a780 + depends: + - __glibc >=2.17,<3.0.a0 + - ca-certificates + - libgcc >=14 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 3165399 + timestamp: 1762839186699 +- conda: https://conda.anaconda.org/conda-forge/linux-64/orocos-kdl-1.5.3-hecca717_0.conda + sha256: f1ac73e2a809a0e838e55afd521313a441d2d159621d2295a65700c7d519ead8 + md5: 9b780914fe0015a0d18631a4b32e5446 + depends: + - __glibc >=2.17,<3.0.a0 + - eigen + - libgcc >=14 + - libstdcxx >=14 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 387599 + timestamp: 1760695564119 +- conda: https://conda.anaconda.org/conda-forge/noarch/osrf_pycommon-0.2.1-pyhd8ed1ab_0.tar.bz2 + sha256: 4c0421605528a29342f10f81c2739cf1a395ce1aee820c69db576c02f1925943 + md5: 990a69a331bfd88f9c8b95a725afc40a + depends: + - python >=3.6 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/osrf-pycommon?source=hash-mapping + size: 32902 + timestamp: 1626759108531 +- conda: https://conda.anaconda.org/conda-forge/linux-64/p11-kit-0.24.1-hc5aa10d_0.tar.bz2 + sha256: aa8d3887b36557ad0c839e4876c0496e0d670afe843bf5bba4a87764b868196d + md5: 56ee94e34b71742bbdfa832c974e47a8 + depends: + - libffi >=3.4.2,<3.5.0a0 + - libgcc-ng >=12 + - libtasn1 >=4.18.0,<5.0a0 + license: MIT + license_family: MIT + purls: [] + size: 4702497 + timestamp: 1654868759643 +- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 + md5: 58335b26c38bf4a20f399384c33cbcf9 + depends: + - python >=3.8 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/packaging?source=hash-mapping + size: 62477 + timestamp: 1745345660407 +- pypi: https://files.pythonhosted.org/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + name: pandas + version: 2.3.3 + sha256: b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89 + requires_dist: + - numpy>=1.22.4 ; python_full_version < '3.11' + - numpy>=1.23.2 ; python_full_version == '3.11.*' + - numpy>=1.26.0 ; python_full_version >= '3.12' + - python-dateutil>=2.8.2 + - pytz>=2020.1 + - tzdata>=2022.7 + - hypothesis>=6.46.1 ; extra == 'test' + - pytest>=7.3.2 ; extra == 'test' + - pytest-xdist>=2.2.0 ; extra == 'test' + - pyarrow>=10.0.1 ; extra == 'pyarrow' + - bottleneck>=1.3.6 ; extra == 'performance' + - numba>=0.56.4 ; extra == 'performance' + - numexpr>=2.8.4 ; extra == 'performance' + - scipy>=1.10.0 ; extra == 'computation' + - xarray>=2022.12.0 ; extra == 'computation' + - fsspec>=2022.11.0 ; extra == 'fss' + - s3fs>=2022.11.0 ; extra == 'aws' + - gcsfs>=2022.11.0 ; extra == 'gcp' + - pandas-gbq>=0.19.0 ; extra == 'gcp' + - odfpy>=1.4.1 ; extra == 'excel' + - openpyxl>=3.1.0 ; extra == 'excel' + - python-calamine>=0.1.7 ; extra == 'excel' + - pyxlsb>=1.0.10 ; extra == 'excel' + - xlrd>=2.0.1 ; extra == 'excel' + - xlsxwriter>=3.0.5 ; extra == 'excel' + - pyarrow>=10.0.1 ; extra == 'parquet' + - pyarrow>=10.0.1 ; extra == 'feather' + - tables>=3.8.0 ; extra == 'hdf5' + - pyreadstat>=1.2.0 ; extra == 'spss' + - sqlalchemy>=2.0.0 ; extra == 'postgresql' + - psycopg2>=2.9.6 ; extra == 'postgresql' + - adbc-driver-postgresql>=0.8.0 ; extra == 'postgresql' + - sqlalchemy>=2.0.0 ; extra == 'mysql' + - pymysql>=1.0.2 ; extra == 'mysql' + - sqlalchemy>=2.0.0 ; extra == 'sql-other' + - adbc-driver-postgresql>=0.8.0 ; extra == 'sql-other' + - adbc-driver-sqlite>=0.8.0 ; extra == 'sql-other' + - beautifulsoup4>=4.11.2 ; extra == 'html' + - html5lib>=1.1 ; extra == 'html' + - lxml>=4.9.2 ; extra == 'html' + - lxml>=4.9.2 ; extra == 'xml' + - matplotlib>=3.6.3 ; extra == 'plot' + - jinja2>=3.1.2 ; extra == 'output-formatting' + - tabulate>=0.9.0 ; extra == 'output-formatting' + - pyqt5>=5.15.9 ; extra == 'clipboard' + - qtpy>=2.3.0 ; extra == 'clipboard' + - zstandard>=0.19.0 ; extra == 'compression' + - dataframe-api-compat>=0.1.7 ; extra == 'consortium-standard' + - adbc-driver-postgresql>=0.8.0 ; extra == 'all' + - adbc-driver-sqlite>=0.8.0 ; extra == 'all' + - beautifulsoup4>=4.11.2 ; extra == 'all' + - bottleneck>=1.3.6 ; extra == 'all' + - dataframe-api-compat>=0.1.7 ; extra == 'all' + - fastparquet>=2022.12.0 ; extra == 'all' + - fsspec>=2022.11.0 ; extra == 'all' + - gcsfs>=2022.11.0 ; extra == 'all' + - html5lib>=1.1 ; extra == 'all' + - hypothesis>=6.46.1 ; extra == 'all' + - jinja2>=3.1.2 ; extra == 'all' + - lxml>=4.9.2 ; extra == 'all' + - matplotlib>=3.6.3 ; extra == 'all' + - numba>=0.56.4 ; extra == 'all' + - numexpr>=2.8.4 ; extra == 'all' + - odfpy>=1.4.1 ; extra == 'all' + - openpyxl>=3.1.0 ; extra == 'all' + - pandas-gbq>=0.19.0 ; extra == 'all' + - psycopg2>=2.9.6 ; extra == 'all' + - pyarrow>=10.0.1 ; extra == 'all' + - pymysql>=1.0.2 ; extra == 'all' + - pyqt5>=5.15.9 ; extra == 'all' + - pyreadstat>=1.2.0 ; extra == 'all' + - pytest>=7.3.2 ; extra == 'all' + - pytest-xdist>=2.2.0 ; extra == 'all' + - python-calamine>=0.1.7 ; extra == 'all' + - pyxlsb>=1.0.10 ; extra == 'all' + - qtpy>=2.3.0 ; extra == 'all' + - scipy>=1.10.0 ; extra == 'all' + - s3fs>=2022.11.0 ; extra == 'all' + - sqlalchemy>=2.0.0 ; extra == 'all' + - tables>=3.8.0 ; extra == 'all' + - tabulate>=0.9.0 ; extra == 'all' + - xarray>=2022.12.0 ; extra == 'all' + - xlrd>=2.0.1 ; extra == 'all' + - xlsxwriter>=3.0.5 ; extra == 'all' + - zstandard>=0.19.0 ; extra == 'all' + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + sha256: 3613774ad27e48503a3a6a9d72017087ea70f1426f6e5541dbdb59a3b626eaaf + md5: 79f71230c069a287efe3a8614069ddf1 + depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.10,<2.0a0 + - harfbuzz >=11.0.1 + - libexpat >=2.7.0,<3.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libgcc >=13 + - libglib >=2.84.2,<3.0a0 + - libpng >=1.6.49,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + license: LGPL-2.1-or-later + purls: [] + size: 455420 + timestamp: 1751292466873 +- pypi: https://files.pythonhosted.org/packages/72/2a/05a47a6c291414f5a66901f8d1f6ba68e8ec9fccb341d56fa0b31479d41d/panphon-0.22.2-py2.py3-none-any.whl + name: panphon + version: 0.22.2 + sha256: a4c65113430d0699054cb00df978c02712d3c80913a1ef67697f888d96f3a00a + requires_dist: + - setuptools + - unicodecsv + - pyyaml + - regex + - numpy>=1.20.2 + - editdistance + - munkres + - pandas +- conda: https://conda.anaconda.org/conda-forge/noarch/paramiko-4.0.0-pyhd8ed1ab_0.conda + sha256: ce76d5a1fc6c7ef636cbdbf14ce2d601a1bfa0dd8d286507c1fd02546fccb94b + md5: 1a884d2b1ea21abfb73911dcdb8342e4 + depends: + - bcrypt >=3.2 + - cryptography >=3.3 + - invoke >=2.0 + - pynacl >=1.5 + - python >=3.9 + license: LGPL-2.1-or-later + license_family: LGPL + purls: + - pkg:pypi/paramiko?source=hash-mapping + size: 159896 + timestamp: 1755102147074 +- conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda + sha256: 30de7b4d15fbe53ffe052feccde31223a236dae0495bab54ab2479de30b2990f + md5: a110716cdb11cf51482ff4000dc253d7 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/parso?source=hash-mapping + size: 81562 + timestamp: 1755974222274 +- conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda + sha256: 9f64009cdf5b8e529995f18e03665b03f5d07c0b17445b8badef45bde76249ee + md5: 617f15191456cc6a13db418a275435e5 + depends: + - python >=3.9 + license: MPL-2.0 + license_family: MOZILLA + purls: + - pkg:pypi/pathspec?source=hash-mapping + size: 41075 + timestamp: 1733233471940 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pcl-1.15.0-hd1363f8_2.conda + sha256: e6d5fe4a022229fe15ed7fe5226716893375deb3b3ef65e6a5caabe9fb76015b + md5: 2065962ae1fc02ce98a73e8ef9ba0591 + depends: + - __glibc >=2.17,<3.0.a0 + - eigen + - flann >=1.9.2,<1.9.3.0a0 + - glew >=2.1.0,<2.2.0a0 + - libboost >=1.86.0,<1.87.0a0 + - libboost-devel + - libgcc >=13 + - libgl >=1.7.0,<2.0a0 + - libpng >=1.6.47,<1.7.0a0 + - libstdcxx >=13 + - qhull >=2020.2,<2020.3.0a0 + - qt6-main >=6.9.0,<6.10.0a0 + - vtk + - vtk-base >=9.4.2,<9.4.3.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18080330 + timestamp: 1748340656265 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2 + sha256: 8f35c244b1631a4f31fb1d66ab6e1d9bfac0ca9b679deced1112c7225b3ad138 + md5: c05d1820a6d34ff07aaaab7a9b7eddaa + depends: + - libgcc-ng >=9.3.0 + - libstdcxx-ng >=9.3.0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 259377 + timestamp: 1623788789327 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda + sha256: 5c7380c8fd3ad5fc0f8039069a45586aa452cf165264bc5a437ad80397b32934 + md5: 7fa07cb0fb1b625a089ccc01218ee5b1 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1209177 + timestamp: 1756742976157 +- conda: https://conda.anaconda.org/conda-forge/noarch/pep517-0.13.0-pyhd8ed1ab_0.tar.bz2 + sha256: 6a6f2fa6bc9106b2edcccc142242dc3ab1f2f77a6debbd5b480f08482f052636 + md5: d94aa03d99d8adc9898f783eba0d84d2 + depends: + - python >=3.8 + - tomli + license: MIT + license_family: MIT + purls: + - pkg:pypi/pep517?source=hash-mapping + size: 19044 + timestamp: 1667916747996 +- conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + sha256: 202af1de83b585d36445dc1fda94266697341994d1a3328fabde4989e1b3d07a + md5: d0d408b1f18883a944376da5cf8101ea + depends: + - ptyprocess >=0.5 + - python >=3.9 + license: ISC + purls: + - pkg:pypi/pexpect?source=hash-mapping + size: 53561 + timestamp: 1733302019362 +- pypi: https://files.pythonhosted.org/packages/27/6f/0cf0746d02a356103b7c3a065dbc188d8b5092e58bb363d74aa668ee1ad1/phonemes2ids-1.2.2.tar.gz + name: phonemes2ids + version: 1.2.2 + sha256: 8e3e9e0723215c7187b56276bb053688a43851d8deb9948432e793262551c2ac +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-11.3.0-py312h7b42cdd_3.conda + sha256: ad4a22899819a2bb86550d1fc3833a44e073aac80ea61529676b5e73220fcc2b + md5: 1d7f05c3f8bb4e98d02fca45f0920b23 + depends: + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - lcms2 >=2.17,<3.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - tk >=8.6.13,<8.7.0a0 + - libxcb >=1.17.0,<2.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - python_abi 3.12.* *_cp312 + - openjpeg >=2.5.3,<3.0a0 + license: HPND + purls: + - pkg:pypi/pillow?source=hash-mapping + size: 1028547 + timestamp: 1758208668856 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + sha256: 43d37bc9ca3b257c5dd7bf76a8426addbdec381f6786ff441dc90b1a49143b6a + md5: c01af13bdc553d1a8fbfff6e8db075f0 + depends: + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MIT + license_family: MIT + purls: [] + size: 450960 + timestamp: 1754665235234 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pkg-config-0.29.2-h4bc722e_1009.conda + sha256: c9601efb1af5391317e04eca77c6fe4d716bf1ca1ad8da2a05d15cb7c28d7d4e + md5: 1bee70681f504ea424fb07cdb090c001 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 115175 + timestamp: 1720805894943 +- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.1-pyhcf101f3_0.conda + sha256: 04c64fb78c520e5c396b6e07bc9082735a5cc28175dbe23138201d0a9441800b + md5: 1bd2e65c8c7ef24f4639ae6e850dacc2 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/platformdirs?source=hash-mapping + size: 23922 + timestamp: 1764950726246 +- conda: https://conda.anaconda.org/conda-forge/noarch/playsound-1.3.0-pyhd8ed1ab_1.conda + sha256: 0adc0f2657a349d3dc27da112362dd293aecedb0ae99515c309597bf833a235c + md5: 99249c0d0b9b9663c59337873b16ac63 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/playsound?source=hash-mapping + size: 12785 + timestamp: 1735588579558 +- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + sha256: e14aafa63efa0528ca99ba568eaf506eb55a0371d12e6250aaaa61718d2eb62e + md5: d7585b6550ad04c8c5e21097ada2888e + depends: + - python >=3.9 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/pluggy?source=compressed-mapping + size: 25877 + timestamp: 1764896838868 +- conda: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_3.conda + sha256: bae453e5cecf19cab23c2e8929c6e30f4866d996a8058be16c797ed4b935461f + md5: fd5062942bfa1b0bd5e0d2a4397b099e + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/ply?source=hash-mapping + size: 49052 + timestamp: 1733239818090 +- conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.5.0-pyha770c72_0.conda + sha256: 8481f4939b1f81cf0db12456819368b41e3f998e4463e41611de4b13752b2c08 + md5: af8d4882203bccefec6f1aeed70030c6 + depends: + - cfgv >=2.0.0 + - identify >=1.0.0 + - nodeenv >=0.11.1 + - python >=3.10 + - pyyaml >=5.1 + - virtualenv >=20.10.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pre-commit?source=hash-mapping + size: 201265 + timestamp: 1764067809524 +- pypi: https://files.pythonhosted.org/packages/5e/5f/82c8074f7e84978129347c2c6ec8b6c59f3584ff1a20bc3c940a3e061790/priority-2.0.0-py3-none-any.whl + name: priority + version: 2.0.0 + sha256: 6f8eefce5f3ad59baf2c080a664037bb4725cd0a790d53d59ab4059288faf6aa + requires_python: '>=3.6.1' +- conda: https://conda.anaconda.org/conda-forge/linux-64/proj-9.6.2-h18fbb6c_2.conda + sha256: c1c9e38646a2d07007844625c8dea82404c8785320f8a6326b9338f8870875d0 + md5: 1aeede769ec2fa0f474f8b73a7ac057f + depends: + - __glibc >=2.17,<3.0.a0 + - libcurl >=8.14.1,<9.0a0 + - libgcc >=14 + - libsqlite >=3.50.4,<4.0a0 + - libstdcxx >=14 + - libtiff >=4.7.0,<4.8.0a0 + - sqlite + constrains: + - proj4 ==999999999999 + license: MIT + license_family: MIT + purls: [] + size: 3240415 + timestamp: 1754927975218 +- conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + sha256: 4817651a276016f3838957bfdf963386438c70761e9faec7749d411635979bae + md5: edb16f14d920fb3faf17f5ce582942d6 + depends: + - python >=3.10 + - wcwidth + constrains: + - prompt_toolkit 3.0.52 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/prompt-toolkit?source=hash-mapping + size: 273927 + timestamp: 1756321848365 +- conda: https://conda.anaconda.org/conda-forge/linux-64/propcache-0.3.1-py312h178313f_0.conda + sha256: d0ff67d89cf379a9f0367f563320621f0bc3969fe7f5c85e020f437de0927bb4 + md5: 0cf580c1b73146bb9ff1bbdb4d4c8cf9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/propcache?source=hash-mapping + size: 54233 + timestamp: 1744525107433 +- conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-5.29.3-py312h0f4f066_0.conda + sha256: 8f896488bb5b21b47e72edb743c740fdc74d4d8bfc2178d07ff15f20d0d086df + md5: 4c412df32064636d9ebac1be3dd4cdbf + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20250127.0,<20250128.0a0 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - libprotobuf 5.29.3 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/protobuf?source=hash-mapping + size: 478887 + timestamp: 1741125776561 +- conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.1.3-py312h5253ce2_0.conda + sha256: 1b679202ebccf47be64509a4fc2a438a66229403257630621651b2886b882597 + md5: 82ce56c5a4a55165aed95e04923ab363 + depends: + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/psutil?source=hash-mapping + size: 495011 + timestamp: 1762092914381 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 + md5: b3c17d95b5a10c6e64a21fa17573e70e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 8252 + timestamp: 1726802366959 +- conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + sha256: a7713dfe30faf17508ec359e0bc7e0983f5d94682492469bd462cdaae9c64d83 + md5: 7d9daffbb8d8e0af0f769dbbcd173a54 + depends: + - python >=3.9 + license: ISC + purls: + - pkg:pypi/ptyprocess?source=hash-mapping + size: 19457 + timestamp: 1733302371990 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda + sha256: 23c98a5000356e173568dc5c5770b53393879f946f3ace716bbdefac2a8b23d2 + md5: b11a4c6bf6f6f44e5e143f759ffa2087 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + purls: [] + size: 118488 + timestamp: 1736601364156 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a8bead_2.conda + sha256: 8a6729861c9813a756b0438c30bd271722fb3f239ded3afc3bf1cb03327a640e + md5: b6f21b1c925ee2f3f7fc37798c5988db + depends: + - __glibc >=2.17,<3.0.a0 + - dbus >=1.16.2,<2.0a0 + - libgcc >=14 + - libglib >=2.86.0,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libsndfile >=1.2.2,<1.3.0a0 + - libsystemd0 >=257.7 + - libxcb >=1.17.0,<2.0a0 + constrains: + - pulseaudio 17.0 *_2 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 761857 + timestamp: 1757472971364 +- conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + sha256: 71bd24600d14bb171a6321d523486f6a06f855e75e547fa0cb2a0953b02047f0 + md5: 3bfdfb8dbcdc4af1ae3f9a8eb3948f04 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pure-eval?source=hash-mapping + size: 16668 + timestamp: 1733569518868 +- conda: https://conda.anaconda.org/conda-forge/linux-64/py-opencv-4.11.0-qt6_py312h0c4a6be_609.conda + sha256: 3a4613a75e650981c405ef337e180e87803dd222ae529224d16d8fc98f64f515 + md5: cebc6fbdab790a8fadd8f8d5f8c6ca33 + depends: + - libopencv 4.11.0 qt6_py312h4381209_609 + - libprotobuf >=5.29.3,<5.29.4.0a0 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 1155759 + timestamp: 1750898943629 +- pypi: https://files.pythonhosted.org/packages/fc/b7/ba5551480e397c6e86805cc381dd6dc36b15411a806c00c35b661d8dd77e/pyamdgpuinfo-2.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: pyamdgpuinfo + version: 2.1.7 + sha256: 74e7db2f58f74d0c9a66709fe7a16410ccc442bcbb204a1e593bfd575a6184f5 + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.0.1-pyh7a1b43c_0.conda + sha256: 2558727093f13d4c30e124724566d16badd7de532fd8ee7483628977117d02be + md5: 70ece62498c769280f791e836ac53fff + depends: + - python >=3.8 + - pybind11-global ==3.0.1 *_0 + - python + constrains: + - pybind11-abi ==11 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pybind11?source=hash-mapping + size: 232875 + timestamp: 1755953378112 +- conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-11-hc364b38_1.conda + sha256: 9e7fe12f727acd2787fb5816b2049cef4604b7a00ad3e408c5e709c298ce8bf1 + md5: f0599959a2447c1e544e216bddf393fa + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 14671 + timestamp: 1752769938071 +- conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.0.1-pyhc7ab6ef_0.conda + sha256: f11a5903879fe3a24e0d28329cb2b1945127e85a4cdb444b45545cf079f99e2d + md5: fe10b422ce8b5af5dab3740e4084c3f9 + depends: + - python >=3.8 + - __unix + - python + constrains: + - pybind11-abi ==11 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pybind11-global?source=hash-mapping + size: 228871 + timestamp: 1755953338243 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pybullet-3.25-py312hf49885f_5.conda + sha256: 849bbe715c3d3e3c89f19a096d0158ce712022f387829ba222c327c533b747d4 + md5: 82f56eb2ea7b24643993dea9f715b101 + depends: + - __glibc >=2.17,<3.0.a0 + - bullet-cpp 3.25 hcbe3ca9_5 + - libgcc >=13 + - libstdcxx >=13 + - libzlib >=1.3.1,<2.0a0 + - numpy >=1.23,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Zlib + purls: + - pkg:pypi/pybullet?source=hash-mapping + size: 62838622 + timestamp: 1761041325516 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pycairo-1.29.0-py312h2596900_0.conda + sha256: f0c2cdc875f75af9a9e15b4dc84bb5b3c321c46c40343b5995869a10697119d7 + md5: 3ae03fed8f1d543f46066b07721029a4 + depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - libexpat >=2.7.1,<3.0a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: LGPL-2.1-only OR MPL-1.1 + purls: + - pkg:pypi/pycairo?source=hash-mapping + size: 120332 + timestamp: 1763046400508 +- conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.14.0-pyhd8ed1ab_0.conda + sha256: 1950f71ff44e64163e176b1ca34812afc1a104075c3190de50597e1623eb7d53 + md5: 85815c6a22905c080111ec8d56741454 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pycodestyle?source=hash-mapping + size: 35182 + timestamp: 1750616054854 +- conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda + sha256: 79db7928d13fab2d892592223d7570f5061c192f27b9febd1a418427b719acc6 + md5: 12c566707c80111f9799308d9e265aef + depends: + - python >=3.9 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pycparser?source=hash-mapping + size: 110100 + timestamp: 1733195786147 +- conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_1.conda + sha256: 83ab8434e3baf6a018914da4f1c2ae9023e23fb41e131b68b3e3f9ca41ecef61 + md5: a36aa6e0119331d3280f4bba043314c7 + depends: + - python >=3.9 + - snowballstemmer >=2.2.0 + - tomli >=1.2.3 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pydocstyle?source=hash-mapping + size: 40236 + timestamp: 1733261742916 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pydot-4.0.1-py312h7900ff3_1.conda + sha256: 976a9a4da0a6822e712cd1e283713d736108647665166263fd0c09c6fa93a869 + md5: 978768d48e850a22e6e52f865c2a8b26 + depends: + - graphviz >=2.38.0 + - pyparsing >=3.0.9 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pydot?source=hash-mapping + size: 83063 + timestamp: 1756812465781 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-3.4.0-pyhd8ed1ab_0.conda + sha256: 4b6fb3f7697b4e591c06149671699777c71ca215e9ec16d5bd0767425e630d65 + md5: dba204e749e06890aeb3756ef2b1bf35 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyflakes?source=hash-mapping + size: 59592 + timestamp: 1750492011671 +- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda + sha256: 5577623b9f6685ece2697c6eb7511b4c9ac5fb607c9babc2646c811b428fd46a + md5: 6b6ece66ebcae2d5f326c77ef2c5a066 + depends: + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/pygments?source=hash-mapping + size: 889287 + timestamp: 1750615908735 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.6.1-py312h4c3975b_0.conda + sha256: c39e6c422d29d1c4bd2b05737b7da598e41cb85ed2e60a67fc5ce8313baada9b + md5: 12aa2c28535cc8be906890f8a55d7e9f + depends: + - __glibc >=2.17,<3.0.a0 + - cffi >=1.4.1 + - libgcc >=14 + - libsodium >=1.0.20,<1.0.21.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - six + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/pynacl?source=hash-mapping + size: 1157715 + timestamp: 1764063700229 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.5-pyhcf101f3_0.conda + sha256: 6814b61b94e95ffc45ec539a6424d8447895fef75b0fec7e1be31f5beee883fb + md5: 6c8979be6d7a17692793114fa26916e8 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyparsing?source=hash-mapping + size: 104044 + timestamp: 1758436411254 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.11-py312h82c0db2_2.conda + sha256: cdad112328763c7b4f23ce823dc0b5821de310f109324b9ba89bddf13af599f0 + md5: 84d5670ea1c8e72198bce0710f015e0c + depends: + - __glibc >=2.17,<3.0.a0 + - libegl >=1.7.0,<2.0a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - libstdcxx >=14 + - pyqt5-sip 12.17.0 py312h1289d80_2 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - qt-main >=5.15.15,<5.16.0a0 + - sip >=6.10.0,<6.11.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-keysyms >=0.4.1,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + - xcb-util-wm >=0.4.2,<0.5.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxcomposite >=0.4.6,<1.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxxf86vm >=1.1.6,<2.0a0 + license: GPL-3.0-only + license_family: GPL + purls: + - pkg:pypi/pyqt5?source=hash-mapping + size: 5282965 + timestamp: 1759498005783 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyqt-builder-1.18.2-pyhd8ed1ab_0.conda + sha256: 081d82179da39117d29a46235b2304c24600ee7c4f842307eb9f62789942837f + md5: 3c99b35c07931fffc1928aff181bdc4b + depends: + - packaging + - python >=3.10 + - sip + - toml + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/pyqt-builder?source=hash-mapping + size: 2965224 + timestamp: 1763427646500 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-12.17.0-py312h1289d80_2.conda + sha256: d1f8665889ace76677084d5a0399b2a488553fc5e8efafe9e97ee7e2641e2496 + md5: 14b1c131cab3002a6d2c2db647550084 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - packaging + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - sip + - toml + license: GPL-3.0-only + license_family: GPL + purls: + - pkg:pypi/pyqt5-sip?source=hash-mapping + size: 85800 + timestamp: 1759495565076 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.9.2-py312h5654102_1.conda + sha256: 51e77f7701d535d2dbbc4ad8fd878a3e34d5d7acda2aa4c2f9fc45b9759eca02 + md5: f081a3bd12e609dce6ebe7eed98e6783 + depends: + - __glibc >=2.17,<3.0.a0 + - libclang13 >=21.1.0 + - libegl >=1.7.0,<2.0a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - libstdcxx >=14 + - libxml2 >=2.13.8,<2.14.0a0 + - libxslt >=1.1.43,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - qt6-main 6.9.2.* + - qt6-main >=6.9.2,<6.10.0a0 + license: LGPL-3.0-only + license_family: LGPL + purls: + - pkg:pypi/pyside6?source=hash-mapping + - pkg:pypi/shiboken6?source=hash-mapping + size: 10127456 + timestamp: 1756673992677 +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 + md5: 461219d1a5bd61342293efa2c0c90eac + depends: + - __unix + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pysocks?source=hash-mapping + size: 21085 + timestamp: 1733217331982 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda + sha256: 9e749fb465a8bedf0184d8b8996992a38de351f7c64e967031944978de03a520 + md5: 2b694bad8a50dc2f712f5368de866480 + depends: + - pygments >=2.7.2 + - python >=3.10 + - iniconfig >=1.0.1 + - packaging >=22 + - pluggy >=1.5,<2 + - tomli >=1 + - colorama >=0.4 + - exceptiongroup >=1 + - python + constrains: + - pytest-faulthandler >=2 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pytest?source=hash-mapping + size: 299581 + timestamp: 1765062031645 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-7.0.0-pyhcf101f3_1.conda + sha256: d0f45586aad48ef604590188c33c83d76e4fc6370ac569ba0900906b24fd6a26 + md5: 6891acad5e136cb62a8c2ed2679d6528 + depends: + - coverage >=7.10.6 + - pluggy >=1.2 + - pytest >=7 + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/pytest-cov?source=hash-mapping + size: 29016 + timestamp: 1757612051022 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.15.1-pyhd8ed1ab_0.conda + sha256: 2936717381a2740c7bef3d96827c042a3bba3ba1496c59892989296591e3dabb + md5: 0511afbe860b1a653125d77c719ece53 + depends: + - pytest >=6.2.5 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pytest-mock?source=hash-mapping + size: 22968 + timestamp: 1758101248317 +- 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 + purls: + - pkg:pypi/pytest-repeat?source=hash-mapping + size: 10537 + timestamp: 1744061283541 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.1-pyhd8ed1ab_0.conda + sha256: 437f0e7805e471dcc57afd4b122d5025fa2162e4c031dc9e8c6f2c05c4d50cc0 + md5: b57fe0c7e03b97c3554e6cea827e2058 + depends: + - packaging >=17.1 + - pytest >=7.4,!=8.2.2 + - python >=3.10 + license: MPL-2.0 + license_family: OTHER + purls: + - pkg:pypi/pytest-rerunfailures?source=hash-mapping + size: 19613 + timestamp: 1760091441792 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.0-hab00c5b_0_cpython.conda + sha256: 5398ebae6a1ccbfd3f76361eac75f3ac071527a8072627c4bf9008c689034f48 + md5: 7f97faab5bebcc2580f4f299285323da + depends: + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.5.0,<3.0a0 + - libffi >=3.4,<4.0a0 + - libgcc-ng >=12 + - libnsl >=2.0.0,<2.1.0a0 + - libsqlite >=3.43.0,<4.0a0 + - libuuid >=2.38.1,<3.0a0 + - libzlib >=1.2.13,<2.0.0a0 + - ncurses >=6.4,<7.0a0 + - openssl >=3.1.3,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + purls: [] + size: 32123473 + timestamp: 1696324522323 +- pypi: https://files.pythonhosted.org/packages/54/a3/6af8a68bdfe4d8c001a1fdb84b6fa1154d2b772dbd619050697f4cc2fe39/python_crfsuite-0.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: python-crfsuite + version: 0.9.11 + sha256: 7f498cb82686dc18f7cecaf0a7ebceb4590ee2137cfa8cfe1b75f53514d0e956 + requires_dist: + - tox ; extra == 'dev' + - black ; extra == 'dev' + - isort ; extra == 'dev' + - flake8 ; extra == 'dev' + requires_python: '>=3.8' +- 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 + purls: + - pkg:pypi/python-dateutil?source=hash-mapping + size: 233310 + timestamp: 1751104122689 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-librt-0.7.3-py312h5253ce2_0.conda + sha256: 34744d12076a2b6e796f087ef3c5b40740d2a989b2bf83b29a428b338374729d + md5: 4119665996c855c55841e9d511c2ae14 + depends: + - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/librt?source=hash-mapping + size: 63822 + timestamp: 1765054582014 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-orocos-kdl-1.5.3-py312h1289d80_0.conda + sha256: 90710092b39029c891934aa03076123a191365a2821c60e3e9c8540f320f4792 + md5: 5621a85f434696dbbf66dbb6a4d47343 + depends: + - __glibc >=2.17,<3.0.a0 + - eigen + - libgcc >=14 + - libstdcxx >=14 + - orocos-kdl + - pybind11 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 346120 + timestamp: 1760695946175 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + build_number: 8 + sha256: 80677180dd3c22deb7426ca89d6203f1c7f1f256f2d5a94dc210f6e758229809 + md5: c3efd25ac4d74b1584d2f7a57195ddf1 + constrains: + - python 3.12.* *_cpython + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 6958 + timestamp: 1752805918820 +- pypi: https://files.pythonhosted.org/packages/84/14/9fb5842581f0419b5eb85f8c26c1c0c0f4cf6b4d5be638ae3157316a2650/pyttsx3-2.99-py3-none-any.whl + name: pyttsx3 + version: '2.99' + sha256: ff3e4ff756c24d72b9f3f2f304e0edaafd0f58adb0e6f4b90d930440cda8b207 + requires_dist: + - comtypes ; sys_platform == 'win32' + - pyobjc>=2.4 ; sys_platform == 'darwin' + - pypiwin32 ; sys_platform == 'win32' + - pywin32 ; sys_platform == 'win32' +- conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda + sha256: 8d2a8bf110cc1fc3df6904091dead158ba3e614d8402a83e51ed3a8aa93cdeb0 + md5: bc8e3267d44011051f2eb14d22fb0960 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pytz?source=hash-mapping + size: 189015 + timestamp: 1742920947249 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_0.conda + sha256: 1b3dc4c25c83093fff08b86a3574bc6b94ba355c8eba1f35d805c5e256455fc7 + md5: fba10c2007c8b06f77c5a23ce3a635ad + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyyaml?source=hash-mapping + size: 204539 + timestamp: 1758892248166 +- conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + sha256: 776363493bad83308ba30bcb88c2552632581b143e8ee25b1982c8c743e73abc + md5: 353823361b1d27eb3960efb076dfcaf6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: LicenseRef-Qhull + purls: [] + size: 552937 + timestamp: 1720813982144 +- conda: https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.15-h3a7ef08_5.conda + sha256: f1fee8d35bfeb4806bdf2cb13dc06e91f19cb40104e628dd721989885d1747ad + md5: 9279a2436ad1ba296f49f0ad44826b78 + depends: + - __glibc >=2.17,<3.0.a0 + - alsa-lib >=1.2.14,<1.3.0a0 + - dbus >=1.16.2,<2.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - gst-plugins-base >=1.24.11,<1.25.0a0 + - gstreamer >=1.24.11,<1.25.0a0 + - harfbuzz >=11.4.3 + - icu >=75.1,<76.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libclang-cpp20.1 >=20.1.8,<20.2.0a0 + - libclang13 >=20.1.8 + - libcups >=2.3.3,<2.4.0a0 + - libdrm >=2.4.125,<2.5.0a0 + - libegl >=1.7.0,<2.0a0 + - libevent >=2.1.12,<2.1.13.0a0 + - libexpat >=2.7.1,<3.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libgcc >=13 + - libgl >=1.7.0,<2.0a0 + - libglib >=2.84.3,<3.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - libllvm20 >=20.1.8,<20.2.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libpq >=17.6,<18.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libstdcxx >=13 + - libxcb >=1.17.0,<2.0a0 + - libxkbcommon >=1.11.0,<2.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - nspr >=4.37,<5.0a0 + - nss >=3.115,<4.0a0 + - openssl >=3.5.2,<4.0a0 + - pulseaudio-client >=17.0,<17.1.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-keysyms >=0.4.1,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + - xcb-util-wm >=0.4.2,<0.5.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxxf86vm >=1.1.6,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - qt 5.15.15 + license: LGPL-3.0-only + license_family: LGPL + purls: [] + size: 52149940 + timestamp: 1756072007197 +- conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.9.2-h5bd77bc_1.conda + sha256: ac540c33b8e908f49e4eae93032708f7f6eeb5016d28190f6ed7543532208be2 + md5: f7bfe5b8e7641ce7d11ea10cfd9f33cc + depends: + - __glibc >=2.17,<3.0.a0 + - alsa-lib >=1.2.14,<1.3.0a0 + - dbus >=1.16.2,<2.0a0 + - double-conversion >=3.3.1,<3.4.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - harfbuzz >=11.5.0 + - icu >=75.1,<76.0a0 + - krb5 >=1.21.3,<1.22.0a0 + - libclang-cpp21.1 >=21.1.0,<21.2.0a0 + - libclang13 >=21.1.0 + - libcups >=2.3.3,<2.4.0a0 + - libdrm >=2.4.125,<2.5.0a0 + - libegl >=1.7.0,<2.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libglib >=2.86.0,<3.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - libllvm21 >=21.1.0,<21.2.0a0 + - libpng >=1.6.50,<1.7.0a0 + - libpq >=17.6,<18.0a0 + - libsqlite >=3.50.4,<4.0a0 + - libstdcxx >=14 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - libxkbcommon >=1.11.0,<2.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.2,<4.0a0 + - pcre2 >=10.46,<10.47.0a0 + - wayland >=1.24.0,<2.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + - xcb-util-cursor >=0.1.5,<0.2.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-keysyms >=0.4.1,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + - xcb-util-wm >=0.4.2,<0.5.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxcomposite >=0.4.6,<1.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrandr >=1.5.4,<2.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + - xorg-libxxf86vm >=1.1.6,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - qt 6.9.2 + license: LGPL-3.0-only + license_family: LGPL + purls: [] + size: 52405921 + timestamp: 1758011263853 +- pypi: https://files.pythonhosted.org/packages/7e/e9/cc28f21f52913adf333f653b9e0a3bf9cb223f5083a26422968ba73edd8d/quart-0.20.0-py3-none-any.whl + name: quart + version: 0.20.0 + sha256: 003c08f551746710acb757de49d9b768986fd431517d0eb127380b656b98b8f1 + requires_dist: + - aiofiles + - blinker>=1.6 + - click>=8.0 + - flask>=3.0 + - hypercorn>=0.11.2 + - importlib-metadata ; python_full_version < '3.10' + - itsdangerous + - jinja2 + - markupsafe + - typing-extensions ; python_full_version < '3.10' + - werkzeug>=3.0 + - python-dotenv ; extra == 'dotenv' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/ea/31/da390a5a10674481dea2909178973de81fa3a246c0eedcc0e1e4114f52f8/quart_cors-0.8.0-py3-none-any.whl + name: quart-cors + version: 0.8.0 + sha256: 62dc811768e2e1704d2b99d5880e3eb26fc776832305a19ea53db66f63837767 + requires_dist: + - quart>=0.15 + - typing-extensions ; python_full_version < '3.11' + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/rapidjson-1.1.0.post20240409-h3f2d84a_2.conda + sha256: f87f265263a1ddbc50b98e2c2bcaa2bac63da3acc09267815dd0f4bd614cd902 + md5: 65e2f30d532b4ae2063a424c185cc678 + depends: + - libgcc >=13 + - libstdcxx >=13 + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + license: MIT + license_family: MIT + purls: [] + size: 156074 + timestamp: 1742820732296 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rav1e-0.7.1-h8fae777_3.conda + sha256: 6e5e704c1c21f820d760e56082b276deaf2b53cf9b751772761c3088a365f6f4 + md5: 2c42649888aac645608191ffdc80d13a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + constrains: + - __glibc >=2.17 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 5176669 + timestamp: 1746622023242 +- conda: https://data.bit-bots.de/conda-misc/output/noarch/readline-8.2.9999-h4616a5c_3.conda + sha256: a4117ce5fbd5796524598d7d3eebf38a40b928073305395ac67c6dc2b0b09315 + md5: bfe8ff7926064ecc8830dd46b8a9a101 + size: 1076 + timestamp: 1765723527937 +- pypi: https://files.pythonhosted.org/packages/84/bd/9ce9f629fcb714ffc2c3faf62b6766ecb7a585e1e885eb699bcf130a5209/regex-2025.11.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: regex + version: 2025.11.3 + sha256: a12ab1f5c29b4e93db518f5e3872116b7e9b1646c9f9f426f777b50d44a09e8c + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhd8ed1ab_0.conda + sha256: 8dc54e94721e9ab545d7234aa5192b74102263d3e704e6d0c8aa7008f2da2a7b + md5: db0c6b99149880c8ba515cf4abe93ee4 + depends: + - certifi >=2017.4.17 + - charset-normalizer >=2,<4 + - idna >=2.5,<4 + - python >=3.9 + - urllib3 >=1.21.1,<3 + constrains: + - chardet >=3.0.2,<6 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/requests?source=hash-mapping + size: 59263 + timestamp: 1755614348400 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rhash-1.4.6-hb9d3cd8_1.conda + sha256: d5c73079c1dd2c2a313c3bfd81c73dbd066b7eb08d213778c8bff520091ae894 + md5: c1c9b02933fdb2cfb791d936c20e887e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 193775 + timestamp: 1748644872902 +- conda: https://conda.anaconda.org/conda-forge/noarch/rich-14.2.0-pyhcf101f3_0.conda + sha256: edfb44d0b6468a8dfced728534c755101f06f1a9870a7ad329ec51389f16b086 + md5: a247579d8a59931091b16a1e932bbed6 + depends: + - markdown-it-py >=2.2.0 + - pygments >=2.13.0,<3.0.0 + - python >=3.10 + - typing_extensions >=4.0.0,<5.0.0 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/rich?source=hash-mapping + size: 200840 + timestamp: 1760026188268 +- conda: https://conda.anaconda.org/conda-forge/noarch/roman-numerals-py-3.1.0-pyhd8ed1ab_0.conda + sha256: 0116a9ca9bf3487e18979b58b2f280116dba55cb53475af7a6d835f7aa133db8 + md5: 5f0f24f8032c2c1bb33f59b75974f5fc + depends: + - python >=3.9 + license: 0BSD OR CC0-1.0 + purls: + - pkg:pypi/roman-numerals-py?source=hash-mapping + size: 13348 + timestamp: 1740240332327 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-action-msgs-2.0.3-np126py312h3bd2861_10.conda + sha256: 1b8a875e47775e899830d48cfccb1d258d3bfd702f69914ccc49567fc467e8b5 + md5: ff46c9e8166e2255a2c9830e9bc6c4a7 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros-jazzy-service-msgs + - ros-jazzy-unique-identifier-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 152182 + timestamp: 1759136410687 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-action-tutorials-cpp-0.33.7-np126py312h3bd2861_10.conda + sha256: 42394ed6055911a94144e22a54d01a70b8a026ae3b63629b1ea20fe21caa8eb2 + md5: b974a86265d34d423493372ef38d4342 + depends: + - python + - ros-jazzy-action-tutorials-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 132333 + timestamp: 1759138528614 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-action-tutorials-interfaces-0.33.7-np126py312h3bd2861_10.conda + sha256: 611ee2fb1a961f5a87d80e871f50664a6dc54cd46f8b606c88e0586b1b319e2c + md5: 264e7c8c2ccad2f44ed21dfacfb88714 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 184860 + timestamp: 1759136622678 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-action-tutorials-py-0.33.7-np126py312h3bd2861_10.conda + sha256: 09f18ea6710a39258ab1a018eccd81c5b614155199b2d1d9eead6ff57403b38e + md5: 580f84d14bfaa668b0be3b8cbe6a419b + depends: + - python + - ros-jazzy-action-tutorials-interfaces + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 30726 + timestamp: 1759138254116 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-actionlib-msgs-5.3.6-np126py312h3bd2861_10.conda + sha256: 32de8131c73f7198b2e5d0cf6fed066d3888451bb53aa4833a131780f27fb981 + md5: 4b2a4459c8af98c31ae1348e8352d5cf + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 111170 + timestamp: 1759136885319 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-2.5.4-np126py312h3bd2861_10.conda + sha256: da8dd702f6b270346c303f855cbcddc73e3cb2cc2a5e0b3d7c1dc22dce44702a + md5: d515c31f480d0de07aa5d21786600ac6 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-export-definitions + - ros-jazzy-ament-cmake-export-dependencies + - ros-jazzy-ament-cmake-export-include-directories + - ros-jazzy-ament-cmake-export-interfaces + - ros-jazzy-ament-cmake-export-libraries + - ros-jazzy-ament-cmake-export-link-flags + - ros-jazzy-ament-cmake-export-targets + - ros-jazzy-ament-cmake-gen-version-h + - ros-jazzy-ament-cmake-libraries + - ros-jazzy-ament-cmake-python + - ros-jazzy-ament-cmake-target-dependencies + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-cmake-version + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - cmake + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 23133 + timestamp: 1759134416228 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-auto-2.5.4-np126py312h3bd2861_10.conda + sha256: 457ce4b76dd74c939acbcd9938c454042c2462e4ab9222426aad89bff89708b1 + md5: 7e5141f0b6cb15905e5cf03d3d5c05b7 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 27239 + timestamp: 1759134487157 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-copyright-0.17.3-np126py312h3bd2861_10.conda + sha256: 8a4a685ddd9192f70d514028e3284569e0b2da454fc8bb8744ce3c8c28214a21 + md5: 74aaf390755615f89bad8e5765748805 + depends: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-copyright + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 22540 + timestamp: 1759134598637 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-core-2.5.4-np126py312h3bd2861_10.conda + sha256: fbdb102ca21ac8339b407cd5e95194ad38b6de823f3ab343ec3078f7b56a7621 + md5: 1320afd8f5ac3e13de730ae0b3a24036 + depends: + - catkin_pkg + - python + - ros-jazzy-ament-package + - ros2-distro-mutex 0.11.* jazzy_* + - cmake + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 44602 + timestamp: 1759133832453 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-cppcheck-0.17.3-np126py312h3bd2861_10.conda + sha256: 057fd3c14e6816725bd9649a92a7d01abda25c4edda6e662d956a34041ce645d + md5: a469fee178503acbc9691d10f4682489 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-cppcheck + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 24145 + timestamp: 1759134739203 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-cpplint-0.17.3-np126py312h3bd2861_10.conda + sha256: 5865778dd7d0ab8dcc2847dc5daa26216720f44c769e776ae19be58ee08fa610 + md5: cea76e84cdc5a61005e7bfdf5659bd4d + depends: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-cpplint + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 23166 + timestamp: 1759134782570 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-definitions-2.5.4-np126py312h3bd2861_10.conda + sha256: ef005d7fb3bac97e56f95b9b7771bb69dc226574d9e282abfc499c04052e4c31 + md5: 70d6722a575b2457fa58daab5c2badb5 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 21928 + timestamp: 1759133959384 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-dependencies-2.5.4-np126py312h3bd2861_10.conda + sha256: bb05409ba9a68e3eeec6e8fd811f957191fedbb42d5511dfb7dbb1a24dacf65d + md5: 591a40185a935ba5d1663db318d59309 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-libraries + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 22822 + timestamp: 1759134075185 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-include-directories-2.5.4-np126py312h3bd2861_10.conda + sha256: 1ab6d0ccb814415bab5c4def1065a63f71764314ffd261e65ffddcb5e79dc110 + md5: 2c6d7567d6ff94d0d4f3d31590a65b3b + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 22313 + timestamp: 1759133955377 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-interfaces-2.5.4-np126py312h3bd2861_10.conda + sha256: 2b1487576c4f83cfe3de7deb8fa618a124e0757877a3748fba5675db3794d9b8 + md5: 9bd5f96a85e35c2f769f4281d6e6215e + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-export-libraries + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 22521 + timestamp: 1759134052942 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-libraries-2.5.4-np126py312h3bd2861_10.conda + sha256: f9947aeb9a7af1e95ab85bf6f6fd308ba24600ea30d0322f88032917903e3089 + md5: 23e5475abbc527069e52a58b97bc1301 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 23851 + timestamp: 1759133934452 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-link-flags-2.5.4-np126py312h3bd2861_10.conda + sha256: a2e1c9fd6734c3dfb52e7d9354d2e4664740a5e26a2e01497e7e0fffdd5f2add + md5: 4bf8e57b7f3d0f39d61cb914342eeac6 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 21862 + timestamp: 1759133951470 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-export-targets-2.5.4-np126py312h3bd2861_10.conda + sha256: 9284f224865194d32c95be170377ea6fe82692fd23523465b64ff8cbba7d46fc + md5: 3435ad804d61112efa0ad8bc67fe9ba8 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-export-libraries + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 22622 + timestamp: 1759134083673 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-flake8-0.17.3-np126py312h3bd2861_10.conda + sha256: 7e4323ab2ada33f1109077261c55f7b3ce6fef33a72889735d7c718f3d3028ae + md5: 3ab7241cb3e4e32bb68ee4bb0bbd9bf0 + depends: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-flake8 + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 24166 + timestamp: 1759134777625 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-gen-version-h-2.5.4-np126py312h3bd2861_10.conda + sha256: 68f86ebc83c162fe616c37e66a2b39a36a844bee11deccb1bd31b610fe441f4c + md5: 10f12182fabce09e326bc28635921582 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 24657 + timestamp: 1759134302877 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-gmock-2.5.4-np126py312h3bd2861_10.conda + sha256: 89e91f052b66ddb4f9f722159be85d619a270ad14665c535caad4400a780b094 + md5: 53e5c1cbb0c3a4c439507e0eff40a40f + depends: + - gmock + - python + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-test + - ros-jazzy-gmock-vendor + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 24766 + timestamp: 1759134310146 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-gtest-2.5.4-np126py312h3bd2861_10.conda + sha256: 3271e75e2695121cfed4fefba600e41e405bdb751396bf6fb6c7d50f37d36209 + md5: 2fbc03a4d11983ef7e2e7d45007bc5c4 + depends: + - gtest + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-gtest-vendor + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - gtest >=1.17.0,<1.17.1.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 24522 + timestamp: 1759134185222 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-include-directories-2.5.4-np126py312h3bd2861_10.conda + sha256: 7193e6896a70e5f3d0d2b233dd1efade6ddc35e896fa5f1a2993152aaff552b0 + md5: 40e460086dd375ef4096cc352f95eece + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 21789 + timestamp: 1759133966450 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-libraries-2.5.4-np126py312h3bd2861_10.conda + sha256: 4e7c17261e8fb54c91202c4b01948b067f9e531f8f8d96965208447e41d4aa9d + md5: 7cafa7a9acb195a46c7800d859a23c47 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 21459 + timestamp: 1759133962441 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-lint-cmake-0.17.3-np126py312h3bd2861_10.conda + sha256: c95829ab3e08b0ca9efd0105009305df3d4984554a84055d530e626ef2b242ba + md5: 9de96e0a472ed377c64c51df60e3ec14 + depends: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-lint-cmake + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 22234 + timestamp: 1759134486649 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-mypy-0.17.3-np126py312h3bd2861_10.conda + sha256: 4a3e9a857a1fa90522d06a2e39cfa2ec781858efc3e297c0e3e7b9738aa605ea + md5: d7c98af972291457361ad033ff4edddd + depends: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-mypy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 23185 + timestamp: 1759134770295 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-pep257-0.17.3-np126py312h3bd2861_10.conda + sha256: 48272f00f6f83b3cca6c12cb4016bddddd51bf5c88af2b9e22b12469e43ad8fa + md5: f2fa0bbb788526a5b363a2bc36134b4f + depends: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-pep257 + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 22947 + timestamp: 1759134772680 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-pytest-2.5.4-np126py312h3bd2861_10.conda + sha256: 686c39b6ccacc370d982e53e6510c7ecafd60ce5fdff55d35548660a12ee4175 + md5: f0d8dba6c1ae9e31ae548f785ec377a5 + depends: + - pytest + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-test + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 24660 + timestamp: 1759134171332 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-python-2.5.4-np126py312h3bd2861_10.conda + sha256: d8ed05e93039229c49afe5a211c98128cecdea9bc32880947b126bba4a44d5ea + md5: 2dfe91c923a3c63f5a374e94dec1fbe8 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 24026 + timestamp: 1759133950758 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-ros-0.12.0-np126py312h3bd2861_10.conda + sha256: 5e30081736cc5715c1c50ace6fe4fdcda97db043af8a87d52963c64eda90aab2 + md5: 5675917194d623b947c721b891ca90a5 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-domain-coordinator + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 31057 + timestamp: 1759135157872 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-target-dependencies-2.5.4-np126py312h3bd2861_10.conda + sha256: 5af99e38e0f12bcff9d88c8dad6aa594662e01e7641a5679e05202e3fff31d0b + md5: 2bc3c4d9b2fd625252b6655ac991abcd + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-include-directories + - ros-jazzy-ament-cmake-libraries + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 23452 + timestamp: 1759134079465 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-test-2.5.4-np126py312h3bd2861_10.conda + sha256: 3218389dab2fe118003bb27856a54c427967d202cd065b817407adaa12892fab + md5: 6a9e03a04772d82d44a36f3f99691164 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 35962 + timestamp: 1759134067824 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-uncrustify-0.17.3-np126py312h3bd2861_10.conda + sha256: d161b232b731ffc4433514861e96319c43d4554dc3e01c42ca10e30e2b23dc38 + md5: 63639073778df79369ef6585977371bd + depends: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-uncrustify + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 23554 + timestamp: 1759134766752 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-version-2.5.4-np126py312h3bd2861_10.conda + sha256: 421c9f272d211494564851ac1edc2cc3cc8da813a35006bb1b8a6af4e697fe47 + md5: e4a57c0d18ec4b143c866d979bb74550 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 21647 + timestamp: 1759133947231 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cmake-xmllint-0.17.3-np126py312h3bd2861_10.conda + sha256: fbb8dbff45ba3f21300bc33d7cc4ad6db3c58f184ec9a5965139922a7989c1d1 + md5: 28d611b42482111174aeecf6fd3a4d59 + depends: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-ament-xmllint + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 22878 + timestamp: 1759134752915 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-copyright-0.17.3-np126py312h3bd2861_10.conda + sha256: 3540bc6881fea171074bf2bd3d06532e853cbc62541ad1781056ead5cc405527 + md5: 191c3e8515f29479e25c9ec9af67d374 + depends: + - importlib-metadata + - python + - ros-jazzy-ament-lint + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 66384 + timestamp: 1759134288237 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cppcheck-0.17.3-np126py312h3bd2861_10.conda + sha256: 0d1c849eca4bbd215658bdbc0d7e714fd541353f4b3a651e0c0320524a4e1b9f + md5: 1a428d58bd65774b99fb4b6541645674 + depends: + - cppcheck + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 29727 + timestamp: 1759134435250 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-cpplint-0.17.3-np126py312h3bd2861_10.conda + sha256: 558550657ad4de03cda5c0bc5c26ca6ccde42994e1da73bc699205e000221a4e + md5: 70a9e0c4c63f464b9cab132720a17f13 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 168508 + timestamp: 1759134429635 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-flake8-0.17.3-np126py312h3bd2861_10.conda + sha256: e14771d2b63d98fbf81fc85199e756cf6f57b9302d6e9f6574aec518d4e86f85 + md5: 0ee380510b6161bde6021ae0b6409624 + depends: + - flake8 + - flake8-builtins + - flake8-comprehensions + - flake8-docstrings + - flake8-import-order + - flake8-quotes + - python + - ros-jazzy-ament-lint + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 28199 + timestamp: 1759134054135 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-index-cpp-1.8.1-np126py312h3bd2861_10.conda + sha256: e833b1bec68df1eb14c0762ae19b569916c1f430f63b3f15f66dd9b15d3d3e68 + md5: 8455c02a66a9c9007b3655adb6d17d0f + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 46717 + timestamp: 1759135470380 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-index-python-1.8.1-np126py312h3bd2861_10.conda + sha256: 0495ec46605fbb98ff48cbbaa32db1ec06d2184bb9d35f7a8ad196f60baf09d4 + md5: 631a7aecb0be6a68f940d599500d3f1b + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 29534 + timestamp: 1759134402900 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-lint-0.17.3-np126py312h3bd2861_10.conda + sha256: fd143a729d7931fcbbdb8a75fbbbb836cca851377f9ce57818bb5696c12969e7 + md5: 3dd09189cde6cc9dff17c0df07386914 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 17540 + timestamp: 1759133935127 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-lint-auto-0.17.3-np126py312h3bd2861_10.conda + sha256: 913abc207b5ab235471d2a9a5778ab11abfc94669628603244b7bd624f7236fc + md5: c836fde9af8088682b0b27e4682b6f67 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-test + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 21888 + timestamp: 1759134202194 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-lint-cmake-0.17.3-np126py312h3bd2861_10.conda + sha256: a77728c9d0b7dce62b324edfeaac0d4395ae2391778bc545ddb4de37b9824606 + md5: 0f624e9729b1f7ebc15a838cccb2de4f + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 39292 + timestamp: 1759134402296 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-lint-common-0.17.3-np126py312h3bd2861_10.conda + sha256: 3bd63f96d48e299a7c740819d50eb07b2a2a58fd675d377bca9a7d81544ad2ed + md5: 818fc97317ef6ce402483b8ea4287cc9 + depends: + - python + - ros-jazzy-ament-cmake-copyright + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-cmake-cppcheck + - ros-jazzy-ament-cmake-cpplint + - ros-jazzy-ament-cmake-flake8 + - ros-jazzy-ament-cmake-lint-cmake + - ros-jazzy-ament-cmake-pep257 + - ros-jazzy-ament-cmake-uncrustify + - ros-jazzy-ament-cmake-xmllint + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 22182 + timestamp: 1759134824441 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-mypy-0.17.3-np126py312h3bd2861_10.conda + sha256: 2653dde80fcd8261c925bd497a81ee6bc3c53a8110a1b1a6bad3bd1ba602731b + md5: 7443b8309e4a24c234be183368a21f1e + depends: + - mypy + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 26933 + timestamp: 1759134196908 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-package-0.16.4-np126py312h3bd2861_10.conda + sha256: aba2a3caa178275121077d78eaa0bb543ca78a15fad489ef0934440cf1384818 + md5: 219e221ff912c30fa84d10e21e67ad16 + depends: + - importlib-metadata + - importlib_resources + - python + - ros2-distro-mutex 0.11.* jazzy_* + - setuptools + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 42819 + timestamp: 1759133819428 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-pep257-0.17.3-np126py312h3bd2861_10.conda + sha256: 054807a1024f4e016c28d5996d0a6913a83c39aa54fdcfb68ea7c593315d882b + md5: 36c3e341e6316533dcd10526dc37f302 + depends: + - pydocstyle + - python + - ros-jazzy-ament-lint + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 26874 + timestamp: 1759134170804 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-uncrustify-0.17.3-np126py312h3bd2861_10.conda + sha256: 6a8c9a9fc05d6e70751464a626e8ad7db197781b17cb4a22b4aa00b160e683e7 + md5: b320c684c834fab56dbec576acc8937f + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-uncrustify-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 67974 + timestamp: 1759134614981 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ament-xmllint-0.17.3-np126py312h3bd2861_10.conda + sha256: d90654f8fc6d81d96dc0dda64c978275ef1249b8876271d007c05bb38a69a52f + md5: b02d4a6562f12b2ee42984e6523c474c + depends: + - libxml2 + - python + - ros-jazzy-ament-lint + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 27918 + timestamp: 1759134423741 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-angles-1.16.1-np126py312h3bd2861_10.conda + sha256: 9cdb0608062c540952abd7e2fcdca543a9d11436d72351bdabdaaa1da9f0c5df + md5: 2160deca977b5174682ef4c0557ceb96 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 33829 + timestamp: 1759134515576 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-apriltag-3.4.5-np126py312h5cbfcd5_10.conda + sha256: 85e6228180384070c5d1d8b9c267ccde108c398f88badb8eed8b2e6ef1d4694f + md5: cfd34f694876208bb14b12a2479a11c3 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - py-opencv >=4.11.0,<5.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libopencv >=4.11.0,<4.11.1.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 1356098 + timestamp: 1759133945824 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-apriltag-msgs-2.0.1-np126py312h3bd2861_10.conda + sha256: 37b57fd08efb593127d4bfdb84555a69588fda94467e1e52e5b7d7e331c18902 + md5: 817dc4f755d912a4ee49c1cef2046dee + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 115994 + timestamp: 1759136901564 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-apriltag-ros-3.3.0-np126py312h3bd2861_10.conda + sha256: b056e8279b88d9288e1982d9db70d7330a1e6a0e2cb8372c0dd5c4ffd14f78ee + md5: 7308b29cfaea840608ca8390e6ed069b + depends: + - python + - ros-jazzy-apriltag + - ros-jazzy-apriltag-msgs + - ros-jazzy-camera-ros + - ros-jazzy-cv-bridge + - ros-jazzy-image-proc + - ros-jazzy-image-transport + - ros-jazzy-image-transport-plugins + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 214944 + timestamp: 1759139976631 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-backward-ros-1.0.8-np126py312h3bd2861_10.conda + sha256: bf79b923d75cbe2e33bdc728592d23323a5d8f959b374e0f3c1a278f346d134e + md5: 8a6ae578f17e75968ab410b0407dffd0 + depends: + - elfutils + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - elfutils >=0.193,<0.194.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 333536 + timestamp: 1759134113567 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-better-launch-1.0.4-np126py312h3bd2861_10.conda + sha256: 96b254df6a28b35f3f058590f31889037e634e3d1e943bbd4482b6a4a3f8bf69 + md5: 4f818a3cbd4aea7b4b015e3ce79d4132 + depends: + - click + - docstring_parser + - osrf_pycommon + - psutil + - python + - pyyaml + - ros-jazzy-ament-index-python + - ros-jazzy-composition-interfaces + - ros-jazzy-lifecycle-msgs + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - setproctitle + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 266446 + timestamp: 1765488858146 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-bio-ik-2.0.0-np126py312h3bd2861_10.conda + sha256: 44e14ead063acb6e2521d924c58136332b7a8fe91b6514a96b21c59e31a26ccf + md5: 439633f548891993dfe7f8d46afd9f29 + depends: + - eigen + - python + - ros-jazzy-moveit-core + - ros-jazzy-moveit-ros-planning + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-eigen + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-kdl + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 391424 + timestamp: 1765488857916 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-bio-ik-msgs-0.0.0-np126py312h3bd2861_10.conda + sha256: 1b85bcb7b2dc45e5a0cbe8e3e2729463b19af3a99661aa33709faf525c53b526 + md5: 45559990b263a2c108cc81b48f85c443 + depends: + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-moveit-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 410726 + timestamp: 1765488857825 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-biped-interfaces-0.0.0-np126py312h3bd2861_10.conda + sha256: 95e48fc78858e75653601e5a30449448f875d3d21d86f29c9ca41d94d2888bd4 + md5: 01a359d83d42a54fe35f53cbe209d732 + depends: + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 88990 + timestamp: 1765488857978 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-bitbots-dynamixel-sdk-3.7.21-np126py312h3bd2861_10.conda + sha256: 98eee32dc4203d1844741586bad72832115c4ee48dafe84abb96fba3c5d2e2c3 + md5: 341f5db4ca40352d236e4c77f5f7c20f + depends: + - python + - ros-jazzy-rclcpp + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 117442 + timestamp: 1765488858128 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-bitbots-tf-buffer-1.0.0-np126py312h3bd2861_10.conda + sha256: 57195a9876379f2f155da23d7f5726686264d9fde7c614725eb36bb3e766a45f + md5: 9c492f6dec82d85850922af5743c5dce + depends: + - python + - ros-jazzy-backward-ros + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-pybind11-vendor + - ros-jazzy-rcl + - ros-jazzy-rclcpp + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2-python-extension + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 243199 + timestamp: 1765488857992 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-builtin-interfaces-2.0.3-np126py312h3bd2861_10.conda + sha256: 61591684d33300b93566ad1cca53a3650ec16733ae4a68cd032e4f20812d03ce + md5: 01a602042c395cf018dabdadd12482ac + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 79473 + timestamp: 1759136335359 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-camera-calibration-parsers-5.1.7-np126py312h3bd2861_10.conda + sha256: f8dff3085f4d759d990def13e825f1f45f11dfdd86ab2e8f344b3e63c17731a8 + md5: 185c48f7c3d79f08cb21ceff5e6dbd1d + depends: + - python + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 109184 + timestamp: 1759138301836 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-camera-info-manager-5.1.7-np126py312h3bd2861_10.conda + sha256: a478bea9e61999c5dfcffc3c88030c171d9cc19977da52f9a523f91d981e6096 + md5: 841cf27aefcb9b1398a663bdcc6bf553 + depends: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-camera-calibration-parsers + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-lifecycle + - ros-jazzy-rcpputils + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 79895 + timestamp: 1759138530522 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-camera-ros-0.5.0-np126py312h3bd2861_10.conda + sha256: e80c324422db3620e84694850cdcc33983d45a7d554ab0eddebf998015ccbbd2 + md5: 6c6673f16f5ca0421daafa0f872b3247 + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-camera-info-manager + - ros-jazzy-cv-bridge + - ros-jazzy-image-view + - ros-jazzy-libcamera + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-ros2launch + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 348237 + timestamp: 1759139530640 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-class-loader-2.7.0-np126py312h3bd2861_10.conda + sha256: be0277d168c4d3b5496569c5efdc5b79caafad2ce5997e57f1b033f7ec413257 + md5: e3c6ff36d580c6426ebc93f10e76493e + depends: + - console_bridge + - python + - ros-jazzy-console-bridge-vendor + - ros-jazzy-rcpputils + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - console_bridge >=1.0.2,<1.1.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 73708 + timestamp: 1759135857274 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-common-interfaces-5.3.6-np126py312h3bd2861_10.conda + sha256: f865a5168219a651a5d40febb0bfd38c9503a30269a53aed842740be4d84718a + md5: ec33b0f7639ac1fe6207e7d570a0e3cb + depends: + - python + - ros-jazzy-actionlib-msgs + - ros-jazzy-builtin-interfaces + - ros-jazzy-diagnostic-msgs + - ros-jazzy-geometry-msgs + - ros-jazzy-nav-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-shape-msgs + - ros-jazzy-std-msgs + - ros-jazzy-std-srvs + - ros-jazzy-stereo-msgs + - ros-jazzy-trajectory-msgs + - ros-jazzy-visualization-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 26507 + timestamp: 1759137733906 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-composition-0.33.7-np126py312h3bd2861_10.conda + sha256: cb0123db76f0b0d01f30a3cd7ca1ba9647ab9c1a7f416d6c327c79f9f9f528d6 + md5: e6ac1599e1602f356076bfaa3a7e4c4a + depends: + - python + - ros-jazzy-example-interfaces + - ros-jazzy-launch-ros + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 324840 + timestamp: 1759138935288 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-composition-interfaces-2.0.3-np126py312h3bd2861_10.conda + sha256: 60009f8ca7a7d52c31a72ea24c173d841d71b38782266e7762eb75c4cd740580 + md5: 3043bfc380012c98998147d2d467e112 + depends: + - python + - ros-jazzy-rcl-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 224044 + timestamp: 1759136883969 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-compressed-depth-image-transport-4.0.6-np126py312h3bd2861_10.conda + sha256: b808264a3eebef3403cbdf8327bf2e6018ffcebfe933ca59052dce589ed5658d + md5: 918b3536517dc6c2eb833a26b9226d9f + depends: + - python + - ros-jazzy-cv-bridge + - ros-jazzy-image-transport + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 309882 + timestamp: 1759139220873 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-compressed-image-transport-4.0.6-np126py312h3bd2861_10.conda + sha256: 84c0d84fd548cee5b7ffff275ba6a0740f6cfecc2f0a17f0820602e2330b6e02 + md5: a5e991cbbb5cb5ea33d7ffd89348945f + depends: + - python + - ros-jazzy-cv-bridge + - ros-jazzy-image-transport + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 317269 + timestamp: 1759139174471 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-console-bridge-vendor-1.7.1-np126py312h3bd2861_10.conda + sha256: a498919faaf268a0d220690dc39a40e6636acf34cc38805e87db5a347aa79436 + md5: 0cf0cff7381665453727e12cb1bcf831 + depends: + - console_bridge + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - console_bridge >=1.0.2,<1.1.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 27417 + timestamp: 1759135565658 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-control-msgs-5.5.0-np126py312h3bd2861_10.conda + sha256: 3f6932e0f58a612b03e61a437d1e50a8eadc72753b27f5437aee4313cdbbcd32 + md5: c786738c314ce9ef53263b641d482691 + depends: + - python + - ros-jazzy-action-msgs + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros-jazzy-trajectory-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 1192027 + timestamp: 1759137246598 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-control-toolbox-4.7.1-np126py312h3bd2861_10.conda + sha256: 533c8a228b7436c824f680521c8e86a04a88f9a8b6784ec1fa47b5f8a4a3a7e5 + md5: 6e114918ae1a85fcffd029bc20c0a371 + depends: + - eigen + - fmt + - python + - ros-jazzy-backward-ros + - ros-jazzy-control-msgs + - ros-jazzy-filters + - ros-jazzy-generate-parameter-library + - ros-jazzy-geometry-msgs + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rcutils + - ros-jazzy-realtime-tools + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - fmt >=11.2.0,<11.3.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 288568 + timestamp: 1759139565969 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-controller-interface-4.37.0-np126py312h3bd2861_10.conda + sha256: 32b9ff9dd38924e987f1ec34ec35b512f954d26baaa3547d96a9a37a1a9cdbe4 + md5: 42c981b5aaac40f1d73ddac5a1d9becf + depends: + - python + - ros-jazzy-hardware-interface + - ros-jazzy-rclcpp-lifecycle + - ros-jazzy-realtime-tools + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - fmt >=11.2.0,<11.3.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 120122 + timestamp: 1759139823518 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-controller-manager-4.37.0-np126py312h3bd2861_10.conda + sha256: b3594c1acabf24b13135faaed07df31baad29846c0c88cbd72d5cf23bce0ed08 + md5: 5fb4a8f47e9fa21104d3c7b71773c899 + depends: + - fmt + - python + - ros-jazzy-backward-ros + - ros-jazzy-controller-interface + - ros-jazzy-controller-manager-msgs + - ros-jazzy-diagnostic-updater + - ros-jazzy-generate-parameter-library + - ros-jazzy-hardware-interface + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-libstatistics-collector + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rcpputils + - ros-jazzy-realtime-tools + - ros-jazzy-ros-workspace + - ros-jazzy-ros2-control-test-assets + - ros-jazzy-ros2param + - ros-jazzy-ros2run + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - fmt >=11.2.0,<11.3.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 658896 + timestamp: 1759140634338 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-controller-manager-msgs-4.37.0-np126py312h3bd2861_10.conda + sha256: c655fbeb89dc2719c085eeb3353c627b06742a6e665c7fc296dc56c61a169fa1 + md5: f701cb9f20cfffef750a57ac3b248ec9 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-lifecycle-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 546357 + timestamp: 1759136842329 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-cv-bridge-4.1.0-np126py312h5cbfcd5_10.conda + sha256: 746243a71ed58d06d689672ebfb530ecdad098d2cb3aa19b9444de312702acb4 + md5: 08b9fdee47efea0fad4fde93b3e16a30 + depends: + - libboost-python + - libopencv + - numpy + - py-opencv + - python + - ros-jazzy-ament-index-python + - ros-jazzy-rclcpp + - ros-jazzy-rcpputils + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - xorg-libxext >=1.3.6,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - libopencv >=4.11.0,<4.11.1.0a0 + - libopengl >=1.7.0,<2.0a0 + - libboost >=1.86.0,<1.87.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - py-opencv >=4.11.0,<5.0a0 + - libboost-python >=1.86.0,<1.87.0a0 + - libgl >=1.7.0,<2.0a0 + license: BSD-3-Clause + size: 206747 + timestamp: 1759138428709 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-cyclonedds-0.10.5-np126py312h3bd2861_10.conda + sha256: 215189a1a3943b68bffe815fbd28c871f578c40015df68f70bb59fc3d6ee38ea + md5: dd85d860da3116391d794ece4dc97c79 + depends: + - openssl + - python + - ros-jazzy-iceoryx-binding-c + - ros-jazzy-iceoryx-hoofs + - ros-jazzy-iceoryx-posh + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - openssl >=3.5.3,<4.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 1199357 + timestamp: 1759134314376 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-data-tamer-cpp-0.9.4-np126py312h3bd2861_10.conda + sha256: d1f3c3d6f049e5c32ac6550044ea1569343b6606560e3b7809cd9a5b13242cd6 + md5: 797ec06177fa2e97df2baed6cb0f1be9 + depends: + - python + - ros-jazzy-data-tamer-msgs + - ros-jazzy-mcap-vendor + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 181979 + timestamp: 1759138256233 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-data-tamer-msgs-0.9.4-np126py312h3bd2861_10.conda + sha256: ab98c92520c15336fa077e52952ca1efe870ebaae47b04a3b3ee194d9c2b8e1d + md5: 9220fd17ea627c5c1584e3649eb8b0f4 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 111570 + timestamp: 1759136583885 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-cpp-0.33.7-np126py312h3bd2861_10.conda + sha256: 00ce7632d5ba6ac44918c6c9c0ebeb1fabe8ef8ed166f533c1975bae2a06570b + md5: 387bf3e8733bb92bb1288c0fb23a4159 + depends: + - python + - ros-jazzy-example-interfaces + - ros-jazzy-launch-ros + - ros-jazzy-launch-xml + - ros-jazzy-rcl + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 1250223 + timestamp: 1759139013297 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-cpp-native-0.33.7-np126py312h3bd2861_10.conda + sha256: 7bb2b269febc1742dceaed6aa356b329c7d5071ca321dfb54186ccf091097001 + md5: 8f990dd838acfcd16327396f338d1329 + depends: + - python + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-rmw-fastrtps-cpp + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 119980 + timestamp: 1759138999080 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-demo-nodes-py-0.33.7-np126py312h3bd2861_10.conda + sha256: db19e752a133098fe79e7b16bc38d4c98023289c5070f2d6aad963ca8fd8f619 + md5: 0fbd522da24f1357701bbb010b3876d8 + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-example-interfaces + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 43000 + timestamp: 1759138322806 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-depthimage-to-laserscan-2.5.1-np126py312h5cbfcd5_10.conda + sha256: fa2bf1a5ea5d14795541f845466249bb2e17e6611688f3f504be4efaef2b12c9 + md5: b6e11cdebe95bb00d185ebab67c0626d + depends: + - libopencv + - py-opencv + - python + - ros-jazzy-image-geometry + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libgl >=1.7.0,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - libopencv >=4.11.0,<4.11.1.0a0 + - py-opencv >=4.11.0,<5.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - xorg-libxext >=1.3.6,<2.0a0 + license: BSD-3-Clause + size: 285736 + timestamp: 1759138489994 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-desktop-0.11.0-np126py312h3bd2861_10.conda + sha256: 551776c0cde8ecd6ad9ece55809927cc97f5c8674184d68f58be12d875df01c7 + md5: ddd5626991c5cb7e72d95f5fbb717b55 + depends: + - python + - ros-jazzy-action-tutorials-cpp + - ros-jazzy-action-tutorials-interfaces + - ros-jazzy-action-tutorials-py + - ros-jazzy-angles + - ros-jazzy-composition + - ros-jazzy-demo-nodes-cpp + - ros-jazzy-demo-nodes-cpp-native + - ros-jazzy-demo-nodes-py + - ros-jazzy-depthimage-to-laserscan + - ros-jazzy-dummy-map-server + - ros-jazzy-dummy-robot-bringup + - ros-jazzy-dummy-sensors + - ros-jazzy-examples-rclcpp-minimal-action-client + - ros-jazzy-examples-rclcpp-minimal-action-server + - ros-jazzy-examples-rclcpp-minimal-client + - ros-jazzy-examples-rclcpp-minimal-composition + - ros-jazzy-examples-rclcpp-minimal-publisher + - ros-jazzy-examples-rclcpp-minimal-service + - ros-jazzy-examples-rclcpp-minimal-subscriber + - ros-jazzy-examples-rclcpp-minimal-timer + - ros-jazzy-examples-rclcpp-multithreaded-executor + - ros-jazzy-examples-rclpy-executors + - ros-jazzy-examples-rclpy-minimal-action-client + - ros-jazzy-examples-rclpy-minimal-action-server + - ros-jazzy-examples-rclpy-minimal-client + - ros-jazzy-examples-rclpy-minimal-publisher + - ros-jazzy-examples-rclpy-minimal-service + - ros-jazzy-examples-rclpy-minimal-subscriber + - ros-jazzy-image-tools + - ros-jazzy-intra-process-demo + - ros-jazzy-joy + - ros-jazzy-lifecycle + - ros-jazzy-logging-demo + - ros-jazzy-pcl-conversions + - ros-jazzy-pendulum-control + - ros-jazzy-pendulum-msgs + - ros-jazzy-quality-of-service-demo-cpp + - ros-jazzy-quality-of-service-demo-py + - ros-jazzy-ros-base + - ros-jazzy-ros-workspace + - ros-jazzy-rqt-common-plugins + - ros-jazzy-rviz-default-plugins + - ros-jazzy-rviz2 + - ros-jazzy-teleop-twist-joy + - ros-jazzy-teleop-twist-keyboard + - ros-jazzy-tlsf + - ros-jazzy-tlsf-cpp + - ros-jazzy-topic-monitor + - ros-jazzy-turtlesim + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 23503 + timestamp: 1759143393640 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-diagnostic-aggregator-4.2.6-np126py312h3bd2861_10.conda + sha256: 8e8976766a6b6d3549a97f8af5a7db5395baee1e41b874aa87013446d7f74baa + md5: 7a14a6163faaf2e24055dcf4eed58198 + depends: + - python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 469550 + timestamp: 1759138944583 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-diagnostic-msgs-5.3.6-np126py312h3bd2861_10.conda + sha256: a5cccc345c27213dde73d0cff7a785a08250a01813b29a892adbd7f6c7d6c045 + md5: 726ff775d169cc0441e200e37b752a1c + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 207181 + timestamp: 1759137061241 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-diagnostic-updater-4.2.6-np126py312h3bd2861_10.conda + sha256: a46565349f85a1a09385044613311b91606358dc47cd48ce3e1083a32be5fefe + md5: 9a89432fccbde73faaccc913c5defe77 + depends: + - python + - ros-jazzy-diagnostic-msgs + - ros-jazzy-rclcpp + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 187693 + timestamp: 1759138952647 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-domain-coordinator-0.12.0-np126py312h3bd2861_10.conda + sha256: a5ff0e936b903f3e86fb2524c6a7f594ab24dac3fad910a53e97b36ae5413637 + md5: 7c0173e23b895b5be8e3fd15a4a77f59 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 20968 + timestamp: 1759134414484 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-dummy-map-server-0.33.7-np126py312h3bd2861_10.conda + sha256: 8009ce2e11aecc3629d087061782a42edf9eb6b658c349b40e93d8d93db00d9e + md5: 7225e2152e7837a604ab1da35ae7a705 + depends: + - python + - ros-jazzy-nav-msgs + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 89138 + timestamp: 1759138312095 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-dummy-robot-bringup-0.33.7-np126py312h3bd2861_10.conda + sha256: 28aa5f6c44181ddbbc8ddd8a847d28bab5daf59823cc50437fee0f544c019928 + md5: be0ffa7e3ecd23e47b8a6e768c7da87d + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-dummy-map-server + - ros-jazzy-dummy-sensors + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-robot-state-publisher + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 30336 + timestamp: 1759139562695 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-dummy-sensors-0.33.7-np126py312h3bd2861_10.conda + sha256: 2536d356424352750c6d00a12c9dc6fa9d8159caafadf015911c1d11ccfde5d7 + md5: 75700df5fe7c02b6ddc97ca10a855431 + depends: + - python + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 118414 + timestamp: 1759138298663 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-dynamic-stack-decider-0.5.3-np126py312h3bd2861_10.conda + sha256: 4364726afc691f932fee3df714df8a85e0fc52476322d20d782b1308ecde1828 + md5: 8063cf2d3ce329b914f45b3e43636c68 + depends: + - python + - pyyaml + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 65623 + timestamp: 1765488857982 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-dynamic-stack-decider-visualization-0.2.1-np126py312h3bd2861_10.conda + sha256: 50441ec669b34982aff3a0db0285a0cadd17ff7a68d95973e9ef55bf99a23374 + md5: 876afabbb69f4bf46fa5d2a3ac90cde2 + depends: + - pydot + - python + - ros-jazzy-dynamic-stack-decider + - ros-jazzy-qt-dotgraph + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rosgraph-msgs + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 51884 + timestamp: 1765488858055 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-dynamixel-sdk-3.8.4-np126py312h3bd2861_10.conda + sha256: 88a292b769876402260f98e399116b4e8de78d924709d5fa42eb456ee5f2fd28 + md5: 9864819a0ad81dd5ccf687f9ff6a6e96 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 123474 + timestamp: 1759134549056 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-dynamixel-workbench-toolbox-0.1.8-np126py312h3bd2861_10.conda + sha256: 7475c9f6271538d89968a253ca48cb8d1d7e6c6674fe955edc56335bd2a46dae + md5: a58ade79807bdcb27382afba1b8061c0 + depends: + - python + - ros-jazzy-dynamixel-sdk + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 66821 + timestamp: 1765488857920 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-eigen-stl-containers-1.1.0-np126py312h3bd2861_10.conda + sha256: 2b9faed224455e47e7dcaf9ffae4b9a8aeec53c56349f6c20bd1fc0831bc90ad + md5: bf3f26d4dbda7f81561789a7545f93bf + depends: + - eigen + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 26367 + timestamp: 1759134502570 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-eigen3-cmake-module-0.3.0-np126py312h3bd2861_10.conda + sha256: a738c67eb7b3af2dba229eaa0c38198617f1236387b347d3cc5027c65afaca79 + md5: 4400d09ab5f92b6e3ca1332931bf9399 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 23328 + timestamp: 1759134760262 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-example-interfaces-0.12.0-np126py312h3bd2861_10.conda + sha256: e9341fa475da18f4b97e255fe5c37a0c70590312e311209e209226d9d87453c1 + md5: ad466ae2b3770b15b7301a412e469d24 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 537161 + timestamp: 1759136591779 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-action-client-0.19.6-np126py312h3bd2861_10.conda + sha256: 7ad4a25397b1c5f7cf2eb0762626fc0526cd1dcded84ba911c87fcfe0cc18471 + md5: cdb561a1bd8c5732056ba3429e8b7685 + depends: + - python + - ros-jazzy-example-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 158211 + timestamp: 1759138655075 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-action-server-0.19.6-np126py312h3bd2861_10.conda + sha256: 73e0a6962c753c100b313177f7b0802eb5777854d5f1f788fcd24334777ee0fa + md5: afc4caa8d2c4ad3a5e3baf7a2ad02444 + depends: + - python + - ros-jazzy-example-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 90438 + timestamp: 1759138642822 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-client-0.19.6-np126py312h3bd2861_10.conda + sha256: 64298e7a69389f00167aa4d5787842c6a1c5da59ba09316a47e94c5b6bbd821d + md5: 32aa8c83e87f030ba158ca5f0ff9bcbb + depends: + - python + - ros-jazzy-example-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 69947 + timestamp: 1759138323929 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-composition-0.19.6-np126py312h3bd2861_10.conda + sha256: 6239f7c11ff9925820c6a17b57825c4132435727edfe82ad0bf5bbbef91c1f14 + md5: 521943c2ffc0abd6803f71b8cd7b09ae + depends: + - python + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 190367 + timestamp: 1759138622532 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-publisher-0.19.6-np126py312h3bd2861_10.conda + sha256: 8c0f965861e46ddad32d63092652a14c72acacc5098ad7ad2248c32fdd2f724b + md5: fffdf857e96a403edd47d212ec836b29 + depends: + - python + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 201074 + timestamp: 1759138302676 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-service-0.19.6-np126py312h3bd2861_10.conda + sha256: 27d3a3f62518489deaebbc2a0622cb3db8fcdfce3ce629d27f5a7a4fe823476a + md5: 04526ab379bbe28751e144ac6ce1178b + depends: + - python + - ros-jazzy-example-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 60388 + timestamp: 1759138290620 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-subscriber-0.19.6-np126py312h3bd2861_10.conda + sha256: bdd52a128236f2530c4d1fb0a7a7ca70e1bbcbcc338b8c56e217525c327d04c3 + md5: 0db0df355515b3c051a0dd6e5a819c28 + depends: + - python + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 573149 + timestamp: 1759138566088 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-minimal-timer-0.19.6-np126py312h3bd2861_10.conda + sha256: d2b09d82cccfdf920bc3e0f08b37fc9eb0a1c74d146739a99136d73b8e43dccd + md5: c70c4a39abb3a67dd3414c248fb372e1 + depends: + - python + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 52604 + timestamp: 1759138280759 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclcpp-multithreaded-executor-0.19.6-np126py312h3bd2861_10.conda + sha256: 4c7ad5a740b1ebb4883aeec6836aac13ca54adae90ab58c1fa6c0ab1d517fe32 + md5: 2c9c03cab804c152a5e99cf036a5cf6b + depends: + - python + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 166848 + timestamp: 1759138253891 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-executors-0.19.6-np126py312h3bd2861_10.conda + sha256: 258fd1b3a40f52e57f1fb6f16f090a207b7ce7d80f111f3f2b34e1bb75f7ff48 + md5: 77eeb82f44f23d270d94a9ef515ebe32 + depends: + - python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 27922 + timestamp: 1759138276083 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-action-client-0.19.6-np126py312h3bd2861_10.conda + sha256: c7e8c00fa2b60356a62d330d05304f42bf7310947d0d7fe26c0c8c2c9a43a018 + md5: 2a8d180f04625c2b8abbf80143ed8674 + depends: + - python + - ros-jazzy-action-msgs + - ros-jazzy-example-interfaces + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 26451 + timestamp: 1759138272187 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-action-server-0.19.6-np126py312h3bd2861_10.conda + sha256: 46a3cede1c844d820b700b3b475bb282c02f2bc021f979022cd6c2ad002ff839 + md5: 3764aac26522fb6d54336b0c05ca58ac + depends: + - python + - ros-jazzy-example-interfaces + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 27625 + timestamp: 1759138268081 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-client-0.19.6-np126py312h3bd2861_10.conda + sha256: b2e043beb8b6b71b883df9ed7b9538be61fbb895c3289b40915120b1441a9f14 + md5: 591c98d77af5f4f3d4f19cbe4eaef069 + depends: + - python + - ros-jazzy-example-interfaces + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 23508 + timestamp: 1759138263648 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-publisher-0.19.6-np126py312h3bd2861_10.conda + sha256: 063e9f111f2f06e72c30c742a2bf9fe0b22dba9e96da6e266d74972a997984d1 + md5: c90bd545e4965b65e122718435a0d074 + depends: + - python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 24046 + timestamp: 1759138252879 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-service-0.19.6-np126py312h3bd2861_10.conda + sha256: a78c4d3ec1e8343e2912b0df653ea533696a7835f7b3a4e485a1945399a2dcfd + md5: d9e532122e31e5e6da2313060eab753d + depends: + - python + - ros-jazzy-example-interfaces + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 21226 + timestamp: 1759138353354 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-examples-rclpy-minimal-subscriber-0.19.6-np126py312h3bd2861_10.conda + sha256: 645b24a82226d2220d3271dea00a6c6f63c60dc9dd2836d1d77fc9400a7fefd5 + md5: ba768adddaa9a6007c5465be70237482 + depends: + - python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 21808 + timestamp: 1759138347383 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-fastcdr-2.2.5-np126py312h3bd2861_10.conda + sha256: 7b4737c7fe822a8449685ba5f57edf6adf9d32e611c8cb4ed0242db0578c6627 + md5: 658d8fd55a9fdcb15ff5e57708aa0874 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 88286 + timestamp: 1759134519610 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-fastrtps-2.14.5-np126py312h3bd2861_10.conda + sha256: 758024f49b2848bf43b6f3dff1309a1bd2a6251bbe7194d076e452037d16e457 + md5: 17195143e89af3cc92c875ea6b057d7c + depends: + - openssl + - python + - ros-jazzy-fastcdr + - ros-jazzy-foonathan-memory-vendor + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - tinyxml2 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - tinyxml2 >=11.0.0,<11.1.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - openssl >=3.5.3,<4.0a0 + license: BSD-3-Clause + size: 4289370 + timestamp: 1759135144417 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-fastrtps-cmake-module-3.6.2-np126py312h3bd2861_10.conda + sha256: 0a1e9032d4dc0c628269a4e4745d8f4580c74f324378d6a659afcee5d58ec5af + md5: f5db45c7a0798d404cdcbd4b19218afe + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 27248 + timestamp: 1759135131215 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-filters-2.2.2-np126py312h3bd2861_10.conda + sha256: 9fe35f2a0d09a89a6373b458d44cb3a271a87934385e3275e91a1671a498e917 + md5: 93f9007b09d434043b7319e5facf5a9d + depends: + - libboost-devel + - python + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - libboost >=1.86.0,<1.87.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 132298 + timestamp: 1759138291621 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-foonathan-memory-vendor-1.3.1-np126py312h3bd2861_10.conda + sha256: cb8c94ec85adb43f1ad85fabff560bb4d08b41634eaee6f6f5144ed548e1f482 + md5: cef3439419d6b3f1224b340baf4ddc75 + depends: + - foonathan-memory + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - cmake + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - foonathan-memory >=0.7.3,<0.7.4.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 19317 + timestamp: 1759134837854 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-foxglove-bridge-0.8.5-np126py312h3bd2861_10.conda + sha256: 79d0b876017e9075a2be501c9b0e4d995bba0087a8931ef88eb4b42e6004c153 + md5: c3a486dca59085d97104e7f17353138e + depends: + - openssl + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-resource-retriever + - ros-jazzy-ros-workspace + - ros-jazzy-rosgraph-msgs + - ros-jazzy-rosx-introspection + - ros2-distro-mutex 0.11.* jazzy_* + - zlib + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - openssl >=3.5.3,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 1039491 + timestamp: 1759140904325 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-game-controller-hl-1.1.0-np126py312h3bd2861_10.conda + sha256: 6333d6cf2fc6c32bab73a1d7f9c65d3c08176bc34d7655bf97ebf690cc207bfa + md5: 5792c1b8b87ec181b0a915c44009efd7 + depends: + - python + - ros-jazzy-diagnostic-msgs + - ros-jazzy-game-controller-hl-interfaces + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 49073 + timestamp: 1765488858137 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-game-controller-hl-interfaces-0.0.1-np126py312h3bd2861_10.conda + sha256: 554f80da2f1a2c34efd970e3ec43fdd436e008c31ad510eaa2ebba814171051a + md5: 8b29dff0ff63eef995004d76fe419aa5 + depends: + - python + - ros-jazzy-ament-lint-auto + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 101127 + timestamp: 1765488858073 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-gazebo-msgs-3.8.0-np126py312h3bd2861_10.conda + sha256: 04dadaa5a03e50d2a31cebf5602a9f149b7ebc3ee65685a2afde448554044f01 + md5: de782d14e5300835c322e0a24c79abaf + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros-jazzy-trajectory-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 1308514 + timestamp: 1765488857867 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-generate-parameter-library-0.5.0-np126py312h3bd2861_10.conda + sha256: ae92f844e3f4421ecc5f32068f1005f887839acd4c36244536a5637d8a14f082 + md5: 8c1572b8c9c4cce9bb85f635364ec287 + depends: + - fmt + - python + - ros-jazzy-generate-parameter-library-py + - ros-jazzy-parameter-traits + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-lifecycle + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rsl + - ros-jazzy-tcb-span + - ros-jazzy-tl-expected + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - fmt >=11.2.0,<11.3.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 50391 + timestamp: 1759138934072 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-generate-parameter-library-py-0.5.0-np126py312h3bd2861_10.conda + sha256: 9ea879c21e545528934f78209bb4a0014b5d01a57ad4f6fcad77d6062aa63dad + md5: 6c819af33399ca4a0fc953b309e358ca + depends: + - jinja2 + - python + - pyyaml + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - typeguard + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 70849 + timestamp: 1759134419555 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-geometric-shapes-2.3.2-np126py312h3bd2861_10.conda + sha256: fa57d5d9607f0aa8260c0ced3d53d233e5473b1316cbb8c464e120367d6a1c26 + md5: c5e28789e953734d430d10bc77d24b44 + depends: + - assimp + - eigen + - libboost + - libboost-devel + - python + - qhull + - ros-jazzy-console-bridge-vendor + - ros-jazzy-eigen-stl-containers + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-geometry-msgs + - ros-jazzy-random-numbers + - ros-jazzy-rclcpp + - ros-jazzy-resource-retriever + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-shape-msgs + - ros-jazzy-visualization-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - octomap >=1.10.0,<1.11.0a0 + - qhull >=2020.2,<2020.3.0a0 + - libboost >=1.86.0,<1.87.0a0 + - fcl >=0.7.0,<0.8.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - assimp >=5.4.3,<5.4.4.0a0 + license: BSD-3-Clause + size: 158281 + timestamp: 1759138254567 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-geometry-msgs-5.3.6-np126py312h3bd2861_10.conda + sha256: 98f6fdd49e83b3c82f8a5e4a8ece736d89a4e79e0859bc0a4d5c0932f1ebc8cc + md5: b44c3ce4a96fa7db5eea3e27ded3e72b + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 377935 + timestamp: 1759136906913 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-geometry2-0.36.14-np126py312h3bd2861_10.conda + sha256: 7be3c543f11cb68a2a4b7054087723145509089ce94feaf4657bc244ad6880e8 + md5: cc9ffab9ace24cff340d5b4032ec3e3c + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-bullet + - ros-jazzy-tf2-eigen + - ros-jazzy-tf2-eigen-kdl + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-kdl + - ros-jazzy-tf2-msgs + - ros-jazzy-tf2-py + - ros-jazzy-tf2-ros + - ros-jazzy-tf2-sensor-msgs + - ros-jazzy-tf2-tools + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 22328 + timestamp: 1759139513004 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gmock-vendor-1.14.9000-np126py312h3bd2861_10.conda + sha256: 9d5e5875ec8401fb2817326e38beef97b0cbd2756b78fc314993a7c2b44fe95a + md5: afcf2ee3fffc54b8b34953e699839bad + depends: + - python + - ros-jazzy-gtest-vendor + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 122315 + timestamp: 1759134065861 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-google-benchmark-vendor-0.5.0-np126py312h3bd2861_10.conda + sha256: fd0e43092a448828c5a094e26c2ed36717be2dac5237c0bdf25a0ff5851be85a + md5: f21b20467e1dd1dbdf87ad2e935c6716 + depends: + - benchmark + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 16026 + timestamp: 1759133958339 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gtest-vendor-1.14.9000-np126py312h3bd2861_10.conda + sha256: 25a1b01f399bcbafb4412ab0b5efe4b90a6b49ea3a637e862cfe0249a4f5c1e3 + md5: d70d6583728901de9696557fca2f30e5 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 208735 + timestamp: 1759133958435 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gz-cmake-vendor-0.0.10-np126py312h3bd2861_10.conda + sha256: a2c28acbd2e65eb9b650b12a05fbc9716f5f9d41fb0f3adb40d26a5aca94d8cc + md5: 320feb88e07dd3b22e7dd0c1a506ccd5 + depends: + - gz-cmake3 + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - libgz-cmake3 >=3.5.3,<4.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 24435 + timestamp: 1759134843754 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gz-math-vendor-0.0.8-np126py312h3bd2861_10.conda + sha256: d69388d02ba36ee0ffa4d898aea8ca1484054df551254eba1f49032e8d40f1df + md5: b92b3af57222902f7766a3c8c6f11662 + depends: + - eigen + - gz-math7 + - python + - ros-jazzy-gz-cmake-vendor + - ros-jazzy-gz-utils-vendor + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - libgz-math7 >=7.5.2,<8.0a0 + license: BSD-3-Clause + size: 27847 + timestamp: 1759135546682 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gz-tools-vendor-0.0.7-np126py312h3bd2861_10.conda + sha256: a0da61c02791e401dbc3ccc58196bec7229c7b26a5a0965ee76c031e88a9c60c + md5: 9e6af6f2e9e8d76288b9291336132332 + depends: + - gz-tools2 + - python + - ros-jazzy-gz-cmake-vendor + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - ruby + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgz-tools2 >=2.0.3,<3.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 27473 + timestamp: 1759135148848 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-gz-utils-vendor-0.0.5-np126py312h3bd2861_10.conda + sha256: 7910cc33699aa5cc4de352af5ac8b0eda4c5f8b3ed97c1cb78b31cde4c6018ed + md5: 8a9cdcb0d0292a5e963aa48a1b7b83a3 + depends: + - gz-utils2 + - python + - ros-jazzy-gz-cmake-vendor + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libgz-utils2 >=2.2.0,<3.0a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 25766 + timestamp: 1759135143290 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-hardware-interface-4.37.0-np126py312h3bd2861_10.conda + sha256: 7651c4acacb9afb401e05c2d0784244dba9dc907ef289f27c7464b05fb987971 + md5: 65e905b175dc41d9fe861ff9eaa43db9 + depends: + - fmt + - python + - ros-jazzy-backward-ros + - ros-jazzy-control-msgs + - ros-jazzy-joint-limits + - ros-jazzy-lifecycle-msgs + - ros-jazzy-pal-statistics + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp-lifecycle + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-realtime-tools + - ros-jazzy-ros-workspace + - ros-jazzy-sdformat-urdf + - ros-jazzy-tinyxml2-vendor + - ros-jazzy-urdf + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - fmt >=11.2.0,<11.3.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 426204 + timestamp: 1759139499957 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-humanoid-base-footprint-0.1.2-np126py312h3bd2861_10.conda + sha256: 2114002bc7674e888764d8168caad9d43506e3a98e6ce75e5dcf71af60cabfeb + md5: f6b4f37233518897e6c0c2ffbef46296 + depends: + - eigen + - python + - ros-jazzy-biped-interfaces + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-rot-conv + - ros-jazzy-tf2-eigen + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 247906 + timestamp: 1765488858095 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-iceoryx-binding-c-2.0.6-np126py312h3bd2861_10.conda + sha256: a0f6cb479e432c1e49ab9a5baf837e8c2a40c15999b98c1da6db7c4068da15e9 + md5: c5bd1e766e134b1eba20db9ea3db187b + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 92732 + timestamp: 1759134188843 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-iceoryx-hoofs-2.0.6-np126py312h3bd2861_10.conda + sha256: 0e863a15142e5da8da31d39a6ea07ab418a02ac10b8a8633d50be231ba9554a3 + md5: 8bcd51c6a2ef2d39834472111423a5ee + depends: + - libacl + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - libacl >=2.3.2,<2.4.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 263628 + timestamp: 1759133934792 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-iceoryx-posh-2.0.6-np126py312h3bd2861_10.conda + sha256: a734989bf0b048a932ef9511d1cb1c053d3393fab5904c90927fbb8e3f886578 + md5: 9147ed0273d8c604324c0831895292e2 + depends: + - python + - ros-jazzy-iceoryx-hoofs + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 573580 + timestamp: 1759134069976 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-geometry-4.1.0-np126py312h5cbfcd5_10.conda + sha256: 8a66b03494174ee3b980c2ab2f99025ab82f3aac0bf05253aa7acd14d66c5f72 + md5: ce44fa3555d989cec31567510a64ebcf + depends: + - deprecated + - libopencv + - py-opencv + - python + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libopengl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - python_abi 3.12.* *_cp312 + - xorg-libxext >=1.3.6,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - libopencv >=4.11.0,<4.11.1.0a0 + - py-opencv >=4.11.0,<5.0a0 + - libgl >=1.7.0,<2.0a0 + license: BSD-3-Clause + size: 88179 + timestamp: 1759137306486 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-proc-5.0.11-np126py312h5cbfcd5_10.conda + sha256: c9d694388f3033923ba15060386ba970a99b641377a83d87374ecf00372630c0 + md5: 394919f1af58e4d4962dd16ea7727de7 + depends: + - libopencv + - py-opencv + - python + - ros-jazzy-camera-calibration-parsers + - ros-jazzy-cv-bridge + - ros-jazzy-geometry-msgs + - ros-jazzy-image-geometry + - ros-jazzy-image-transport + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-tf2 + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tracetools-image-pipeline + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - py-opencv >=4.11.0,<5.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - libopencv >=4.11.0,<4.11.1.0a0 + license: BSD-3-Clause + size: 367395 + timestamp: 1759139648233 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-tools-0.33.7-np126py312h5cbfcd5_10.conda + sha256: f43eb16626f4cdcc326bb804fd64cf40b8aca099f0a422c727b3c22988007c48 + md5: 11f059ae4f47bd6151a014ac0c77e6b8 + depends: + - libopencv + - libopencv * *qt6* + - py-opencv + - python + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - xorg-libxext >=1.3.6,<2.0a0 + - python_abi 3.12.* *_cp312 + - libopengl >=1.7.0,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - py-opencv >=4.11.0,<5.0a0 + - libgl >=1.7.0,<2.0a0 + - libopencv >=4.11.0,<4.11.1.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 298454 + timestamp: 1759138968815 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-transport-5.1.7-np126py312h3bd2861_10.conda + sha256: 6bb95146d40565b21750bcdf01f75122aa41d5470bb875742bae83df159c6927 + md5: b95fbb1a3ff9e3222c241a5b4a325f6e + depends: + - python + - ros-jazzy-message-filters + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 578403 + timestamp: 1759138982065 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-transport-plugins-4.0.6-np126py312h3bd2861_10.conda + sha256: 25ff4de68c99d402f00a842ebff84fca390d60c0967d6b904fb2ae4b6cb4f8cb + md5: 2f0050c2b00aec304c58a40c9048b565 + depends: + - python + - ros-jazzy-compressed-depth-image-transport + - ros-jazzy-compressed-image-transport + - ros-jazzy-ros-workspace + - ros-jazzy-theora-image-transport + - ros-jazzy-zstd-image-transport + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 22517 + timestamp: 1759139643172 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-image-view-5.0.11-np126py312h3bd2861_10.conda + sha256: 87a03241a4327c5ba77ab347a08116bed13aefe84481443a7c8d598010dd1f8d + md5: cb9ce5c2494abd289d2e17de712d30b0 + depends: + - libopencv * *qt6* + - python + - ros-jazzy-camera-calibration-parsers + - ros-jazzy-cv-bridge + - ros-jazzy-image-transport + - ros-jazzy-message-filters + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-srvs + - ros-jazzy-stereo-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libopengl >=1.7.0,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - xorg-libxext >=1.3.6,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libgl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + license: BSD-3-Clause + size: 437472 + timestamp: 1759139246351 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-imu-complementary-filter-2.1.5-np126py312h3bd2861_10.conda + sha256: c65eb6af703fcf2d06e2bb05486f70b363d1f42117a074ab6cce320ff75ef77e + md5: 113e02035a8745198707dd9bac1b25e7 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 300790 + timestamp: 1765488857929 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-interactive-markers-2.5.4-np126py312h3bd2861_10.conda + sha256: 1cf16f833d708e09e94988e4f1b014e769675866bd632da68373d45fa43b3411 + md5: 8506a1d913fef0b77b2b6e7f4f5ff078 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-rclcpp + - ros-jazzy-rclpy + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros-jazzy-tf2 + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-visualization-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 306785 + timestamp: 1759139586281 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-intra-process-demo-0.33.7-np126py312h5cbfcd5_10.conda + sha256: dccb86816cfd8601f79e59aba7a463eb5e4d27b57ae28e37b51b03d115178c3b + md5: 7da3423fa4091bb60dbd7cc0405ba782 + depends: + - libopencv + - libopencv * *qt6* + - py-opencv + - python + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - py-opencv >=4.11.0,<5.0a0 + - libopencv >=4.11.0,<4.11.1.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libgl >=1.7.0,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: BSD-3-Clause + size: 498439 + timestamp: 1759138296940 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ipm-image-node-0.0.0-np126py312h5cbfcd5_10.conda + sha256: 21f4569f75e807c4729e70759e296a25138d98eadf48bb35ebf8eb1df4438376 + md5: e46232c11d9a1f0a147ba8b65a29c2be + depends: + - libopencv + - numpy + - py-opencv + - python + - ros-jazzy-cv-bridge + - ros-jazzy-ipm-library + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-sensor-msgs-py + - ros-jazzy-tf2 + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - libopencv >=4.11.0,<4.11.1.0a0 + - py-opencv >=4.11.0,<5.0a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 60551 + timestamp: 1765488858030 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ipm-interfaces-0.0.0-np126py312h3bd2861_10.conda + sha256: 318ab8f88de9eb9c5d1bf60ba34a00185921d9e243a16d4944e52a0b366d0c11 + md5: cf971397ddc3065281529582ba250865 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sensor-msgs + - ros-jazzy-shape-msgs + - ros-jazzy-vision-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 172927 + timestamp: 1765488858035 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ipm-library-0.0.0-np126py312h5cbfcd5_10.conda + sha256: c92bce10f6624e6974e5be0d4d223b9ba322277e4801ec6070abb6935933c5e7 + md5: cf15a3138d5ee186f71e9d2e175330fb + depends: + - libopencv + - numpy + - py-opencv + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ipm-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-shape-msgs + - ros-jazzy-std-msgs + - ros-jazzy-tf2 + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-vision-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - py-opencv >=4.11.0,<5.0a0 + - libopencv >=4.11.0,<4.11.1.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 64546 + timestamp: 1765488858046 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-joint-limits-4.37.0-np126py312h3bd2861_10.conda + sha256: 09d3fbdffd01ddac96acf840d47d215968b3833e1471966fbc951d157c9088ba + md5: ca90b7099920287de0a35ae9767f3949 + depends: + - fmt + - python + - ros-jazzy-backward-ros + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-lifecycle + - ros-jazzy-realtime-tools + - ros-jazzy-ros-workspace + - ros-jazzy-trajectory-msgs + - ros-jazzy-urdf + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - fmt >=11.2.0,<11.3.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 146582 + timestamp: 1759139175249 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-joint-state-publisher-2.4.0-np126py312h3bd2861_10.conda + sha256: 205e8eee7c956c29a354d93f4558e01e014aec07e5769c96608d63499914b53e + md5: 2a808590adf3f8017105f6ffc010fab6 + depends: + - python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 46971 + timestamp: 1759139198061 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-joint-state-publisher-gui-2.4.0-np126py312h3bd2861_10.conda + sha256: f2c55e6c6c1aec928cce8e1a88033d57f7f7caea90b531cf0c322f3c585f122d + md5: 97bce29792b389bd841679594e1361b4 + depends: + - python + - ros-jazzy-joint-state-publisher + - ros-jazzy-python-qt-binding + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 28838 + timestamp: 1759139500887 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-joy-3.3.0-np126py312h3bd2861_10.conda + sha256: 66b8a36315d913aab5889a39112ab9615807c0bc34298857344518dadd1c1537 + md5: d2187aa19e8497e64d1ce2e50b8490e8 + depends: + - python + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-sdl2-vendor + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 282109 + timestamp: 1759138507190 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-kdl-parser-2.11.0-np126py312h3bd2861_10.conda + sha256: b0582c3dd1b398a7a29069dc7ecd1aad2d3deec0efba74e9b23fb70aac85d08d + md5: 27c591ed624b3f3dadab12f1d064c743 + depends: + - python + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-urdf + - ros-jazzy-urdfdom-headers + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 46827 + timestamp: 1759136183528 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-keyboard-handler-0.3.1-np126py312h3bd2861_10.conda + sha256: 4efdc6d11495cdaf2672f81bc28c39db167748004369d4c7ace5b4a8623d2cb4 + md5: 17e7852e273c661dd51f0bb3028fde29 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 55944 + timestamp: 1759135170312 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-laser-geometry-2.7.1-np126py312h3bd2861_10.conda + sha256: 46114ae39a02998fe3384f29f78edc768a1267ac325c489af8fcdc4677a96efc + md5: 6e939d0fca0dc1de5383a83e86847fe2 + depends: + - eigen + - numpy + - python + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-rclcpp + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-sensor-msgs-py + - ros-jazzy-tf2 + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 61104 + timestamp: 1759138292165 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-3.4.6-np126py312h3bd2861_10.conda + sha256: a7fcdc856ee4477544a37854b136a024e7c24602357ae87f7aaff5562384679a + md5: 326bbc2e67a04b1e23e25bb2d4fc3480 + depends: + - importlib-metadata + - lark-parser + - python + - pyyaml + - ros-jazzy-ament-index-python + - ros-jazzy-osrf-pycommon + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 233908 + timestamp: 1759134505669 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-param-builder-0.1.1-np126py312h3bd2861_10.conda + sha256: 2f0fd6b79d69e9efb0640311877a08253daafe843bb0a271f3c9a0777fb53dca + md5: 1fb3605ca98e921a150ce71e7610da97 + depends: + - python + - pyyaml + - ros-jazzy-ament-index-python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-xacro + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 26525 + timestamp: 1759138286445 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-ros-0.26.9-np126py312h3bd2861_10.conda + sha256: 2fc3f0f078a804fc375728e5245ee912b377cb9b3fed3f122dfcba04aab1ab80 + md5: 6b738447fc1524a1e119dde4e2cad426 + depends: + - importlib-metadata + - python + - pyyaml + - ros-jazzy-ament-index-python + - ros-jazzy-composition-interfaces + - ros-jazzy-launch + - ros-jazzy-lifecycle-msgs + - ros-jazzy-osrf-pycommon + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 127683 + timestamp: 1759138274528 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-testing-3.4.6-np126py312h3bd2861_10.conda + sha256: 0fcf605086eb23fa483723d8cef95469ca9feb87b4356a1863e4a9d912e61aeb + md5: 36a256ce8f858150471caef61ee19866 + depends: + - pytest + - python + - ros-jazzy-ament-index-python + - ros-jazzy-launch + - ros-jazzy-launch-xml + - ros-jazzy-launch-yaml + - ros-jazzy-osrf-pycommon + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 115764 + timestamp: 1759134753497 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-testing-ament-cmake-3.4.6-np126py312h3bd2861_10.conda + sha256: cd2809493252f7ce6ccbc49163bb53ee8c0db881730211333da4dda01ee50d28 + md5: e384d0a73a7aa48087ea3ace278a9737 + depends: + - python + - ros-jazzy-ament-cmake-test + - ros-jazzy-launch-testing + - ros-jazzy-python-cmake-module + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 27109 + timestamp: 1759135532796 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-testing-ros-0.26.9-np126py312h3bd2861_10.conda + sha256: 6d54a4bccd0d176ff2c17ee65d63caf320269a1662ac439752a21ab2c966d52c + md5: 8340621821dbbc847f00b09433c89017 + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 51888 + timestamp: 1759138508212 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-xml-3.4.6-np126py312h3bd2861_10.conda + sha256: 1697643b99012afbb64976a8de321cfd6c6765030a1b961cd0024f69976b6fe1 + md5: 759cb1325ec0f298925d693426a1d147 + depends: + - python + - ros-jazzy-launch + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 26009 + timestamp: 1759134629285 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-launch-yaml-3.4.6-np126py312h3bd2861_10.conda + sha256: 490f519a470238d4e80187fb22612d84172063201ef295cb95cd3bbcf92cb45b + md5: 06cfefea6ce54ca5a06fe729c8308e86 + depends: + - python + - ros-jazzy-launch + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 26580 + timestamp: 1759134622224 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-libcamera-0.5.0-py312h84a10cd_10.conda + sha256: c70f09ccbfba07d6390ffda012283afd00f629410577648d92f69958e9750681 + md5: 6d7d8dea76411b8ee1f076bbecb2a1da + depends: + - libcamera >=0.5.0,<0.6.0a0 + - libudev + - libusb + - openssl + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - yaml + - yaml-cpp + - openssl >=3.5.3,<4.0a0 + - yaml >=0.2.5,<0.3.0a0 + - yaml-cpp >=0.8.0,<0.9.0a0 + - python_abi 3.12.* *_cp312 + - libusb >=1.0.29,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libudev1 >=257.9 + license: BSD-3-Clause + size: 10657 + timestamp: 1759133941684 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-libcurl-vendor-3.4.4-np126py312h3bd2861_10.conda + sha256: 41015760b8efee178b35b36c7224f5cdd2940c5faa5f240dd1e98b71a7e7e7bf + md5: 414627a2421a5b2f78cc2b500287b2ac + depends: + - libcurl + - pkg-config + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libcurl >=8.14.1,<9.0a0 + license: BSD-3-Clause + size: 23734 + timestamp: 1759134507600 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-liblz4-vendor-0.26.9-np126py312h3bd2861_10.conda + sha256: 8f21680a54a22c66cc423615d3215ff1aa4bf6374b8eeea7c4624aaf0e3700df + md5: 36170527cd000311cf24eaff7e8a90cb + depends: + - lz4 + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 23958 + timestamp: 1759134522228 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-libstatistics-collector-1.7.4-np126py312h3bd2861_10.conda + sha256: e928c84cff58af3e436b3bf16e39d9e0ad9acb37e1b739ebd358171c7aad97a4 + md5: d4a046a08d54c85300b5ed9c0297f44b + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-rcl + - ros-jazzy-rcpputils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-statistics-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 58238 + timestamp: 1759137892565 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-libyaml-vendor-1.6.3-np126py312h3bd2861_10.conda + sha256: ce3af2e97af8da05bf3af031bdb8aa85fa3d9a29b86eb5d2d1ae0848841f8740 + md5: b5eff53b16c8541dc20228599fa5445c + depends: + - pkg-config + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - yaml + - yaml-cpp + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - yaml-cpp >=0.8.0,<0.9.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 + license: BSD-3-Clause + size: 29475 + timestamp: 1759135559646 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-lifecycle-0.33.7-np126py312h3bd2861_10.conda + sha256: 26fe591b3240894e5826c664aca3f12c3cf685cfe91531d59bb4ee68ab58eb40 + md5: ade85117b4ba5d0f5d9628877d4ad9ab + depends: + - python + - ros-jazzy-lifecycle-msgs + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-lifecycle + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 266261 + timestamp: 1759139540900 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-lifecycle-msgs-2.0.3-np126py312h3bd2861_10.conda + sha256: b52aaa5d92156e8da5b79c0a8f13d8ea984fc9c6c4de96dafd613a0498d2dbd3 + md5: e24a3e9ceaf4ddc096180eb218682da5 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 268176 + timestamp: 1759136537008 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-logging-demo-0.33.7-np126py312h3bd2861_10.conda + sha256: d18f21c97eadea855e1afb8507588dd359f6a7916c3dab81bf2f095d418aa147 + md5: 35fa710f6ac0509d3df450c3332e8ce2 + depends: + - python + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 216408 + timestamp: 1759138945703 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-map-msgs-2.4.1-np126py312h3bd2861_10.conda + sha256: 1eff4107bc2d61c2acaa8ddd7140f7e90b6915082184c5d4c9aaacab39dc3ed7 + md5: 7b169411354347b577b40bd22a6cb972 + depends: + - python + - ros-jazzy-nav-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 346101 + timestamp: 1759137241981 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-mcap-vendor-0.26.9-np126py312h3bd2861_10.conda + sha256: 3d68ebe29a197233e7814ce0881994c79f67a091ec0e04c10da5419020e48f91 + md5: 11af03a622b4b1acfe0af496271a050e + depends: + - python + - ros-jazzy-liblz4-vendor + - ros-jazzy-ros-workspace + - ros-jazzy-zstd-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 172747 + timestamp: 1759134634406 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-message-filters-4.11.7-np126py312h3bd2861_10.conda + sha256: 54d7694ab42a3d76fbd6eecd7427b89e1851472316b577930dfa1ac44913ce0f + md5: 09bd33dc72e836ac22dd66fef868a631 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclpy + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 81063 + timestamp: 1759138525501 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-common-2.12.3-np126py312h3bd2861_10.conda + sha256: 45f0894389cbd96b709134f56e3b8a14f82bd704ef2dd02d46dcaab7f47ebb3c + md5: 039a74c96419db74ef423cbbb765cda1 + depends: + - python + - ros-jazzy-backward-ros + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 25975 + timestamp: 1759134506317 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-configs-utils-2.12.3-np126py312h3bd2861_10.conda + sha256: 299c4e7bb793fd64b85bb001cd3bf027f9f9e5d5f09fd1bb48cf8a41c111cff0 + md5: c9d684a6ad79b3ad3936b08739eee9b7 + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-launch + - ros-jazzy-launch-param-builder + - ros-jazzy-launch-ros + - ros-jazzy-ros-workspace + - ros-jazzy-srdfdom + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 40591 + timestamp: 1759139113543 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-core-2.12.3-np126py312h3bd2861_10.conda + sha256: 71702909f05e9b202198fd4d0edfc9a65d9d1a4a0b882e0e87e5f8f1b6ee9934 + md5: 8951c7e58668348e8f7324ad0430ab8f + depends: + - assimp + - bullet + - eigen + - fcl + - libboost-devel + - libboost-python-devel + - python + - ros-jazzy-angles + - ros-jazzy-common-interfaces + - ros-jazzy-eigen-stl-containers + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-generate-parameter-library + - ros-jazzy-geometric-shapes + - ros-jazzy-geometry-msgs + - ros-jazzy-google-benchmark-vendor + - ros-jazzy-kdl-parser + - ros-jazzy-moveit-common + - ros-jazzy-moveit-msgs + - ros-jazzy-octomap-msgs + - ros-jazzy-osqp-vendor + - ros-jazzy-pluginlib + - ros-jazzy-random-numbers + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-rsl + - ros-jazzy-ruckig + - ros-jazzy-sensor-msgs + - ros-jazzy-shape-msgs + - ros-jazzy-srdfdom + - ros-jazzy-std-msgs + - ros-jazzy-tf2 + - ros-jazzy-tf2-eigen + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-kdl + - ros-jazzy-trajectory-msgs + - ros-jazzy-urdf + - ros-jazzy-urdfdom + - ros-jazzy-urdfdom-headers + - ros-jazzy-visualization-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libboost >=1.86.0,<1.87.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - assimp >=5.4.3,<5.4.4.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - fcl >=0.7.0,<0.8.0a0 + - libboost-python >=1.86.0,<1.87.0a0 + license: BSD-3-Clause + size: 1911089 + timestamp: 1759142007811 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-kinematics-2.12.3-np126py312h3bd2861_10.conda + sha256: acfda17d45ddc7de4b19a99fdf4c15e4f9c6effb5bc43f842adfff09bdd66337 + md5: b510edf778dbdb56495367fb15cbba8f + depends: + - eigen + - lxml + - python + - ros-jazzy-class-loader + - ros-jazzy-generate-parameter-library + - ros-jazzy-moveit-common + - ros-jazzy-moveit-core + - ros-jazzy-moveit-msgs + - ros-jazzy-moveit-ros-planning + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-pluginlib + - ros-jazzy-ros-workspace + - ros-jazzy-rsl + - ros-jazzy-tf2 + - ros-jazzy-tf2-kdl + - ros-jazzy-urdfdom + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 372352 + timestamp: 1759142890968 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-msgs-2.6.0-np126py312h3bd2861_10.conda + sha256: 84de468e8fb3d812a950c045096c37688b48ca821360e553ed046f72bbdf610f + md5: 77399d0904c36c14ff57218b2d1e1f60 + depends: + - python + - ros-jazzy-action-msgs + - ros-jazzy-geometry-msgs + - ros-jazzy-object-recognition-msgs + - ros-jazzy-octomap-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sensor-msgs + - ros-jazzy-shape-msgs + - ros-jazzy-std-msgs + - ros-jazzy-trajectory-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 2928146 + timestamp: 1759137514532 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-planners-ompl-2.12.3-np126py312h3bd2861_10.conda + sha256: 2c0eb43bf3cdb94f3006cf9c0097dfbea8b16087146b15bc736483e8a3fa7d53 + md5: 87a6e72fc9d13bd2020daecde8c61b27 + depends: + - libgomp + - python + - ros-jazzy-moveit-common + - ros-jazzy-moveit-core + - ros-jazzy-moveit-msgs + - ros-jazzy-moveit-ros-planning + - ros-jazzy-ompl + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-tf2-eigen + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 531496 + timestamp: 1759143092136 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-2.12.3-np126py312h3bd2861_10.conda + sha256: f660265d3cc254686eed65fc6441e64a05fb487d33d1bbb1092360b3f5fb7dff + md5: fc3e3c0cc8edd64b05067cc6855b4cea + depends: + - python + - ros-jazzy-moveit-ros-benchmarks + - ros-jazzy-moveit-ros-move-group + - ros-jazzy-moveit-ros-planning + - ros-jazzy-moveit-ros-planning-interface + - ros-jazzy-moveit-ros-robot-interaction + - ros-jazzy-moveit-ros-visualization + - ros-jazzy-moveit-ros-warehouse + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 22444 + timestamp: 1759144287841 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-benchmarks-2.12.3-np126py312h3bd2861_10.conda + sha256: 7a853e97c5e6a9958de1aa1140a123360bd2a604b42e8e6663bd5fde05099396 + md5: 992bade3459da1146b4f46e441440f2c + depends: + - libboost + - python + - ros-jazzy-launch-param-builder + - ros-jazzy-moveit-common + - ros-jazzy-moveit-configs-utils + - ros-jazzy-moveit-ros-planning + - ros-jazzy-moveit-ros-warehouse + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-tf2-eigen + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - libboost >=1.86.0,<1.87.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 369543 + timestamp: 1759143358507 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-move-group-2.12.3-np126py312h3bd2861_10.conda + sha256: 9b39210554bdede3c5ad7473184aad1969a600c2f427dab7bcb2adb0f3c9a417 + md5: 1c50c9fc487faeea8e94f8696a900215 + depends: + - fmt + - python + - ros-jazzy-moveit-common + - ros-jazzy-moveit-core + - ros-jazzy-moveit-kinematics + - ros-jazzy-moveit-ros-occupancy-map-monitor + - ros-jazzy-moveit-ros-planning + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-ros-workspace + - ros-jazzy-std-srvs + - ros-jazzy-tf2 + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - fmt >=11.2.0,<11.3.0a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 626942 + timestamp: 1759143229964 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-occupancy-map-monitor-2.12.3-np126py312h3bd2861_10.conda + sha256: 8d85f8fa4ef88c5d5591466339b58d4889c620b2c526280b950feb64f07a6c4e + md5: d68739e9c6d1543acd4df64e1a12850d + depends: + - eigen + - python + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-geometric-shapes + - ros-jazzy-moveit-common + - ros-jazzy-moveit-core + - ros-jazzy-moveit-msgs + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 393375 + timestamp: 1759142365085 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-planning-2.12.3-np126py312h3bd2861_10.conda + sha256: b860d345bb6c6399137ad2e50da5f1f3d06d18ae55be613bd3d2e37ad0602993 + md5: 974cb3e4d72091aeb9956ff6fba0d5f6 + depends: + - eigen + - fmt + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-generate-parameter-library + - ros-jazzy-message-filters + - ros-jazzy-moveit-common + - ros-jazzy-moveit-core + - ros-jazzy-moveit-msgs + - ros-jazzy-moveit-ros-occupancy-map-monitor + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-srdfdom + - ros-jazzy-std-msgs + - ros-jazzy-tf2 + - ros-jazzy-tf2-eigen + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-msgs + - ros-jazzy-tf2-ros + - ros-jazzy-urdf + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - fmt >=11.2.0,<11.3.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 1695995 + timestamp: 1759142573617 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-planning-interface-2.12.3-np126py312h3bd2861_10.conda + sha256: 4c306bfff4d4cb2e105bdb867ebe1284cf4ce641dd35a9d93786e559737d2a29 + md5: 61a1c1040c09511969be1832f851d4b5 + depends: + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-moveit-common + - ros-jazzy-moveit-core + - ros-jazzy-moveit-msgs + - ros-jazzy-moveit-ros-move-group + - ros-jazzy-moveit-ros-planning + - ros-jazzy-moveit-ros-warehouse + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-eigen + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 422273 + timestamp: 1759143460185 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-robot-interaction-2.12.3-np126py312h3bd2861_10.conda + sha256: 0946d78c98fbb52b3ce851e2009d2226107d74b8a954e666d3dbe170232146fd + md5: cc66f9116fb15d6054534c6fee291e91 + depends: + - python + - ros-jazzy-interactive-markers + - ros-jazzy-moveit-common + - ros-jazzy-moveit-core + - ros-jazzy-moveit-ros-planning + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-eigen + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 276091 + timestamp: 1759143057092 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-visualization-2.12.3-np126py312h3bd2861_10.conda + sha256: 3a228507b5a166fefd2b9e83b32c7540df518b093e3f7fae9b04284dc6d4d110 + md5: 7cd0a4c4ebb612c5b07f7e98a0edbd87 + depends: + - python + - ros-jazzy-geometric-shapes + - ros-jazzy-interactive-markers + - ros-jazzy-moveit-common + - ros-jazzy-moveit-ros-planning-interface + - ros-jazzy-moveit-ros-robot-interaction + - ros-jazzy-moveit-ros-warehouse + - ros-jazzy-object-recognition-msgs + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rviz2 + - ros-jazzy-tf2-eigen + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libgl >=1.7.0,<2.0a0 + - python_abi 3.12.* *_cp312 + - qt-main >=5.15.15,<5.16.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 1008345 + timestamp: 1759143577640 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-ros-warehouse-2.12.3-np126py312h3bd2861_10.conda + sha256: 348dc835e9fd8e4b3cf14230a487c4110bf0af0994667276db9692aafbc75536 + md5: b8266d984b7785f68b91a16dc894047f + depends: + - fmt + - python + - ros-jazzy-moveit-common + - ros-jazzy-moveit-core + - ros-jazzy-moveit-ros-planning + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-tf2-eigen + - ros-jazzy-tf2-ros + - ros-jazzy-warehouse-ros + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - fmt >=11.2.0,<11.3.0a0 + license: BSD-3-Clause + size: 718453 + timestamp: 1759142985582 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-app-plugins-2.12.3-np126py312h3bd2861_10.conda + sha256: 14a9e1ee1824ae5b2b90f019467577c0b996611aa1c9cf36b69eaf37a09d9f5e + md5: a160c53cb43d0fe65cec493aa9815ff1 + depends: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-moveit-configs-utils + - ros-jazzy-moveit-ros-visualization + - ros-jazzy-moveit-setup-framework + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - python_abi 3.12.* *_cp312 + - xorg-libx11 >=1.8.12,<2.0a0 + - libgl >=1.7.0,<2.0a0 + license: BSD-3-Clause + size: 178521 + timestamp: 1759144605066 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-assistant-2.12.3-np126py312h3bd2861_10.conda + sha256: 0eadb0eb5351482382fec55719c1e8ced0eece758be0345ef6cbade59051a081 + md5: f9c041e60f2a78ae85f2fa61660b2723 + depends: + - python + - qt-main + - ros-jazzy-ament-index-cpp + - ros-jazzy-moveit-configs-utils + - ros-jazzy-moveit-setup-app-plugins + - ros-jazzy-moveit-setup-controllers + - ros-jazzy-moveit-setup-core-plugins + - ros-jazzy-moveit-setup-framework + - ros-jazzy-moveit-setup-srdf-plugins + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - qt-main >=5.15.15,<5.16.0a0 + - python_abi 3.12.* *_cp312 + - libgl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 417765 + timestamp: 1759144688238 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-controllers-2.12.3-np126py312h3bd2861_10.conda + sha256: 99757512718211cb22ca741345c0e40b991cc54de9b5296982abebf396d439f7 + md5: 7acf77689e2bbb72a85121397836803a + depends: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-moveit-setup-framework + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libgl >=1.7.0,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: BSD-3-Clause + size: 324071 + timestamp: 1759144525220 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-core-plugins-2.12.3-np126py312h3bd2861_10.conda + sha256: 11d66f351e99161de2d47a1e86d3e9b0f3268350b7660eb78546b6082c3bfd57 + md5: b991bdd7cdfcb279d11b3b0011dbef87 + depends: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-moveit-ros-visualization + - ros-jazzy-moveit-setup-framework + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-srdfdom + - ros-jazzy-urdf + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - xorg-libx11 >=1.8.12,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: BSD-3-Clause + size: 148832 + timestamp: 1759144473245 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-framework-2.12.3-np126py312h3bd2861_10.conda + sha256: 4143e57e3331f14db01db557ef6170edbddac7e7d7487f4996fe187b0499a7f6 + md5: 39ce24341ad8745c95bcb82df2469f6e + depends: + - fmt + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-moveit-common + - ros-jazzy-moveit-core + - ros-jazzy-moveit-ros-planning + - ros-jazzy-moveit-ros-visualization + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-rviz-common + - ros-jazzy-rviz-rendering + - ros-jazzy-srdfdom + - ros-jazzy-urdf + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libopengl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - fmt >=11.2.0,<11.3.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - python_abi 3.12.* *_cp312 + - libgl >=1.7.0,<2.0a0 + license: BSD-3-Clause + size: 342085 + timestamp: 1759144135098 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-setup-srdf-plugins-2.12.3-np126py312h3bd2861_10.conda + sha256: 2f4b677c26b37d2383a6d269e2c1d28b307dbefe1a48454edf1d20af987d4754 + md5: 508cbc94f3b75223a12509741b86cfa1 + depends: + - python + - ros-jazzy-moveit-setup-framework + - ros-jazzy-pluginlib + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 504193 + timestamp: 1759144332867 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-moveit-simple-controller-manager-2.12.3-np126py312h3bd2861_10.conda + sha256: 5c740aeeffb3fa35cf721c4f70c3201de63b041c545ec71ef247c0197d658b87 + md5: 4eeaa674890e4fd5be9fbfb0aacab232 + depends: + - python + - ros-jazzy-control-msgs + - ros-jazzy-moveit-common + - ros-jazzy-moveit-core + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 204916 + timestamp: 1759142443422 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-nav-msgs-5.3.6-np126py312h3bd2861_10.conda + sha256: 563ff9aaaa0354246a9fd943466c1e80cd6dac2754e365d94075d9972868763b + md5: 9c49e0a5c328ff0fb570448a37ff689b + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 315161 + timestamp: 1759137015247 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-object-recognition-msgs-2.0.0-np126py312h3bd2861_10.conda + sha256: 1f5d73d4ce56d7bbafb9ced0c60accf1fb5dffb515c4617bdd7fe8ad3f3195dd + md5: 049748a86a3651613c32c1fef21554e7 + depends: + - python + - ros-jazzy-action-msgs + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sensor-msgs + - ros-jazzy-shape-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 346530 + timestamp: 1759137321298 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-octomap-msgs-2.0.1-np126py312h3bd2861_10.conda + sha256: 28759fd62e6c3dc5cd26443af4745eb381b4febdab8e848ed8e60dcd9c68fef4 + md5: 36b6b0712f8639fdc642641a34cac57f + depends: + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 183872 + timestamp: 1759137093499 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ompl-1.7.0-py312hbd645f5_10.conda + sha256: 13d4f602471e850e27caecca80a72c3a2bdab1d8b96c43e20588c40f1dbeedc3 + md5: f807c1cb49faa11f97bc73236dd80139 + depends: + - eigen + - flann + - libboost-devel + - libboost-python-devel + - ompl >=1.7.0,<1.8.0a0 + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - python_abi 3.12.* *_cp312 + - libboost-python >=1.86.0,<1.87.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libboost >=1.86.0,<1.87.0a0 + - ompl >=1.7.0,<1.8.0a0 + - flann >=1.9.2,<1.9.3.0a0 + license: BSD-3-Clause + size: 10926 + timestamp: 1759133936125 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-orocos-kdl-vendor-0.5.1-np126py312h3bd2861_10.conda + sha256: 81cbeea376699425b90740844f842d2f357fc23c619431a4efa8e6c5cfff0ac5 + md5: 1f68c127fabe330d36821aaa453f7010 + depends: + - eigen + - orocos-kdl + - python + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - orocos-kdl >=1.5.1,<1.6.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 27832 + timestamp: 1759135159739 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-osqp-vendor-0.2.0-np126py312h3bd2861_10.conda + sha256: d336e17ec77702fb2a0da77f27faf703dabed97e4a547bb59efa7f77c63c3682 + md5: 026c2d2ba5f50ea8bba3566322e35e0c + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 121120 + timestamp: 1759135155566 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-osrf-pycommon-2.1.7-np126py312h3bd2861_10.conda + sha256: 2d00d4558e363230e5088ea8ae395a92ececf27aacf625c93f543792d6cba2e7 + md5: 014b2eb2645428433f6200bbdc1b889b + depends: + - importlib-metadata + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 64428 + timestamp: 1759133952499 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pal-statistics-2.7.0-np126py312h3bd2861_10.conda + sha256: 78c51c03378bd1781c1b7c13ff3131807f9ea6aced3c8d5dad582625a15663a4 + md5: fb1363e09b258d546e636dbebcd7e63a + depends: + - libboost-devel + - python + - ros-jazzy-pal-statistics-msgs + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-lifecycle + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - libboost >=1.86.0,<1.87.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 171436 + timestamp: 1759138533436 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pal-statistics-msgs-2.7.0-np126py312h3bd2861_10.conda + sha256: 6d78c09ab096818c5647c790756225b8c45d42a54943764a2d36ccffe7b0e64c + md5: 0bba435b7bd04310f83bbe0a256c4bcc + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 127100 + timestamp: 1759136825361 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-parameter-traits-0.5.0-np126py312h3bd2861_10.conda + sha256: f6fd73ad54218e6382e341e64bd46f419533927e9036f1066505190aeb7d626b + md5: c2b9db7149f35ac2783187018f6dfa15 + depends: + - fmt + - python + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-rsl + - ros-jazzy-tcb-span + - ros-jazzy-tl-expected + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - fmt >=11.2.0,<11.3.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 50590 + timestamp: 1759138491031 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-particle-filter-0.0.1-np126py312h3bd2861_10.conda + sha256: 8b19938368a51480991886991f13854036e20d0873297cd94009b5d4456368d9 + md5: f435a7cbd06d58b5a701afe7ac94cabf + depends: + - python + - ros-jazzy-backward-ros + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-geometry-msgs + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros-jazzy-tf2-eigen + - ros-jazzy-visualization-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 231116 + timestamp: 1765488857996 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pcl-conversions-2.6.2-np126py312h3bd2861_10.conda + sha256: 3d6f8fd10a91408ae163b4b7aa4241747ecc36f3f84dcf5149bad3de5ddb4206 + md5: e65ecb9e2cb2a48e349a14a784b5b618 + depends: + - eigen + - libboost-devel + - pcl + - python + - ros-jazzy-message-filters + - ros-jazzy-pcl-msgs + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - vtk-base + - xorg-libx11 + - xorg-libxext + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - pcl >=1.15.0,<1.15.1.0a0 + - numpy >=1.26.4,<2.0a0 + - libboost >=1.86.0,<1.87.0a0 + - vtk-base >=9.4.2,<9.4.3.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 69712 + timestamp: 1759139039698 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pcl-msgs-1.0.0-np126py312h3bd2861_10.conda + sha256: eb0b4c6af7872d4954cdce5f8752718db271d9d6c9a5053b2f65befa0149ed63 + md5: a61dff1aacbc686c1d32042b797d7310 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 170174 + timestamp: 1759137231881 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pendulum-control-0.33.7-np126py312h3bd2861_10.conda + sha256: 3c7331ffacc1dfee2363c56654e71f800f25dc54ed0c8a5378d540136a878d07 + md5: 93468000e21d63c7288b625afcde33f4 + depends: + - python + - ros-jazzy-pendulum-msgs + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-rttest + - ros-jazzy-tlsf-cpp + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 346809 + timestamp: 1759139510634 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pendulum-msgs-0.33.7-np126py312h3bd2861_10.conda + sha256: df5b046457aa369c1905f72badbfb392fdea7db46441be638d42f38de3b20671 + md5: 90bec498b804f4187f61d344530e0f7d + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 99945 + timestamp: 1759136608978 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-plotjuggler-3.10.11-np126py312hde09161_10.conda + sha256: 1fba0c8ff69d12a28dd10ee9d4292088b4a8c57778d925deb2b35ee7e824c0f6 + md5: a3b2103edc83385ac4e2f20833ffa2da + depends: + - binutils + - cppzmq + - fmt + - libboost-devel + - libboost-python-devel + - libprotobuf + - lz4 + - nlohmann_json + - protobuf + - python + - qt-main + - ros-jazzy-ament-index-cpp + - ros-jazzy-data-tamer-cpp + - ros-jazzy-fastcdr + - ros-jazzy-mcap-vendor + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - zeromq + - zstd + - xorg-libx11 + - xorg-libxext + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libboost-python >=1.86.0,<1.87.0a0 + - elfutils >=0.193,<0.194.0a0 + - libopengl >=1.7.0,<2.0a0 + - qt-main >=5.15.15,<5.16.0a0 + - numpy >=1.26.4,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libboost >=1.86.0,<1.87.0a0 + - python_abi 3.12.* *_cp312 + - xorg-libx11 >=1.8.12,<2.0a0 + - libprotobuf >=5.29.3,<5.29.4.0a0 + - libxcb >=1.17.0,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - zeromq >=4.3.5,<4.4.0a0 + - fmt >=11.2.0,<11.3.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: BSD-3-Clause + size: 9562221 + timestamp: 1759138545698 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pluginlib-5.4.2-np126py312h3bd2861_10.conda + sha256: 39a0d734a0b41c602b11d7f193b56da78b6866c506bd4404bc12b207c55de8b6 + md5: fc60f4769217c95dfcd6c4220fd5bbf7 + depends: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-class-loader + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-tinyxml2-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 41030 + timestamp: 1759135903496 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-point-cloud-transport-4.0.4-np126py312h3bd2861_11.conda + sha256: 4c4e83c8f27c7398ffa67df2ee491b854c5e92d1cb3b17a2ce1919f9ba6ca11c + md5: 83f2532056d0e6fca287bf5869a4f6dc + depends: + - python + - ros-jazzy-message-filters + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-rcpputils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 457019 + timestamp: 1760720456371 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-pybind11-vendor-3.1.3-np126py312h3bd2861_10.conda + sha256: 531fc2b9f72a66aee15aafe92abeba472bf874e773ad37c84e49d6c9b4535c43 + md5: 8a9427040947a6fec2cf13041b52c4ed + depends: + - pybind11 + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 23052 + timestamp: 1759134499243 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-python-cmake-module-0.11.1-np126py312h3bd2861_10.conda + sha256: 7e63c152f78759fe99d79f4f2218a16edebfb0f0e406b585c35d2c31782b0959 + md5: 8d8268a354f258950e2381bce6c628c0 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 27606 + timestamp: 1759135131754 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-python-orocos-kdl-vendor-0.5.1-np126py312h3bd2861_10.conda + sha256: ff596163b73b99c77b87f2c5ea9407db42d110977377d926e93d625959f600d1 + md5: 5712f9a4ff564f044404044f79c56c29 + depends: + - python + - python-orocos-kdl + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-pybind11-vendor + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - python-orocos-kdl >=1.5.1,<1.6.0a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 27335 + timestamp: 1759135553018 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-python-qt-binding-2.2.1-np126py312h3bd2861_10.conda + sha256: 9875560a39d357f7fe0f9bac6c12f937004c73e95df71a01b0ba0b99f4f4d0c1 + md5: 5f68a70fb380cc50c7404419e4cf94a5 + depends: + - pyqt + - pyqt-builder + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - qt-main >=5.15.15,<5.16.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - pyqt >=5.15.11,<5.16.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libopengl >=1.7.0,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 60606 + timestamp: 1759135131389 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-qt-dotgraph-2.7.5-np126py312hd4d1b83_10.conda + sha256: 9bb87947fd7f44d56c7eb1d6a4eedb40a0d88c54004e40c9263d24c18652485c + md5: 703c7fecfde2c96cd4732eff94c6b87c + depends: + - pydot + - python + - ros-jazzy-python-qt-binding + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - graphviz >=13.1.2,<14.0a0 + license: BSD-3-Clause + size: 64032 + timestamp: 1759135565777 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-qt-gui-2.7.5-np126py312h3bd2861_10.conda + sha256: 397bbc1aff364c1cfb43563b148f13e6092caf1e38c34ec6413dff6737661922 + md5: eba9fca100284833f4f9bb22ca7a7308 + depends: + - catkin_pkg + - python + - ros-jazzy-ament-index-python + - ros-jazzy-python-qt-binding + - ros-jazzy-ros-workspace + - ros-jazzy-tango-icons-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - python_abi 3.12.* *_cp312 + - pyqt >=5.15.11,<5.16.0a0 + - libopengl >=1.7.0,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - qt-main >=5.15.15,<5.16.0a0 + license: BSD-3-Clause + size: 171754 + timestamp: 1759135534973 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-qt-gui-cpp-2.7.5-np126py312h3bd2861_10.conda + sha256: b5b9f8d691bdcbb4b5a4f1df82300011e26fadc905a7105cda9d72a7c3aa49a1 + md5: 577411bc2c8f00e93776667a3b70818c + depends: + - pep517 + - pyqt-builder + - python + - ros-jazzy-pluginlib + - ros-jazzy-qt-gui + - ros-jazzy-ros-workspace + - ros-jazzy-tinyxml2-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - libopengl >=1.7.0,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - qt-main >=5.15.15,<5.16.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - libgl >=1.7.0,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: BSD-3-Clause + size: 510364 + timestamp: 1759136023765 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-qt-gui-py-common-2.7.5-np126py312h3bd2861_10.conda + sha256: 63e83ff1f9a4145848af0e9e61072e42233e456c7a79f303eb67a6feccea8ac5 + md5: cb9bbc027e41cccbb4e967cfb57eb2aa + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-python-qt-binding + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 39052 + timestamp: 1759135554419 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-quality-of-service-demo-cpp-0.33.7-np126py312h3bd2861_10.conda + sha256: 6495dd85cc943bc3eae674fe066ab9a3a50d9ddc225289f5b8d382c0a9cb9a93 + md5: 7aa676a79cca9c9bcb905c90a6909629 + depends: + - python + - ros-jazzy-example-interfaces + - ros-jazzy-launch-ros + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 598422 + timestamp: 1759138489774 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-quality-of-service-demo-py-0.33.7-np126py312h3bd2861_10.conda + sha256: 9f2a2f907544317aa2bda9022c6e2f3450605758405dac9d38c4a6fc98ae9cf6 + md5: 8c2b4a77e5c0958c6619c922d3689578 + depends: + - python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 34806 + timestamp: 1759138290169 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-random-numbers-2.0.1-np126py312h3bd2861_10.conda + sha256: 966928a994ba8964ddaf540ef2d3c9d20fbd067399bec24417c514285e2b0990 + md5: 2234ae7abe1f12137df3d6f573880a36 + depends: + - libboost + - libboost-devel + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libboost >=1.86.0,<1.87.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 48802 + timestamp: 1759134487422 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-9.2.7-np126py312h3bd2861_10.conda + sha256: 9bf9e007a2f7986731e8cb6ce6359a9ae98ce58a1d966575d7899659e3ed1119 + md5: 6abad32f74bfe8f8583c73cfdb82a909 + depends: + - python + - ros-jazzy-libyaml-vendor + - ros-jazzy-rcl-interfaces + - ros-jazzy-rcl-logging-interface + - ros-jazzy-rcl-logging-spdlog + - ros-jazzy-rcl-yaml-param-parser + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-implementation + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-service-msgs + - ros-jazzy-tracetools + - ros-jazzy-type-description-interfaces + - ros2-distro-mutex 0.11.* jazzy_* + - yaml + - yaml-cpp + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - yaml >=0.2.5,<0.3.0a0 + - yaml-cpp >=0.8.0,<0.9.0a0 + license: BSD-3-Clause + size: 201210 + timestamp: 1759137495192 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-action-9.2.7-np126py312h3bd2861_10.conda + sha256: a7c84e402761127b9f7036c6c73dbbf196d53d2544c9c665388cc150e05cba48 + md5: b8a8b6dda0eec9080ba7bf2cbbdcd67a + depends: + - python + - ros-jazzy-action-msgs + - ros-jazzy-rcl + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 80470 + timestamp: 1759137925701 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-interfaces-2.0.3-np126py312h3bd2861_10.conda + sha256: 1638a8038a7891a5800e17802654d5faf14ac071b2755141e7a82629cab0b4d3 + md5: 10d8e200bbd2bd07e2bd8616397e3545 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 570206 + timestamp: 1759136612244 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-lifecycle-9.2.7-np126py312h3bd2861_10.conda + sha256: 7ff773f141b7d07f9f97f4c9b4d61d4ceddc5bc5b1f127384a19464b4fdebf32 + md5: f2bce5e8e6a2dd921b81e163413c1b60 + depends: + - python + - ros-jazzy-lifecycle-msgs + - ros-jazzy-rcl + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-tracetools + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 57975 + timestamp: 1759137917796 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-logging-interface-3.1.1-np126py312h3bd2861_10.conda + sha256: 815ced2e31d60df46ab95a6ac1d3914203ea19acab7fc3d7f5b40bbb50b60853 + md5: d823a66d091b680808641438ceca0078 + depends: + - python + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 35352 + timestamp: 1759135851282 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-logging-spdlog-3.1.1-np126py312he340118_10.conda + sha256: 3422ebeec09a0d41ec7c85ccc4aaba86de3197b30c80d1703f6be697bcf4f6a1 + md5: a021831db4f20a42022ef9923c79a26d + depends: + - python + - ros-jazzy-rcl-logging-interface + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-spdlog-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - spdlog + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - spdlog >=1.15.3,<1.16.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 45954 + timestamp: 1759135935520 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcl-yaml-param-parser-9.2.7-np126py312h3bd2861_10.conda + sha256: cc79978e35ed388c961f928df46a422cdaff5290416473950524f0bc07f20fcd + md5: 8236b5b6f305ab7fa5c7ecc3e8f3de3b + depends: + - python + - ros-jazzy-libyaml-vendor + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - yaml + - yaml-cpp + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - yaml >=0.2.5,<0.3.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - yaml-cpp >=0.8.0,<0.9.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 51623 + timestamp: 1759136002236 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclcpp-28.1.12-np126py312h3bd2861_10.conda + sha256: 5fac9cbad51d1f1886825b1c29e869fd1390e5e777651143da8075ed13f48000 + md5: 0ec79e2a566db7f4d526eaf0436ab861 + depends: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-builtin-interfaces + - ros-jazzy-libstatistics-collector + - ros-jazzy-rcl + - ros-jazzy-rcl-interfaces + - ros-jazzy-rcl-logging-interface + - ros-jazzy-rcl-yaml-param-parser + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosgraph-msgs + - ros-jazzy-rosidl-dynamic-typesupport + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-statistics-msgs + - ros-jazzy-tracetools + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 1095658 + timestamp: 1759138036472 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclcpp-action-28.1.12-np126py312h3bd2861_10.conda + sha256: 0569eb337647a4fceb1b0649139d5a933b43f5c59c3c95087c2b5d9ae3fc439f + md5: fe6e6d7ee5a3fb0821e8da09455f33bd + depends: + - python + - ros-jazzy-action-msgs + - ros-jazzy-ament-cmake + - ros-jazzy-rcl + - ros-jazzy-rcl-action + - ros-jazzy-rclcpp + - ros-jazzy-rcpputils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 116482 + timestamp: 1759138297286 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclcpp-components-28.1.12-np126py312h3bd2861_10.conda + sha256: 2d6952afbdaf759d4c5cc88d5e1a16a1051820b2e8b1b6f1a92d451d0603593b + md5: a6fb2bb240c4be2ca4b495d499f9b722 + depends: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-class-loader + - ros-jazzy-composition-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 140131 + timestamp: 1759138254427 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rclcpp-lifecycle-28.1.12-np126py312h3bd2861_10.conda + sha256: ca596229ef1e750e475caca605e978d705e736430f39bac4f79505d28ca0fc83 + md5: 4b80b876d5cedcb4aa0b3005435284b7 + depends: + - python + - ros-jazzy-lifecycle-msgs + - ros-jazzy-rcl + - ros-jazzy-rcl-interfaces + - ros-jazzy-rcl-lifecycle + - ros-jazzy-rclcpp + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-typesupport-cpp + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 130881 + timestamp: 1759138283448 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-rclpy-7.1.5-np126py312h3bd2861_13.conda + sha256: bf8e4527d172ec25ddcbacf2197afc95c509a62efbe4a31935cf08c5db203d79 + md5: 3615a98f7918c933eb1339af9a4e4f9f + depends: + - python + - pyyaml + - ros-jazzy-action-msgs + - ros-jazzy-ament-index-python + - ros-jazzy-builtin-interfaces + - ros-jazzy-lifecycle-msgs + - ros-jazzy-rcl + - ros-jazzy-rcl-action + - ros-jazzy-rcl-interfaces + - ros-jazzy-rcl-lifecycle + - ros-jazzy-rcl-logging-interface + - ros-jazzy-rcl-yaml-param-parser + - ros-jazzy-rmw + - ros-jazzy-rmw-implementation + - ros-jazzy-ros-workspace + - ros-jazzy-rosgraph-msgs + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rpyutils + - ros-jazzy-unique-identifier-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 723221 + timestamp: 1765488858041 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcpputils-2.11.2-np126py312h3bd2861_10.conda + sha256: 3592b3549328122ceac5d8d5c9a85e1032cbfae81c40342b5a8dc6d708535680 + md5: ab6f98127dddc09649e150499d0d0f11 + depends: + - python + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 80389 + timestamp: 1759135754694 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rcutils-6.7.4-np126py312h3bd2861_10.conda + sha256: f477bc94ca5d7d7de15c9edcb74a435824ea5feff0824485d456702f1a82a221 + md5: 9fba73b4a6fc4c75ec91b3d6df1e7eb2 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 122119 + timestamp: 1759135628086 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-realtime-tools-3.9.0-np126py312h3bd2861_10.conda + sha256: a066102dc91dfad2fd2a31e1d8e6eee0f71971cfeffca99da9eae7709ebd6f02 + md5: cdaa597390115e1fb082cbfc250106d3 + depends: + - libboost-devel + - libcap + - python + - ros-jazzy-ament-cmake + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libcap >=2.76,<2.77.0a0 + - libboost >=1.86.0,<1.87.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 78029 + timestamp: 1759138514556 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-resource-retriever-3.4.4-np126py312h3bd2861_10.conda + sha256: cce7c268b3e1b9b1767c5d6289eefc587a669680e2aa1c9e351d50534ef34bb6 + md5: 2cfb053769857c61ef2033376b5492da + depends: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-ament-index-python + - ros-jazzy-libcurl-vendor + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 44775 + timestamp: 1759135559085 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-7.3.2-np126py312h3bd2861_10.conda + sha256: 57f23ae2beb22304328e2cee8535e9d547190700e73fcd169e3538eba79c7947 + md5: 630603ba196ed5efebd28d281bfa848d + depends: + - python + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-dynamic-typesupport + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 97009 + timestamp: 1759135915627 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-connextdds-0.22.1-np126py312h3bd2861_10.conda + sha256: 30af3dbc51c6a65ca48c5836f4dd3cb000126ee6d682a62cd3c4ced5ab767199 + md5: 6dc89b6b65a0e4d1bb292baffd93ca02 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-rmw-connextdds-common + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 31990 + timestamp: 1759137073605 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-connextdds-common-0.22.1-np126py312h3bd2861_10.conda + sha256: 7e6dbb64826667344f1425f3c79445a17f694610c61ac0f09a9cff6c45d20050 + md5: 671ed12124c2f6fdaf172b8b9059c358 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-fastcdr + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros-jazzy-rti-connext-dds-cmake-module + - ros-jazzy-tracetools + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 53892 + timestamp: 1759136858268 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-cyclonedds-cpp-2.2.3-np126py312h3bd2861_10.conda + sha256: b1bb8703ddc30c4304d14188a0fa25ccfcfda60307b66f2ab9a848bdc114a43a + md5: 409eb17f609d8fa0fe481597b4fffe14 + depends: + - python + - ros-jazzy-cyclonedds + - ros-jazzy-iceoryx-binding-c + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros-jazzy-tracetools + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 265844 + timestamp: 1759136864665 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-dds-common-3.1.0-np126py312h3bd2861_10.conda + sha256: b89576829c4206f362fd56c8620271059d05f9abda5e071176716ca1bfe1d4dc + md5: f57fb5582e0b488e9d442b319bb07962 + depends: + - python + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 177140 + timestamp: 1759136532747 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-fastrtps-cpp-8.4.3-np126py312h3bd2861_10.conda + sha256: bcd12c84589f18855a56ec09a37ed827f63699f526a1bccfb3926320ef9e0a7c + md5: 60b7ea0455cc4697ff70513a5eac6522 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-rmw-fastrtps-shared-cpp + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-dynamic-typesupport + - ros-jazzy-rosidl-dynamic-typesupport-fastrtps + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-tracetools + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 159786 + timestamp: 1759137049673 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-fastrtps-dynamic-cpp-8.4.3-np126py312h3bd2861_10.conda + sha256: 645d73d3eee4fe4a779810e596b73d5ed7c9256dd0eee1ac80719375ec55dfb6 + md5: 0a7d3993e3df733e51161bf02d7f2e0f + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-rmw-fastrtps-shared-cpp + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 187065 + timestamp: 1759137014712 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-fastrtps-shared-cpp-8.4.3-np126py312h3bd2861_10.conda + sha256: a8fe05f2e9d56b580827c8b7caba319e8d65131280f5df157455ae5be7d965f7 + md5: 76d071067b8d9ddcdb46236d811dc3c5 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-dds-common + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-dynamic-typesupport + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros-jazzy-tracetools + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 231656 + timestamp: 1759136812044 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-implementation-2.15.6-np126py312h3bd2861_10.conda + sha256: 620c35ce03b22195ff4500019d6e0e5fa550797f2aafdc9a16ceb9142315a091 + md5: 1c3b731bd70dbca6143a26ecdc1de850 + depends: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw-connextdds + - ros-jazzy-rmw-cyclonedds-cpp + - ros-jazzy-rmw-fastrtps-cpp + - ros-jazzy-rmw-fastrtps-dynamic-cpp + - ros-jazzy-rmw-implementation-cmake + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 54228 + timestamp: 1759137231735 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rmw-implementation-cmake-7.3.2-np126py312h3bd2861_10.conda + sha256: 3ef8f2185c5a7f0adb9ea8306a78cbd7f6aea4b150f1d57f03e21838f93e0711 + md5: 797411e57cbedf5800826bc6d966f4b0 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 29235 + timestamp: 1759135465529 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-robot-state-publisher-3.3.3-np126py312h3bd2861_10.conda + sha256: c8833ae7b3ec0fc4d31fb3a774c849c85012fafa9d711cd964311d7477008199 + md5: 6c8fa7a2175dce9d6224d4025598a4f6 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-kdl-parser + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros-jazzy-tf2-ros + - ros-jazzy-urdf + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 270797 + timestamp: 1759139223476 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-base-0.11.0-np126py312h3bd2861_10.conda + sha256: aa5ad123294f930216312ccfa204c1ff16455f12468eb896d7a02cc0a918dd99 + md5: 4ca1982f542affa6b86dcd63e58e0637 + depends: + - python + - ros-jazzy-geometry2 + - ros-jazzy-kdl-parser + - ros-jazzy-robot-state-publisher + - ros-jazzy-ros-core + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2 + - ros-jazzy-urdf + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 22217 + timestamp: 1759142572440 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-core-0.11.0-np126py312h3bd2861_10.conda + sha256: 78e70094f96dbd1833c488ebea406a6ac885c3676c0e7dc0d2fb51c83eaa1c6b + md5: 5f9ef851bcbd220526d56aa3995d87f8 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-auto + - ros-jazzy-ament-cmake-gmock + - ros-jazzy-ament-cmake-gtest + - ros-jazzy-ament-cmake-pytest + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-index-cpp + - ros-jazzy-ament-index-python + - ros-jazzy-ament-lint-auto + - ros-jazzy-ament-lint-common + - ros-jazzy-class-loader + - ros-jazzy-common-interfaces + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-testing + - ros-jazzy-launch-testing-ament-cmake + - ros-jazzy-launch-testing-ros + - ros-jazzy-launch-xml + - ros-jazzy-launch-yaml + - ros-jazzy-pluginlib + - ros-jazzy-rcl-lifecycle + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-rclcpp-lifecycle + - ros-jazzy-rclpy + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli-common-extensions + - ros-jazzy-ros2launch + - ros-jazzy-rosidl-default-generators + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sros2 + - ros-jazzy-sros2-cmake + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 22935 + timestamp: 1759141203305 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-environment-4.2.1-np126py312h3bd2861_10.conda + sha256: afbf2503171aafa5a5caeb707793ac49c6ec04b18bbfec0bf3be28f7e74cc58a + md5: 1a0a37bef17a78e62502248d0333bb6f + depends: + - python + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 21196 + timestamp: 1759133897929 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros-workspace-1.0.3-np126py312h3bd2861_10.conda + sha256: a6cdeb4918d9886db96dd14a436c863426ac804c37520fba2270671c3d188ff6 + md5: ac5ee1d92135d01d66cf9b10047fac93 + depends: + - python + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 35302 + timestamp: 1759133887784 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2-control-test-assets-4.37.0-np126py312h3bd2861_10.conda + sha256: f979d28b07f19c7044a83e9faa545ae91ef35b817e506c35eac38b6af4d87f16 + md5: ca77c194c0524faee5dfe3ee49fd0909 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 31131 + timestamp: 1759134500444 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ros2-numpy-2.0.9-np126py312h3bd2861_10.conda + sha256: d4fdcad652a674daf51f555f34607f3d27e65413fc19a03d2fcdefad7285f36c + md5: 06717bf0b31585bb111600bfda06b295 + depends: + - numpy + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-nav-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-tf-transformations + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 54619 + timestamp: 1765488858050 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-ros2-python-extension-1.0.0-np126py312h3bd2861_10.conda + sha256: afcdcfb95afaeb9434a6dea5b4e5aa7f096dd4389e5761c44ed12d741edad5f1 + md5: 2dacf60d4f58e0826d3d7058f07f7a74 + depends: + - python + - ros-jazzy-pybind11-vendor + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 37183 + timestamp: 1765488858150 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2action-0.32.6-np126py312h3bd2861_10.conda + sha256: 69bd4ce547a8e13565d157d693848e950779c8bc91d2a9dca6218d9c5864b6c8 + md5: 4261dd0395dd7a2f118dc8263b0ee2cc + depends: + - python + - ros-jazzy-action-msgs + - ros-jazzy-ament-index-python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 47450 + timestamp: 1759138982145 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2bag-0.26.9-np126py312h3bd2861_10.conda + sha256: 031189bf0e87180d36d239508456b78abc4beb585c432e6eff4507fb420f2f1d + md5: 1eb92c6e97923aa31eb44c0c27f201d5 + depends: + - python + - pyyaml + - ros-jazzy-ament-index-python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-rosbag2-py + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 70906 + timestamp: 1759141884021 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2cli-0.32.6-np126py312h3bd2861_10.conda + sha256: 5fa312f8c9a1e2c6fd110bd6496739e14d31ddb63891a491dd1f3f197efdb11e + md5: 263ff9103e8220ffb8aa8d453436150a + depends: + - argcomplete + - importlib-metadata + - packaging + - psutil + - python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 75553 + timestamp: 1759138307590 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2cli-common-extensions-0.3.0-np126py312h3bd2861_10.conda + sha256: c7ced26a3b147437d55a0658a011e4d0b55cdf4685a9972b0621704a62b67701 + md5: fdaae7901a16ca8bcac95ecb94806390 + depends: + - python + - ros-jazzy-launch-xml + - ros-jazzy-launch-yaml + - ros-jazzy-ros-workspace + - ros-jazzy-ros2action + - ros-jazzy-ros2cli + - ros-jazzy-ros2component + - ros-jazzy-ros2doctor + - ros-jazzy-ros2interface + - ros-jazzy-ros2launch + - ros-jazzy-ros2lifecycle + - ros-jazzy-ros2multicast + - ros-jazzy-ros2node + - ros-jazzy-ros2param + - ros-jazzy-ros2pkg + - ros-jazzy-ros2run + - ros-jazzy-ros2service + - ros-jazzy-ros2topic + - ros-jazzy-sros2 + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 26564 + timestamp: 1759140701384 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2component-0.32.6-np126py312h3bd2861_10.conda + sha256: 8e6fc3722298550ecf7602023c23c3c2fb549a43e424ee435ec1ac923518a1f3 + md5: 794c2fa5a9617428640998dd7b9bc9ca + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-composition-interfaces + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclcpp-components + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-ros2node + - ros-jazzy-ros2param + - ros-jazzy-ros2pkg + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 37994 + timestamp: 1759139839233 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2doctor-0.32.6-np126py312h3bd2861_10.conda + sha256: b8ce58dc818079448f612ca99f0168c33c406e791646acecb5a2e57b5ca4dc42 + md5: bd93d203c53714eae363299ce2a8b539 + depends: + - catkin_pkg + - importlib-metadata + - psutil + - python + - ros-jazzy-ament-index-python + - ros-jazzy-rclpy + - ros-jazzy-ros-environment + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - rosdistro + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 67612 + timestamp: 1759138976282 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2interface-0.32.6-np126py312h3bd2861_10.conda + sha256: a3619dae2e62c6c1df9e84be23b6d7dae06f9816ad291919c3afb3ba23a2bce0 + md5: f3e395a0c311e823a5b1a7fd70266446 + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-rosidl-adapter + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 46463 + timestamp: 1759138967397 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2launch-0.26.9-np126py312h3bd2861_10.conda + sha256: 03ed142e0566c1734476d32489f27d02eeb7d8c2fb7b3c71ec2a7ff29a0c5e83 + md5: 4851cfbba36ed59860c1d2912c56cb22 + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-launch-xml + - ros-jazzy-launch-yaml + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-ros2pkg + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 46350 + timestamp: 1759139191502 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2lifecycle-0.32.6-np126py312h3bd2861_10.conda + sha256: f82a9520f6297cdd82ccebc7499dce40f8b4ada8e2baea839b7fd4fa7f6b7e82 + md5: 3e77332f55a96ad68bba48a741c462c1 + depends: + - python + - ros-jazzy-lifecycle-msgs + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-ros2node + - ros-jazzy-ros2service + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 45119 + timestamp: 1759139560053 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2multicast-0.32.6-np126py312h3bd2861_10.conda + sha256: 501d54829e5b27bc6e1c1cd54bcfbc68d0c629753e26e351ef6b1731ee75f464 + md5: 847b702c252c8de5afcfead44a50b5cc + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 25532 + timestamp: 1759138522774 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2node-0.32.6-np126py312h3bd2861_10.conda + sha256: 4e80967fcf91b1144fad9009b8c78e970f3dc2eba2cba09f3eeff526886a032b + md5: b615d960528f5478fe13c2d3f5c3c8be + depends: + - python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 42873 + timestamp: 1759138962330 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2param-0.32.6-np126py312h3bd2861_10.conda + sha256: ba87d8d5b53fd2117d99a9213a1e5c6c308e78f3e6b91929fb0cfd6a54fc6a53 + md5: 2d3ee0fed29c59c1dcb66badb2aa71a6 + depends: + - python + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-ros2node + - ros-jazzy-ros2service + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 50118 + timestamp: 1759139545420 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2pkg-0.32.6-np126py312h3bd2861_10.conda + sha256: 57b716431a9d9a41e0e161204416abc4b55b11ad0553ea452072e0120e0fb165 + md5: 7d9bb8d7ebd4f1c373b5ca3ec3c70fca + depends: + - catkin_pkg + - empy + - importlib_resources + - python + - ros-jazzy-ament-copyright + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 57895 + timestamp: 1759138957095 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2run-0.32.6-np126py312h3bd2861_10.conda + sha256: 1bc47672bff0f4beadee0cc550efcecf714d2ce965344de46dee1f1690ee0be0 + md5: 9a489d806586ac557367adfc5e2e1b32 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-ros2pkg + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 24631 + timestamp: 1759139218388 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2service-0.32.6-np126py312h3bd2861_10.conda + sha256: c1cb547993691cdd77831ec10dc9899986c442d99782feb2bd7843e327dd109b + md5: 9c507683ea88d0b5cf43614f7fa79ff9 + depends: + - python + - pyyaml + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-ros2topic + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 51443 + timestamp: 1759139206309 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ros2topic-0.32.6-np126py312h3bd2861_10.conda + sha256: 036443a8f78b1db89992892ff8dd6ae90de05efe78b27af1d270b54ccd6e331a + md5: 8caa80e20e89d4dfb2d7e4a82fb1aaed + depends: + - numpy + - python + - pyyaml + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-rosidl-runtime-py + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 73969 + timestamp: 1759138948583 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-0.26.9-np126py312h3bd2861_10.conda + sha256: 0627fc2b3ddd5e89afa5406cdd050331161c18de25f6ca5c3c6f0a19d1f81b58 + md5: 61d3f9ffa8b512592a607c467e4f44de + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-ros2bag + - ros-jazzy-rosbag2-compression + - ros-jazzy-rosbag2-compression-zstd + - ros-jazzy-rosbag2-cpp + - ros-jazzy-rosbag2-py + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosbag2-storage-default-plugins + - ros-jazzy-rosbag2-transport + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 35314 + timestamp: 1759142416071 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-compression-0.26.9-np126py312h3bd2861_10.conda + sha256: ecf2fc6ccf7604f6f8692ad4f00acb37b565c77a3a47c2cc1baa40662cbcbdd2 + md5: f7e0c70980bf5950eaa89cff49876e1b + depends: + - python + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-cpp + - ros-jazzy-rosbag2-storage + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 205064 + timestamp: 1759140551619 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-compression-zstd-0.26.9-np126py312h3bd2861_10.conda + sha256: 335930026aab021d50caccfebf981dbb29e1beace22b4cb0857bd9a07814c338 + md5: 1c01047f7c75297c42e0dd2a2a875d85 + depends: + - python + - ros-jazzy-pluginlib + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-compression + - ros-jazzy-zstd-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 69920 + timestamp: 1759140855189 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-cpp-0.26.9-np126py312h3bd2861_10.conda + sha256: ae4a5746142620fdf531fbb67c4ce4141f079060c3aee9f7e705806c660c40c8 + md5: 31d81a4eb3feb7f95561f1d7461dd40a + depends: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-rmw-implementation + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 349336 + timestamp: 1759139610816 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-interfaces-0.26.9-np126py312h3bd2861_10.conda + sha256: a3b838ecb210795db8d5ce070dd2799c01200906bbb0751e915acb907291770a + md5: c5a4ea1feb07626b8e435569954328de + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 460923 + timestamp: 1759136590937 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-py-0.26.9-np126py312h3bd2861_10.conda + sha256: e4598a1b71e133259aa9fa2b35c329f42bc089cd1383f0ae29c12f43e6e80204 + md5: c16cb92f05bfe086187f8d1a14225d4e + depends: + - python + - ros-jazzy-pybind11-vendor + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-compression + - ros-jazzy-rosbag2-cpp + - ros-jazzy-rosbag2-storage + - ros-jazzy-rosbag2-transport + - ros-jazzy-rpyutils + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 791611 + timestamp: 1759141642047 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-0.26.9-np126py312h3bd2861_10.conda + sha256: d98ed3067864b772119d28e4facc094bb5a9c17813785d14a2353bb25b91d19d + md5: a8505a8aec773203f7a486d56c91a46a + depends: + - python + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 277994 + timestamp: 1759138506727 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-default-plugins-0.26.9-np126py312h3bd2861_10.conda + sha256: 8b5053c566e58889e24dd6d4fc4cdb4f2fe92156d8b1165e76bc143b0bc91ff1 + md5: 0857d7d55c39c1df2a338cc1850d8c25 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-storage-mcap + - ros-jazzy-rosbag2-storage-sqlite3 + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 22192 + timestamp: 1759139382680 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-mcap-0.26.9-np126py312h3bd2861_10.conda + sha256: e85804264c328c43fd03be899f0eaf66dd70a0255af933a3fe8b2684720d1049 + md5: d5201d71de1b13f54e3697acff610d52 + depends: + - python + - ros-jazzy-ament-index-cpp + - ros-jazzy-mcap-vendor + - ros-jazzy-pluginlib + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-storage + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 197357 + timestamp: 1759139095894 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-storage-sqlite3-0.26.9-np126py312h3bd2861_10.conda + sha256: b3260513e37b9d015c4621baf345bb9e3095e4ae324549b61474febb77fca90c + md5: b94f7f2296bb80fb1782a4b08afcefed + depends: + - python + - ros-jazzy-pluginlib + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-storage + - ros-jazzy-sqlite3-vendor + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 244169 + timestamp: 1759139078134 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosbag2-transport-0.26.9-np126py312h3bd2861_10.conda + sha256: c9bd082669afde256f245bada988bc6a46f56ee60e64a3dc0279098a062d73cf + md5: bc8786f0649a8a0daec24436a8cc6093 + depends: + - python + - ros-jazzy-keyboard-handler + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-compression + - ros-jazzy-rosbag2-cpp + - ros-jazzy-rosbag2-interfaces + - ros-jazzy-rosbag2-storage + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 526480 + timestamp: 1759141121630 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosgraph-msgs-2.0.3-np126py312h3bd2861_10.conda + sha256: 4b4ee7e4040cc05e7edc39eb1b1cee5b81336fda96ceffd0be1755b7a9ce5b41 + md5: bae2502ca3142a4fb27825194ba6ea09 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 72341 + timestamp: 1759136567175 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-adapter-4.6.6-np126py312h3bd2861_10.conda + sha256: d4e44209fc8e8cf5f6796d129ee59d5a09f8c2e6a992f5a8b79a12c91c57715c + md5: 65e07ac650b8a5b65fa3d534f07bb2e0 + depends: + - empy + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 63288 + timestamp: 1759135143582 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-cli-4.6.6-np126py312h3bd2861_10.conda + sha256: 2d0cf10e2fcf9455c393bb83b51d4c89576dfdebec3d82453e1da5621d2258e2 + md5: 5c0702b63578a68dc61e488c7ac6859f + depends: + - argcomplete + - importlib-metadata + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 42559 + timestamp: 1759134512964 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-cmake-4.6.6-np126py312h3bd2861_10.conda + sha256: 99fbda6a89be497eb3e54b67fc6f9be2efb7cf721b1bf5d9c85799f29145f40b + md5: 654b00ca14494136e3454d97ff072ddc + depends: + - empy + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-pycommon + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 35018 + timestamp: 1759135749979 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-core-generators-0.2.0-np126py312h3bd2861_10.conda + sha256: d911d18c36fe0820c24c841361febac70a066284281a725c70cbf54f5338b499 + md5: 0ad733400e3d217ccaa1b71bcd2558da + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-cpp + - ros-jazzy-rosidl-generator-py + - ros-jazzy-rosidl-generator-type-description + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 32136 + timestamp: 1759136331062 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-core-runtime-0.2.0-np126py312h3bd2861_10.conda + sha256: 9efabedab52314ae05188b49254b682280de9385575708957322ab4a120f073a + md5: ffa316df1ea2920a88724d0fbb9aa52a + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-generator-py + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-introspection-c + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 31161 + timestamp: 1759136319716 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-generators-1.6.0-np126py312h3bd2861_10.conda + sha256: a707114fd8b64ea02a81423a611e25e9e6e531b897a6dc60734bb1a162d3454b + md5: a670201c019c39ef93155a4234af1c9e + depends: + - python + - ros-jazzy-action-msgs + - ros-jazzy-ament-cmake-core + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-generators + - ros-jazzy-service-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 32409 + timestamp: 1759136496815 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-default-runtime-1.6.0-np126py312h3bd2861_10.conda + sha256: 23b17a498e31ec797ead5204d4b3bd1dab9b23bb86dcc2f96c87896a2e1e0b58 + md5: a1c88648a1ee798ae6ba8a3cdd8fecf4 + depends: + - python + - ros-jazzy-action-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros-jazzy-service-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 31814 + timestamp: 1759136484793 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-dynamic-typesupport-0.1.2-np126py312h3bd2861_10.conda + sha256: ba35997f90df5939af3b9c32a5bbfd4e144c1a0fa2edba0c93f3f1d08ac1b245 + md5: 0409589abcc712e53499a63270c64b2b + depends: + - python + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 62858 + timestamp: 1759135845185 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-dynamic-typesupport-fastrtps-0.1.0-np126py312h3bd2861_10.conda + sha256: 30eefec9684ce8bc9761984cab745ebe8f8ab2786af5e559c3144e8290d1a0ef + md5: 6d3ac5d660f36ce2d5a505547f8f0ae2 + depends: + - python + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-dynamic-typesupport + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 86349 + timestamp: 1759135926381 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-generator-c-4.6.6-np126py312h3bd2861_10.conda + sha256: 35d42979abd9bcd8ee251889e97744ae111fb5a3626b98b76f7d58b329b521da + md5: 720f8420b90a66e5a25c4cd5d8325bb2 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-index-python + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-type-description + - ros-jazzy-rosidl-parser + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 53004 + timestamp: 1759135839591 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-generator-cpp-4.6.6-np126py312h3bd2861_10.conda + sha256: e62600644173e5d1c5c6ebe8472f9d8abe366f0cfc2e8918e2f76ef0143a3ebd + md5: 88adcc872b754780da08c6b69849e254 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-type-description + - ros-jazzy-rosidl-parser + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-cpp + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 49898 + timestamp: 1759135902089 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-generator-py-0.22.1-np126py312h3bd2861_10.conda + sha256: 775e66067ffaa69912fe55fdf494503c81ecdbb1b651e9f15737ab63540cff4b + md5: 0cb58a98294d974d0cb6b1a58e6e0ce1 + depends: + - numpy + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-cmake-cppcheck + - ros-jazzy-ament-cmake-cpplint + - ros-jazzy-ament-cmake-flake8 + - ros-jazzy-ament-cmake-pep257 + - ros-jazzy-ament-cmake-uncrustify + - ros-jazzy-ament-index-python + - ros-jazzy-python-cmake-module + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-parser + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-interface + - ros-jazzy-rpyutils + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 59990 + timestamp: 1759136277836 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-generator-type-description-4.6.6-np126py312h3bd2861_10.conda + sha256: 1d01791814ce42808f232d8d7857ab94f21d23084580ac2d84834426dd365ec2 + md5: 159c33cc74b36a7ebfe6e49a416b5d6e + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-parser + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 48511 + timestamp: 1759135649822 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-parser-4.6.6-np126py312h3bd2861_10.conda + sha256: 9cda9c91fe734345c9f83e22b24da0045eccf150a7840892d834d5c8c5c42563 + md5: 288b24a8d8cb17b4a3e0b2d9c2dcb35f + depends: + - lark-parser + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-adapter + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 60062 + timestamp: 1759135545410 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-pycommon-4.6.6-np126py312h3bd2861_10.conda + sha256: d1a68a4629d184f840098436e13e276c5b39e964f76374a584168e23d4ce82ce + md5: a83a0fedc51d37628dc4230dd37af24c + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-parser + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 25122 + timestamp: 1759135643674 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-c-4.6.6-np126py312h3bd2861_10.conda + sha256: a6becfeb81b3f1b1eb63ca9bf15b255a03c2319a978e1ea450751ceff0f01070 + md5: dca4734bd880fb4dd628ab01d02a8924 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 83310 + timestamp: 1759135737006 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-cpp-4.6.6-np126py312h3bd2861_10.conda + sha256: 1a6c8a7ce90474afb3089c2902243b43793c27349a8efbbb4be600a9182b8773 + md5: c82c6d7a2ccb6c100a78b450171435d2 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-c + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 40765 + timestamp: 1759135826231 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-runtime-py-0.13.1-np126py312h3bd2861_10.conda + sha256: 1f5f15b6e9aeda80b12430b17ebfb56cba1e3f23a15dd389638eca535f3eda22 + md5: cc871aee15e43c56ef46160cf9486b27 + depends: + - numpy + - python + - pyyaml + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-parser + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 47292 + timestamp: 1759136811336 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-c-3.2.2-np126py312h3bd2861_10.conda + sha256: 48d323f3ee531a77655bb0aed03ef9ae0a7c8b94af626cb7a3ce1eb9405fabe3 + md5: 529f9ffa0a73fcf8c41f1964d16e5022 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-index-python + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-fastrtps-c + - ros-jazzy-rosidl-typesupport-interface + - ros-jazzy-rosidl-typesupport-introspection-c + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 50864 + timestamp: 1759136231797 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-cpp-3.2.2-np126py312h3bd2861_10.conda + sha256: 6443733659f9f5d6e4514b075f06663af3cdf7300d2016d17c81c594159d4e0e + md5: e03c02f670e399757b56a524e89a4090 + depends: + - python + - ros-jazzy-ament-cmake-core + - ros-jazzy-ament-index-python + - ros-jazzy-rcpputils + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-type-description + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-c + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-interface + - ros-jazzy-rosidl-typesupport-introspection-cpp + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 50085 + timestamp: 1759136271816 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-fastrtps-c-3.6.2-np126py312h3bd2861_10.conda + sha256: 9bee9940d28266a5542570de567e631365e5c98801f91c414d4a828edd2183db + md5: 47b54ef7ab0a20ae0b52b5bea6427c60 + depends: + - python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-index-python + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-fastrtps-cpp + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 51692 + timestamp: 1759136159703 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-fastrtps-cpp-3.6.2-np126py312h3bd2861_10.conda + sha256: 98b40c4a00ece5b171619985d8ee1feff9669f3538c2192f19fe1560b37d8a35 + md5: fafacfc793c18e2fc40e6d5b347d73bc + depends: + - python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-ament-index-python + - ros-jazzy-fastcdr + - ros-jazzy-fastrtps-cmake-module + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-cpp + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 53698 + timestamp: 1759135981264 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-interface-4.6.6-np126py312h3bd2861_10.conda + sha256: 77fb97f9d5367b0ea2aadde2a4f004532bb56248a8f5b2ec7e5bcf24bf2ddd61 + md5: 248b1c0c3fb1761ea4e17f6d0303b8f8 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 29117 + timestamp: 1759135163731 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-introspection-c-4.6.6-np126py312h3bd2861_10.conda + sha256: 6f30e4ae7a3c8c68ae98fb734e5b7366cb76de492d1e9af69b699bee3b1fdd1c + md5: 2ecb6407e4c9b99625e7b9134597ba46 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-parser + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-typesupport-interface + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 48037 + timestamp: 1759135921391 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosidl-typesupport-introspection-cpp-4.6.6-np126py312h3bd2861_10.conda + sha256: 5fabcdd7b3ad4b763ab731ebc56d25507597a172542f4a5e052b788ce2fc671b + md5: c530712c799ea65fa4e9fbdbdd8b295a + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-cli + - ros-jazzy-rosidl-cmake + - ros-jazzy-rosidl-generator-c + - ros-jazzy-rosidl-generator-cpp + - ros-jazzy-rosidl-parser + - ros-jazzy-rosidl-pycommon + - ros-jazzy-rosidl-runtime-c + - ros-jazzy-rosidl-runtime-cpp + - ros-jazzy-rosidl-typesupport-interface + - ros-jazzy-rosidl-typesupport-introspection-c + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 48259 + timestamp: 1759135994674 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rosx-introspection-1.0.2-np126py312h3bd2861_10.conda + sha256: fccbba9e8aad9d8aae496e5afd7497fec2b7c7f9338b6c6c34e4d06b6a9f92b0 + md5: f94ffa8481fec00467f34aa9666ea733 + depends: + - python + - rapidjson + - ros-jazzy-ament-index-cpp + - ros-jazzy-fastcdr + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-cpp + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 221716 + timestamp: 1759139882376 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-rot-conv-1.1.0-np126py312h3bd2861_10.conda + sha256: 7436791126af07293a49967beb3d6d8d07a574a7ea45d2916c5d9421d8cdd5a2 + md5: f48bba5240e3371b99d64fc1e28a9502 + depends: + - eigen + - python + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 61917 + timestamp: 1765488857924 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rpyutils-0.4.2-np126py312h3bd2861_10.conda + sha256: feaa9fd7b874f60bb8705f284266e7a5ecd46685743fece17ebd97b15b970ecd + md5: e784214b5b2c6ce6c362ba9cc3ce66f1 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 26130 + timestamp: 1759134487455 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-action-2.2.0-np126py312h3bd2861_10.conda + sha256: f2e794c5f82ed270f334523c4b4ed3a06aa06cb7bb142d4c76d63aa07eeb7a55 + md5: 286dc7a6b02e8361b58dd68a91feb152 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros-jazzy-rqt-msg + - ros-jazzy-rqt-py-common + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 20418 + timestamp: 1759139523194 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-bag-1.5.5-np126py312h3bd2861_10.conda + sha256: b68e5320ae912b45f8a602530ee80d4be3ea967d55b26dd7c150130e88690baa + md5: d07828b1dae08ce7f85de8b3a5a6a6ce + depends: + - python + - ros-jazzy-python-qt-binding + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2-py + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 136415 + timestamp: 1759141892478 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-bag-plugins-1.5.5-np126py312h3bd2861_10.conda + sha256: 6de02226a3b072cb110ce147d57458e791aeacd699dbfb896680304871e3e9fb + md5: fe773d3b2d3d9bfc151c2c3e02afb475 + depends: + - numpy + - pillow + - pycairo + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rosbag2 + - ros-jazzy-rqt-bag + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros-jazzy-rqt-plot + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 51186 + timestamp: 1759142829809 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-common-plugins-1.2.0-np126py312h3bd2861_10.conda + sha256: 44e169c813d97b9594318fdd8ed56d2fcc17287c6eeb01d22fae927926f35de0 + md5: 10a9f85c93d6809249f94009904eea58 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rqt-action + - ros-jazzy-rqt-bag + - ros-jazzy-rqt-bag-plugins + - ros-jazzy-rqt-console + - ros-jazzy-rqt-graph + - ros-jazzy-rqt-image-view + - ros-jazzy-rqt-msg + - ros-jazzy-rqt-plot + - ros-jazzy-rqt-publisher + - ros-jazzy-rqt-py-common + - ros-jazzy-rqt-py-console + - ros-jazzy-rqt-reconfigure + - ros-jazzy-rqt-service-caller + - ros-jazzy-rqt-shell + - ros-jazzy-rqt-srv + - ros-jazzy-rqt-topic + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 22889 + timestamp: 1759143187107 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-console-2.2.1-np126py312h3bd2861_10.conda + sha256: 2ce066b5dfabe6b699ce1848c560b15a9efbfa5cbe1e967a27d2da11324e35c9 + md5: 6c3dabb49227ad09b1cc90f148689149 + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-python-qt-binding + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros-jazzy-rqt-py-common + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 83329 + timestamp: 1759138934134 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-graph-1.5.5-np126py312h3bd2861_10.conda + sha256: 143e92304e358383fd7a5a747be4ebb2e1a967dd4e39bbe168f3c807d054c3c8 + md5: a5a5bf5907c7931787e22a1521320ada + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-python-qt-binding + - ros-jazzy-qt-dotgraph + - ros-jazzy-ros-workspace + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 69553 + timestamp: 1759138933496 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-gui-1.6.0-np126py312h3bd2861_10.conda + sha256: b5337dfe3eceb0b3ddf5ae4096412fda405a86266c1a4bffce4583c7ce36c870 + md5: 0e03ec507463a98d53756c3b612bc4b1 + depends: + - catkin_pkg + - python + - ros-jazzy-ament-index-python + - ros-jazzy-python-qt-binding + - ros-jazzy-qt-gui + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 126702 + timestamp: 1759138254521 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-gui-cpp-1.6.0-np126py312h3bd2861_10.conda + sha256: 35220ae9ccf0e154391db3eecc52124cc0a3f570c617c7f35d018480f17a17c4 + md5: a3ea672c84ebd68536968487d7364940 + depends: + - python + - ros-jazzy-pluginlib + - ros-jazzy-qt-gui-cpp + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - qt-main >=5.15.15,<5.16.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 187130 + timestamp: 1759138282403 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-gui-py-1.6.0-np126py312h3bd2861_10.conda + sha256: d859156792ef19102cfa102d361d76e8650f1f85b65f818067979aff52680ea3 + md5: ae38bf329c387b61adb6e34d26bcd2f8 + depends: + - python + - ros-jazzy-qt-gui + - ros-jazzy-ros-workspace + - ros-jazzy-rqt-gui + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 49844 + timestamp: 1759138489245 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-image-view-1.3.0-np126py312h3bd2861_10.conda + sha256: cb4e28e96d92a2c2a3faa5537ee8ed2338503d27023dee0d2bf1f17e706f8f0d + md5: 88aa588fa8ff7535738200a8d260fae7 + depends: + - python + - ros-jazzy-cv-bridge + - ros-jazzy-geometry-msgs + - ros-jazzy-image-transport + - ros-jazzy-qt-gui-cpp + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-cpp + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libopengl >=1.7.0,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - python_abi 3.12.* *_cp312 + - qt-main >=5.15.15,<5.16.0a0 + license: BSD-3-Clause + size: 295056 + timestamp: 1759139216127 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-msg-1.5.1-np126py312h3bd2861_10.conda + sha256: e5816d23f0b2a183a3db963e2326104836bcae06ee617d9a9099fb7783ecb2cb + md5: 8a547f7b06e91cffc57e7083d5cac4aa + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-python-qt-binding + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-py + - ros-jazzy-rqt-console + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros-jazzy-rqt-py-common + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 30408 + timestamp: 1759139191523 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-plot-1.4.4-np126py312h3bd2861_10.conda + sha256: c530b7d9c6db353c94bcb79bae24c09a1c8290bffdde64d6567a1f44161b18a5 + md5: 71e6d19ece274ab633e708741c89738e + depends: + - catkin_pkg + - matplotlib-base + - numpy + - python + - ros-jazzy-python-qt-binding + - ros-jazzy-qt-gui-py-common + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-py + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros-jazzy-rqt-py-common + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 77281 + timestamp: 1759139034195 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-publisher-1.7.2-np126py312h3bd2861_10.conda + sha256: 4538c74a6269766c485fb2f0d8726ed26494a6844e506ff695761688a947f65f + md5: 4e439a21d1de19deadb517e832555c91 + depends: + - numpy + - python + - ros-jazzy-ament-index-python + - ros-jazzy-python-qt-binding + - ros-jazzy-qt-gui-py-common + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-py + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros-jazzy-rqt-py-common + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 42733 + timestamp: 1759138965274 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-py-common-1.6.0-np126py312h3bd2861_10.conda + sha256: 31d88da85c8fdc30f1af5abce79e16981260d6bc13b3a9073312b2dd84d7252d + md5: 871534225380fba0b744c0885a5fc340 + depends: + - python + - qt-main + - ros-jazzy-python-qt-binding + - ros-jazzy-qt-gui + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - qt-main >=5.15.15,<5.16.0a0 + - libopengl >=1.7.0,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - xorg-libxext >=1.3.6,<2.0a0 + - libgl >=1.7.0,<2.0a0 + license: BSD-3-Clause + size: 88049 + timestamp: 1759138273780 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-py-console-1.2.2-np126py312h3bd2861_10.conda + sha256: 7e21bd267b3393c1abdef55d028850d8ca54083b1f51425083cc0752c11db304 + md5: 764881b84f0b45a52a0b0e57f63a7230 + depends: + - python + - ros-jazzy-ament-index-python + - ros-jazzy-python-qt-binding + - ros-jazzy-qt-gui + - ros-jazzy-qt-gui-py-common + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 25434 + timestamp: 1759138961219 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-reconfigure-1.6.2-np126py312h3bd2861_10.conda + sha256: 78e437fa957443f9f8ab4a5e4f48553541ab721c74bed3441698501ae2779bcb + md5: 84b1c2774cf8be08d71cdd00be6ecee4 + depends: + - python + - pyyaml + - ros-jazzy-ament-index-python + - ros-jazzy-python-qt-binding + - ros-jazzy-qt-gui-py-common + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rqt-console + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros-jazzy-rqt-py-common + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 78372 + timestamp: 1759139262667 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-service-caller-1.2.1-np126py312h3bd2861_10.conda + sha256: a3533460101e124892dbd9a21e2f5816d0407a931c9ec627d2cc699138d98caf + md5: 58a40d8c9ef9ab26d3a669f8012047d3 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros-jazzy-rqt-py-common + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 32123 + timestamp: 1759138957166 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-shell-1.2.2-np126py312h3bd2861_10.conda + sha256: f6bab953ff3a3e4c1430337edf3b98d449f27c3eea01d2face576e8ebcf3552a + md5: 2635bd35c4057cc2ae42a21408493e9d + depends: + - catkin_pkg + - python + - ros-jazzy-python-qt-binding + - ros-jazzy-qt-gui + - ros-jazzy-qt-gui-py-common + - ros-jazzy-ros-workspace + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 29351 + timestamp: 1759138953056 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-srv-1.2.2-np126py312h3bd2861_10.conda + sha256: db7884882489d5371bfba6fe8ce849beed963fbb3a1e3cda3f1684d4b6871fcf + md5: 7ca8f79685538bf170ba19822f01155a + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros-jazzy-rqt-msg + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 21381 + timestamp: 1759139519091 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rqt-topic-1.7.3-np126py312h3bd2861_10.conda + sha256: 2c035e52a5f7642228d359562147369e06a1983e9916187e09c090287f9aa05b + md5: 807391be62dce610b9c586ab1dce63ee + depends: + - python + - ros-jazzy-python-qt-binding + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2topic + - ros-jazzy-rqt-gui + - ros-jazzy-rqt-gui-py + - ros-jazzy-rqt-py-common + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 38628 + timestamp: 1759139211889 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rsl-1.2.0-np126py312hd4d1b83_10.conda + sha256: cf9f65c0048fc2557946af8a1061c21ef38f2fd0df2bffc52c55d0bce35d1082 + md5: 263ece5872ccdc17d9537870b68ebb29 + depends: + - eigen + - fmt + - python + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-tcb-span + - ros-jazzy-tl-expected + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - fmt >=11.2.0,<11.3.0a0 + - graphviz >=13.1.2,<14.0a0 + license: BSD-3-Clause + size: 61146 + timestamp: 1759138254146 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rti-connext-dds-cmake-module-0.22.1-np126py312h3bd2861_10.conda + sha256: 939f02511575d68e5e213faf011a2cc83bdde7d158a931259334470a0959a0d2 + md5: a814fd56f1d32c08c552c78599d04971 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 31364 + timestamp: 1759135460323 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rttest-0.17.1-np126py312h3bd2861_10.conda + sha256: 43f469cbbeaa1ecea1b9a2bc84741e71bc14f61c34808370b21f06e736576efe + md5: dfe3e5c9690bcd2dfb0b813e9368bc6b + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 53911 + timestamp: 1759135169976 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-ruckig-0.9.2-np126py312h3bd2861_10.conda + sha256: 57e4ca84966368175bc6abd3fbe2183f36b1a028fbda87fa7fb5b80593313dab + md5: b0dd2aa627e4ef5522bd90328eecf099 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 129866 + timestamp: 1759133959060 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-assimp-vendor-14.1.15-np126py312h3bd2861_10.conda + sha256: d51251931f0b4be140cc862490d07674c71e43bec253e7cfb48016814410a0a1 + md5: 768c532c8973aafe963b0bf155d07743 + depends: + - assimp + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - assimp >=5.4.3,<5.4.4.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 24810 + timestamp: 1759135089466 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-common-14.1.15-np126py312h3bd2861_10.conda + sha256: 4148f838974e0dccafb38827221f6ee150f5ad146f4fcb7632d2c3a045583f26 + md5: a2a69da9f9be2fe1158df1260b211c19 + depends: + - python + - qt-main + - ros-jazzy-geometry-msgs + - ros-jazzy-message-filters + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-resource-retriever + - ros-jazzy-ros-workspace + - ros-jazzy-rviz-ogre-vendor + - ros-jazzy-rviz-rendering + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros-jazzy-std-srvs + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros-jazzy-tinyxml2-vendor + - ros-jazzy-urdf + - ros-jazzy-yaml-cpp-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libopengl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - qt-main >=5.15.15,<5.16.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 889510 + timestamp: 1759139178899 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-default-plugins-14.1.15-np126py312h3bd2861_10.conda + sha256: b9c6fcede16d94a7d2daf109fab9597d8efbc87ac3daa1574ba0b690bdfca137 + md5: c87ef245ad83fbf05cd57eb4ccfb9ccd + depends: + - python + - qt-main + - ros-jazzy-geometry-msgs + - ros-jazzy-gz-math-vendor + - ros-jazzy-image-transport + - ros-jazzy-interactive-markers + - ros-jazzy-laser-geometry + - ros-jazzy-map-msgs + - ros-jazzy-nav-msgs + - ros-jazzy-pluginlib + - ros-jazzy-point-cloud-transport + - ros-jazzy-rclcpp + - ros-jazzy-resource-retriever + - ros-jazzy-ros-workspace + - ros-jazzy-rviz-common + - ros-jazzy-rviz-ogre-vendor + - ros-jazzy-rviz-rendering + - ros-jazzy-tf2 + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-ros + - ros-jazzy-urdf + - ros-jazzy-visualization-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - libopengl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - qt-main >=5.15.15,<5.16.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 2285873 + timestamp: 1759140028444 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-rviz-imu-plugin-2.1.5-np126py312h3bd2861_10.conda + sha256: 392338e4c1bd82ed08ff0ba004f98d05ebc08d2553a43622b6592141ad5099c4 + md5: 02fc640ab49cbff188d8455b7b90ef06 + depends: + - python + - qt-main + - ros-jazzy-message-filters + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-rviz-common + - ros-jazzy-rviz-ogre-vendor + - ros-jazzy-rviz-rendering + - ros-jazzy-sensor-msgs + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libopengl >=1.7.0,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - python_abi 3.12.* *_cp312 + - qt-main >=5.15.15,<5.16.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: BSD-3-Clause + size: 268843 + timestamp: 1765488858119 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-ogre-vendor-14.1.15-np126py312h39124df_10.conda + sha256: 4081bce459c4d31b506dc3314b9d9032320ddc8c3ffa7c8b625ff6bf5a14a55a + md5: 9ffd6fc4b4c271d5578b29c8f4725748 + depends: + - assimp + - freetype + - glew + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxaw + - xorg-libxrandr + - xorg-xorgproto + - xorg-libx11 + - xorg-libxext + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - assimp >=5.4.3,<5.4.4.0a0 + - numpy >=1.26.4,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libzlib >=1.3.1,<2.0a0 + - zziplib >=0.13.69,<0.14.0a0 + - xorg-libxrandr >=1.5.4,<2.0a0 + - freeimage >=3.18.0,<3.19.0a0 + - libglu >=9.0.3,<9.1.0a0 + - glew >=2.1.0,<2.2.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - pugixml >=1.15,<1.16.0a0 + - libopengl >=1.7.0,<2.0a0 + - python_abi 3.12.* *_cp312 + - libgl >=1.7.0,<2.0a0 + license: BSD-3-Clause + size: 5377597 + timestamp: 1759134848838 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz-rendering-14.1.15-np126py312h3bd2861_10.conda + sha256: 1d5e4748a83e5515a66f00e8a13626df0c016c1ed2a576dabec66e8005c83609 + md5: 7b499dabea440a986f2b3d4638b48947 + depends: + - eigen + - python + - qt-main + - ros-jazzy-ament-index-cpp + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-resource-retriever + - ros-jazzy-ros-workspace + - ros-jazzy-rviz-assimp-vendor + - ros-jazzy-rviz-ogre-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libopengl >=1.7.0,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - qt-main >=5.15.15,<5.16.0a0 + - libgl >=1.7.0,<2.0a0 + - glew >=2.1.0,<2.2.0a0 + - numpy >=1.26.4,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - python_abi 3.12.* *_cp312 + - xorg-libx11 >=1.8.12,<2.0a0 + license: BSD-3-Clause + size: 937128 + timestamp: 1759135657587 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-rviz2-14.1.15-np126py312h3bd2861_10.conda + sha256: a166b0b2289c9de429818b58f5cc9b0ea35e3c057a1a4c3eb0cf360677f3ab84 + md5: 57345cdcf4230d648e45206218ec3667 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rviz-common + - ros-jazzy-rviz-default-plugins + - ros-jazzy-rviz-ogre-vendor + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - qt-main >=5.15.15,<5.16.0a0 + - libopengl >=1.7.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libgl >=1.7.0,<2.0a0 + - python_abi 3.12.* *_cp312 + - xorg-libxext >=1.3.6,<2.0a0 + license: BSD-3-Clause + size: 76045 + timestamp: 1759140831984 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sdformat-urdf-1.0.2-np126py312h3bd2861_10.conda + sha256: fe369a69329c26501913e56468d8eb3288588c10379d71b315872d883f73f920 + md5: 9aeffe5785e36b770e15c7e847df45d6 + depends: + - python + - ros-jazzy-ament-cmake-ros + - ros-jazzy-pluginlib + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-sdformat-vendor + - ros-jazzy-tinyxml2-vendor + - ros-jazzy-urdf + - ros-jazzy-urdf-parser-plugin + - ros2-distro-mutex 0.11.* jazzy_* + - urdfdom_headers + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 85339 + timestamp: 1759136172745 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sdformat-vendor-0.0.10-np126py312hbd70b12_10.conda + sha256: f1d2c875dfb67bedd6cfb1d81b8a71efa8556600e637f986d5f5900c8701c475 + md5: f038a81faa4361e34d814693b2b43838 + depends: + - pybind11 + - python + - ros-jazzy-gz-cmake-vendor + - ros-jazzy-gz-math-vendor + - ros-jazzy-gz-tools-vendor + - ros-jazzy-gz-utils-vendor + - ros-jazzy-ros-workspace + - ros-jazzy-urdfdom + - ros2-distro-mutex 0.11.* jazzy_* + - sdformat14 + - tinyxml2 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - libsdformat14 >=14.8.0,<15.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - tinyxml2 >=11.0.0,<11.1.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + license: BSD-3-Clause + size: 31837 + timestamp: 1759135760960 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sdl2-vendor-3.3.0-np126py312h3bd2861_10.conda + sha256: 88e8acd0939d054908173adf8acd84deb728c37b6639f9d7056dbe9ce485b83d + md5: 74fe5dbdd0766d608c1d3f931b5d61f7 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - sdl2 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - sdl2 >=2.32.56,<3.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 28358 + timestamp: 1759134486840 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sensor-msgs-5.3.6-np126py312h3bd2861_10.conda + sha256: 65926e9bd0725c11a170d9263502cd08dbd75f67c69d3ab9b15f8edf0aca0692 + md5: 477cf9584895a578c653b40c0df1da4e + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 546202 + timestamp: 1759137085566 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sensor-msgs-py-5.3.6-np126py312h3bd2861_10.conda + sha256: 620c211b274a399b29d8f4e3c9d2cfe74e54ac72d617c49ba3e854663634beda + md5: 2aa778ab9342a18b183ecadeda6792e5 + depends: + - numpy + - python + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 30492 + timestamp: 1759137231637 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-service-msgs-2.0.3-np126py312h3bd2861_10.conda + sha256: 58f5a585a42773ac153529a7a23b63bfbf5a4c5fa1299c6bb9af671847582934 + md5: a0c36bf475e340a819d8b781bd798058 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 80559 + timestamp: 1759136384945 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-shape-msgs-5.3.6-np126py312h3bd2861_10.conda + sha256: c5d5df98bb2eccca01963ae67a4d0b13ec5ad125029dac7e57df7d1bae28e539 + md5: b58fd8c09ca808f2de434fba37f849b1 + depends: + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 128005 + timestamp: 1759137079790 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-field-map-generator-0.0.0-np126py312h5cbfcd5_10.conda + sha256: d1485c9f1f69dd8e672ba32e4877288d4a7b707bd69cb5c75332059b7117f8bc + md5: 1491a7cba3f299f8fb4f97c95fcac3e1 + depends: + - libopencv + - numpy + - pillow + - py-opencv + - python + - pyyaml + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - scipy + - tk + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - py-opencv >=4.11.0,<5.0a0 + - libopencv >=4.11.0,<4.11.1.0a0 + - tk >=8.6.13,<8.7.0a0 + license: BSD-3-Clause + size: 60392 + timestamp: 1765488858064 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-ipm-0.0.0-np126py312h3bd2861_10.conda + sha256: 6f498e5a8e4bb2e7a37b14a94e17d1a2e45e99791221450f84ae9f625decd997 + md5: d62f07e98a6d92fecb515417a059743a + depends: + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-ipm-library + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-shape-msgs + - ros-jazzy-soccer-vision-2d-msgs + - ros-jazzy-soccer-vision-3d-msgs + - ros-jazzy-std-msgs + - ros-jazzy-tf2 + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-sensor-msgs + - ros-jazzy-vision-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 35849 + timestamp: 1765488858141 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-vision-2d-msgs-1.0.0-np126py312h3bd2861_10.conda + sha256: 3d8712108a765c853a9350ce4c6927a83bd16814f4b8f46d6ae12a6b0c381911 + md5: 85b7df994e6b1c43a58505a9303f5201 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-soccer-vision-attribute-msgs + - ros-jazzy-vision-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 234137 + timestamp: 1765488857933 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-vision-3d-msgs-1.0.0-np126py312h3bd2861_10.conda + sha256: 9c93df5e3e750bed858da4947abd7661e51164431f1ee591e5628bcc242eb895 + md5: ec5342e1f76ddca802e5a2b9553a7205 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-soccer-vision-attribute-msgs + - ros-jazzy-vision-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 233656 + timestamp: 1765488857911 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-vision-3d-rviz-markers-1.0.0-np126py312h3bd2861_10.conda + sha256: 312ad76121a467cf38230e325f06ff256c0b44d7baa72b51ae56c14ef5689a14 + md5: bc19c5bee20973bfaf8b81c3be653f01 + depends: + - python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-soccer-vision-3d-msgs + - ros-jazzy-soccer-vision-attribute-msgs + - ros-jazzy-visualization-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 215394 + timestamp: 1765488858069 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-soccer-vision-attribute-msgs-1.0.0-np126py312h3bd2861_10.conda + sha256: 6efcf7bf467195345792dc0a0d1e6a63473869626e27a8d6cb9293fc3a0c4f5a + md5: 08a445f91293e12be76df681593834a0 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 97377 + timestamp: 1765488857987 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-spdlog-vendor-1.6.1-np126py312he340118_10.conda + sha256: 25c91dfa53a354e9d604895e8f2ac86555d980ce9d06944782bfc156a1dcf86b + md5: 8ea8282ec14e7532dd2ce77cb1baa09a + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - spdlog + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - spdlog >=1.15.3,<1.16.0a0 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 26975 + timestamp: 1759135131375 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sqlite3-vendor-0.26.9-np126py312h3bd2861_10.conda + sha256: fbeb3324aefa915593780edf0c437d1ae663317b86d221ee15a43b42d9fb16e0 + md5: 76572b5246c086603b24f59a4be3a1ff + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - sqlite + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libsqlite >=3.50.4,<4.0a0 + license: BSD-3-Clause + size: 24382 + timestamp: 1759134522950 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-srdfdom-2.0.7-np126py312h3bd2861_10.conda + sha256: cdff3b303a2cd61228cb5204cc2a98b7c318154632ec5aeb6dd979f46673a3d1 + md5: be83d37c12408613ca72dd08bfb89876 + depends: + - console_bridge + - python + - ros-jazzy-console-bridge-vendor + - ros-jazzy-ros-workspace + - ros-jazzy-tinyxml2-vendor + - ros-jazzy-urdf + - ros-jazzy-urdfdom-py + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - libboost >=1.86.0,<1.87.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - console_bridge >=1.0.2,<1.1.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 112904 + timestamp: 1759138489301 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sros2-0.13.4-np126py312h3bd2861_10.conda + sha256: 7358133b6b370224a6b04b3ed395e40ed24c903f65b4aeb9135ad26fb45bf82f + md5: 9518dff7ffd2c7ff47af86fa4c82f68a + depends: + - argcomplete + - cryptography + - importlib_resources + - lxml + - python + - ros-jazzy-ament-index-python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 75538 + timestamp: 1759139553332 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-sros2-cmake-0.13.4-np126py312h3bd2861_10.conda + sha256: 28ab21ac18bcd822e55bbf323b826b0998bb6bf1ad4e66f8d087e3de10c25270 + md5: 6b44db4840c291a2557554dcb340f9e0 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-sros2 + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 39480 + timestamp: 1759139957743 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-statistics-msgs-2.0.3-np126py312h3bd2861_10.conda + sha256: 1e8c8cacbcc7e014ed82ebefc92994463abd2a0a587c83d0d53a4910ff584b6d + md5: dd7d893a87be62eb00829bd413032131 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 108933 + timestamp: 1759136704465 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-std-msgs-5.3.6-np126py312h3bd2861_10.conda + sha256: 5ed0fcfa1f107eb1cc0073a83975c9273b170bc673ab38b62803433953e102ba + md5: 1c35c3356534e65a425ca49fcd8365e7 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 339951 + timestamp: 1759136657294 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-std-srvs-5.3.6-np126py312h3bd2861_10.conda + sha256: d7760b7fdb8b9344b5b310481e824e317e550a56ded359b05ab6da2806227c0b + md5: 48ccd18c4e5f25b1b50b200fa687bf9f + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 168725 + timestamp: 1759136576806 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-stereo-msgs-5.3.6-np126py312h3bd2861_10.conda + sha256: 58b940930d7eb8e1d8e9dd4623848b2865b1795916919c6c5a993c79cef71e5c + md5: 76f33262a398c8320890860d3e39416a + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 83543 + timestamp: 1759137382359 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tango-icons-vendor-0.3.0-np126py312h3bd2861_10.conda + sha256: fa722bfb7beef9c0a695dfb950a82f504f87babe12905e604f62b9a680811005 + md5: f287ae107ff25ff18f5fcb8b968c6885 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 26272 + timestamp: 1759135165169 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tcb-span-1.0.2-np126py312h3bd2861_10.conda + sha256: 0bdbaa75806d1c57727c497a10b4c14d54d95324ed6b74e04b5572e3053ba096 + md5: dd48f9089f5c916d5512a4b33662d3a5 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 27768 + timestamp: 1759134511066 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-teleop-twist-joy-2.6.5-np126py312h3bd2861_10.conda + sha256: 69b8f774d543d5f7581c796ece7cdf848ee5121993bed91ccb8feed8658cace5 + md5: 50ebee9a66553e7058d8f5110abbd9b6 + depends: + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-joy + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 221803 + timestamp: 1759138982345 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-teleop-twist-keyboard-2.4.1-np126py312h3bd2861_10.conda + sha256: 38aa3d7ddbc93b97aa247f1589eccb63ebbb83759d1fae507979a27f14e3fda4 + md5: 83bc205faee9646f89104839f24352eb + depends: + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 24077 + timestamp: 1759138325262 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-test-msgs-2.0.3-np126py312h3bd2861_10.conda + sha256: 0b229f011289e044d31c112e04f379c9da6553dd209aed3f228bc6acec14a2e2 + md5: a5b049c63831c75b5c2532b076048b92 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 903533 + timestamp: 1759136556318 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf-transformations-1.1.0-np126py312h3bd2861_10.conda + sha256: 30772b664c307f8427990e1e56b79359dd387ccc35e663d032da9df7d6c68d77 + md5: 3ab9539daa9e2fbd636e14907c7d7337 + depends: + - numpy + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 38534 + timestamp: 1759134319227 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-0.36.14-np126py312h3bd2861_10.conda + sha256: 3e0e8bc92bf1fa2cf9d165b7fc12df751d9ddeaa0f32677576269da9ed7941eb + md5: 023d8670910a31fb8952ed211d1edaa9 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-runtime-cpp + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 135313 + timestamp: 1759137051595 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-bullet-0.36.14-np126py312h3bd2861_10.conda + sha256: 76c891cf32f746179de831f0fdb54195d441335fe03fe22b0c938a98d87c572a + md5: 235c13736d054c2347651dc17ec843bd + depends: + - bullet + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 44369 + timestamp: 1759139173611 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-eigen-0.36.14-np126py312h3bd2861_10.conda + sha256: b42f3a2b125b4a3e0140e01bc3df5359ac705f4f34ce96b87cb75963856a55f6 + md5: e11c0996f2e94d4aa9b5675aa7c46343 + depends: + - eigen + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 45726 + timestamp: 1759139209962 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-eigen-kdl-0.36.14-np126py312h3bd2861_10.conda + sha256: afb712a0f20dc0a4243f2dcd92e328c08891642cf622b8dff5029d9ee86db00a + md5: 90cbb5675ddac6725557265f1584aec7 + depends: + - eigen + - python + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 41287 + timestamp: 1759137269359 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-geometry-msgs-0.36.14-np126py312h3bd2861_10.conda + sha256: 675b3240a29cb38be97b6369f8c8b93581b355a942666b75e2b27f74ec1accd2 + md5: eed7a734010d4d468415fe2bd03312c8 + depends: + - numpy + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros-jazzy-tf2-ros-py + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 57650 + timestamp: 1759139173325 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-kdl-0.36.14-np126py312h3bd2861_10.conda + sha256: 058712bc28454547f8c2fbdb2b35c9ab9a2beb9dfe75b6297653c5871faa71c2 + md5: a848b4fc65282fe6f55578e58c489c96 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-orocos-kdl-vendor + - ros-jazzy-python-orocos-kdl-vendor + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros-jazzy-tf2-ros-py + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 47225 + timestamp: 1759139203220 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-msgs-0.36.14-np126py312h3bd2861_10.conda + sha256: 4abd8e41ad7f82e89f8857eede0e00135986f2c262fc886a22469dc782f4109a + md5: a11bc4a57bc7cb43d5a144b8aba6b18b + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 256026 + timestamp: 1759137020823 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-py-0.36.14-np126py312h3bd2861_10.conda + sha256: 332d1062f7645bf195c14a9712a7aede4cdf79b23ea734483f28ebcf8390d9a4 + md5: c4d17504df0d4cfc2546f0c94b85ffd8 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-rpyutils + - ros-jazzy-tf2 + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 58858 + timestamp: 1759138282022 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-ros-0.36.14-np126py312h3bd2861_10.conda + sha256: 5abb275a02ee9dbaa3ea35cdf79040c9c080a5af961eff471ad2ceb53c8ebf21 + md5: 17efb45a654c668411f121bd2b1d01cd + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-message-filters + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-rclcpp-components + - ros-jazzy-ros-workspace + - ros-jazzy-tf2 + - ros-jazzy-tf2-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 466480 + timestamp: 1759138967417 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-ros-py-0.36.14-np126py312h3bd2861_10.conda + sha256: 4b74718a81327f22c9f5ccd7e701122354150efef92630e3cfe40206fc25c7ba + md5: b480decf703ef801b0c591ebd08c5624 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros-jazzy-tf2-msgs + - ros-jazzy-tf2-py + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 48787 + timestamp: 1759138495464 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-sensor-msgs-0.36.14-np126py312h3bd2861_10.conda + sha256: a1b64da83229c31844b62593daa15f181f5e1e63d5dfd6067c581ea596c18f61 + md5: 9b191e4d7d70b792d28be7d04d266d42 + depends: + - eigen + - numpy + - python + - ros-jazzy-eigen3-cmake-module + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-sensor-msgs + - ros-jazzy-sensor-msgs-py + - ros-jazzy-std-msgs + - ros-jazzy-tf2 + - ros-jazzy-tf2-ros + - ros-jazzy-tf2-ros-py + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 49843 + timestamp: 1759139390039 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tf2-tools-0.36.14-np126py312h3bd2861_10.conda + sha256: 2bc39da305fccacaa4ec7d83bc5b6c9ee8a7b20c6ece56eba6c12a727d569c95 + md5: 3c56b870db4cdcebed6ff6769c588514 + depends: + - graphviz + - python + - pyyaml + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-tf2-msgs + - ros-jazzy-tf2-py + - ros-jazzy-tf2-ros-py + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 24008 + timestamp: 1759139016782 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-theora-image-transport-4.0.6-np126py312h5cbfcd5_10.conda + sha256: 33e93f2409ebf4421074c0e1ac35bb63d2c8048faca2a10d228bbc31df2c1323 + md5: c62541d547d5ffc287c409bfe6f0ddd1 + depends: + - libogg + - libopencv + - libtheora + - py-opencv + - python + - ros-jazzy-cv-bridge + - ros-jazzy-image-transport + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-rcutils + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - py-opencv >=4.11.0,<5.0a0 + - numpy >=1.26.4,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - libopengl >=1.7.0,<2.0a0 + - libtheora >=1.1.1,<1.2.0a0 + - libgl >=1.7.0,<2.0a0 + - libopencv >=4.11.0,<4.11.1.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - python_abi 3.12.* *_cp312 + - libogg >=1.3.5,<1.4.0a0 + license: BSD-3-Clause + size: 437632 + timestamp: 1759139418139 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tinyxml2-vendor-0.9.1-np126py312h3bd2861_10.conda + sha256: 1826bf7e955fec0c5d74f28e58851fae90d56ed47b1e58ad84f6e0cc567b9ad7 + md5: 3e859a033dd175dddd2864a10824f247 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - tinyxml2 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - tinyxml2 >=11.0.0,<11.1.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 24332 + timestamp: 1759134515660 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tl-expected-1.0.2-np126py312h3bd2861_10.conda + sha256: bb9d5816cb3c635b8ea7f76900d44232c7e77e9f29201ca568219e7e5b0377b6 + md5: 2c2a73c15c6ebf9615e9255bc6fe4684 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 33353 + timestamp: 1759134506272 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tlsf-0.9.0-np126py312h3bd2861_10.conda + sha256: bc0bc093a129c741fcba2cc3dfd93ce73d221b8cf91c8db4b1bec456e098774a + md5: 7d0b957bc23d73c4a52bdf473e22d036 + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 32866 + timestamp: 1759135164380 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tlsf-cpp-0.17.1-np126py312h3bd2861_10.conda + sha256: 31e57a0cfe8e2dd0739457d6742ba6460c851b5e20b10d6380835971bba5d0db + md5: 5828d1b5cb97433c92ee519d36eba18d + depends: + - python + - ros-jazzy-ament-cmake + - ros-jazzy-rclcpp + - ros-jazzy-rmw + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros-jazzy-tlsf + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 186047 + timestamp: 1759138281588 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-topic-monitor-0.33.7-np126py312h3bd2861_10.conda + sha256: 0cbcac924387a6fa2e248962ce23e0e0e23ce25e57adfcba632c54cae30e4b91 + md5: ebea8f4e5cfc1719fba66a5f263873a2 + depends: + - python + - ros-jazzy-launch + - ros-jazzy-launch-ros + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 49500 + timestamp: 1759138607334 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-topic-tools-1.3.3-np126py312h3bd2861_10.conda + sha256: d8d673615be66b9c7f8a8243fe68553f7423dac4583b9939f759d060dfaac828 + md5: 81093487d13241f7564e53d721b28812 + depends: + - python + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-components + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros-jazzy-ros2cli + - ros-jazzy-rosidl-runtime-py + - ros-jazzy-topic-tools-interfaces + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 281826 + timestamp: 1759138528240 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-topic-tools-interfaces-1.3.3-np126py312h3bd2861_10.conda + sha256: d5589c2c7a1a4dfffa85528613f7f4ff573295cbe3fb7dc81b837f7ba30a1340 + md5: fcee7459888efc4d7e993bc65b81e6a0 + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 317261 + timestamp: 1759136535421 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tracetools-8.2.4-np126py312h3bd2861_10.conda + sha256: f25d0f1a214c27118745c3ca772ffa64631489be4e9868c9daaf300ca11b26af + md5: af1df22dc8dd175c42fe14c84fcfb71b + depends: + - lttng-ust + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - lttng-ust >=2.13.9,<2.14.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 72568 + timestamp: 1759135552746 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-tracetools-image-pipeline-5.0.11-np126py312h3bd2861_10.conda + sha256: 17755537e03ad358d416a25389aeb600f56ccdc06204059f9dc778952c8d746d + md5: e337b46c5fa86921d937401719d869c4 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 36898 + timestamp: 1759135559338 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-trajectory-msgs-5.3.6-np126py312h3bd2861_10.conda + sha256: 3a559f36ac25265d42db4abfefcdcfe7e399480e24a8a07c9cef158173e4a5a9 + md5: 31563caf1d5993faea662a9bbef47c2b + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 150323 + timestamp: 1759137139092 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-transmission-interface-4.37.0-np126py312h3bd2861_10.conda + sha256: d631b8c0cfd4e7c4736309cf1c360e8b830f710a41e1446e005af30350b60930 + md5: fcff226dd29920967f21fc76a793458b + depends: + - fmt + - python + - ros-jazzy-hardware-interface + - ros-jazzy-pluginlib + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - fmt >=11.2.0,<11.3.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 103420 + timestamp: 1759139866191 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-turtlesim-1.8.3-np126py312h3bd2861_10.conda + sha256: acf6aa9edf37ac21aba2a60eb67c03a6ecdaf988a63552ec84a67a148aa82815 + md5: 0f9340ea3165d99c230a18e9cdbf5561 + depends: + - python + - qt-main + - ros-jazzy-ament-index-cpp + - ros-jazzy-geometry-msgs + - ros-jazzy-rcl-interfaces + - ros-jazzy-rclcpp + - ros-jazzy-rclcpp-action + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros-jazzy-std-srvs + - ros2-distro-mutex 0.11.* jazzy_* + - xorg-libx11 + - xorg-libxext + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - python_abi 3.12.* *_cp312 + - libopengl >=1.7.0,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - qt-main >=5.15.15,<5.16.0a0 + license: BSD-3-Clause + size: 905827 + timestamp: 1759138544824 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-type-description-interfaces-2.0.3-np126py312h3bd2861_10.conda + sha256: 14368876873331ac7451cbf86be9ca2e19266d359bf583112b65bf3d5f06f776 + md5: 148ab2d471c3f2c05ece1bef1a74aa33 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros-jazzy-service-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 232014 + timestamp: 1759136425687 +- conda: https://data.bit-bots.de/conda/linux-64/ros-jazzy-udp-bridge-0.0.0-np126py312h3bd2861_10.conda + sha256: d8da9d73e2603db801bae03d61820e5d731608e685f4a61de5d1450fc7aa02e8 + md5: a53322045b353073bebc166575e61c0a + depends: + - cryptography + - python + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 45946 + timestamp: 1765488858132 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-uncrustify-vendor-3.0.1-np126py312h3bd2861_10.conda + sha256: 8bfec2c28f1d91dae66dc2e340919df515cf24aa9f2b2c10436cb5e7f87a7e2c + md5: 9f7999ca0a848afcf154526c50fd1730 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - uncrustify + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - uncrustify >=0.81.0,<0.82.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 22961 + timestamp: 1759134500513 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-unique-identifier-msgs-2.5.0-np126py312h3bd2861_10.conda + sha256: 268d05a4cfdffd530dae91976a9ef5c4b627c0aa98d3d98b112d51ef6e7ee9c1 + md5: 5ec0687171c636826444b41d9f2d1dc5 + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-core-runtime + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 74184 + timestamp: 1759136346004 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdf-2.10.0-np126py312h3bd2861_10.conda + sha256: 6f82c0ad060265a4e44d5eb636b8249cc336cf93bbf66b6a8c6ff4649cec889a + md5: 03ddeb2220090ded429a18fcb63b2eb5 + depends: + - python + - ros-jazzy-pluginlib + - ros-jazzy-ros-workspace + - ros-jazzy-tinyxml2-vendor + - ros-jazzy-urdf-parser-plugin + - ros-jazzy-urdfdom + - ros-jazzy-urdfdom-headers + - ros2-distro-mutex 0.11.* jazzy_* + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 155698 + timestamp: 1759136011042 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdf-parser-plugin-2.10.0-np126py312h3bd2861_10.conda + sha256: daf76d316eab5af498999c6e3b59d84957540176ac8d6f8b663888f05f82a2d6 + md5: 1e6605f33ce8f839c4b38d5fc95d7b6f + depends: + - python + - ros-jazzy-ros-workspace + - ros-jazzy-urdfdom-headers + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 31820 + timestamp: 1759135533626 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdfdom-4.0.1-py312h24bf083_10.conda + sha256: a0a91bcf54de765bca95a7d49265bf33fb4cae66843004bcd9427ce396b7df78 + md5: 4c5c0f01d6ed4f67279203376113bda8 + depends: + - console_bridge + - python + - ros-jazzy-console-bridge-vendor + - ros-jazzy-ros-workspace + - ros-jazzy-tinyxml2-vendor + - ros-jazzy-urdfdom-headers + - ros2-distro-mutex 0.11.* jazzy_* + - tinyxml2 + - urdfdom >=4.0.1,<4.1.0a0 + - tinyxml2 >=11.0.0,<11.1.0a0 + - console_bridge >=1.0.2,<1.1.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 8062 + timestamp: 1759135655375 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdfdom-headers-1.1.2-py312h24bf083_10.conda + sha256: a8600df10433692cd78648cbc25505084e97a78e54c9ab41df5ff267adde73a8 + md5: 205a659da7d45091f845eb916bfbf7f1 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - urdfdom_headers >=1.1.2,<1.2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 7285 + timestamp: 1759133953538 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-urdfdom-py-1.2.1-py312h24bf083_10.conda + sha256: da3c47244eb8b1d2a591bbed52de47399e10bec01443cf8b211382702974b68f + md5: 18cdd92d6f156d363408a727d3d918c3 + depends: + - lxml + - python + - pyyaml + - ros-jazzy-rclpy + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - urdfdom-py >=1.2.1,<1.3.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 7293 + timestamp: 1759138309440 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-vision-msgs-4.1.1-np126py312h3bd2861_10.conda + sha256: 08619341de3615763a757509478ec4ff756b905fa00f03e030fb34e474883a17 + md5: ce5672c36839533e612e8fedc990186c + depends: + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 261145 + timestamp: 1759137117056 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-vision-opencv-4.1.0-np126py312h3bd2861_10.conda + sha256: b27bcf29be89698df11908ddfd4eebf7706b0ccc53bc0f63ca2b7065eb17379a + md5: 32568cdd9e2c50a10272468cd7d7bc72 + depends: + - python + - ros-jazzy-cv-bridge + - ros-jazzy-image-geometry + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 22199 + timestamp: 1759138540069 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-visualization-msgs-5.3.6-np126py312h3bd2861_10.conda + sha256: 824e0c796d3702e4fc0d08910d34139896c85aa990f29fa9faf7c02a6aa93e6e + md5: 48cc837470469c7e55f8e6dc2ef870db + depends: + - python + - ros-jazzy-builtin-interfaces + - ros-jazzy-geometry-msgs + - ros-jazzy-ros-workspace + - ros-jazzy-rosidl-default-runtime + - ros-jazzy-sensor-msgs + - ros-jazzy-std-msgs + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 369545 + timestamp: 1759137347430 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-warehouse-ros-2.0.5-np126py312h3bd2861_10.conda + sha256: 9b742b86582b6e8a568d558b65a10397e37fd4bcaacbb15a55930f5f46990927 + md5: 4b161e3bcdb089e1ec784f94460d7a72 + depends: + - libboost-devel + - libboost-python-devel + - openssl + - python + - ros-jazzy-geometry-msgs + - ros-jazzy-pluginlib + - ros-jazzy-rclcpp + - ros-jazzy-ros-workspace + - ros-jazzy-std-msgs + - ros-jazzy-tf2 + - ros-jazzy-tf2-geometry-msgs + - ros-jazzy-tf2-ros + - ros2-distro-mutex 0.11.* jazzy_* + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libboost >=1.86.0,<1.87.0a0 + - openssl >=3.5.3,<4.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - libboost-python >=1.86.0,<1.87.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 238493 + timestamp: 1759139500957 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-xacro-2.1.1-np126py312h3bd2861_10.conda + sha256: 49ea51dd77e028f27dae8616ee2275ef5b8e0b1e2d87badc5d68d684750f216f + md5: 0ddffdb252842b4ad0603b1acf2a9792 + depends: + - python + - pyyaml + - ros-jazzy-ament-index-python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + license: BSD-3-Clause + size: 76048 + timestamp: 1759134512670 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-yaml-cpp-vendor-9.0.1-np126py312h3bd2861_10.conda + sha256: 2c627b005682990b8593beeea79f9c153e10a73108e99a52587d68c857703029 + md5: f57f937864c0d1b09520f0d520539c4c + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - yaml-cpp + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - numpy >=1.26.4,<2.0a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - yaml-cpp >=0.8.0,<0.9.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + size: 22923 + timestamp: 1759134507745 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-zstd-image-transport-4.0.6-np126py312h3bd2861_10.conda + sha256: 6418b4ee8076bba0093bdb74e4521d905da9a95c3e361b867d8fdc85679a67e5 + md5: efcdf3d2c9c38b7be384c846bb2fcce2 + depends: + - python + - ros-jazzy-image-transport + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - zlib + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - numpy >=1.26.4,<2.0a0 + - python_abi 3.12.* *_cp312 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + size: 194329 + timestamp: 1759139399708 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros-jazzy-zstd-vendor-0.26.9-np126py312h3bd2861_10.conda + sha256: 534eca1c6ec10b467ac3899eda5d0180e9acb57b9b6fe31e262d17ff781a8f84 + md5: ba56b7898804a84306bc8d11ebd8d891 + depends: + - python + - ros-jazzy-ros-workspace + - ros2-distro-mutex 0.11.* jazzy_* + - zstd + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - ros2-distro-mutex >=0.11.0,<0.12.0a0 + - python_abi 3.12.* *_cp312 + - zstd >=1.5.7,<1.6.0a0 + - numpy >=1.26.4,<2.0a0 + license: BSD-3-Clause + size: 23744 + timestamp: 1759134513579 +- conda: https://conda.anaconda.org/robostack-jazzy/linux-64/ros2-distro-mutex-0.11.0-jazzy_10.conda + sha256: 7fcc5b58a9c7dda98bd4f13cfd5aa9d548d0564064d1375e153ab329ea04a7e8 + md5: 0f3a0a48488540478bc8bdb536522b59 + constrains: + - libboost 1.86.* + - libboost-devel 1.86.* + - pcl 1.15.0.* + - gazebo 11.* + - libprotobuf 5.29.3.* + - libxml2 2.13.* + - vtk 9.4.2.* + license: BSD-3-Clause + size: 2353 + timestamp: 1759133819339 +- conda: https://conda.anaconda.org/conda-forge/noarch/rosdistro-1.0.1-pyhd8ed1ab_0.conda + sha256: bff3b2fe7afe35125669ffcb7d6153db78070a753e1e4ac3b3d8d198eb6d6982 + md5: b7ed380a9088b543e06a4f73985ed03a + depends: + - catkin_pkg + - python >=3.9 + - pyyaml + - rospkg + - setuptools + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/rosdistro?source=hash-mapping + size: 47691 + timestamp: 1747826651335 +- conda: https://conda.anaconda.org/conda-forge/noarch/rospkg-1.6.0-pyhd8ed1ab_0.conda + sha256: 236e8b53b0fab599d63f346b0e84fbe9bd8d160e0dd1e591e39f23ff6924941e + md5: 80daa4ba1f1944b8ac1f90a66fc9ef27 + depends: + - catkin_pkg + - distro + - python >=3.9 + - pyyaml + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/rospkg?source=hash-mapping + size: 31293 + timestamp: 1737835793379 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ruby-3.4.7-hd8161a3_0.conda + sha256: a393a1f6d913754dd47135dcd07a876d9451b3ebfb22eb2209db099dd7335932 + md5: fa0f3425544390754fa8c12f690626f2 + depends: + - __glibc >=2.17,<3.0.a0 + - gdbm >=1.18,<1.19.0a0 + - gmp >=6.3.0,<7.0a0 + - libffi >=3.4.6,<3.5.0a0 + - libgcc >=14 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.4,<4.0a0 + - readline >=8.2,<9.0a0 + - yaml >=0.2.5,<0.3.0a0 + constrains: + - __glibc >=2.17 + track_features: + - rb34 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 13072528 + timestamp: 1759906533500 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.14.9-h813ae00_0.conda + noarch: python + sha256: 575e6067b80541ff3f0369d9093f26dcb63ccbdc500816b3109d12a705024d3a + md5: f3e2be0f48c8a464acef6827284cbaf3 + depends: + - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - __glibc >=2.17 + license: MIT + purls: + - pkg:pypi/ruff?source=hash-mapping + size: 11425716 + timestamp: 1765717119196 +- pypi: https://files.pythonhosted.org/packages/6b/b5/b75527c0f9532dd8a93e8e7cd8e62e547b9f207d4c11e24f0006e8646b36/scikit_image-0.25.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: scikit-image + version: 0.25.2 + sha256: a17e17eb8562660cc0d31bb55643a4da996a81944b82c54805c91b3fe66f4824 + requires_dist: + - numpy>=1.24 + - scipy>=1.11.4 + - networkx>=3.0 + - pillow>=10.1 + - imageio>=2.33,!=2.35.0 + - tifffile>=2022.8.12 + - packaging>=21 + - lazy-loader>=0.4 + - meson-python>=0.16 ; extra == 'build' + - ninja>=1.11.1.1 ; extra == 'build' + - cython>=3.0.8 ; extra == 'build' + - pythran>=0.16 ; extra == 'build' + - numpy>=2.0 ; extra == 'build' + - spin==0.13 ; extra == 'build' + - build>=1.2.1 ; extra == 'build' + - pooch>=1.6.0 ; extra == 'data' + - pre-commit ; extra == 'developer' + - ipython ; extra == 'developer' + - tomli ; python_full_version < '3.11' and extra == 'developer' + - sphinx>=8.0 ; extra == 'docs' + - sphinx-gallery[parallel]>=0.18 ; extra == 'docs' + - numpydoc>=1.7 ; extra == 'docs' + - sphinx-copybutton ; extra == 'docs' + - matplotlib>=3.7 ; extra == 'docs' + - dask[array]>=2023.2.0 ; extra == 'docs' + - pandas>=2.0 ; extra == 'docs' + - seaborn>=0.11 ; extra == 'docs' + - pooch>=1.6 ; extra == 'docs' + - tifffile>=2022.8.12 ; extra == 'docs' + - myst-parser ; extra == 'docs' + - intersphinx-registry>=0.2411.14 ; extra == 'docs' + - ipywidgets ; extra == 'docs' + - ipykernel ; extra == 'docs' + - plotly>=5.20 ; extra == 'docs' + - kaleido==0.2.1 ; extra == 'docs' + - scikit-learn>=1.2 ; extra == 'docs' + - sphinx-design>=0.5 ; extra == 'docs' + - pydata-sphinx-theme>=0.16 ; extra == 'docs' + - pywavelets>=1.6 ; extra == 'docs' + - pytest-doctestplus ; extra == 'docs' + - simpleitk ; extra == 'optional' + - astropy>=5.0 ; extra == 'optional' + - cloudpickle>=1.1.1 ; extra == 'optional' + - dask[array]>=2023.2.0 ; extra == 'optional' + - matplotlib>=3.7 ; extra == 'optional' + - pooch>=1.6.0 ; extra == 'optional' + - pyamg>=5.2 ; extra == 'optional' + - pywavelets>=1.6 ; extra == 'optional' + - scikit-learn>=1.2 ; extra == 'optional' + - asv ; extra == 'test' + - numpydoc>=1.7 ; extra == 'test' + - pooch>=1.6.0 ; extra == 'test' + - pytest>=8 ; extra == 'test' + - pytest-cov>=2.11.0 ; extra == 'test' + - pytest-localserver ; extra == 'test' + - pytest-faulthandler ; extra == 'test' + - pytest-doctestplus ; extra == 'test' + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.16.3-py312h7a1785b_1.conda + sha256: dcb7080ccb113d760c94a2f5dd32239452793fe9c9cff743ffec27fa128e4801 + md5: c6e0e1f1d9ac014a980574cfe8caa25f + depends: + - __glibc >=2.17,<3.0.a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=14 + - numpy <2.6 + - numpy >=1.23,<3 + - numpy >=1.25.2 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scipy?source=compressed-mapping + size: 16782787 + timestamp: 1763220711836 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sdformat14-14.8.0-h5bb51b8_2.conda + sha256: ee7c5db752b71cd03442eee21673f20748a30d57651db98fa2acbee1caa037ef + md5: 4559b2fc2081cddbc0a6b0764664e825 + depends: + - libsdformat14 ==14.8.0 py312h1f51ce1_2 + - sdformat14-python >=14.8.0,<14.8.1.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 14078 + timestamp: 1759339825312 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sdformat14-python-14.8.0-py312h22a3d64_2.conda + sha256: 451f69e0b83e54e686b0dde799adaabccf7a73b5988771443f4cb39c1c2d0dc3 + md5: 737b20358b5526be5da04407044520b8 + depends: + - libsdformat14 ==14.8.0 py312h1f51ce1_2 + - python + - gz-math7-python + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgz-math7 >=7.5.2,<8.0a0 + - pybind11-abi ==11 + - python_abi 3.12.* *_cp312 + - libsdformat14 >=14.8.0,<15.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 680439 + timestamp: 1759339825312 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda + sha256: 987ad072939fdd51c92ea8d3544b286bb240aefda329f9b03a51d9b7e777f9de + md5: cdd138897d94dc07d99afe7113a07bec + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgl >=1.7.0,<2.0a0 + - sdl3 >=3.2.22,<4.0a0 + - libegl >=1.7.0,<2.0a0 + license: Zlib + purls: [] + size: 589145 + timestamp: 1757842881 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.2.24-h68140b3_0.conda + sha256: 47156cd71d4e235f7ce6731f1f6bcf4ee1ff65c3c20b126ac66c86231d0d3d57 + md5: eeb4cfa6070a7882ad50936c7ade65ec + depends: + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libusb >=1.0.29,<2.0a0 + - libvulkan-loader >=1.4.313.0,<2.0a0 + - libdrm >=2.4.125,<2.5.0a0 + - libunwind >=1.8.3,<1.9.0a0 + - libegl >=1.7.0,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + - dbus >=1.16.2,<2.0a0 + - libudev1 >=257.9 + - pulseaudio-client >=17.0,<17.1.0a0 + - libxkbcommon >=1.11.0,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - liburing >=2.12,<2.13.0a0 + - libgl >=1.7.0,<2.0a0 + - wayland >=1.24.0,<2.0a0 + - xorg-libxscrnsaver >=1.2.4,<2.0a0 + license: Zlib + purls: [] + size: 1936357 + timestamp: 1759445826544 +- conda: https://conda.anaconda.org/conda-forge/linux-64/setproctitle-1.3.6-py312h4c3975b_2.conda + sha256: 8f7b403409fb6b176b21e1a39e62bd919535c28dbf7b49df954c1ba0680d3e93 + md5: 5d7db2dbfa853a248ac40a0ca5c382bd + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/setproctitle?source=hash-mapping + size: 21115 + timestamp: 1762506264445 +- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-68.1.2-pyhd8ed1ab_0.conda + sha256: dc5a777597e05ceddefc87d2f96389b7ae0afb097e558307af83a453db3e3887 + md5: 4fe12573bf499ff85a0a364e00cc5c53 + depends: + - python >=3.7 + license: MIT + license_family: MIT + purls: + - pkg:pypi/setuptools?source=hash-mapping + size: 462324 + timestamp: 1692383535614 +- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda + sha256: 972560fcf9657058e3e1f97186cc94389144b46dbdf58c807ce62e83f977e863 + md5: 4de79c071274a53dcaf2a8c749d1499e + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 748788 + timestamp: 1748804951958 +- pypi: https://files.pythonhosted.org/packages/b9/37/e781683abac55dde9771e086b790e554811a71ed0b2b8a1e789b7430dd44/shapely-2.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: shapely + version: 2.1.2 + sha256: 1e7d4d7ad262a48bb44277ca12c7c78cb1b0f56b32c10734ec9a1d30c0b0c54b + requires_dist: + - numpy>=1.21 + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' + - scipy-doctest ; extra == 'test' + - numpydoc==1.1.* ; extra == 'docs' + - matplotlib ; extra == 'docs' + - sphinx ; extra == 'docs' + - sphinx-book-theme ; extra == 'docs' + - sphinx-remove-toctrees ; extra == 'docs' + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/noarch/simpleeval-1.0.3-pyhd8ed1ab_0.conda + sha256: 19d1dab079746de0c38581d926e02306368b74d0683cd3e6b18ccabea54c7e07 + md5: 00cdd2e3ec6d3be6bc2b7d46470a10a1 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/simpleeval?source=hash-mapping + size: 21558 + timestamp: 1751650049429 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sip-6.10.0-py312h1289d80_1.conda + sha256: 65224ec231bb938a720897d75fb76f20a2376bded01a438f5220f6fa43195e4f + md5: f96baa9ba899d5d30578675fe28b3473 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - packaging + - ply + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - setuptools + - tomli + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sip?source=hash-mapping + size: 680892 + timestamp: 1759437964748 +- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d + md5: 3339e3b65d58accf4ca4fb8748ab16b3 + depends: + - python >=3.9 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/six?source=hash-mapping + size: 18455 + timestamp: 1753199211006 +- conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda + sha256: eb92d0ad94b65af16c73071cc00cc0e10f2532be807beb52758aab2b06eb21e2 + md5: 87f47a78808baf2fa1ea9c315a1e48f1 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/smmap?source=hash-mapping + size: 26051 + timestamp: 1739781801801 +- conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda + sha256: 48f3f6a76c34b2cfe80de9ce7f2283ecb55d5ed47367ba91e8bb8104e12b8f11 + md5: 98b6c9dc80eb87b2519b97bcf7e578dd + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 45829 + timestamp: 1762948049098 +- conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda + sha256: 17007a4cfbc564dc3e7310dcbe4932c6ecb21593d4fec3c68610720f19e73fb2 + md5: 755cf22df8693aa0d1aec1c123fa5863 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/snowballstemmer?source=hash-mapping + size: 73009 + timestamp: 1747749529809 +- pypi: https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl + name: soupsieve + version: '2.8' + sha256: 0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/spdlog-1.15.3-h6dc744f_1.conda + sha256: e5ddcc73dac4c138b763aab4feace6101bdccf39ea4cf599705c9625c70beba0 + md5: ffeb70e2cedafa9243bf89a20ada4cfe + depends: + - __glibc >=2.17,<3.0.a0 + - fmt >=11.2.0,<11.3.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + purls: [] + size: 195618 + timestamp: 1751348678073 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.2.3-pyhd8ed1ab_0.conda + sha256: 995f58c662db0197d681fa345522fd9e7ac5f05330d3dff095ab2f102e260ab0 + md5: f7af826063ed569bb13f7207d6f949b0 + depends: + - alabaster >=0.7.14 + - babel >=2.13 + - colorama >=0.4.6 + - docutils >=0.20,<0.22 + - imagesize >=1.3 + - jinja2 >=3.1 + - packaging >=23.0 + - pygments >=2.17 + - python >=3.11 + - requests >=2.30.0 + - roman-numerals-py >=1.0.0 + - snowballstemmer >=2.2 + - sphinxcontrib-applehelp >=1.0.7 + - sphinxcontrib-devhelp >=1.0.6 + - sphinxcontrib-htmlhelp >=2.0.6 + - sphinxcontrib-jsmath >=1.0.1 + - sphinxcontrib-qthelp >=1.0.6 + - sphinxcontrib-serializinghtml >=1.1.9 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinx?source=hash-mapping + size: 1424416 + timestamp: 1740956642838 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-rtd-theme-3.0.2-hd8ed1ab_0.conda + noarch: python + sha256: d81e5f764d3738a62e03476cbbf3f69214f5cc0d06af81ec6104056f6cece50e + md5: bc576bd1422b5baaed25722895581837 + depends: + - sphinx_rtd_theme 3.0.2 pyha770c72_0 + license: MIT + license_family: MIT + purls: [] + size: 6369 + timestamp: 1757836588399 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-3.0.2-pyha770c72_0.conda + sha256: c5d1ef5801f56c3bba4088de6c02c10e7f5b195805997fc1af569cf3f33f92e4 + md5: cec0cc87b40171bc323a9d80b619c9c5 + depends: + - docutils >0.18,<0.22 + - python >=3.8 + - sphinx >=6,<9 + - sphinxcontrib-jquery >=4,<5 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sphinx-rtd-theme?source=hash-mapping + size: 4629955 + timestamp: 1757836585728 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda + sha256: d7433a344a9ad32a680b881c81b0034bc61618d12c39dd6e3309abeffa9577ba + md5: 16e3f039c0aa6446513e94ab18a8784b + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-applehelp?source=hash-mapping + size: 29752 + timestamp: 1733754216334 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda + sha256: 55d5076005d20b84b20bee7844e686b7e60eb9f683af04492e598a622b12d53d + md5: 910f28a05c178feba832f842155cbfff + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-devhelp?source=hash-mapping + size: 24536 + timestamp: 1733754232002 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda + sha256: c1492c0262ccf16694bdcd3bb62aa4627878ea8782d5cd3876614ffeb62b3996 + md5: e9fb3fe8a5b758b4aff187d434f94f03 + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-htmlhelp?source=hash-mapping + size: 32895 + timestamp: 1733754385092 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_1.conda + sha256: 69c08d18663b57ebc8e4187c64c8d29b10996bb465a515cd288d87b6f2f52a5e + md5: 403185829255321ea427333f7773dd1f + depends: + - python >=3.9 + - sphinx >=1.8 + license: 0BSD AND MIT + purls: + - pkg:pypi/sphinxcontrib-jquery?source=hash-mapping + size: 112964 + timestamp: 1734344603903 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda + sha256: 578bef5ec630e5b2b8810d898bbbf79b9ae66d49b7938bcc3efc364e679f2a62 + md5: fa839b5ff59e192f411ccc7dae6588bb + depends: + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-jsmath?source=hash-mapping + size: 10462 + timestamp: 1733753857224 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda + sha256: c664fefae4acdb5fae973bdde25836faf451f41d04342b64a358f9a7753c92ca + md5: 00534ebcc0375929b45c3039b5ba7636 + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-qthelp?source=hash-mapping + size: 26959 + timestamp: 1733753505008 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda + sha256: 64d89ecc0264347486971a94487cb8d7c65bfc0176750cf7502b8a272f4ab557 + md5: 3bc61f7161d28137797e038263c04c54 + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-serializinghtml?source=hash-mapping + size: 28669 + timestamp: 1733750596111 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.51.1-hbc0de68_0.conda + sha256: f74f6e1302086d84cb62b2bca74950763378054008c77b0a62ac637bcf25b3c1 + md5: 968f50847d17c74a428fc47a2c70fd6f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libsqlite 3.51.1 h0c1763c_0 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - readline >=8.2,<9.0a0 + license: blessing + purls: [] + size: 183775 + timestamp: 1764359463938 +- conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda + sha256: 570da295d421661af487f1595045760526964f41471021056e993e73089e9c41 + md5: b1b505328da7a6b246787df4b5a49fbc + depends: + - asttokens + - executing + - pure_eval + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/stack-data?source=hash-mapping + size: 26988 + timestamp: 1733569565672 +- conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-3.0.2-h5888daf_0.conda + sha256: fb4b97a3fd259eff4849b2cfe5678ced0c5792b697eb1f7bcd93a4230e90e80e + md5: 0096882bd623e6cc09e8bf920fc8fb47 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 2750235 + timestamp: 1742907589246 +- pypi: https://files.pythonhosted.org/packages/a9/56/feb011ed1e8724c4c57083d71877eefe61f535f6dc94aa598033a03b54b7/swagger_ui_py-21.12.8-py3-none-any.whl + name: swagger-ui-py + version: 21.12.8 + sha256: 268901c814135d2562b44e3dee299ed31d2874bd3a38b6931ea65d0c8fdc1cef + requires_dist: + - jinja2>=2.0 + - pyyaml>=5.0 +- pypi: https://files.pythonhosted.org/packages/b2/fe/81695a1aa331a842b582453b605175f419fe8540355886031328089d840a/sympy-1.13.1-py3-none-any.whl + name: sympy + version: 1.13.1 + sha256: db36cdc64bf61b9b24578b6f7bab1ecdd2452cf008f34faa33776680c26d66f8 + requires_dist: + - mpmath>=1.1.0,<1.4 + - pytest>=7.1.0 ; extra == 'dev' + - hypothesis>=6.70.0 ; extra == 'dev' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/9d/9a/6c68aad2ccfce6e2eeebbf5bb709d0240592eb51ff142ec4c8fbf3c2460a/syrupy-5.0.0-py3-none-any.whl + name: syrupy + version: 5.0.0 + sha256: c848e1a980ca52a28715cd2d2b4d434db424699c05653bd1158fb31cf56e9546 + requires_dist: + - pytest>=8.0.0 + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda + sha256: c47299fe37aebb0fcf674b3be588e67e4afb86225be4b0d452c7eb75c086b851 + md5: 13dc3adbc692664cd3beabd216434749 + depends: + - __glibc >=2.28 + - kernel-headers_linux-64 4.18.0 he073ed8_9 + - tzdata + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later + license_family: GPL + purls: [] + size: 24008591 + timestamp: 1765578833462 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-h8d10470_1.conda + sha256: 2e3238234ae094d5a5f7c559410ea8875351b6bac0d9d0e576bf64b732b8029e + md5: e3259be3341da4bc06c5b7a78c8bf1bd + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libhwloc >=2.12.1,<2.12.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 181262 + timestamp: 1762509955687 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-devel-2022.3.0-h74b38a2_1.conda + sha256: 3c1bf7722f5c82459d3580c8e14eed19b08a83188d1c17aad9cb1e34d5f57339 + md5: 11d050030e91674285a5daa2e17b1126 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - tbb 2022.3.0 h8d10470_1 + purls: [] + size: 1115083 + timestamp: 1762509972811 +- pypi: https://files.pythonhosted.org/packages/9c/d9/a5db55f88f258ac669a92858b70a714bbbd5acd993820b41ec4a96a4d77f/tensorboard-2.20.0-py3-none-any.whl + name: tensorboard + version: 2.20.0 + sha256: 9dc9f978cb84c0723acf9a345d96c184f0293d18f166bb8d59ee098e6cfaaba6 + requires_dist: + - absl-py>=0.4 + - grpcio>=1.48.2 + - markdown>=2.6.8 + - numpy>=1.12.0 + - packaging + - pillow + - protobuf>=3.19.6,!=4.24.0 + - setuptools>=41.0.0 + - tensorboard-data-server>=0.7.0,<0.8.0 + - werkzeug>=1.0.1 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/7a/13/e503968fefabd4c6b2650af21e110aa8466fe21432cd7c43a84577a89438/tensorboard_data_server-0.7.2-py3-none-any.whl + name: tensorboard-data-server + version: 0.7.2 + sha256: 7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/c4/fb/ea621e0a19733e01fe4005d46087d383693c0f4a8f824b47d8d4122c87e0/terminaltables-3.1.10-py2.py3-none-any.whl + name: terminaltables + version: 3.1.10 + sha256: e4fdc4179c9e4aab5f674d80f09d76fa436b96fdc698a8505e0a36bf0804a874 + requires_python: '>=2.6' +- pypi: https://files.pythonhosted.org/packages/d5/5c/e444e1b024a519e488326525f0c154396c6b16baff17e00623f2c21dfc42/tifffile-2025.12.12-py3-none-any.whl + name: tifffile + version: 2025.12.12 + sha256: e3e3f1290ec6741ca248a5b5a997125209b5c2962f6bd9aef01ea9352c25d0ee + requires_dist: + - numpy + - imagecodecs>=2025.11.11 ; extra == 'codecs' + - defusedxml ; extra == 'xml' + - lxml ; extra == 'xml' + - zarr>=3.1.3 ; extra == 'zarr' + - fsspec ; extra == 'zarr' + - kerchunk ; extra == 'zarr' + - matplotlib ; extra == 'plot' + - imagecodecs>=2025.11.11 ; extra == 'all' + - matplotlib ; extra == 'all' + - defusedxml ; extra == 'all' + - lxml ; extra == 'all' + - zarr>=3.1.3 ; extra == 'all' + - fsspec ; extra == 'all' + - kerchunk ; extra == 'all' + - cmapfile ; extra == 'test' + - czifile ; extra == 'test' + - dask ; extra == 'test' + - defusedxml ; extra == 'test' + - fsspec ; extra == 'test' + - imagecodecs ; extra == 'test' + - kerchunk ; extra == 'test' + - lfdfiles ; extra == 'test' + - lxml ; extra == 'test' + - ndtiff ; extra == 'test' + - oiffile ; extra == 'test' + - psdtags ; extra == 'test' + - pytest ; extra == 'test' + - requests ; extra == 'test' + - roifile ; extra == 'test' + - xarray ; extra == 'test' + - zarr>=3.1.3 ; extra == 'test' + requires_python: '>=3.11' +- conda: https://conda.anaconda.org/conda-forge/linux-64/tinyxml2-11.0.0-h3f2d84a_0.conda + sha256: 3ae98c2ca54928b2c72dbb4bd8ea229d3c865ad39367d377908294d9fb1e6f2c + md5: aeb0b91014ac8c5d468e32b7a5ce8ac2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - libgcc >=13 + license: Zlib + purls: [] + size: 131351 + timestamp: 1742246125630 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_ha0e22de_103.conda + sha256: 1544760538a40bcd8ace2b1d8ebe3eb5807ac268641f8acdc18c69c5ebfeaf64 + md5: 86bc20552bf46075e3d92b67f089172d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib >=1.3.1,<2.0a0 + constrains: + - xorg-libx11 >=1.8.12,<2.0a0 + license: TCL + license_family: BSD + purls: [] + size: 3284905 + timestamp: 1763054914403 +- conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhcf101f3_3.conda + sha256: fd30e43699cb22ab32ff3134d3acf12d6010b5bbaa63293c37076b50009b91f8 + md5: d0fc809fa4c4d85e959ce4ab6e1de800 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/toml?source=hash-mapping + size: 24017 + timestamp: 1764486833072 +- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda + sha256: cb77c660b646c00a48ef942a9e1721ee46e90230c7c570cdeb5a893b5cce9bff + md5: d2732eb636c264dc9aa4cbee404b1a53 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/tomli?source=compressed-mapping + size: 20973 + timestamp: 1760014679845 +- pypi: https://files.pythonhosted.org/packages/8b/5c/36c114d120bfe10f9323ed35061bc5878cc74f3f594003854b0ea298942f/torch-2.5.1-cp312-cp312-manylinux1_x86_64.whl + name: torch + version: 2.5.1 + sha256: ed231a4b3a5952177fafb661213d690a72caaad97d5824dd4fc17ab9e15cec03 + requires_dist: + - filelock + - typing-extensions>=4.8.0 + - networkx + - jinja2 + - fsspec + - nvidia-cuda-nvrtc-cu12==12.4.127 ; platform_machine == 'x86_64' and sys_platform == 'linux' + - nvidia-cuda-runtime-cu12==12.4.127 ; platform_machine == 'x86_64' and sys_platform == 'linux' + - nvidia-cuda-cupti-cu12==12.4.127 ; platform_machine == 'x86_64' and sys_platform == 'linux' + - nvidia-cudnn-cu12==9.1.0.70 ; platform_machine == 'x86_64' and sys_platform == 'linux' + - nvidia-cublas-cu12==12.4.5.8 ; platform_machine == 'x86_64' and sys_platform == 'linux' + - nvidia-cufft-cu12==11.2.1.3 ; platform_machine == 'x86_64' and sys_platform == 'linux' + - nvidia-curand-cu12==10.3.5.147 ; platform_machine == 'x86_64' and sys_platform == 'linux' + - nvidia-cusolver-cu12==11.6.1.9 ; platform_machine == 'x86_64' and sys_platform == 'linux' + - nvidia-cusparse-cu12==12.3.1.170 ; platform_machine == 'x86_64' and sys_platform == 'linux' + - nvidia-nccl-cu12==2.21.5 ; platform_machine == 'x86_64' and sys_platform == 'linux' + - nvidia-nvtx-cu12==12.4.127 ; platform_machine == 'x86_64' and sys_platform == 'linux' + - nvidia-nvjitlink-cu12==12.4.127 ; platform_machine == 'x86_64' and sys_platform == 'linux' + - triton==3.1.0 ; python_full_version < '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux' + - sympy==1.12.1 ; python_full_version == '3.8.*' + - setuptools ; python_full_version >= '3.12' + - sympy==1.13.1 ; python_full_version >= '3.9' + - opt-einsum>=3.3 ; extra == 'opt-einsum' + - optree>=0.12.0 ; extra == 'optree' + requires_python: '>=3.8.0' +- pypi: https://files.pythonhosted.org/packages/7d/18/1474d06f721b86e6a9b9d7392ad68bed711a02f3b61ac43f13c719db50a6/torchsummary-1.5.1-py3-none-any.whl + name: torchsummary + version: 1.5.1 + sha256: 10f41d1743fb918f83293f13183f532ab1bb8f6639a1b89e5f8592ec1919a976 +- pypi: https://files.pythonhosted.org/packages/d4/75/00a852275ade58d3dc474530f7a7b6bc999a817148f0eb59d4fde12eb955/torchvision-0.20.1-cp312-cp312-manylinux1_x86_64.whl + name: torchvision + version: 0.20.1 + sha256: 17cd78adddf81dac57d7dccc9277a4d686425b1c55715f308769770cb26cad5c + requires_dist: + - numpy + - torch==2.5.1 + - pillow>=5.3.0,!=8.3.* + - gdown>=4.7.3 ; extra == 'gdown' + - scipy ; extra == 'scipy' + requires_python: '>=3.8' +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.3-py312h4c3975b_0.conda + sha256: bed440cad040f0fe76266f9a527feecbaf00385b68a96532aa69614fe5153f8e + md5: e03a4bf52d2170d64c816b2a52972097 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/tornado?source=compressed-mapping + size: 850918 + timestamp: 1765458857375 +- pypi: https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl + name: tqdm + version: 4.67.1 + sha256: 26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2 + requires_dist: + - colorama ; sys_platform == 'win32' + - pytest>=6 ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - pytest-timeout ; extra == 'dev' + - pytest-asyncio>=0.24 ; extra == 'dev' + - nbval ; extra == 'dev' + - requests ; extra == 'discord' + - slack-sdk ; extra == 'slack' + - requests ; extra == 'telegram' + - ipywidgets>=6 ; extra == 'notebook' + requires_python: '>=3.7' +- conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda + sha256: f39a5620c6e8e9e98357507262a7869de2ae8cc07da8b7f84e517c9fd6c2b959 + md5: 019a7385be9af33791c989871317e1ed + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/traitlets?source=hash-mapping + size: 110051 + timestamp: 1733367480074 +- conda: https://conda.anaconda.org/conda-forge/noarch/transforms3d-0.4.2-pyhd8ed1ab_1.conda + sha256: 2e018673c5e48d001e7e3e921567983ec322d732b6b389e7b534cc300d19c0c8 + md5: 711ff5140ada9166b4b4d914a0f2fe0a + depends: + - numpy >=1.15 + - python >=3.9 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/transforms3d?source=hash-mapping + size: 2690384 + timestamp: 1734511238605 +- pypi: https://files.pythonhosted.org/packages/78/eb/65f5ba83c2a123f6498a3097746607e5b2f16add29e36765305e4ac7fdd8/triton-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + name: triton + version: 3.1.0 + sha256: c8182f42fd8080a7d39d666814fa36c5e30cc00ea7eeeb1a2983dbb4c99a0fdc + requires_dist: + - filelock + - cmake>=3.20 ; extra == 'build' + - lit ; extra == 'build' + - autopep8 ; extra == 'tests' + - flake8 ; extra == 'tests' + - isort ; extra == 'tests' + - numpy ; extra == 'tests' + - pytest ; extra == 'tests' + - scipy>=1.7.1 ; extra == 'tests' + - llnl-hatchet ; extra == 'tests' + - matplotlib ; extra == 'tutorials' + - pandas ; extra == 'tutorials' + - tabulate ; extra == 'tutorials' +- conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.4.4-pyhd8ed1ab_0.conda + sha256: 591e03a61b4966a61b15a99f91d462840b6e77bf707ecb48690b24649fee921a + md5: 8b2613dbfd4e2bc9080b2779b53fc210 + depends: + - importlib-metadata >=3.6 + - python >=3.9 + - typing-extensions >=4.10.0 + - typing_extensions >=4.14.0 + constrains: + - pytest >=7 + license: MIT + license_family: MIT + purls: + - pkg:pypi/typeguard?source=hash-mapping + size: 35158 + timestamp: 1750249264892 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda + sha256: 7c2df5721c742c2a47b2c8f960e718c930031663ac1174da67c1ed5999f7938c + md5: edd329d7d3a4ab45dcf905899a7a6115 + depends: + - typing_extensions ==4.15.0 pyhcf101f3_0 + license: PSF-2.0 + license_family: PSF + purls: [] + size: 91383 + timestamp: 1756220668932 +- pypi: https://files.pythonhosted.org/packages/65/f3/107a22063bf27bdccf2024833d3445f4eea42b2e598abfbd46f6a63b6cb0/typing_inspect-0.9.0-py3-none-any.whl + name: typing-inspect + version: 0.9.0 + sha256: 9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f + requires_dist: + - mypy-extensions>=0.3.0 + - typing-extensions>=3.7.4 + - typing>=3.7.4 ; python_full_version < '3.5' +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + sha256: 032271135bca55aeb156cee361c81350c6f3fb203f57d024d7e5a1fc9ef18731 + md5: 0caa1af407ecff61170c9437a808404d + depends: + - python >=3.10 + - python + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/typing-extensions?source=hash-mapping + size: 51692 + timestamp: 1756220668932 +- pypi: https://files.pythonhosted.org/packages/c7/b0/003792df09decd6849a5e39c28b513c06e84436a54440380862b5aeff25d/tzdata-2025.3-py2.py3-none-any.whl + name: tzdata + version: '2025.3' + sha256: 06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1 + requires_python: '>=2' +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h8577fbf_1.conda + sha256: 865716d3e2ccaca1218462645830d2370ab075a9a118c238728e1231a234bc6c + md5: e4e8496b68cf5f25e76fbe67f3856550 + license: LicenseRef-Public-Domain + purls: [] + size: 119010 + timestamp: 1765580300078 +- pypi: https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl + name: tzlocal + version: 5.3.1 + sha256: eb1a66c3ef5847adf7a834f1be0800581b683b5608e74f86ecbcef8ab91bb85d + requires_dist: + - tzdata ; sys_platform == 'win32' + - pytest>=4.3 ; extra == 'devenv' + - pytest-mock>=3.3 ; extra == 'devenv' + - pytest-cov ; extra == 'devenv' + - check-manifest ; extra == 'devenv' + - zest-releaser ; extra == 'devenv' + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py312hd9148b4_6.conda + sha256: e1ecdfe8b0df725436e1d307e8672010d92b9aa96148f21ddf9be9b9596c75b0 + md5: f30ece80e76f9cc96e30cc5c71d2818e + depends: + - __glibc >=2.17,<3.0.a0 + - cffi + - libgcc >=14 + - libstdcxx >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/ukkonen?source=hash-mapping + size: 14602 + timestamp: 1761594857801 +- conda: https://conda.anaconda.org/conda-forge/linux-64/uncrustify-0.81.0-h5888daf_0.conda + sha256: f0b3ad46b173de03c45134b16d7be0b5bdaff344cccb6a4d205850809c1a4dca + md5: c2310445798370fe622fc6b03d79a3a4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: GPL-2.0-only + license_family: GPL + purls: [] + size: 650318 + timestamp: 1747514389910 +- pypi: https://files.pythonhosted.org/packages/6f/a4/691ab63b17505a26096608cc309960b5a6bdf39e4ba1a793d5f9b1a53270/unicodecsv-0.14.1.tar.gz + name: unicodecsv + version: 0.14.1 + sha256: 018c08037d48649a0412063ff4eda26eaa81eff1546dbffa51fa5293276ff7fc +- conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.0-py312h4c3975b_1.conda + sha256: 3c812c634e78cec74e224cc6adf33aed533d9fe1ee1eff7f692e1f338efb8c5b + md5: a0b8efbe73c90f810a171a6c746be087 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/unicodedata2?source=hash-mapping + size: 408399 + timestamp: 1763054875733 +- conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-4.0.1-hae71d53_3.conda + sha256: 70b1e7322bf6306de6186e91fb87c15f7ba5c1aeb6d0fd31780e088c42025fc4 + md5: a7830d1b7ade9d3f8c35191084fe7022 + depends: + - urdfdom_headers + - libstdcxx >=13 + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + - tinyxml2 >=11.0.0,<11.1.0a0 + - console_bridge >=1.0.2,<1.1.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 118733 + timestamp: 1743679555211 +- conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom-py-1.2.1-py312h200335b_6.conda + sha256: e5306a646cf81e72cc98d7bc0d1aba9c24ce73c78b26b2bf53d0420c5a8d4222 + md5: e15f4593003b8759f5e8ec1c7b139448 + depends: + - lxml + - python >=3.12,<3.13.0a0 + - pyyaml + - setuptools + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/urdfdom-py?source=hash-mapping + size: 48834 + timestamp: 1756847352648 +- conda: https://conda.anaconda.org/conda-forge/linux-64/urdfdom_headers-1.1.2-h84d6215_0.conda + sha256: 9f4090616ed1cb509bb65f1edb11b23c86d929db0ea3af2bf84277caa4337c40 + md5: 4872efb515124284f8cee0f957f3edce + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 19201 + timestamp: 1726152409175 +- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.2-pyhd8ed1ab_0.conda + sha256: f4302a80ee9b76279ad061df05003abc2a29cc89751ffab2fd2919b43455dac0 + md5: 4949ca7b83065cfe94ebe320aece8c72 + depends: + - backports.zstd >=1.0.0 + - brotli-python >=1.2.0 + - h2 >=4,<5 + - pysocks >=1.5.6,<2.0,!=1.5.7 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/urllib3?source=compressed-mapping + size: 102842 + timestamp: 1765719817255 +- conda: https://conda.anaconda.org/conda-forge/linux-64/utfcpp-4.0.8-ha770c72_0.conda + sha256: bbfbfc43bc028ec8acc5c9c2bb9a52c7652140cef91fdb6219a52d91d773a474 + md5: a480ee3eb9c95364a229673a28384899 + license: BSL-1.0 + purls: [] + size: 14169 + timestamp: 1758003868824 +- conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda + sha256: 77193c99c6626c58446168d3700f9643d8c0dab1f6deb6b9dd039e6872781bfb + md5: cfccfd4e8d9de82ed75c8e2c91cab375 + depends: + - distlib >=0.3.7,<1 + - filelock >=3.12.2,<4 + - platformdirs >=3.9.1,<5 + - python >=3.10 + - typing_extensions >=4.13.2 + license: MIT + license_family: MIT + purls: + - pkg:pypi/virtualenv?source=hash-mapping + size: 4401341 + timestamp: 1761726489722 +- conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-9.4.2-hf9009d3_4.conda + sha256: cfad04c182bceefa91b4ed77fe723d9920d0f2571d6d315594b7e9f87052a2a9 + md5: 1fe792b86976782b3a91469a6a873dff + depends: + - eigen + - expat + - libboost-devel + - libgl-devel + - liblzma-devel + - libopengl-devel + - python_abi 3.12.* *_cp312 + - tbb-devel + - vtk-base >=9.4.2,<9.4.3.0a0 + - vtk-io-ffmpeg >=9.4.2,<9.4.3.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 28431 + timestamp: 1757094858488 +- conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-base-9.4.2-py312h28cca35_1.conda + sha256: da51b776fd80c2e26823739471729e3a4934900569aa07d61862ec7eae731227 + md5: c637f5bdfd94ac1827b1982f954a1eb9 + depends: + - __glibc >=2.17,<3.0.a0 + - double-conversion >=3.3.1,<3.4.0a0 + - gl2ps >=1.4.2,<1.4.3.0a0 + - hdf5 >=1.14.6,<1.14.7.0a0 + - jsoncpp >=1.9.6,<1.9.7.0a0 + - libexpat >=2.7.0,<3.0a0 + - libfreetype >=2.13.3 + - libfreetype6 >=2.13.3 + - libgcc >=13 + - libglvnd >=1.7.0,<2.0a0 + - libglx >=1.7.0,<2.0a0 + - libjpeg-turbo >=3.1.0,<4.0a0 + - liblzma >=5.8.1,<6.0a0 + - libnetcdf >=4.9.2,<4.9.3.0a0 + - libogg >=1.3.5,<1.4.0a0 + - libpng >=1.6.47,<1.7.0a0 + - libsqlite >=3.49.2,<4.0a0 + - libstdcxx >=13 + - libtheora >=1.1.1,<1.2.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - libxml2 >=2.13.8,<2.14.0a0 + - libzlib >=1.3.1,<2.0a0 + - loguru + - lz4-c >=1.10.0,<1.11.0a0 + - matplotlib-base >=2.0.0 + - nlohmann_json + - numpy + - proj >=9.6.0,<9.7.0a0 + - pugixml >=1.15,<1.16.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - qt6-main >=6.9.0,<6.10.0a0 + - tbb >=2021.13.0 + - utfcpp + - wslink + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + constrains: + - paraview ==9999999999 + - libboost-headers >=1.86.0,<1.87.0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/vtk?source=hash-mapping + size: 57602232 + timestamp: 1747923951745 +- conda: https://conda.anaconda.org/conda-forge/linux-64/vtk-io-ffmpeg-9.4.2-he57672f_1.conda + sha256: 341fd7a252c2710ce460e77e041034b174aae63592cad4b038cce978f7529e38 + md5: 7f147dc2141c95d3e852c561c185a323 + depends: + - ffmpeg >=7.1.1,<8.0a0 + - python_abi 3.12.* *_cp312 + - vtk-base 9.4.2 py312h28cca35_1 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 90300 + timestamp: 1747924188375 +- conda: https://conda.anaconda.org/conda-forge/noarch/wadler-lindig-0.1.7-pyhe01879c_0.conda + sha256: af400decd8578d521c752594bb9380eb4d1e1e53e919c18dd2d65429f032e36c + md5: d93a6a7cf86ac0c6c2f00c287c3a030c + depends: + - python >=3.10 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/wadler-lindig?source=hash-mapping + size: 28051 + timestamp: 1752728420929 +- conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-h3e06ad9_0.conda + sha256: ba673427dcd480cfa9bbc262fd04a9b1ad2ed59a159bd8f7e750d4c52282f34c + md5: 0f2ca7906bf166247d1d760c3422cb8a + depends: + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.7.0,<3.0a0 + - libffi >=3.4.6,<3.5.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + purls: [] + size: 330474 + timestamp: 1751817998141 +- conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.46-hd8ed1ab_0.conda + sha256: 8094050a5146dadc4e94d71351b70ec0f54803ef3999afa6640e599a0b3b43a8 + md5: 967e4d37eaad18d4add66aaa394d8de8 + license: MIT + license_family: MIT + purls: [] + size: 139554 + timestamp: 1764021418156 +- conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.14-pyhd8ed1ab_0.conda + sha256: e311b64e46c6739e2a35ab8582c20fa30eb608da130625ed379f4467219d4813 + md5: 7e1e5ff31239f9cd5855714df8a3783d + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/wcwidth?source=hash-mapping + size: 33670 + timestamp: 1758622418893 +- conda: https://data.bit-bots.de/conda-misc/output/linux-64/webots-2022b-hb0f4dca_4.conda + sha256: 0c6b64edc23156a19a5065b3a12ad3cf54550b6184caf1fb3d41c64fcc9758d4 + md5: 9abb0c08f0109888d29259ea6fc2a41a + license: Apache-2.0 + size: 172089694 + timestamp: 1765723527936 +- pypi: https://files.pythonhosted.org/packages/2f/f9/9e082990c2585c744734f85bec79b5dae5df9c974ffee58fe421652c8e91/werkzeug-3.1.4-py3-none-any.whl + name: werkzeug + version: 3.1.4 + sha256: 2ad50fb9ed09cc3af22c54698351027ace879a0b60a3b5edf5730b2f7d876905 + requires_dist: + - markupsafe>=2.1.1 + - watchdog>=2.3 ; extra == 'watchdog' + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.17.3-py312h4c3975b_1.conda + sha256: 8320d5af37eb8933e5d129884ea013b2687e75b08aff5216193df3378eaea92f + md5: 8af3faf88325836e46c6cb79828e058c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/wrapt?source=hash-mapping + size: 64608 + timestamp: 1756851740646 +- conda: https://conda.anaconda.org/conda-forge/noarch/wslink-2.5.0-pyhd8ed1ab_0.conda + sha256: e9ac3caa3b17bed9bc301a67d3950f84fa37fb34002d2878c46cafb87978401d + md5: 8fa415e696acd9af59ce0a4425fd1b38 + depends: + - aiohttp <4 + - msgpack-python >=1,<2 + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/wslink?source=hash-mapping + size: 35839 + timestamp: 1760984848678 +- pypi: https://files.pythonhosted.org/packages/a4/f5/10b68b7b1544245097b2a1b8238f66f2fc6dcaeb24ba5d917f52bd2eed4f/wsproto-1.3.2-py3-none-any.whl + name: wsproto + version: 1.3.2 + sha256: 61eea322cdf56e8cc904bd3ad7573359a242ba65688716b0710a5eb12beab584 + requires_dist: + - h11>=0.16.0,<1 + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 + sha256: 175315eb3d6ea1f64a6ce470be00fa2ee59980108f246d3072ab8b977cb048a5 + md5: 6c99772d483f566d59e25037fea2c4b1 + depends: + - libgcc-ng >=12 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 897548 + timestamp: 1660323080555 +- conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 + sha256: 76c7405bcf2af639971150f342550484efac18219c0203c5ee2e38b8956fe2a0 + md5: e7f6ed84d4623d52ee581325c1587a6b + depends: + - libgcc-ng >=10.3.0 + - libstdcxx-ng >=10.3.0 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 3357188 + timestamp: 1646609687141 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + sha256: ad8cab7e07e2af268449c2ce855cbb51f43f4664936eff679b1f3862e6e4b01d + md5: fdc27cb255a7a2cc73b7919a968b48f0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libxcb >=1.17.0,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 20772 + timestamp: 1750436796633 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda + sha256: c2be9cae786fdb2df7c2387d2db31b285cf90ab3bfabda8fa75a596c3d20fc67 + md5: 4d1fc190b99912ed557a8236e958c559 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libxcb >=1.13 + - libxcb >=1.17.0,<2.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + license: MIT + license_family: MIT + purls: [] + size: 20829 + timestamp: 1763366954390 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + sha256: 94b12ff8b30260d9de4fd7a28cca12e028e572cbc504fd42aa2646ec4a5bded7 + md5: a0901183f08b6c7107aab109733a3c91 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + license: MIT + license_family: MIT + purls: [] + size: 24551 + timestamp: 1718880534789 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + sha256: 546e3ee01e95a4c884b6401284bb22da449a2f4daf508d038fdfa0712fe4cc69 + md5: ad748ccca349aec3e91743e08b5e2b50 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + purls: [] + size: 14314 + timestamp: 1718846569232 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + sha256: 2d401dadc43855971ce008344a4b5bd804aca9487d8ebd83328592217daca3df + md5: 0e0cbe0564d03a99afd5fd7b362feecd + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + purls: [] + size: 16978 + timestamp: 1718848865819 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + sha256: 31d44f297ad87a1e6510895740325a635dd204556aa7e079194a0034cdd7e66a + md5: 608e0ef8256b81d04456e8d211eee3e8 + depends: + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + purls: [] + size: 51689 + timestamp: 1718844051451 +- pypi: https://files.pythonhosted.org/packages/f1/7e/1d55a5749fbf7d1ac6411f3028128b974a3e6bb770d365a2518ecee8ce7e/xdgenvpy-2.4.0-py3-none-any.whl + name: xdgenvpy + version: 2.4.0 + sha256: 4c4e427a753e8ecb0e336a7cd7eacd55f91a5fc8fd1fa42a957706fccf2b9949 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.46-hb03c661_0.conda + sha256: aa03b49f402959751ccc6e21932d69db96a65a67343765672f7862332aa32834 + md5: 71ae752a748962161b4740eaff510258 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 396975 + timestamp: 1759543819846 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + sha256: c12396aabb21244c212e488bbdc4abcdef0b7404b15761d9329f5a4a39113c4b + md5: fb901ff28063514abb6046c9ec2c4a45 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 58628 + timestamp: 1734227592886 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + sha256: 277841c43a39f738927145930ff963c5ce4c4dacf66637a3d95d802a64173250 + md5: 1c74ff8c35dcadf952a16f752ca5aa49 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libuuid >=2.38.1,<3.0a0 + - xorg-libice >=1.1.2,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 27590 + timestamp: 1741896361728 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.12-h4f16b4b_0.conda + sha256: 51909270b1a6c5474ed3978628b341b4d4472cd22610e5f22b506855a5e20f67 + md5: db038ce880f100acc74dba10302b5630 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libxcb >=1.17.0,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 835896 + timestamp: 1741901112627 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda + sha256: 6bc6ab7a90a5d8ac94c7e300cc10beb0500eeba4b99822768ca2f2ef356f731b + md5: b2895afaf55bf96a8c8282a2e47a5de0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 15321 + timestamp: 1762976464266 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxaw-1.0.16-hb9d3cd8_0.conda + sha256: 105ff923b60286188978d7b3aa159b555e2baf4c736801f62602d4127159f06d + md5: 7c0a9bf62d573409d12ad14b362a96e5 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxmu >=1.2.1,<2.0a0 + - xorg-libxpm >=3.5.17,<4.0a0 + - xorg-libxt >=1.3.0,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 307032 + timestamp: 1727870272246 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.6-hb9d3cd8_2.conda + sha256: 753f73e990c33366a91fd42cc17a3d19bb9444b9ca5ff983605fa9e953baf57f + md5: d3c295b50f092ab525ffe3c2aa4b7413 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + license: MIT + license_family: MIT + purls: [] + size: 13603 + timestamp: 1727884600744 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + sha256: 832f538ade441b1eee863c8c91af9e69b356cd3e9e1350fff4fe36cc573fc91a + md5: 2ccd714aa2242315acaf0a67faea780b + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + - xorg-libxrender >=0.9.11,<0.10.0a0 + license: MIT + license_family: MIT + purls: [] + size: 32533 + timestamp: 1730908305254 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda + sha256: 43b9772fd6582bf401846642c4635c47a9b0e36ca08116b3ec3df36ab96e0ec0 + md5: b5fcc7172d22516e1f965490e65e33a4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + license: MIT + license_family: MIT + purls: [] + size: 13217 + timestamp: 1727891438799 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda + sha256: 25d255fb2eef929d21ff660a0c687d38a6d2ccfbcbf0cc6aa738b12af6e9d142 + md5: 1dafce8548e38671bea82e3f5c6ce22f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 20591 + timestamp: 1762976546182 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.6-hb9d3cd8_0.conda + sha256: da5dc921c017c05f38a38bd75245017463104457b63a1ce633ed41f214159c14 + md5: febbab7d15033c913d53c7a2c102309d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 50060 + timestamp: 1727752228921 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda + sha256: 83c4c99d60b8784a611351220452a0a85b080668188dce5dfa394b723d7b64f4 + md5: ba231da7fccf9ea1e768caf5c7099b84 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 20071 + timestamp: 1759282564045 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + sha256: 1a724b47d98d7880f26da40e45f01728e7638e6ec69f35a3e11f92acd05f9e7a + md5: 17dcc85db3c7886650b8908b183d6876 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + license: MIT + license_family: MIT + purls: [] + size: 47179 + timestamp: 1727799254088 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxinerama-1.1.5-h5888daf_1.conda + sha256: 1b9141c027f9d84a9ee5eb642a0c19457c788182a5a73c5a9083860ac5c20a8c + md5: 5e2eb9bf77394fc2e5918beefec9f9ab + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 13891 + timestamp: 1727908521531 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxmu-1.2.1-hb9d3cd8_1.conda + sha256: 467cba5106e628068487dcbc2ba2dbd6a434e75d752eaf0895086e9fe65e6a8d + md5: f35a9a2da717ade815ffa70c0e8bdfbd + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxt >=1.3.0,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 89078 + timestamp: 1727965853556 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxpm-3.5.17-hb9d3cd8_1.conda + sha256: 8ce7ae21dcbbb759c6fb9e5ad2a2f2f4e54172adf160ea59e11712598edbb75c + md5: f35bec7fface97f67f44ca952fc740b7 + depends: + - __glibc >=2.17,<3.0.a0 + - gettext + - libasprintf >=0.22.5,<1.0a0 + - libgcc >=13 + - libgettextpo >=0.22.5,<1.0a0 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxt >=1.3.0,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 64764 + timestamp: 1727801210327 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.4-hb9d3cd8_0.conda + sha256: ac0f037e0791a620a69980914a77cb6bb40308e26db11698029d6708f5aa8e0d + md5: 2de7f99d6581a4a7adbff607b5c278ca + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.11,<0.10.0a0 + license: MIT + license_family: MIT + purls: [] + size: 29599 + timestamp: 1727794874300 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda + sha256: 044c7b3153c224c6cedd4484dd91b389d2d7fd9c776ad0f4a34f099b3389f4a1 + md5: 96d57aba173e878a2089d5638016dc5e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 33005 + timestamp: 1734229037766 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda + sha256: 58e8fc1687534124832d22e102f098b5401173212ac69eb9fd96b16a3e2c8cb2 + md5: 303f7a0e9e0cd7d250bb6b952cecda90 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 14412 + timestamp: 1727899730073 +- 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 + purls: [] + size: 12302 + timestamp: 1734168591429 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxt-1.3.1-hb9d3cd8_0.conda + sha256: a8afba4a55b7b530eb5c8ad89737d60d60bc151a03fbef7a2182461256953f0e + md5: 279b0de5f6ba95457190a1c459a64e31 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libice >=1.1.1,<2.0a0 + - xorg-libsm >=1.2.4,<2.0a0 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 379686 + timestamp: 1731860547604 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + sha256: 752fdaac5d58ed863bbf685bb6f98092fe1a488ea8ebb7ed7b606ccfce08637a + md5: 7bbe9a0cc0df0ac5f5a8ad6d6a11af2f + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxi >=1.7.10,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 32808 + timestamp: 1727964811275 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.6-hb9d3cd8_0.conda + sha256: 8a4e2ee642f884e6b78c20c0892b85dd9b2a6e64a6044e903297e616be6ca35b + md5: 5efa5fa6243a622445fdfd72aee15efa + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 17819 + timestamp: 1734214575628 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2024.1-hb9d3cd8_1.conda + sha256: 1316680be6edddee0156b86ec1102fc8286f51c1a5440366ed1db596a2dc3731 + md5: 7c21106b851ec72c037b162c216d8f05 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 565425 + timestamp: 1726846388217 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.8.1-hbcc6ac9_2.conda + sha256: 802725371682ea06053971db5b4fb7fbbcaee9cb1804ec688f55e51d74660617 + md5: 68eae977d7d1196d32b636a026dc015d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - liblzma 5.8.1 hb9d3cd8_2 + - liblzma-devel 5.8.1 hb9d3cd8_2 + - xz-gpl-tools 5.8.1 hbcc6ac9_2 + - xz-tools 5.8.1 hb9d3cd8_2 + license: 0BSD AND LGPL-2.1-or-later AND GPL-2.0-or-later + purls: [] + size: 23987 + timestamp: 1749230104359 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.8.1-hbcc6ac9_2.conda + sha256: 840838dca829ec53f1160f3fca6dbfc43f2388b85f15d3e867e69109b168b87b + md5: bf627c16aa26231720af037a2709ab09 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - liblzma 5.8.1 hb9d3cd8_2 + constrains: + - xz 5.8.1.* + license: 0BSD AND LGPL-2.1-or-later AND GPL-2.0-or-later + purls: [] + size: 33911 + timestamp: 1749230090353 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.8.1-hb9d3cd8_2.conda + sha256: 58034f3fca491075c14e61568ad8b25de00cb3ae479de3e69be6d7ee5d3ace28 + md5: 1bad2995c8f1c8075c6c331bf96e46fb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - liblzma 5.8.1 hb9d3cd8_2 + constrains: + - xz 5.8.1.* + license: 0BSD AND LGPL-2.1-or-later + purls: [] + size: 96433 + timestamp: 1749230076687 +- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + sha256: 6d9ea2f731e284e9316d95fa61869fe7bbba33df7929f82693c121022810f4ad + md5: a77f85f77be52ff59391544bfe73390a + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MIT + license_family: MIT + purls: [] + size: 85189 + timestamp: 1753484064210 +- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-cpp-0.8.0-h3f2d84a_0.conda + sha256: 4b0b713a4308864a59d5f0b66ac61b7960151c8022511cdc914c0c0458375eca + md5: 92b90f5f7a322e74468bb4909c7354b5 + depends: + - libstdcxx >=13 + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 223526 + timestamp: 1745307989800 +- conda: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.22.0-py312h8a5da7c_0.conda + sha256: 6e3f2db09387fc982b5400b842745084825cd2d4621e8278e4af8fb0dc2b55d8 + md5: 6a3fd177315aaafd4366930d440e4430 + depends: + - __glibc >=2.17,<3.0.a0 + - idna >=2.0 + - libgcc >=14 + - multidict >=4.0 + - propcache >=0.2.1 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/yarl?source=hash-mapping + size: 151549 + timestamp: 1761337128623 +- pypi: git+https://github.com/bit-bots/YOEO#6a3ce221e0106aecb1b190146fb453daefdfb758 + name: yoeo + version: 1.6.1 + requires_dist: + - imgaug>=0.4.0,<0.5.0 + - matplotlib>=3.3.3,<4.0.0 + - numpy>=1.26,<2.0 + - opencv-python>=4.10.0.84,<5.0.0.0 + - pillow>=11.0.0,<12.0.0 + - pyyaml>=6.0.2,<7.0.0 + - tensorboard>=2.18.0,<3.0.0 + - terminaltables>=3.1.10,<4.0.0 + - torch>=2.5.1,<3.0.0 + - torchsummary>=1.5.1,<2.0.0 + - torchvision>=0.20.1,<0.21.0 + - tqdm>=4.67.0,<5.0.0 + requires_python: '>=3.10,<4.0' +- conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h387f397_9.conda + sha256: 47cfe31255b91b4a6fa0e9dbaf26baa60ac97e033402dbc8b90ba5fee5ffe184 + md5: 8035e5b54c08429354d5d64027041cad + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libsodium >=1.0.20,<1.0.21.0a0 + - krb5 >=1.21.3,<1.22.0a0 + license: MPL-2.0 + license_family: MOZILLA + purls: [] + size: 310648 + timestamp: 1757370847287 +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda + sha256: b4533f7d9efc976511a73ef7d4a2473406d7f4c750884be8e8620b0ce70f4dae + md5: 30cd29cb87d819caead4d55184c1d115 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/zipp?source=compressed-mapping + size: 24194 + timestamp: 1764460141901 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.3.1-hb9d3cd8_2.conda + sha256: 5d7c0e5f0005f74112a34a7425179f4eb6e73c92f5d109e6af4ddeca407c92ab + md5: c9f075ab2f33b3bbee9e62d4ad0a6cd8 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libzlib 1.3.1 hb9d3cd8_2 + license: Zlib + license_family: Other + purls: [] + size: 92286 + timestamp: 1727963153079 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 + md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 + depends: + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 601375 + timestamp: 1764777111296 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zziplib-0.13.69-he45264a_2.conda + sha256: a7c3ba25f384c7eb30c4f4c2d390f62714e0b4946d315aa852749f927b4b03ff + md5: 6d2d107e0fb8bc381acd4e9c68dbeae7 + depends: + - libgcc-ng >=12 + - libzlib >=1.3.1,<2.0a0 + license: LGPL-2.0-or-later OR MPL-1.1 + purls: [] + size: 106915 + timestamp: 1719242059793 diff --git a/pixi.toml b/pixi.toml new file mode 100644 index 000000000..44957713a --- /dev/null +++ b/pixi.toml @@ -0,0 +1,218 @@ +[workspace] +authors = ["Florian Vahl <7vahl@informatik.uni-hamburg.de>"] +channels = [ + "https://data.bit-bots.de/conda/", # For self hosted ROS / robostack packages + "https://data.bit-bots.de/conda-misc/output/", # For self hosted misc (non-ROS, neural network weights, ...) packages + "robostack-jazzy", # Robostack jazzy channel for ROS packages + "conda-forge" # General conda-forge channel +] +name = "bitbots_main" +platforms = ["linux-64"] +preview = ["pixi-build"] +version = "0.1.0" + +[tasks] +build = "colcon build --symlink-install --cmake-args -G Ninja" +clean = "rm -rf build install log" +test = "colcon test --event-handlers console_direct+ --return-code-on-test-failure" +_format = "pre-commit run --all-files" +format = [{ task = "_format", environment = "format" }] +deploy = "scripts/deploy_robots.py" + +[dependencies] +# Base dependencies +python = "==3.12" + +# Patches +readline = ">=8.2.999" # This is needed because we want to install an empty readline package from our models channel that leads to the system version being used. Otherwise we might have a mismatch between bash (often accessed globally ignoring the env) and readline (provided by the env) breaking everything. + +[feature.ros.dependencies] +# Misc dependencies for our ROS 2 packages +compilers = ">=1.11.0,<2" +beartype = ">=0.22.6,<0.23" +breathe = ">=4.36.0,<5" +cmake = "<3.30" # Constraint to avoid issues with deprecated features in newer cmake versions +colorama = ">=0.4.6,<0.5" +eigen = ">=3.4.0,<4" +fabric = ">=3.2.2,<4" +gitpython = ">=3.1.45,<4" +invoke = ">=2.2.1,<3" +jaxtyping = ">=0.3.2,<0.4" +libboost-devel = ">=1.86.0,<2" +libnuma = ">=2.0.18,<3" +libopencv = ">=4.11.0,<5" +libprotobuf = ">=5.29.3,<6" +matplotlib = ">=3.10.8,<4" +mypy = ">=1.18.2,<2" +ninja = ">=1.13.2,<2" +numpy = ">=1.26.4,<2" +opencv = ">=4.11.0,<5" +paramiko = ">=4.0.0,<5" +pkg-config = ">=0.29.2,<0.30" +playsound = ">=1.3.0,<2" +protobuf = ">=5.29.3,<6" +psutil = ">=7.1.3,<8" +pthread-stubs = ">=0.4,<0.5" +pybind11 = ">=3.0.1,<4" +pyqt = ">=5.15.11,<6" +pytest = ">=9.0.1,<10" +pytest-mock = ">=3.15.1,<4" +pyyaml = ">=6.0.3,<7" +rich = ">=14.2.0,<15" +rospkg = ">=1.6.0,<2" +ruff = ">=0.14.6,<0.15" +simpleeval = ">=1.0.3,<2" +sphinx-rtd-theme = ">=3.0.2,<4" +sysroot_linux-64 = ">=2.28,<3" +transforms3d = ">=0.4.2,<0.5" +ipython = ">=9.7.0,<10" +yaml-cpp = ">=0.8.0,<0.9" +webots = ">=2022b,<2023a" + +# Official ROS 2 packages +colcon-common-extensions = ">=0.3.0,<0.4" +ros-jazzy-action-msgs = ">=2.0.3,<3" +ros-jazzy-ament-cmake = ">=2.5.4,<3" +ros-jazzy-ament-cmake-mypy = ">=0.17.3,<0.18" +ros-jazzy-ament-copyright = ">=0.17.3,<0.18" +ros-jazzy-ament-flake8 = ">=0.17.3,<0.18" +ros-jazzy-ament-mypy = ">=0.17.3,<0.18" +ros-jazzy-ament-pep257 = ">=0.17.3,<0.18" +ros-jazzy-apriltag-ros = ">=3.3.0,<4" +ros-jazzy-backward-ros = ">=1.0.8,<2" +ros-jazzy-builtin-interfaces = ">=2.0.3,<3" +ros-jazzy-camera-info-manager = ">=5.1.7,<6" +ros-jazzy-control-toolbox = ">=4.7.1,<5" +ros-jazzy-controller-interface = ">=4.37.0,<5" +ros-jazzy-controller-manager = ">=4.37.0,<5" +ros-jazzy-cv-bridge = ">=4.1.0,<5" +ros-jazzy-demo-nodes-cpp = ">=0.33.7,<0.34" +ros-jazzy-desktop = ">=0.11.0,<0.12" +ros-jazzy-diagnostic-aggregator = ">=4.2.6,<5" +ros-jazzy-diagnostic-msgs = ">=5.3.6,<6" +ros-jazzy-foxglove-bridge = ">=0.8.5,<0.9" +ros-jazzy-generate-parameter-library = ">=0.5.0,<0.6" +ros-jazzy-geometry-msgs = ">=5.3.6,<6" +ros-jazzy-hardware-interface = ">=4.37.0,<5" +ros-jazzy-image-proc = ">=5.0.11,<6" +ros-jazzy-image-transport = ">=5.1.7,<6" +ros-jazzy-joint-state-publisher = ">=2.4.0,<3" +ros-jazzy-joint-state-publisher-gui = ">=2.4.0,<3" +ros-jazzy-moveit-core = ">=2.12.3,<3" +ros-jazzy-moveit-kinematics = ">=2.12.3,<3" +ros-jazzy-moveit-planners-ompl = ">=2.12.3,<3" +ros-jazzy-moveit-ros = ">=2.12.3,<3" +ros-jazzy-moveit-ros-move-group = ">=2.12.3,<3" +ros-jazzy-moveit-ros-planning = ">=2.12.3,<3" +ros-jazzy-moveit-ros-planning-interface = ">=2.12.3,<3" +ros-jazzy-moveit-ros-robot-interaction = ">=2.12.3,<3" +ros-jazzy-moveit-ros-visualization = ">=2.12.3,<3" +ros-jazzy-moveit-setup-assistant = ">=2.12.3,<3" +ros-jazzy-moveit-simple-controller-manager = ">=2.12.3,<3" +ros-jazzy-nav-msgs = ">=5.3.6,<6" +ros-jazzy-plotjuggler = ">=3.10.11,<4" +ros-jazzy-pluginlib = ">=5.4.2,<6" +ros-jazzy-rclpy = ">=7.1.5,<8" +ros-jazzy-robot-state-publisher = ">=3.3.3,<4" +ros-jazzy-ros2launch = ">=0.26.9,<0.27" +ros-jazzy-rosbag2 = ">=0.26.9,<0.27" +ros-jazzy-rosgraph-msgs = ">=2.0.3,<3" +ros-jazzy-rosidl-default-generators = ">=1.6.0,<2" +ros-jazzy-rosidl-default-runtime = ">=1.6.0,<2" +ros-jazzy-rqt-gui = ">=1.6.0,<2" +ros-jazzy-rqt-gui-py = ">=1.6.0,<2" +ros-jazzy-sensor-msgs = ">=5.3.6,<6" +ros-jazzy-std-msgs = ">=5.3.6,<6" +ros-jazzy-std-srvs = ">=5.3.6,<6" +ros-jazzy-test-msgs = ">=2.0.3,<3" +ros-jazzy-tf-transformations = ">=1.1.0,<2" +ros-jazzy-tf2 = ">=0.36.14,<0.37" +ros-jazzy-tf2-eigen = ">=0.36.14,<0.37" +ros-jazzy-tf2-geometry-msgs = ">=0.36.14,<0.37" +ros-jazzy-tf2-ros = ">=0.36.14,<0.37" +ros-jazzy-topic-tools = ">=1.3.3,<2" +ros-jazzy-trajectory-msgs = ">=5.3.6,<6" +ros-jazzy-transmission-interface = ">=4.37.0,<5" +ros-jazzy-turtlesim = ">=1.8.3,<2" +ros-jazzy-urdf = ">=2.10.0,<3" +ros-jazzy-urdfdom-py = ">=1.2.1,<2" +ros-jazzy-vision-opencv = ">=4.1.0,<5" +ros-jazzy-visualization-msgs = ">=5.3.6,<6" +ros-jazzy-xacro = ">=2.1.1,<3" + +# Bit-Bots vendor packages +ros-jazzy-imu-complementary-filter = ">=2.1.5,<3" +ros-jazzy-pybind11-vendor = ">=3.1.3,<4" +ros-jazzy-soccer-vision-3d-rviz-markers = ">=1.0.0,<2" +ros-jazzy-soccer-vision-3d-msgs = ">=1.0.0,<2" +ros-jazzy-soccer-vision-attribute-msgs = ">=1.0.0,<2" +ros-jazzy-rviz-imu-plugin = ">=2.1.5,<3" +ros-jazzy-rot-conv = ">=1.1.0,<2" +ros-jazzy-bio-ik = ">=2.0.0,<3" +ros-jazzy-bio-ik-msgs = ">=0.0.0,<0.0.1" +ros-jazzy-biped-interfaces = ">=0.0.0,<0.0.1" +ros-jazzy-bitbots-tf-buffer = ">=1.0.0,<2" +ros-jazzy-ros2-python-extension = ">=1.0.0,<2" +ros-jazzy-dynamic-stack-decider = ">=0.5.3,<0.6" +ros-jazzy-dynamic-stack-decider-visualization = ">=0.2.1,<0.3" +ros-jazzy-game-controller-hl = ">=1.1.0,<2" +ros-jazzy-game-controller-hl-interfaces = ">=0.0.1,<0.0.2" +ros-jazzy-humanoid-base-footprint = ">=0.1.2,<0.2" +ros-jazzy-ipm-image-node = ">=0.0.0,<0.0.1" +ros-jazzy-ipm-interfaces = ">=0.0.0,<0.0.1" +ros-jazzy-ipm-library = ">=0.0.0,<0.0.1" +ros-jazzy-soccer-ipm = ">=0.0.0,<0.0.1" +ros-jazzy-soccer-field-map-generator = ">=0.0.0,<0.0.1" +ros-jazzy-udp-bridge = ">=0.0.0,<0.0.1" +ros-jazzy-particle-filter = ">=0.0.1,<0.0.2" +ros-jazzy-ros2-numpy = ">=2.0.9,<3" +ros-jazzy-gazebo-msgs = ">=3.8.0,<4" +ros-jazzy-bitbots-dynamixel-sdk = ">=3.7.21,<4" +ros-jazzy-dynamixel-workbench-toolbox = ">=0.1.8,<0.2" +ros-jazzy-better-launch = ">=1.0.3,<2" + +# Neural network models / data packages +bitbots_model_2021_12_06_flo_torso21_yoeo_7 = ">=1.0.0,<2" +bitbots_model_2023_04_04_philipp_yoeox_with_team_colors = ">=1.0.0,<2" +bitbots_model_2022_10_07_flo_torso21_yoeox = ">=1.0.0,<2" + +# Local packages +bitbots_rust_nav = { path = "src/bitbots_navigation/bitbots_rust_nav" } + +# Patches +pillow = "<12" # this constraint is needed as yoeo specifies the 11 major version and otherwise uv fails to solve given the constrains from the conda ecosystem. +setuptools = "==68.1.2" # Pinning setuptools to avoid issues with colcon build + +[feature.format.dependencies] +clang-format = ">=21.1.0,<22" +cppcheck = ">=2.18.3,<3" +pre-commit = ">=4.4.0,<5" + +[feature.ros.pypi-dependencies] +# These are are pypi dependencies needed for our ROS 2 packages +syrupy = ">=5.0.0, <6" +exhale = ">=0.3.7, <0.4" +mycroft-mimic3-tts = ">=0.2.4, <0.3" +pyttsx3 = ">=2.99, <3" +yoeo = { git = "https://github.com/bit-bots/YOEO" } + +[feature.robot.pypi-dependencies] +# These are only needed on the robot +pyamdgpuinfo = ">=2.1.7, <3" + +[feature.ros.activation.env] +ROS_DOMAIN_ID = "24" +ROS_AUTOMATIC_DISCOVERY_RANGE = "LOCALHOST" +RCUTILS_COLORIZED_OUTPUT = "1" +RMW_IMPLEMENTATION = "rmw_cyclonedds_cpp" +COLCON_LOG_LEVEL = "30" +PYTHONWARNINGS="ignore:::setuptools.command.install,ignore:::setuptools.command.easy_install,ignore:::pkg_resources,ignore:easy_install command is deprecated,ignore:setup.py install is deprecated" +WEBOTS_HOME = "$CONDA_PREFIX/share/webots" + +[feature.ros.activation] +scripts = ["install/setup.sh"] + +[environments] +default = ["ros", "format"] # Full development environment (excluding robot-only deps) +format = ["format"] # Format only environment +robot = ["ros", "format", "robot"] # Robot environment with additional robot-only dependencies diff --git a/pyproject.toml b/pyproject.toml index 9864c6719..b027becc1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ line-length = 120 [tool.ruff.lint] -# Never enforce +# Never enforce # - `E501` (line length violations) # - `UP007` (usage of | instead of Union and Optional) # - `F722` (no forward type references by quoting) @@ -14,8 +14,6 @@ ignore = ["E501", "UP007", "F722", "UP037"] # - pycodestyle warnings (`W`) # - flake8-bugbear warnings (`B`) # - isort import sorting (`I001`) -# - pep8-naming convenrtions (`N`) +# - pep8-naming conventions (`N`) # - pyupgrade prefer newer language constructs (`UP`) select = ["F", "E", "B", "W", "I001", "N", "UP"] -# Do not lint the following directories -exclude = ["lib"] diff --git a/requirements/common.txt b/requirements/common.txt deleted file mode 100644 index 81ad75960..000000000 --- a/requirements/common.txt +++ /dev/null @@ -1,16 +0,0 @@ -# This file includes common dependencies for all environments -pip -transforms3d==0.4.1 -git+https://github.com/bit-bots/YOEO -git+https://github.com/bit-bots/bitbots_rust_nav -git+https://github.com/timonegk/colcon-core.git@colors -git+https://github.com/timonegk/colcon-notification.git@colors -git+https://github.com/timonegk/colcon-output.git@colors -simpleeval -beartype -jaxtyping -mypy - -# The following dependencies are only needed for rl walking and we don't actively use them currently -#git+https://github.com/bit-bots/deep_quintic.git -#git+https://github.com/SammyRamone/stable-baselines3.git diff --git a/requirements/dev.txt b/requirements/dev.txt deleted file mode 100644 index 4921075f1..000000000 --- a/requirements/dev.txt +++ /dev/null @@ -1,13 +0,0 @@ -# This file is used by pip to install dependencies for the development environment --r robot.txt # Include robot.txt dependencies -colorama # Colorful terminal formatting -exhale # Necessary for rst rendering -fabric # Manages SSH sessions for the deploy tool -GitPython # Used by the deploy tool to check current state of the git repository -invoke # Necessary for paramiko -paramiko # Necessary for fabric -pre-commit # Installs and runs pre-commit hooks for git -pytest-mock # Mocking for pytest -rich # Rich terminal output -ruff # Python linting -syrupy # Python snapshot testing diff --git a/requirements/robot.txt b/requirements/robot.txt deleted file mode 100644 index 2f1e5e101..000000000 --- a/requirements/robot.txt +++ /dev/null @@ -1,7 +0,0 @@ -# This file is used for installation of dependencies on the robot --r common.txt # Includes all common dependencies -mycroft-mimic3-tts -protobuf==3.20.3 # Required for mycroft-mimic3-tts, but we want to ensure that the version is compatible binaries build using the system version, but it should also be compatible with all the python dependencies -pyttsx3 -playsound3 -pyamdgpuinfo diff --git a/scripts/README.md b/scripts/README.md index 11f3eca30..f60b29e61 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -48,4 +48,4 @@ Five different tasks can be performed: ## `make_basler.sh` -Downloads and installs the Basler Pylon SDK for Linux. This is needed to communicate with our camera. Normally called by the `make basler` or other `make` targets. +Downloads and installs the Basler Pylon SDK for Linux. This is needed to communicate with our camera. Normally called by the `just install-basler` or other `just` recipes. diff --git a/scripts/deploy/deploy_robots.py b/scripts/deploy/deploy_robots.py index 049768e3a..fc656b0ac 100644 --- a/scripts/deploy/deploy_robots.py +++ b/scripts/deploy/deploy_robots.py @@ -124,8 +124,8 @@ def _parse_arguments(self) -> argparse.Namespace: parser.add_argument( "-w", "--workspace", - default="~/colcon_ws", - help="Path to the workspace directory to deploy to. Defaults to '~/colcon_ws'", + default=".", + help="Path to the workspace directory to deploy to. Defaults to the current directory.", ) parser.add_argument("--skip-local-repo-check", action="store_true", help="Skip the local repository check.") diff --git a/scripts/deploy/tasks/check_repos.py b/scripts/deploy/tasks/check_repos.py index c4a180d93..3b37193e5 100644 --- a/scripts/deploy/tasks/check_repos.py +++ b/scripts/deploy/tasks/check_repos.py @@ -169,7 +169,7 @@ def __init__(self, only_workspace_status: bool = False) -> None: ) # bitbots_main/scripts/deploy/tasks self.results_file: str = os.path.join( - self.main_repo_path, "bitbots_misc/bitbots_utils/config/", "workspace_status.json" + self.main_repo_path, "src/bitbots_misc/bitbots_utils/config/", "workspace_status.json" ) self.only_workspace_status: bool = only_workspace_status diff --git a/scripts/make_webots.sh b/scripts/make_webots.sh deleted file mode 100755 index a115c8831..000000000 --- a/scripts/make_webots.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env bash -set -eEo pipefail - -WEBOTS_VERSION="2022b" -WEBOTS_DOWNLOAD_URL="https://github.com/cyberbotics/webots/releases/download/R${WEBOTS_VERSION}/webots_${WEBOTS_VERSION}_amd64.deb" - -check_internet_connection () { - if ! ping -q -c 1 -W 1 google.com > /dev/null; then - echo "No internet connection. Please check your internet connection to install the webots simulator." - exit 1 - fi -} - -# Check if the correct webots simulator WEBOTS_VERSION is installed (apt) -if apt list webots --installed | grep -q "$WEBOTS_VERSION"; then - echo "Webots simulator release $WEBOTS_VERSION is already installed." -else - echo "Webots simulator release $WEBOTS_VERSION is not installed. Installing..." - # Check if we have an internet connection - check_internet_connection - # Check if the url exist - if ! curl --output /dev/null --silent --head --fail "$WEBOTS_DOWNLOAD_URL"; then - echo "Webots download url does not exist. Please check the url and update the 'WEBOTS_DOWNLOAD_URL' variable in the 'make_webots.sh' script." - exit 1 - fi - # Download the webots simulator dep package to temp folder - wget --no-verbose --show-progress "$WEBOTS_DOWNLOAD_URL" -O "/tmp/webots_${WEBOTS_VERSION}.deb" - # Install the webots simulator - sudo apt-get install "/tmp/webots_${WEBOTS_VERSION}.deb" -y -fi diff --git a/scripts/ros.plugin.sh b/scripts/ros.plugin.sh deleted file mode 100644 index 3fe2f1096..000000000 --- a/scripts/ros.plugin.sh +++ /dev/null @@ -1,68 +0,0 @@ -### Aliases and functions for ROS 2 and colcon usage. Usage for either -### Ubuntu 22.04/24.04 or in rosdocked/dev docker container - -shell="$(basename "$SHELL")" -ros_releases=(iron jazzy rolling) -distro="$ROS_DISTRO" - -rid() { - export ROS_DOMAIN_ID="$1" - echo "ROS_DOMAIN_ID set to $ROS_DOMAIN_ID" -} - -# Create a function to update the argcomplete so tab completion works. -# This needs to be called every time we source something ROS 2 related. -# Previous loading of bashcompinit is required. -update_ros2_argcomplete() { - eval "$(register-python-argcomplete colcon)" - eval "$(register-python-argcomplete ros2)" -} - -# Source the ROS 2 setup files if jazzy is installed -if [[ -n "$distro" ]]; then - source "/opt/ros/$distro/setup.$shell" &> /dev/null -else - for release in "${ros_releases[@]}"; do - if [[ -d "/opt/ros/$release" ]]; then - source "/opt/ros/$release/setup.$shell" &> /dev/null - distro="$release" - break - fi - done -fi - -# Update the tab completion -update_ros2_argcomplete - -# ros aliases -alias rr='ros2 run' -alias rl='ros2 launch' - -alias rte='ros2 topic echo' -alias rtl='ros2 topic list' -alias rth='ros2 topic hz' -alias rtp='ros2 topic pub' - -alias rpl='ros2 param list' -alias rpg='ros2 param get' - -# colcon aliases -alias cdc='cd $COLCON_WS' - -alias cba='cdc && colcon build --symlink-install --continue-on-error' -alias cbs='cdc && colcon build --symlink-install --packages-select' -alias cb='cdc && colcon build --symlink-install --continue-on-error --packages-up-to' -alias cc='cdc && colcon clean packages --packages-select' -alias cca='cdc && colcon clean packages' -alias ct='cdc && colcon test --event-handlers console_direct+ --return-code-on-test-failure' - -alias sr="source /opt/ros/$distro/setup.$shell && update_ros2_argcomplete" -alias sc="source \$COLCON_WS/install/setup.$shell && update_ros2_argcomplete" -alias sa='sr && sc' - -# deploy_robots tool aliases -DEPLOY_ROBOTS="$COLCON_WS/src/bitbots_main/scripts/deploy_robots.py" -alias dp='$DEPLOY_ROBOTS --sync --build --print-bit-bot' -alias dpfull='dp --install --configure' -alias dpclean='dp --clean' -alias dplo='dp --skip-local-repo-check' diff --git a/scripts/setup.sh b/scripts/setup.sh index e3a3ecea3..90fed54d7 100755 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -4,45 +4,7 @@ set -eEuo pipefail # static/global variables DIR="$(dirname "$(readlink -f "$0")")" BRANCH="${1:-main}" -ROS_DISTRO=${ROS_DISTRO:-"jazzy"} -COLCON_WS="${COLCON_WS:-"$HOME/colcon_ws"}" REPO_URL="git@github.com:bit-bots/bitbots_main.git" -SHELL_CONFIG="$(cat <>> bit-bots initialize >>> - -# Add python pip bins to PATH -export PATH="\$HOME/.local/bin:\$PATH" - -# Ignore some deprecation warnings -export PYTHONWARNINGS="ignore:::setuptools.command.install,ignore:::setuptools.command.easy_install,ignore:::pkg_resources,ignore:easy_install command is deprecated,ignore:setup.py install is deprecated" - -# Limit ROS 2 communication to localhost (can be overridden when needed) -export ROS_DOMAIN_ID=24 -export ROS_AUTOMATIC_DISCOVERY_RANGE=LOCALHOST - -# Set the default colcon workspace -export COLCON_WS="\$HOME/colcon_ws" - -# Set the default log level for colcon -export COLCON_LOG_LEVEL=30 - -# Define a log layout -export RCUTILS_COLORIZED_OUTPUT=1 -export RCUTILS_CONSOLE_OUTPUT_FORMAT="[{severity}] [{name}]: {message}" - -# Set the default Middleware -export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp - -# Load our ros plugin script containing useful functions and aliases for ROS 2 development -if [[ -f \$COLCON_WS/src/bitbots_main/scripts/ros.plugin.sh ]]; then - source \$COLCON_WS/src/bitbots_main/scripts/ros.plugin.sh -fi - -# <<< bit-bots initialize <<< - -EOF -)" ask_question() { while true; do @@ -56,33 +18,8 @@ ask_question() { done } -setup_ros() { - if (( has_sudo )); then - echo "Setting up ROS 2..." - - if [[ ! -f /etc/apt/sources.list.d/ros2.list ]]; then - echo "Adding ROS 2 repository..." - sudo apt install -y curl lsb-release - sudo sh -c "curl -fsSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key > /usr/share/keyrings/ros-archive-keyring.gpg" - sudo sh -c "echo 'deb [signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main' > /etc/apt/sources.list.d/ros2.list" - fi - - sudo apt update && sudo apt install -y \ - clang-format \ - cppcheck \ - python3-colcon-clean \ - python3-colcon-common-extensions \ - python3-pip \ - python3-rosdep \ - python3-vcstool \ - "ros-${ROS_DISTRO}-desktop-full" \ - "ros-${ROS_DISTRO}-plotjuggler-ros" \ - "ros-${ROS_DISTRO}-rmw-cyclonedds-cpp" \ - "ros-${ROS_DISTRO}-rqt-robot-monitor" \ - "ros-${ROS_DISTRO}-rqt-runtime-monitor" - else - echo "Please install ROS 2 manually!" - fi +setup_pixi() { + curl -fsSL https://pixi.sh/install.sh | sh } setup_repo() { @@ -102,57 +39,20 @@ setup_repo() { fi echo "Installing dependencies..." - if (( has_sudo )); then - make install - else - echo "Cannot use rosdep as it requires sudo." - make install-no-root - fi + $HOME/.pixi/bin/pixi install } -setup_colcon() { - echo "Installing/Updating colcon extensions..." - - # Install/Update colcon extensions / patches - python3 -m pip install --upgrade --user --break-system-packages \ - git+https://github.com/timonegk/colcon-core.git@colors \ - git+https://github.com/timonegk/colcon-notification.git@colors \ - git+https://github.com/timonegk/colcon-output.git@colors - - if [[ ! -d "$COLCON_WS/src/bitbots_main" ]]; then - echo "Setting up colcon workspace in $COLCON_WS..." - mkdir -p "$COLCON_WS/src" - ln -s "$meta_dir" "$COLCON_WS/src/bitbots_main" +setup_host() { + echo "Setting up system dependencies not covered by pixi. This may require sudo rights. For non-Ubuntu systems, please install the required packages manually." + if (( has_sudo )); then + $meta_dir/scripts/make_basler.sh fi } build_repository() { - echo "Running full colcon build for bitbots_main repository..." - cd "$COLCON_WS" - + echo "Running full colcon build..." set +u - source "/opt/ros/${ROS_DISTRO}/setup.bash" - - colcon build --symlink-install --continue-on-error -} - -setup_shell_aliases() { - if ask_question "Do you want to setup/update the Bit-Bots ROS 2 and colcon shell configuration?"; then - local shell_config_file - - if [[ "$SHELL" =~ "bash" ]]; then - shell_config_file="$HOME/.bashrc" - elif [[ "$SHELL" =~ "zsh" ]]; then - shell_config_file="$HOME/.zshrc" - else - echo "Your shell is not supported!" - exit 1 - fi - - if ! grep -q ">>> bit-bots initialize >>>" "$shell_config_file"; then - echo "$SHELL_CONFIG" >> "$shell_config_file" - fi - fi + $HOME/.pixi/bin/pixi run build } has_sudo=0 @@ -160,7 +60,7 @@ if ask_question "Do you have sudo rights?"; then has_sudo=1 fi if (( ! has_sudo )); then - echo "Because, you don't have sudo rights, ensure all necessary ROS 2 packages are installed." + echo "Because, you don't have sudo rights, no host dependencies will be installed." fi in_repo=1 @@ -171,6 +71,5 @@ fi setup_ros setup_repo -setup_colcon -setup_shell_aliases +setup_host build_repository diff --git a/bitbots_behavior/README.md b/src/bitbots_behavior/README.md similarity index 100% rename from bitbots_behavior/README.md rename to src/bitbots_behavior/README.md diff --git a/bitbots_behavior/bitbots_blackboard/CMakeLists.txt b/src/bitbots_behavior/bitbots_blackboard/CMakeLists.txt similarity index 100% rename from bitbots_behavior/bitbots_blackboard/CMakeLists.txt rename to src/bitbots_behavior/bitbots_blackboard/CMakeLists.txt diff --git a/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/__init__.py b/src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/__init__.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/bitbots_blackboard/__init__.py rename to src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/__init__.py diff --git a/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/body_blackboard.py b/src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/body_blackboard.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/bitbots_blackboard/body_blackboard.py rename to src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/body_blackboard.py diff --git a/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/__init__.py b/src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/__init__.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/__init__.py rename to src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/__init__.py diff --git a/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/animation_capsule.py b/src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/animation_capsule.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/animation_capsule.py rename to src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/animation_capsule.py diff --git a/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/costmap_capsule.py b/src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/costmap_capsule.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/costmap_capsule.py rename to src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/costmap_capsule.py diff --git a/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/game_status_capsule.py b/src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/game_status_capsule.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/game_status_capsule.py rename to src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/game_status_capsule.py diff --git a/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/kick_capsule.py b/src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/kick_capsule.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/kick_capsule.py rename to src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/kick_capsule.py diff --git a/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/misc_capsule.py b/src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/misc_capsule.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/misc_capsule.py rename to src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/misc_capsule.py diff --git a/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/pathfinding_capsule.py b/src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/pathfinding_capsule.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/pathfinding_capsule.py rename to src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/pathfinding_capsule.py diff --git a/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/team_data_capsule.py b/src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/team_data_capsule.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/team_data_capsule.py rename to src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/team_data_capsule.py diff --git a/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/world_model_capsule.py b/src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/world_model_capsule.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/world_model_capsule.py rename to src/bitbots_behavior/bitbots_blackboard/bitbots_blackboard/capsules/world_model_capsule.py diff --git a/bitbots_behavior/bitbots_blackboard/docs/_static/logo.png b/src/bitbots_behavior/bitbots_blackboard/docs/_static/logo.png similarity index 100% rename from bitbots_behavior/bitbots_blackboard/docs/_static/logo.png rename to src/bitbots_behavior/bitbots_blackboard/docs/_static/logo.png diff --git a/bitbots_behavior/bitbots_blackboard/docs/conf.py b/src/bitbots_behavior/bitbots_blackboard/docs/conf.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/docs/conf.py rename to src/bitbots_behavior/bitbots_blackboard/docs/conf.py diff --git a/bitbots_behavior/bitbots_blackboard/docs/index.rst b/src/bitbots_behavior/bitbots_blackboard/docs/index.rst similarity index 100% rename from bitbots_behavior/bitbots_blackboard/docs/index.rst rename to src/bitbots_behavior/bitbots_blackboard/docs/index.rst diff --git a/bitbots_behavior/bitbots_blackboard/mypy.ini b/src/bitbots_behavior/bitbots_blackboard/mypy.ini similarity index 100% rename from bitbots_behavior/bitbots_blackboard/mypy.ini rename to src/bitbots_behavior/bitbots_blackboard/mypy.ini diff --git a/bitbots_behavior/bitbots_blackboard/package.xml b/src/bitbots_behavior/bitbots_blackboard/package.xml similarity index 100% rename from bitbots_behavior/bitbots_blackboard/package.xml rename to src/bitbots_behavior/bitbots_blackboard/package.xml diff --git a/bitbots_behavior/bitbots_blackboard/setup.py b/src/bitbots_behavior/bitbots_blackboard/setup.py similarity index 100% rename from bitbots_behavior/bitbots_blackboard/setup.py rename to src/bitbots_behavior/bitbots_blackboard/setup.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/__init__.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/__init__.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/__init__.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/__init__.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/__init__.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/__init__.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/__init__.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/__init__.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/__init__.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/__init__.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/__init__.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/__init__.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/avoid_ball.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/avoid_ball.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/avoid_ball.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/avoid_ball.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/change_action.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/change_action.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/change_action.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/change_action.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/change_role.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/change_role.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/change_role.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/change_role.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/deactivate_hcm.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/deactivate_hcm.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/deactivate_hcm.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/deactivate_hcm.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/dribble_forward.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/dribble_forward.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/dribble_forward.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/dribble_forward.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/dynup.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/dynup.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/dynup.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/dynup.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/forget_ball.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/forget_ball.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/forget_ball.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/forget_ball.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_ball.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_ball.py similarity index 97% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_ball.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_ball.py index 728a56811..4ec541313 100644 --- a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_ball.py +++ b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_ball.py @@ -14,7 +14,7 @@ def __init__(self, blackboard, dsd, parameters): if "target" not in parameters.keys(): self.blackboard.node.get_logger().error( - 'The parameter "target" could not be used to decide whether map information is accesible' + 'The parameter "target" could not be used to decide whether map information is accessible' ) else: self.target = BallGoalType(parameters["target"]) diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_block_position.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_block_position.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_block_position.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_block_position.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_corner_kick_position.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_corner_kick_position.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_corner_kick_position.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_corner_kick_position.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_defense_position.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_defense_position.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_defense_position.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_defense_position.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_pass_position.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_pass_position.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_pass_position.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_pass_position.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_role_position.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_role_position.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_role_position.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/go_to_role_position.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/head_modes.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/head_modes.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/head_modes.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/head_modes.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/kick_ball.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/kick_ball.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/kick_ball.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/kick_ball.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/play_animation.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/play_animation.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/play_animation.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/play_animation.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/speak.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/speak.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/speak.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/speak.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/stand.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/stand.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/stand.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/stand.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/timer.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/timer.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/timer.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/timer.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/turn.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/turn.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/turn.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/turn.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/walk.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/walk.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/walk.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/actions/walk.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/__init__.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/__init__.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/__init__.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/__init__.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/aligned_to_goal.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/aligned_to_goal.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/aligned_to_goal.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/aligned_to_goal.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/avoid_ball.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/avoid_ball.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/avoid_ball.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/avoid_ball.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_close.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_close.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_close.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_close.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_dangerous.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_dangerous.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_dangerous.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_dangerous.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_in_defensive_area.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_in_defensive_area.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_in_defensive_area.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_in_defensive_area.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_kick_area.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_kick_area.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_kick_area.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_kick_area.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_seen.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_seen.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_seen.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/ball_seen.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/closest_to_ball.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/closest_to_ball.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/closest_to_ball.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/closest_to_ball.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/config_role.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/config_role.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/config_role.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/config_role.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/count_active_players_without_goalie.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/count_active_players_without_goalie.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/count_active_players_without_goalie.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/count_active_players_without_goalie.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/current_score.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/current_score.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/current_score.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/current_score.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/do_once.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/do_once.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/do_once.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/do_once.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/dribble_or_kick.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/dribble_or_kick.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/dribble_or_kick.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/dribble_or_kick.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/foot_selection.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/foot_selection.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/foot_selection.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/foot_selection.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/game_state_decider.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/game_state_decider.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/game_state_decider.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/game_state_decider.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/goal_scored.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/goal_scored.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/goal_scored.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/goal_scored.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/goalie_active.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/goalie_active.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/goalie_active.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/goalie_active.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/goalie_handling_ball.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/goalie_handling_ball.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/goalie_handling_ball.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/goalie_handling_ball.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/is_penalized.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/is_penalized.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/is_penalized.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/is_penalized.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/kick_off_time_up.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/kick_off_time_up.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/kick_off_time_up.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/kick_off_time_up.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/last_player.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/last_player.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/last_player.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/last_player.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/pass_started.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/pass_started.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/pass_started.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/pass_started.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/reached_goal.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/reached_goal.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/reached_goal.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/reached_goal.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/robot_in_own_percent_of_field.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/robot_in_own_percent_of_field.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/robot_in_own_percent_of_field.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/robot_in_own_percent_of_field.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/secondary_state_decider.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/secondary_state_decider.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/secondary_state_decider.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/secondary_state_decider.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/timer.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/timer.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/timer.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/decisions/timer.py diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/demo.dsd b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/demo.dsd similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/demo.dsd rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/demo.dsd diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/main.dsd b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/main.dsd similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/main.dsd rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/behavior_dsd/main.dsd diff --git a/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/body_behavior.py b/src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/body_behavior.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/body_behavior.py rename to src/bitbots_behavior/bitbots_body_behavior/bitbots_body_behavior/body_behavior.py diff --git a/bitbots_behavior/bitbots_body_behavior/config/LICENSE b/src/bitbots_behavior/bitbots_body_behavior/config/LICENSE similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/config/LICENSE rename to src/bitbots_behavior/bitbots_body_behavior/config/LICENSE diff --git a/bitbots_behavior/bitbots_body_behavior/config/__init__.py b/src/bitbots_behavior/bitbots_body_behavior/config/__init__.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/config/__init__.py rename to src/bitbots_behavior/bitbots_body_behavior/config/__init__.py diff --git a/bitbots_behavior/bitbots_body_behavior/config/animations.yaml b/src/bitbots_behavior/bitbots_body_behavior/config/animations.yaml similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/config/animations.yaml rename to src/bitbots_behavior/bitbots_body_behavior/config/animations.yaml diff --git a/bitbots_behavior/bitbots_body_behavior/config/body_behavior.yaml b/src/bitbots_behavior/bitbots_body_behavior/config/body_behavior.yaml similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/config/body_behavior.yaml rename to src/bitbots_behavior/bitbots_body_behavior/config/body_behavior.yaml diff --git a/bitbots_behavior/bitbots_body_behavior/config/fanfare.wav b/src/bitbots_behavior/bitbots_body_behavior/config/fanfare.wav similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/config/fanfare.wav rename to src/bitbots_behavior/bitbots_body_behavior/config/fanfare.wav diff --git a/bitbots_behavior/bitbots_body_behavior/config/ole.wav b/src/bitbots_behavior/bitbots_body_behavior/config/ole.wav similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/config/ole.wav rename to src/bitbots_behavior/bitbots_body_behavior/config/ole.wav diff --git a/bitbots_behavior/bitbots_body_behavior/docs/_static/logo.png b/src/bitbots_behavior/bitbots_body_behavior/docs/_static/logo.png similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/docs/_static/logo.png rename to src/bitbots_behavior/bitbots_body_behavior/docs/_static/logo.png diff --git a/bitbots_behavior/bitbots_body_behavior/docs/conf.py b/src/bitbots_behavior/bitbots_body_behavior/docs/conf.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/docs/conf.py rename to src/bitbots_behavior/bitbots_body_behavior/docs/conf.py diff --git a/bitbots_behavior/bitbots_body_behavior/docs/index.rst b/src/bitbots_behavior/bitbots_body_behavior/docs/index.rst similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/docs/index.rst rename to src/bitbots_behavior/bitbots_body_behavior/docs/index.rst diff --git a/bitbots_behavior/bitbots_body_behavior/launch/behavior.launch b/src/bitbots_behavior/bitbots_body_behavior/launch/behavior.launch similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/launch/behavior.launch rename to src/bitbots_behavior/bitbots_body_behavior/launch/behavior.launch diff --git a/bitbots_behavior/bitbots_body_behavior/launch/behavior_standalone.launch b/src/bitbots_behavior/bitbots_body_behavior/launch/behavior_standalone.launch similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/launch/behavior_standalone.launch rename to src/bitbots_behavior/bitbots_body_behavior/launch/behavior_standalone.launch diff --git a/bitbots_behavior/bitbots_body_behavior/package.xml b/src/bitbots_behavior/bitbots_body_behavior/package.xml similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/package.xml rename to src/bitbots_behavior/bitbots_body_behavior/package.xml diff --git a/bitbots_behavior/bitbots_body_behavior/resource/bitbots_body_behavior b/src/bitbots_behavior/bitbots_body_behavior/resource/bitbots_body_behavior similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/resource/bitbots_body_behavior rename to src/bitbots_behavior/bitbots_body_behavior/resource/bitbots_body_behavior diff --git a/bitbots_behavior/bitbots_body_behavior/setup.cfg b/src/bitbots_behavior/bitbots_body_behavior/setup.cfg similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/setup.cfg rename to src/bitbots_behavior/bitbots_body_behavior/setup.cfg diff --git a/bitbots_behavior/bitbots_body_behavior/setup.py b/src/bitbots_behavior/bitbots_body_behavior/setup.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/setup.py rename to src/bitbots_behavior/bitbots_body_behavior/setup.py diff --git a/bitbots_behavior/bitbots_body_behavior/test/mypy.ini b/src/bitbots_behavior/bitbots_body_behavior/test/mypy.ini similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/test/mypy.ini rename to src/bitbots_behavior/bitbots_body_behavior/test/mypy.ini diff --git a/bitbots_behavior/bitbots_body_behavior/test/test_dsd_file.py b/src/bitbots_behavior/bitbots_body_behavior/test/test_dsd_file.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/test/test_dsd_file.py rename to src/bitbots_behavior/bitbots_body_behavior/test/test_dsd_file.py diff --git a/bitbots_behavior/bitbots_body_behavior/test/test_mypy.py b/src/bitbots_behavior/bitbots_body_behavior/test/test_mypy.py similarity index 100% rename from bitbots_behavior/bitbots_body_behavior/test/test_mypy.py rename to src/bitbots_behavior/bitbots_body_behavior/test/test_mypy.py diff --git a/bitbots_lowlevel/bitbots_buttons/CMakeLists.txt b/src/bitbots_lowlevel/bitbots_buttons/CMakeLists.txt similarity index 100% rename from bitbots_lowlevel/bitbots_buttons/CMakeLists.txt rename to src/bitbots_lowlevel/bitbots_buttons/CMakeLists.txt diff --git a/bitbots_lowlevel/bitbots_buttons/config/buttons.yaml b/src/bitbots_lowlevel/bitbots_buttons/config/buttons.yaml similarity index 100% rename from bitbots_lowlevel/bitbots_buttons/config/buttons.yaml rename to src/bitbots_lowlevel/bitbots_buttons/config/buttons.yaml diff --git a/bitbots_lowlevel/bitbots_buttons/docs/_static/logo.png b/src/bitbots_lowlevel/bitbots_buttons/docs/_static/logo.png similarity index 100% rename from bitbots_lowlevel/bitbots_buttons/docs/_static/logo.png rename to src/bitbots_lowlevel/bitbots_buttons/docs/_static/logo.png diff --git a/bitbots_lowlevel/bitbots_buttons/docs/conf.py b/src/bitbots_lowlevel/bitbots_buttons/docs/conf.py similarity index 100% rename from bitbots_lowlevel/bitbots_buttons/docs/conf.py rename to src/bitbots_lowlevel/bitbots_buttons/docs/conf.py diff --git a/bitbots_lowlevel/bitbots_buttons/docs/index.rst b/src/bitbots_lowlevel/bitbots_buttons/docs/index.rst similarity index 100% rename from bitbots_lowlevel/bitbots_buttons/docs/index.rst rename to src/bitbots_lowlevel/bitbots_buttons/docs/index.rst diff --git a/bitbots_lowlevel/bitbots_buttons/launch/buttons.launch b/src/bitbots_lowlevel/bitbots_buttons/launch/buttons.launch similarity index 100% rename from bitbots_lowlevel/bitbots_buttons/launch/buttons.launch rename to src/bitbots_lowlevel/bitbots_buttons/launch/buttons.launch diff --git a/bitbots_lowlevel/bitbots_buttons/package.xml b/src/bitbots_lowlevel/bitbots_buttons/package.xml similarity index 100% rename from bitbots_lowlevel/bitbots_buttons/package.xml rename to src/bitbots_lowlevel/bitbots_buttons/package.xml diff --git a/bitbots_lowlevel/bitbots_buttons/src/button_node.cpp b/src/bitbots_lowlevel/bitbots_buttons/src/button_node.cpp similarity index 100% rename from bitbots_lowlevel/bitbots_buttons/src/button_node.cpp rename to src/bitbots_lowlevel/bitbots_buttons/src/button_node.cpp diff --git a/bitbots_lowlevel/bitbots_ros_control/.gitignore b/src/bitbots_lowlevel/bitbots_ros_control/.gitignore similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/.gitignore rename to src/bitbots_lowlevel/bitbots_ros_control/.gitignore diff --git a/bitbots_lowlevel/bitbots_ros_control/CMakeLists.txt b/src/bitbots_lowlevel/bitbots_ros_control/CMakeLists.txt similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/CMakeLists.txt rename to src/bitbots_lowlevel/bitbots_ros_control/CMakeLists.txt diff --git a/bitbots_lowlevel/bitbots_ros_control/README.md b/src/bitbots_lowlevel/bitbots_ros_control/README.md similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/README.md rename to src/bitbots_lowlevel/bitbots_ros_control/README.md diff --git a/bitbots_lowlevel/bitbots_ros_control/config/pressure_amy.yaml b/src/bitbots_lowlevel/bitbots_ros_control/config/pressure_amy.yaml similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/config/pressure_amy.yaml rename to src/bitbots_lowlevel/bitbots_ros_control/config/pressure_amy.yaml diff --git a/bitbots_lowlevel/bitbots_ros_control/config/pressure_converter.yaml b/src/bitbots_lowlevel/bitbots_ros_control/config/pressure_converter.yaml similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/config/pressure_converter.yaml rename to src/bitbots_lowlevel/bitbots_ros_control/config/pressure_converter.yaml diff --git a/bitbots_lowlevel/bitbots_ros_control/config/pressure_donna.yaml b/src/bitbots_lowlevel/bitbots_ros_control/config/pressure_donna.yaml similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/config/pressure_donna.yaml rename to src/bitbots_lowlevel/bitbots_ros_control/config/pressure_donna.yaml diff --git a/bitbots_lowlevel/bitbots_ros_control/config/pressure_jack.yaml b/src/bitbots_lowlevel/bitbots_ros_control/config/pressure_jack.yaml similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/config/pressure_jack.yaml rename to src/bitbots_lowlevel/bitbots_ros_control/config/pressure_jack.yaml diff --git a/bitbots_lowlevel/bitbots_ros_control/config/pressure_melody.yaml b/src/bitbots_lowlevel/bitbots_ros_control/config/pressure_melody.yaml similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/config/pressure_melody.yaml rename to src/bitbots_lowlevel/bitbots_ros_control/config/pressure_melody.yaml diff --git a/bitbots_lowlevel/bitbots_ros_control/config/pressure_nobot.yaml b/src/bitbots_lowlevel/bitbots_ros_control/config/pressure_nobot.yaml similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/config/pressure_nobot.yaml rename to src/bitbots_lowlevel/bitbots_ros_control/config/pressure_nobot.yaml diff --git a/bitbots_lowlevel/bitbots_ros_control/config/pressure_rory.yaml b/src/bitbots_lowlevel/bitbots_ros_control/config/pressure_rory.yaml similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/config/pressure_rory.yaml rename to src/bitbots_lowlevel/bitbots_ros_control/config/pressure_rory.yaml diff --git a/bitbots_lowlevel/bitbots_ros_control/config/rviz_imu.rviz b/src/bitbots_lowlevel/bitbots_ros_control/config/rviz_imu.rviz similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/config/rviz_imu.rviz rename to src/bitbots_lowlevel/bitbots_ros_control/config/rviz_imu.rviz diff --git a/bitbots_lowlevel/bitbots_ros_control/config/rviz_interactive_imu.rviz b/src/bitbots_lowlevel/bitbots_ros_control/config/rviz_interactive_imu.rviz similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/config/rviz_interactive_imu.rviz rename to src/bitbots_lowlevel/bitbots_ros_control/config/rviz_interactive_imu.rviz diff --git a/bitbots_lowlevel/bitbots_ros_control/config/rviz_pressure.rviz b/src/bitbots_lowlevel/bitbots_ros_control/config/rviz_pressure.rviz similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/config/rviz_pressure.rviz rename to src/bitbots_lowlevel/bitbots_ros_control/config/rviz_pressure.rviz diff --git a/bitbots_lowlevel/bitbots_ros_control/config/rviz_servos.rviz b/src/bitbots_lowlevel/bitbots_ros_control/config/rviz_servos.rviz similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/config/rviz_servos.rviz rename to src/bitbots_lowlevel/bitbots_ros_control/config/rviz_servos.rviz diff --git a/bitbots_lowlevel/bitbots_ros_control/config/wolfgang.yaml b/src/bitbots_lowlevel/bitbots_ros_control/config/wolfgang.yaml similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/config/wolfgang.yaml rename to src/bitbots_lowlevel/bitbots_ros_control/config/wolfgang.yaml diff --git a/bitbots_lowlevel/bitbots_ros_control/docs/_static/logo.png b/src/bitbots_lowlevel/bitbots_ros_control/docs/_static/logo.png similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/docs/_static/logo.png rename to src/bitbots_lowlevel/bitbots_ros_control/docs/_static/logo.png diff --git a/bitbots_lowlevel/bitbots_ros_control/docs/conf.py b/src/bitbots_lowlevel/bitbots_ros_control/docs/conf.py similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/docs/conf.py rename to src/bitbots_lowlevel/bitbots_ros_control/docs/conf.py diff --git a/bitbots_lowlevel/bitbots_ros_control/docs/index.rst b/src/bitbots_lowlevel/bitbots_ros_control/docs/index.rst similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/docs/index.rst rename to src/bitbots_lowlevel/bitbots_ros_control/docs/index.rst diff --git a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/bitfoot_hardware_interface.hpp b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/bitfoot_hardware_interface.hpp similarity index 87% rename from bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/bitfoot_hardware_interface.hpp rename to src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/bitfoot_hardware_interface.hpp index 751f78c97..ab86bf5ec 100644 --- a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/bitfoot_hardware_interface.hpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/bitfoot_hardware_interface.hpp @@ -14,14 +14,14 @@ namespace bitbots_ros_control { class BitFootHardwareInterface : public bitbots_ros_control::HardwareInterface { public: - explicit BitFootHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr &driver, int id, + explicit BitFootHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr& driver, int id, std::string topic_name, std::string name); bool init(); - void read(const rclcpp::Time &t, const rclcpp::Duration &dt); + void read(const rclcpp::Time& t, const rclcpp::Duration& dt); - void write(const rclcpp::Time &t, const rclcpp::Duration &dt); + void write(const rclcpp::Time& t, const rclcpp::Duration& dt); private: rclcpp::Node::SharedPtr nh_; diff --git a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/button_hardware_interface.hpp b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/button_hardware_interface.hpp similarity index 87% rename from bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/button_hardware_interface.hpp rename to src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/button_hardware_interface.hpp index 449e7e1ba..65ddd894a 100644 --- a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/button_hardware_interface.hpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/button_hardware_interface.hpp @@ -16,12 +16,12 @@ namespace bitbots_ros_control { class ButtonHardwareInterface : public bitbots_ros_control::HardwareInterface { public: - explicit ButtonHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr &driver, int id, + explicit ButtonHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr& driver, int id, std::string topic, int read_rate_); bool init(); - void read(const rclcpp::Time &t, const rclcpp::Duration &dt); - void write(const rclcpp::Time &t, const rclcpp::Duration &dt); + void read(const rclcpp::Time& t, const rclcpp::Duration& dt); + void write(const rclcpp::Time& t, const rclcpp::Duration& dt); private: rclcpp::Node::SharedPtr nh_; diff --git a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/core_hardware_interface.hpp b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/core_hardware_interface.hpp similarity index 92% rename from bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/core_hardware_interface.hpp rename to src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/core_hardware_interface.hpp index 533d65256..a3a5f76ac 100644 --- a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/core_hardware_interface.hpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/core_hardware_interface.hpp @@ -18,16 +18,16 @@ namespace bitbots_ros_control { class CoreHardwareInterface : public bitbots_ros_control::HardwareInterface { public: - explicit CoreHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr &driver, int id, + explicit CoreHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr& driver, int id, int read_rate); bool get_power_status(); bool init(); - void read(const rclcpp::Time &t, const rclcpp::Duration &dt); + void read(const rclcpp::Time& t, const rclcpp::Duration& dt); - void write(const rclcpp::Time &t, const rclcpp::Duration &dt); + void write(const rclcpp::Time& t, const rclcpp::Duration& dt); void restoreAfterPowerCycle(); private: diff --git a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/dynamixel_servo_hardware_interface.hpp b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/dynamixel_servo_hardware_interface.hpp similarity index 92% rename from bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/dynamixel_servo_hardware_interface.hpp rename to src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/dynamixel_servo_hardware_interface.hpp index 3f96c64af..f799abd90 100644 --- a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/dynamixel_servo_hardware_interface.hpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/dynamixel_servo_hardware_interface.hpp @@ -19,7 +19,7 @@ namespace bitbots_ros_control { template -std::string vecToString(const std::vector &vec) { +std::string vecToString(const std::vector& vec) { std::stringstream ss; ss << "["; for (unsigned int i = 0; i < vec.size(); ++i) { @@ -50,8 +50,8 @@ class DynamixelServoHardwareInterface : public bitbots_ros_control::HardwareInte explicit DynamixelServoHardwareInterface(rclcpp::Node::SharedPtr nh); bool init(); - void read(const rclcpp::Time &t, const rclcpp::Duration &dt); - void write(const rclcpp::Time &t, const rclcpp::Duration &dt); + void read(const rclcpp::Time& t, const rclcpp::Duration& dt); + void write(const rclcpp::Time& t, const rclcpp::Duration& dt); void addBusInterface(std::shared_ptr bus); void writeROMRAM(bool first_time); @@ -61,7 +61,7 @@ class DynamixelServoHardwareInterface : public bitbots_ros_control::HardwareInte void setTorqueCb(std_msgs::msg::Bool::SharedPtr enabled); void individualTorqueCb(bitbots_msgs::msg::JointTorque msg); - void commandCb(const bitbots_msgs::msg::JointCommand &command_msg); + void commandCb(const bitbots_msgs::msg::JointCommand& command_msg); std::vector goal_torque_individual_; diff --git a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/hardware_interface.hpp b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/hardware_interface.hpp similarity index 72% rename from bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/hardware_interface.hpp rename to src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/hardware_interface.hpp index 499222df5..7c0771c11 100644 --- a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/hardware_interface.hpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/hardware_interface.hpp @@ -12,13 +12,13 @@ class HardwareInterface { public: virtual bool init() = 0; - virtual void read(const rclcpp::Time &t, const rclcpp::Duration &dt) {}; + virtual void read(const rclcpp::Time& t, const rclcpp::Duration& dt) {}; - virtual void write(const rclcpp::Time &t, const rclcpp::Duration &dt) {}; + virtual void write(const rclcpp::Time& t, const rclcpp::Duration& dt) {}; virtual void restoreAfterPowerCycle() {}; - virtual ~HardwareInterface(){}; + virtual ~HardwareInterface() {}; }; } // namespace bitbots_ros_control #endif // BITBOTS_ROS_CONTROL_INCLUDE_BITBOTS_ROS_CONTROL_HARDWARE_INTERFACE_H_ diff --git a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/imu_hardware_interface.hpp b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/imu_hardware_interface.hpp similarity index 96% rename from bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/imu_hardware_interface.hpp rename to src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/imu_hardware_interface.hpp index 8e844eccd..1719041ad 100644 --- a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/imu_hardware_interface.hpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/imu_hardware_interface.hpp @@ -19,12 +19,12 @@ namespace bitbots_ros_control { class ImuHardwareInterface : public bitbots_ros_control::HardwareInterface { public: - explicit ImuHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr &driver, int id, + explicit ImuHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr& driver, int id, std::string topic, std::string frame, std::string name); bool init(); - void read(const rclcpp::Time &t, const rclcpp::Duration &dt); - void write(const rclcpp::Time &t, const rclcpp::Duration &dt); + void read(const rclcpp::Time& t, const rclcpp::Duration& dt); + void write(const rclcpp::Time& t, const rclcpp::Duration& dt); void restoreAfterPowerCycle(); private: diff --git a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/leds_hardware_interface.hpp b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/leds_hardware_interface.hpp similarity index 89% rename from bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/leds_hardware_interface.hpp rename to src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/leds_hardware_interface.hpp index 19d689e6e..d11728c22 100644 --- a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/leds_hardware_interface.hpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/leds_hardware_interface.hpp @@ -12,12 +12,12 @@ namespace bitbots_ros_control { class LedsHardwareInterface : public bitbots_ros_control::HardwareInterface { public: - LedsHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr &driver, uint8_t id, + LedsHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr& driver, uint8_t id, uint8_t num_leds, uint8_t start_number); bool init(); - void read(const rclcpp::Time &t, const rclcpp::Duration &dt); - void write(const rclcpp::Time &t, const rclcpp::Duration &dt); + void read(const rclcpp::Time& t, const rclcpp::Duration& dt); + void write(const rclcpp::Time& t, const rclcpp::Duration& dt); private: rclcpp::Node::SharedPtr nh_; diff --git a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/pressure_converter.hpp b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/pressure_converter.hpp similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/pressure_converter.hpp rename to src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/pressure_converter.hpp diff --git a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/servo_bus_interface.hpp b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/servo_bus_interface.hpp similarity index 96% rename from bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/servo_bus_interface.hpp rename to src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/servo_bus_interface.hpp index 4a9793a5a..dc144b7d8 100644 --- a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/servo_bus_interface.hpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/servo_bus_interface.hpp @@ -21,11 +21,11 @@ namespace bitbots_ros_control { class ServoBusInterface : public bitbots_ros_control::HardwareInterface { public: - explicit ServoBusInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr &driver, + explicit ServoBusInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr& driver, std::vector> servos); bool init(); - void read(const rclcpp::Time &t, const rclcpp::Duration &dt); - void write(const rclcpp::Time &t, const rclcpp::Duration &dt); + void read(const rclcpp::Time& t, const rclcpp::Duration& dt); + void write(const rclcpp::Time& t, const rclcpp::Duration& dt); void restoreAfterPowerCycle(); bool loadDynamixels(); diff --git a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/utils.hpp b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/utils.hpp similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/utils.hpp rename to src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/utils.hpp diff --git a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/wolfgang_hardware_interface.hpp b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/wolfgang_hardware_interface.hpp similarity index 93% rename from bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/wolfgang_hardware_interface.hpp rename to src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/wolfgang_hardware_interface.hpp index f73254a9f..d55f27e18 100644 --- a/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/wolfgang_hardware_interface.hpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/include/bitbots_ros_control/wolfgang_hardware_interface.hpp @@ -21,9 +21,9 @@ class WolfgangHardwareInterface { bool init(); - void read(const rclcpp::Time &t, const rclcpp::Duration &dt); + void read(const rclcpp::Time& t, const rclcpp::Duration& dt); - void write(const rclcpp::Time &t, const rclcpp::Duration &dt); + void write(const rclcpp::Time& t, const rclcpp::Duration& dt); private: bool create_interfaces(std::vector> dxl_devices); diff --git a/bitbots_lowlevel/bitbots_ros_control/launch/pressure_converter.launch b/src/bitbots_lowlevel/bitbots_ros_control/launch/pressure_converter.launch similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/launch/pressure_converter.launch rename to src/bitbots_lowlevel/bitbots_ros_control/launch/pressure_converter.launch diff --git a/bitbots_lowlevel/bitbots_ros_control/launch/ros_control.launch b/src/bitbots_lowlevel/bitbots_ros_control/launch/ros_control.launch similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/launch/ros_control.launch rename to src/bitbots_lowlevel/bitbots_ros_control/launch/ros_control.launch diff --git a/bitbots_lowlevel/bitbots_ros_control/launch/ros_control_standalone.launch b/src/bitbots_lowlevel/bitbots_ros_control/launch/ros_control_standalone.launch similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/launch/ros_control_standalone.launch rename to src/bitbots_lowlevel/bitbots_ros_control/launch/ros_control_standalone.launch diff --git a/bitbots_lowlevel/bitbots_ros_control/launch/viz_imu.launch b/src/bitbots_lowlevel/bitbots_ros_control/launch/viz_imu.launch similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/launch/viz_imu.launch rename to src/bitbots_lowlevel/bitbots_ros_control/launch/viz_imu.launch diff --git a/bitbots_lowlevel/bitbots_ros_control/launch/viz_pressure.launch b/src/bitbots_lowlevel/bitbots_ros_control/launch/viz_pressure.launch similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/launch/viz_pressure.launch rename to src/bitbots_lowlevel/bitbots_ros_control/launch/viz_pressure.launch diff --git a/bitbots_lowlevel/bitbots_ros_control/launch/viz_servos.launch b/src/bitbots_lowlevel/bitbots_ros_control/launch/viz_servos.launch similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/launch/viz_servos.launch rename to src/bitbots_lowlevel/bitbots_ros_control/launch/viz_servos.launch diff --git a/bitbots_lowlevel/bitbots_ros_control/package.xml b/src/bitbots_lowlevel/bitbots_ros_control/package.xml similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/package.xml rename to src/bitbots_lowlevel/bitbots_ros_control/package.xml diff --git a/bitbots_lowlevel/bitbots_ros_control/scripts/battery_led.py b/src/bitbots_lowlevel/bitbots_ros_control/scripts/battery_led.py similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/scripts/battery_led.py rename to src/bitbots_lowlevel/bitbots_ros_control/scripts/battery_led.py diff --git a/bitbots_lowlevel/bitbots_ros_control/scripts/imu_interactive_marker.py b/src/bitbots_lowlevel/bitbots_ros_control/scripts/imu_interactive_marker.py similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/scripts/imu_interactive_marker.py rename to src/bitbots_lowlevel/bitbots_ros_control/scripts/imu_interactive_marker.py diff --git a/bitbots_lowlevel/bitbots_ros_control/scripts/led_error_blink.py b/src/bitbots_lowlevel/bitbots_ros_control/scripts/led_error_blink.py similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/scripts/led_error_blink.py rename to src/bitbots_lowlevel/bitbots_ros_control/scripts/led_error_blink.py diff --git a/bitbots_lowlevel/bitbots_ros_control/scripts/pose_check.py b/src/bitbots_lowlevel/bitbots_ros_control/scripts/pose_check.py similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/scripts/pose_check.py rename to src/bitbots_lowlevel/bitbots_ros_control/scripts/pose_check.py diff --git a/bitbots_lowlevel/bitbots_ros_control/scripts/pressure_calibration.py b/src/bitbots_lowlevel/bitbots_ros_control/scripts/pressure_calibration.py similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/scripts/pressure_calibration.py rename to src/bitbots_lowlevel/bitbots_ros_control/scripts/pressure_calibration.py diff --git a/bitbots_lowlevel/bitbots_ros_control/scripts/send_joint_command.py b/src/bitbots_lowlevel/bitbots_ros_control/scripts/send_joint_command.py similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/scripts/send_joint_command.py rename to src/bitbots_lowlevel/bitbots_ros_control/scripts/send_joint_command.py diff --git a/bitbots_lowlevel/bitbots_ros_control/scripts/send_sinus_command.py b/src/bitbots_lowlevel/bitbots_ros_control/scripts/send_sinus_command.py similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/scripts/send_sinus_command.py rename to src/bitbots_lowlevel/bitbots_ros_control/scripts/send_sinus_command.py diff --git a/bitbots_lowlevel/bitbots_ros_control/scripts/zero_on_button.py b/src/bitbots_lowlevel/bitbots_ros_control/scripts/zero_on_button.py similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/scripts/zero_on_button.py rename to src/bitbots_lowlevel/bitbots_ros_control/scripts/zero_on_button.py diff --git a/bitbots_lowlevel/bitbots_ros_control/src/bitfoot_hardware_interface.cpp b/src/bitbots_lowlevel/bitbots_ros_control/src/bitfoot_hardware_interface.cpp similarity index 93% rename from bitbots_lowlevel/bitbots_ros_control/src/bitfoot_hardware_interface.cpp rename to src/bitbots_lowlevel/bitbots_ros_control/src/bitfoot_hardware_interface.cpp index d5cc4a982..f8d3ea3ec 100644 --- a/bitbots_lowlevel/bitbots_ros_control/src/bitfoot_hardware_interface.cpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/src/bitfoot_hardware_interface.cpp @@ -3,7 +3,7 @@ namespace bitbots_ros_control { -BitFootHardwareInterface::BitFootHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr &driver, +BitFootHardwareInterface::BitFootHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr& driver, int id, std::string topic_name, std::string name) { nh_ = nh; driver_ = driver; @@ -19,7 +19,7 @@ bool BitFootHardwareInterface::init() { return true; } -void BitFootHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void BitFootHardwareInterface::read(const rclcpp::Time& t, const rclcpp::Duration& dt) { /** * Reads the foot pressure sensors of the BitFoot */ @@ -101,7 +101,7 @@ void BitFootHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duratio } std::vector keyValues = std::vector(); // iterate through map and save it into values - for (auto const &ent1 : map) { + for (auto const& ent1 : map) { diagnostic_msgs::msg::KeyValue key_value = diagnostic_msgs::msg::KeyValue(); key_value.key = ent1.first; key_value.value = ent1.second; @@ -115,5 +115,5 @@ void BitFootHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duratio } // we dont write anything to the pressure sensors -void BitFootHardwareInterface::write(const rclcpp::Time &t, const rclcpp::Duration &dt) {} +void BitFootHardwareInterface::write(const rclcpp::Time& t, const rclcpp::Duration& dt) {} } // namespace bitbots_ros_control diff --git a/bitbots_lowlevel/bitbots_ros_control/src/button_hardware_interface.cpp b/src/bitbots_lowlevel/bitbots_ros_control/src/button_hardware_interface.cpp similarity index 89% rename from bitbots_lowlevel/bitbots_ros_control/src/button_hardware_interface.cpp rename to src/bitbots_lowlevel/bitbots_ros_control/src/button_hardware_interface.cpp index 23ab79bd9..c3e364767 100644 --- a/bitbots_lowlevel/bitbots_ros_control/src/button_hardware_interface.cpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/src/button_hardware_interface.cpp @@ -1,7 +1,7 @@ #include namespace bitbots_ros_control { -ButtonHardwareInterface::ButtonHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr &driver, +ButtonHardwareInterface::ButtonHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr& driver, int id, std::string topic, int read_rate) { nh_ = nh; driver_ = driver; @@ -16,7 +16,7 @@ bool ButtonHardwareInterface::init() { return true; } -void ButtonHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void ButtonHardwareInterface::read(const rclcpp::Time& t, const rclcpp::Duration& dt) { /** * Reads the buttons */ @@ -56,5 +56,5 @@ void ButtonHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duration } // we don't write anything to the buttons -void ButtonHardwareInterface::write(const rclcpp::Time &t, const rclcpp::Duration &dt) {} +void ButtonHardwareInterface::write(const rclcpp::Time& t, const rclcpp::Duration& dt) {} } // namespace bitbots_ros_control diff --git a/bitbots_lowlevel/bitbots_ros_control/src/core_hardware_interface.cpp b/src/bitbots_lowlevel/bitbots_ros_control/src/core_hardware_interface.cpp similarity index 96% rename from bitbots_lowlevel/bitbots_ros_control/src/core_hardware_interface.cpp rename to src/bitbots_lowlevel/bitbots_ros_control/src/core_hardware_interface.cpp index 869716ff0..18b8e8761 100644 --- a/bitbots_lowlevel/bitbots_ros_control/src/core_hardware_interface.cpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/src/core_hardware_interface.cpp @@ -2,7 +2,7 @@ namespace bitbots_ros_control { -CoreHardwareInterface::CoreHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr &driver, +CoreHardwareInterface::CoreHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr& driver, int id, int read_rate) { nh_ = nh; driver_ = driver; @@ -47,7 +47,7 @@ bool CoreHardwareInterface::get_power_status() { return power_control_status_.data && power_switch_status_.data; } -void CoreHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void CoreHardwareInterface::read(const rclcpp::Time& t, const rclcpp::Duration& dt) { /** * Reads the CORE board */ @@ -128,7 +128,7 @@ void CoreHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duration & } std::vector keyValues = std::vector(); // iterate through map and save it into values - for (auto const &ent1 : map) { + for (auto const& ent1 : map) { diagnostic_msgs::msg::KeyValue key_value = diagnostic_msgs::msg::KeyValue(); key_value.key = ent1.first; key_value.value = ent1.second; @@ -142,7 +142,7 @@ void CoreHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duration & read_counter_++; } -void CoreHardwareInterface::write(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void CoreHardwareInterface::write(const rclcpp::Time& t, const rclcpp::Duration& dt) { // we only need to write something if requested power status and current power status do not match // we don't use power_switch_status here because we cannot overwrite the physical switch if (requested_power_status_ != power_control_status_.data && last_read_successful_) { diff --git a/bitbots_lowlevel/bitbots_ros_control/src/dynamixel_servo_hardware_interface.cpp b/src/bitbots_lowlevel/bitbots_ros_control/src/dynamixel_servo_hardware_interface.cpp similarity index 93% rename from bitbots_lowlevel/bitbots_ros_control/src/dynamixel_servo_hardware_interface.cpp rename to src/bitbots_lowlevel/bitbots_ros_control/src/dynamixel_servo_hardware_interface.cpp index 81371b754..f27b303a9 100644 --- a/bitbots_lowlevel/bitbots_ros_control/src/dynamixel_servo_hardware_interface.cpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/src/dynamixel_servo_hardware_interface.cpp @@ -14,7 +14,7 @@ void DynamixelServoHardwareInterface::addBusInterface(std::shared_ptrwriteROMRAM(first_time); } } @@ -41,7 +41,7 @@ bool DynamixelServoHardwareInterface::init() { // init merged vectors for controller joint_count_ = 0; - for (const auto &bus : bus_interfaces_) { + for (const auto& bus : bus_interfaces_) { joint_count_ = joint_count_ + bus->joint_count_; for (int i = 0; i < bus->joint_count_; i++) { joint_names_.push_back(bus->joint_names_[i]); @@ -70,8 +70,8 @@ bool DynamixelServoHardwareInterface::init() { moveit::core::RobotModelPtr model = rml.getModel(); lower_joint_limits_.resize(joint_count_); upper_joint_limits_.resize(joint_count_); - for (const std::string &joint_name : joint_names_) { - moveit::core::JointModel *jm = model->getJointModel(joint_name); + for (const std::string& joint_name : joint_names_) { + moveit::core::JointModel* jm = model->getJointModel(joint_name); // we use getVariableBounds()[0] because there is only a single variable for all of our joints lower_joint_limits_[joint_map_[joint_name]] = jm->getVariableBounds()[0].min_position_; upper_joint_limits_[joint_map_[joint_name]] = jm->getVariableBounds()[0].max_position_; @@ -94,7 +94,7 @@ bool DynamixelServoHardwareInterface::init() { return true; } -void DynamixelServoHardwareInterface::commandCb(const bitbots_msgs::msg::JointCommand &command_msg) { +void DynamixelServoHardwareInterface::commandCb(const bitbots_msgs::msg::JointCommand& command_msg) { if (!(command_msg.joint_names.size() == command_msg.positions.size() && command_msg.joint_names.size() == command_msg.velocities.size() && command_msg.joint_names.size() == command_msg.accelerations.size() && @@ -147,7 +147,7 @@ void DynamixelServoHardwareInterface::individualTorqueCb(bitbots_msgs::msg::Join RCLCPP_WARN(nh_->get_logger(), "Couldn't set torque for servo %s ", msg.joint_names[i].c_str()); } } - for (const auto &bus : bus_interfaces_) { + for (const auto& bus : bus_interfaces_) { bus->switch_individual_torque_ = true; } } @@ -156,7 +156,7 @@ void DynamixelServoHardwareInterface::setTorqueCb(std_msgs::msg::Bool::SharedPtr /** * This saves the given required value, so that it can be written to the servos in the write method */ - for (const auto &bus : bus_interfaces_) { + for (const auto& bus : bus_interfaces_) { bus->goal_torque_ = enabled->data; } for (size_t j = 0; j < joint_names_.size(); j++) { @@ -164,11 +164,11 @@ void DynamixelServoHardwareInterface::setTorqueCb(std_msgs::msg::Bool::SharedPtr } } -void DynamixelServoHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void DynamixelServoHardwareInterface::read(const rclcpp::Time& t, const rclcpp::Duration& dt) { // retrieve values from the buses and set controller vector accordingly // todo improve performance int i = 0; - for (const auto &bus : bus_interfaces_) { + for (const auto& bus : bus_interfaces_) { for (int j = 0; j < bus->joint_count_; j++) { current_position_[i] = bus->current_position_[j]; current_velocity_[i] = bus->current_velocity_[j]; @@ -191,11 +191,11 @@ void DynamixelServoHardwareInterface::read(const rclcpp::Time &t, const rclcpp:: pwm_pub_->publish(pwm_msg_); } -void DynamixelServoHardwareInterface::write(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void DynamixelServoHardwareInterface::write(const rclcpp::Time& t, const rclcpp::Duration& dt) { // set all values from controller to the buses // todo improve performance int i = 0; - for (const auto &bus : bus_interfaces_) { + for (const auto& bus : bus_interfaces_) { for (int j = 0; j < bus->joint_count_; j++) { bus->goal_position_[j] = goal_position_[i]; bus->goal_velocity_[j] = goal_velocity_[i]; diff --git a/bitbots_lowlevel/bitbots_ros_control/src/imu_hardware_interface.cpp b/src/bitbots_lowlevel/bitbots_ros_control/src/imu_hardware_interface.cpp similarity index 98% rename from bitbots_lowlevel/bitbots_ros_control/src/imu_hardware_interface.cpp rename to src/bitbots_lowlevel/bitbots_ros_control/src/imu_hardware_interface.cpp index 557f13376..cb2f9f1bd 100644 --- a/bitbots_lowlevel/bitbots_ros_control/src/imu_hardware_interface.cpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/src/imu_hardware_interface.cpp @@ -7,7 +7,7 @@ namespace bitbots_ros_control { using std::placeholders::_1; using std::placeholders::_2; -ImuHardwareInterface::ImuHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr &driver, int id, +ImuHardwareInterface::ImuHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr& driver, int id, std::string topic, std::string frame, std::string name) { nh_ = nh; driver_ = driver; @@ -78,7 +78,7 @@ bool ImuHardwareInterface::init() { return true; } -void ImuHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void ImuHardwareInterface::read(const rclcpp::Time& t, const rclcpp::Duration& dt) { /** * Reads the IMU */ @@ -155,7 +155,7 @@ void ImuHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duration &d } std::vector keyValues = std::vector(); // itarate through map and save it into values - for (auto const &ent1 : map) { + for (auto const& ent1 : map) { diagnostic_msgs::msg::KeyValue key_value = diagnostic_msgs::msg::KeyValue(); key_value.key = ent1.first; key_value.value = ent1.second; @@ -239,7 +239,7 @@ void ImuHardwareInterface::setAccelCalibrationThreshold( set_accel_calib_threshold_ = true; } -void ImuHardwareInterface::write(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void ImuHardwareInterface::write(const rclcpp::Time& t, const rclcpp::Duration& dt) { if (write_ranges_) { RCLCPP_INFO_STREAM(nh_->get_logger(), "Setting Gyroscope range to " << gyroRangeToString(gyro_range_)); RCLCPP_INFO_STREAM(nh_->get_logger(), "Setting Accelerometer range to " << accelRangeToString(accel_range_)); diff --git a/bitbots_lowlevel/bitbots_ros_control/src/leds_hardware_interface.cpp b/src/bitbots_lowlevel/bitbots_ros_control/src/leds_hardware_interface.cpp similarity index 94% rename from bitbots_lowlevel/bitbots_ros_control/src/leds_hardware_interface.cpp rename to src/bitbots_lowlevel/bitbots_ros_control/src/leds_hardware_interface.cpp index faa516b20..98cf9de8b 100644 --- a/bitbots_lowlevel/bitbots_ros_control/src/leds_hardware_interface.cpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/src/leds_hardware_interface.cpp @@ -6,7 +6,7 @@ using std::placeholders::_1; using std::placeholders::_2; using std::placeholders::_3; -LedsHardwareInterface::LedsHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr &driver, +LedsHardwareInterface::LedsHardwareInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr& driver, uint8_t id, uint8_t num_leds, uint8_t start_number) { nh_ = nh; driver_ = driver; @@ -61,7 +61,7 @@ void LedsHardwareInterface::ledCb2(std_msgs::msg::ColorRGBA msg) { } } -void LedsHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duration &dt) {} +void LedsHardwareInterface::read(const rclcpp::Time& t, const rclcpp::Duration& dt) {} void LedsHardwareInterface::setLeds(const std::shared_ptr req, std::shared_ptr resp) { @@ -92,7 +92,7 @@ uint32_t rgba_to_int32(std_msgs::msg::ColorRGBA rgba) { return led; } -void LedsHardwareInterface::write(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void LedsHardwareInterface::write(const rclcpp::Time& t, const rclcpp::Duration& dt) { if (write_leds_) { // resort LEDs to go from left to right driver_->writeRegister(id_, "LED_2", rgba_to_int32(leds_[0])); diff --git a/bitbots_lowlevel/bitbots_ros_control/src/node.cpp b/src/bitbots_lowlevel/bitbots_ros_control/src/node.cpp similarity index 99% rename from bitbots_lowlevel/bitbots_ros_control/src/node.cpp rename to src/bitbots_lowlevel/bitbots_ros_control/src/node.cpp index c51210a51..fd681c8c8 100644 --- a/bitbots_lowlevel/bitbots_ros_control/src/node.cpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/src/node.cpp @@ -13,7 +13,7 @@ void sigintHandler(int sig) { request_shutdown = 1; } -int main(int argc, char *argv[]) { +int main(int argc, char* argv[]) { // register signal handler for ctrl-c that we use to request shutdown but give extra time for other nodes to finish signal(SIGINT, sigintHandler); diff --git a/bitbots_lowlevel/bitbots_ros_control/src/pressure_converter.cpp b/src/bitbots_lowlevel/bitbots_ros_control/src/pressure_converter.cpp similarity index 99% rename from bitbots_lowlevel/bitbots_ros_control/src/pressure_converter.cpp rename to src/bitbots_lowlevel/bitbots_ros_control/src/pressure_converter.cpp index 0dff0ae2e..d4285c5f8 100644 --- a/bitbots_lowlevel/bitbots_ros_control/src/pressure_converter.cpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/src/pressure_converter.cpp @@ -257,7 +257,7 @@ bool PressureConverter::zeroCallback(const std::shared_ptr &driver, +ServoBusInterface::ServoBusInterface(rclcpp::Node::SharedPtr nh, std::shared_ptr& driver, std::vector> servos) : first_cycle_(true), read_position_(true), read_velocity_(false), read_effort_(true) { nh_ = nh; @@ -120,7 +120,7 @@ bool ServoBusInterface::loadDynamixels() { // iterate over all servos and save the information // the wolfgang hardware interface already loaded them into the driver by pinging - for (std::tuple &servo : servos_) { + for (std::tuple& servo : servos_) { int motor_id = std::get<0>(servo); joint_ids_.push_back(uint8_t(motor_id)); std::string joint_name = std::get<1>(servo); @@ -164,7 +164,7 @@ bool ServoBusInterface::writeROMRAM(bool first_time) { rcl_interfaces::msg::ListParametersResult rom_ram_parameter_list = nh_->list_parameters({ROM_RAM_PARAMETER_NAMESPACE + joint_group}, 0); // Iterate over the parameters and set each one - for (std::string ®ister_parameter_name : rom_ram_parameter_list.names) { + for (std::string& register_parameter_name : rom_ram_parameter_list.names) { // Get the value of the parameter int value = nh_->get_parameter(register_parameter_name).as_int(); // Get only the name of the register without the namespace @@ -181,17 +181,17 @@ bool ServoBusInterface::writeROMRAM(bool first_time) { // Check that all groups have the same parameters not only the same number of parameters // Get all keys of the first group std::vector parameter_names; - for (auto const &[key, value] : joint_register_value_map[0]) { + for (auto const& [key, value] : joint_register_value_map[0]) { parameter_names.push_back(key); } - for (auto const &[group_id, group_params] : group_param_cache) { + for (auto const& [group_id, group_params] : group_param_cache) { // Check that the size is the same if (group_params.size() != parameter_names.size()) { RCLCPP_ERROR(nh_->get_logger(), "Servo group %s has a different number of servo parameters", group_id.c_str()); success = false; } // Check that all keys are the same - for (std::string &key : parameter_names) { + for (std::string& key : parameter_names) { if (group_params.find(key) == group_params.end()) { RCLCPP_ERROR(nh_->get_logger(), "Group %s does not have parameter %s", group_id.c_str(), key.c_str()); success = false; @@ -202,7 +202,7 @@ bool ServoBusInterface::writeROMRAM(bool first_time) { // Allocate memory for the values in the driver std::vector values(joint_names_.size()); // Iterate over parameter names - for (const auto ®ister_name : parameter_names) { + for (const auto& register_name : parameter_names) { // Get the value for each joint for (size_t num = 0; num < joint_names_.size(); num++) { // Get the value from the cache @@ -220,7 +220,7 @@ bool ServoBusInterface::writeROMRAM(bool first_time) { return success; } -void ServoBusInterface::read(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void ServoBusInterface::read(const rclcpp::Time& t, const rclcpp::Duration& dt) { /** * This is part of the main loop and handles reading of all connected devices */ @@ -320,7 +320,7 @@ void ServoBusInterface::read(const rclcpp::Time &t, const rclcpp::Duration &dt) } } -void ServoBusInterface::write(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void ServoBusInterface::write(const rclcpp::Time& t, const rclcpp::Duration& dt) { /** * This is part of the mainloop and handles all the writing to the connected devices */ @@ -415,7 +415,7 @@ void ServoBusInterface::switchDynamixelControlMode() { } std::vector operating_mode(joint_names_.size(), value); - int32_t *o = &operating_mode[0]; + int32_t* o = &operating_mode[0]; driver_->syncWrite("Operating_Mode", o); nh_->get_clock()->sleep_for(rclcpp::Duration::from_nanoseconds(1e9 * 0.5)); @@ -437,7 +437,7 @@ diagnostic_msgs::msg::DiagnosticStatus ServoBusInterface::createServoDiagMsg(int servo_status.hardware_id = std::to_string(id); std::vector keyValues = std::vector(); // iterate through map and save it into values - for (auto const &ent1 : map) { + for (auto const& ent1 : map) { diagnostic_msgs::msg::KeyValue key_value = diagnostic_msgs::msg::KeyValue(); key_value.key = ent1.first; key_value.value = ent1.second; @@ -525,7 +525,7 @@ void ServoBusInterface::writeTorque(bool enabled) { // only set values if we're not in torqueless mode if (!torqueless_mode_) { std::vector torque(joint_names_.size(), enabled); - int32_t *t = &torque[0]; + int32_t* t = &torque[0]; driver_->syncWrite("Torque_Enable", t); current_torque_ = enabled; goal_torque_ = enabled; @@ -541,7 +541,7 @@ void ServoBusInterface::writeTorqueForServos(std::vector torque) { if (!torqueless_mode_) { // this actually writes each value in the torque vector // but the dynamixel_toolbox requires a reference to the first element - int32_t *t = &torque[0]; + int32_t* t = &torque[0]; driver_->syncWrite("Torque_Enable", t); } } diff --git a/bitbots_lowlevel/bitbots_ros_control/src/utils.cpp b/src/bitbots_lowlevel/bitbots_ros_control/src/utils.cpp similarity index 100% rename from bitbots_lowlevel/bitbots_ros_control/src/utils.cpp rename to src/bitbots_lowlevel/bitbots_ros_control/src/utils.cpp diff --git a/bitbots_lowlevel/bitbots_ros_control/src/wolfgang_hardware_interface.cpp b/src/bitbots_lowlevel/bitbots_ros_control/src/wolfgang_hardware_interface.cpp similarity index 92% rename from bitbots_lowlevel/bitbots_ros_control/src/wolfgang_hardware_interface.cpp rename to src/bitbots_lowlevel/bitbots_ros_control/src/wolfgang_hardware_interface.cpp index 96097debd..f0fcc5d87 100644 --- a/bitbots_lowlevel/bitbots_ros_control/src/wolfgang_hardware_interface.cpp +++ b/src/bitbots_lowlevel/bitbots_ros_control/src/wolfgang_hardware_interface.cpp @@ -31,7 +31,7 @@ WolfgangHardwareInterface::WolfgangHardwareInterface(rclcpp::Node::SharedPtr nh) // Convert dxls to native type: a vector of tuples with name and id for sorting purposes std::vector> dxl_devices; - for (const std::string ¶meter_name : device_name_list.names) { + for (const std::string& parameter_name : device_name_list.names) { // we get directly the parameters and not the groups. use id parameter to identify them if (parameter_name.find(".id") != std::string::npos) { int id = nh->get_parameter(parameter_name).as_int(); @@ -45,7 +45,7 @@ WolfgangHardwareInterface::WolfgangHardwareInterface(rclcpp::Node::SharedPtr nh) // easier. std::sort( dxl_devices.begin(), dxl_devices.end(), - [](const std::pair &a, const std::pair &b) { return a.second < b.second; }); + [](const std::pair& a, const std::pair& b) { return a.second < b.second; }); // create overall servo interface since we need a single interface for the controllers servo_interface_ = DynamixelServoHardwareInterface(nh); @@ -64,7 +64,7 @@ bool WolfgangHardwareInterface::create_interfaces(std::vector pinged; rcl_interfaces::msg::ListParametersResult port_list = nh_->list_parameters({"port_info"}, 3); - for (const std::string ¶meter_name : port_list.names) { + for (const std::string& parameter_name : port_list.names) { // we get directly the parameters and not the groups. use id parameter to identify them if (parameter_name.find(".device_file") != std::string::npos) { std::string port_name = parameter_name.substr(10, parameter_name.size() - 11 - 11); @@ -86,13 +86,13 @@ bool WolfgangHardwareInterface::create_interfaces(std::vector> interfaces_on_port; // iterate over all devices and ping them to see what is connected to this bus std::vector> servos_on_port; - for (std::pair &device : dxl_devices) { + for (std::pair& device : dxl_devices) { // RCLCPP_INFO_STREAM(nh_->get_logger(), device.first); std::string name = device.first; - int id = device.second; if (std::find(pinged.begin(), pinged.end(), device.first) != pinged.end()) { // we already found this and don't have to search again } else { + int id = device.second; int model_number_specified; nh_->get_parameter("device_info." + name + ".model_number", model_number_specified); // some devices provide more than one type of interface, e.g. the IMU provides additionally buttons and LEDs @@ -205,7 +205,7 @@ bool WolfgangHardwareInterface::create_interfaces(std::vectorget_logger(), "Could not ping all devices!"); speakError(speak_pub_, "error starting ross control"); // check which devices were not pinged successful - for (std::pair &device : dxl_devices) { + for (std::pair& device : dxl_devices) { if (std::find(pinged.begin(), pinged.end(), device.first) != pinged.end()) { } else { RCLCPP_ERROR(nh_->get_logger(), "%s with id %d missing", device.first.c_str(), device.second); @@ -220,8 +220,8 @@ bool WolfgangHardwareInterface::create_interfaces(std::vector> &port_interfaces, rclcpp::Node::SharedPtr &nh, - int &success) { +void threaded_init(const std::vector>& port_interfaces, + const rclcpp::Node::SharedPtr& nh, int& success) { success = std::all_of(port_interfaces.begin(), port_interfaces.end(), [](std::shared_ptr interface) -> bool { return interface->init(); }); } @@ -229,9 +229,9 @@ void threaded_init(const std::vector> &port_i bool WolfgangHardwareInterface::init() { // iterate through all ports std::vector threads; - std::vector successes; + std::vector successes; int i = 0; - for (std::vector> &port_interfaces : interfaces_) { + for (std::vector>& port_interfaces : interfaces_) { // iterate through all interfaces on this port // we use an int instead of bool, since std::ref can't handle bool int suc = 0; @@ -240,24 +240,24 @@ bool WolfgangHardwareInterface::init() { i++; } // wait for all inits to finish - for (std::thread &thread : threads) { + for (std::thread& thread : threads) { thread.join(); } // see if all inits were successful - bool success = std::all_of(successes.begin(), successes.end(), [](int *s) { return *s; }); + bool success = std::all_of(successes.begin(), successes.end(), [](int* s) { return *s; }); // init servo interface last after all servo busses are there success &= servo_interface_.init(); return success; } -void threaded_read(const std::vector> &port_interfaces, const rclcpp::Time &t, - const rclcpp::Duration &dt) { +void threaded_read(const std::vector>& port_interfaces, const rclcpp::Time& t, + const rclcpp::Duration& dt) { for (std::shared_ptr interface : port_interfaces) { interface->read(t, dt); } } -void WolfgangHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void WolfgangHardwareInterface::read(const rclcpp::Time& t, const rclcpp::Duration& dt) { // give feedback to power changes if (core_present_) { if (current_power_status_ && !last_power_status_) { @@ -270,11 +270,11 @@ void WolfgangHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Durati // only read all hardware if power is on std::vector threads; // start all reads - for (std::vector> &port_interfaces : interfaces_) { + for (std::vector>& port_interfaces : interfaces_) { threads.push_back(std::thread(threaded_read, std::ref(port_interfaces), std::ref(t), std::ref(dt))); } // wait for all reads to finish - for (std::thread &thread : threads) { + for (std::thread& thread : threads) { thread.join(); } // aggregate all servo values for controller @@ -292,14 +292,14 @@ void WolfgangHardwareInterface::read(const rclcpp::Time &t, const rclcpp::Durati } } -void threaded_write(const std::vector> &port_interfaces, const rclcpp::Time &t, - const rclcpp::Duration &dt) { +void threaded_write(const std::vector>& port_interfaces, const rclcpp::Time& t, + const rclcpp::Duration& dt) { for (std::shared_ptr interface : port_interfaces) { interface->write(t, dt); } } -void WolfgangHardwareInterface::write(const rclcpp::Time &t, const rclcpp::Duration &dt) { +void WolfgangHardwareInterface::write(const rclcpp::Time& t, const rclcpp::Duration& dt) { if (core_present_ && !last_power_status_ && current_power_status_ && nh_->get_parameter("servos.set_ROM_RAM").as_bool()) { bus_start_time_ = t + rclcpp::Duration::from_seconds(nh_->get_parameter("start_delay").as_double()); @@ -307,7 +307,7 @@ void WolfgangHardwareInterface::write(const rclcpp::Time &t, const rclcpp::Durat } if (!bus_start_time_ || t > bus_start_time_.value()) { if (bus_first_write_) { - for (std::vector> const &port_interfaces : interfaces_) { + for (std::vector> const& port_interfaces : interfaces_) { for (std::shared_ptr interface : port_interfaces) { interface->restoreAfterPowerCycle(); } @@ -322,12 +322,12 @@ void WolfgangHardwareInterface::write(const rclcpp::Time &t, const rclcpp::Durat servo_interface_.write(t, dt); std::vector threads; // start all writes - for (std::vector> &port_interfaces : interfaces_) { + for (std::vector>& port_interfaces : interfaces_) { threads.push_back(std::thread(threaded_write, std::ref(port_interfaces), std::ref(t), std::ref(dt))); } // wait for all writes to finish - for (std::thread &thread : threads) { + for (std::thread& thread : threads) { thread.join(); } } diff --git a/bitbots_misc/bitbots_basler_camera/CMakeLists.txt b/src/bitbots_misc/bitbots_basler_camera/CMakeLists.txt similarity index 100% rename from bitbots_misc/bitbots_basler_camera/CMakeLists.txt rename to src/bitbots_misc/bitbots_basler_camera/CMakeLists.txt diff --git a/bitbots_misc/bitbots_basler_camera/config/camera_calibration_amy.yaml b/src/bitbots_misc/bitbots_basler_camera/config/camera_calibration_amy.yaml similarity index 100% rename from bitbots_misc/bitbots_basler_camera/config/camera_calibration_amy.yaml rename to src/bitbots_misc/bitbots_basler_camera/config/camera_calibration_amy.yaml diff --git a/bitbots_misc/bitbots_basler_camera/config/camera_calibration_default.yaml b/src/bitbots_misc/bitbots_basler_camera/config/camera_calibration_default.yaml similarity index 100% rename from bitbots_misc/bitbots_basler_camera/config/camera_calibration_default.yaml rename to src/bitbots_misc/bitbots_basler_camera/config/camera_calibration_default.yaml diff --git a/bitbots_misc/bitbots_basler_camera/config/camera_calibration_donna.yaml b/src/bitbots_misc/bitbots_basler_camera/config/camera_calibration_donna.yaml similarity index 100% rename from bitbots_misc/bitbots_basler_camera/config/camera_calibration_donna.yaml rename to src/bitbots_misc/bitbots_basler_camera/config/camera_calibration_donna.yaml diff --git a/bitbots_misc/bitbots_basler_camera/config/camera_calibration_jack.yaml b/src/bitbots_misc/bitbots_basler_camera/config/camera_calibration_jack.yaml similarity index 100% rename from bitbots_misc/bitbots_basler_camera/config/camera_calibration_jack.yaml rename to src/bitbots_misc/bitbots_basler_camera/config/camera_calibration_jack.yaml diff --git a/bitbots_misc/bitbots_basler_camera/config/camera_calibration_melody.yaml b/src/bitbots_misc/bitbots_basler_camera/config/camera_calibration_melody.yaml similarity index 100% rename from bitbots_misc/bitbots_basler_camera/config/camera_calibration_melody.yaml rename to src/bitbots_misc/bitbots_basler_camera/config/camera_calibration_melody.yaml diff --git a/bitbots_misc/bitbots_basler_camera/config/camera_calibration_rory.yaml b/src/bitbots_misc/bitbots_basler_camera/config/camera_calibration_rory.yaml similarity index 100% rename from bitbots_misc/bitbots_basler_camera/config/camera_calibration_rory.yaml rename to src/bitbots_misc/bitbots_basler_camera/config/camera_calibration_rory.yaml diff --git a/bitbots_misc/bitbots_basler_camera/config/camera_settings.yaml b/src/bitbots_misc/bitbots_basler_camera/config/camera_settings.yaml similarity index 100% rename from bitbots_misc/bitbots_basler_camera/config/camera_settings.yaml rename to src/bitbots_misc/bitbots_basler_camera/config/camera_settings.yaml diff --git a/bitbots_misc/bitbots_basler_camera/docs/_static/logo.png b/src/bitbots_misc/bitbots_basler_camera/docs/_static/logo.png similarity index 100% rename from bitbots_misc/bitbots_basler_camera/docs/_static/logo.png rename to src/bitbots_misc/bitbots_basler_camera/docs/_static/logo.png diff --git a/bitbots_misc/bitbots_basler_camera/docs/conf.py b/src/bitbots_misc/bitbots_basler_camera/docs/conf.py similarity index 100% rename from bitbots_misc/bitbots_basler_camera/docs/conf.py rename to src/bitbots_misc/bitbots_basler_camera/docs/conf.py diff --git a/bitbots_misc/bitbots_basler_camera/docs/index.rst b/src/bitbots_misc/bitbots_basler_camera/docs/index.rst similarity index 100% rename from bitbots_misc/bitbots_basler_camera/docs/index.rst rename to src/bitbots_misc/bitbots_basler_camera/docs/index.rst diff --git a/bitbots_misc/bitbots_basler_camera/launch/basler_camera.launch b/src/bitbots_misc/bitbots_basler_camera/launch/basler_camera.launch similarity index 100% rename from bitbots_misc/bitbots_basler_camera/launch/basler_camera.launch rename to src/bitbots_misc/bitbots_basler_camera/launch/basler_camera.launch diff --git a/bitbots_misc/bitbots_basler_camera/package.xml b/src/bitbots_misc/bitbots_basler_camera/package.xml similarity index 100% rename from bitbots_misc/bitbots_basler_camera/package.xml rename to src/bitbots_misc/bitbots_basler_camera/package.xml diff --git a/bitbots_misc/bitbots_basler_camera/setup.py b/src/bitbots_misc/bitbots_basler_camera/setup.py similarity index 100% rename from bitbots_misc/bitbots_basler_camera/setup.py rename to src/bitbots_misc/bitbots_basler_camera/setup.py diff --git a/bitbots_misc/bitbots_basler_camera/src/basler_camera.cpp b/src/bitbots_misc/bitbots_basler_camera/src/basler_camera.cpp similarity index 100% rename from bitbots_misc/bitbots_basler_camera/src/basler_camera.cpp rename to src/bitbots_misc/bitbots_basler_camera/src/basler_camera.cpp diff --git a/bitbots_misc/bitbots_bringup/CMakeLists.txt b/src/bitbots_misc/bitbots_bringup/CMakeLists.txt similarity index 100% rename from bitbots_misc/bitbots_bringup/CMakeLists.txt rename to src/bitbots_misc/bitbots_bringup/CMakeLists.txt diff --git a/bitbots_misc/bitbots_bringup/config/monitoring.rviz b/src/bitbots_misc/bitbots_bringup/config/monitoring.rviz similarity index 100% rename from bitbots_misc/bitbots_bringup/config/monitoring.rviz rename to src/bitbots_misc/bitbots_bringup/config/monitoring.rviz diff --git a/bitbots_misc/bitbots_bringup/config/monitoring_foxglove.json b/src/bitbots_misc/bitbots_bringup/config/monitoring_foxglove.json similarity index 100% rename from bitbots_misc/bitbots_bringup/config/monitoring_foxglove.json rename to src/bitbots_misc/bitbots_bringup/config/monitoring_foxglove.json diff --git a/bitbots_misc/bitbots_bringup/docs/_static/logo.png b/src/bitbots_misc/bitbots_bringup/docs/_static/logo.png similarity index 100% rename from bitbots_misc/bitbots_bringup/docs/_static/logo.png rename to src/bitbots_misc/bitbots_bringup/docs/_static/logo.png diff --git a/bitbots_misc/bitbots_bringup/docs/conf.py b/src/bitbots_misc/bitbots_bringup/docs/conf.py similarity index 100% rename from bitbots_misc/bitbots_bringup/docs/conf.py rename to src/bitbots_misc/bitbots_bringup/docs/conf.py diff --git a/bitbots_misc/bitbots_bringup/docs/index.rst b/src/bitbots_misc/bitbots_bringup/docs/index.rst similarity index 100% rename from bitbots_misc/bitbots_bringup/docs/index.rst rename to src/bitbots_misc/bitbots_bringup/docs/index.rst diff --git a/bitbots_misc/bitbots_bringup/launch/README.md b/src/bitbots_misc/bitbots_bringup/launch/README.md similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/README.md rename to src/bitbots_misc/bitbots_bringup/launch/README.md diff --git a/bitbots_misc/bitbots_bringup/launch/audio.launch b/src/bitbots_misc/bitbots_bringup/launch/audio.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/audio.launch rename to src/bitbots_misc/bitbots_bringup/launch/audio.launch diff --git a/bitbots_misc/bitbots_bringup/launch/demo.launch b/src/bitbots_misc/bitbots_bringup/launch/demo.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/demo.launch rename to src/bitbots_misc/bitbots_bringup/launch/demo.launch diff --git a/bitbots_misc/bitbots_bringup/launch/highlevel.launch b/src/bitbots_misc/bitbots_bringup/launch/highlevel.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/highlevel.launch rename to src/bitbots_misc/bitbots_bringup/launch/highlevel.launch diff --git a/bitbots_misc/bitbots_bringup/launch/monitoring.launch b/src/bitbots_misc/bitbots_bringup/launch/monitoring.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/monitoring.launch rename to src/bitbots_misc/bitbots_bringup/launch/monitoring.launch diff --git a/bitbots_misc/bitbots_bringup/launch/monitoring_pc.launch b/src/bitbots_misc/bitbots_bringup/launch/monitoring_pc.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/monitoring_pc.launch rename to src/bitbots_misc/bitbots_bringup/launch/monitoring_pc.launch diff --git a/bitbots_misc/bitbots_bringup/launch/motion.launch b/src/bitbots_misc/bitbots_bringup/launch/motion.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/motion.launch rename to src/bitbots_misc/bitbots_bringup/launch/motion.launch diff --git a/bitbots_misc/bitbots_bringup/launch/motion_standalone.launch b/src/bitbots_misc/bitbots_bringup/launch/motion_standalone.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/motion_standalone.launch rename to src/bitbots_misc/bitbots_bringup/launch/motion_standalone.launch diff --git a/bitbots_misc/bitbots_bringup/launch/rosbag_record.launch.py b/src/bitbots_misc/bitbots_bringup/launch/rosbag_record.launch.py similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/rosbag_record.launch.py rename to src/bitbots_misc/bitbots_bringup/launch/rosbag_record.launch.py diff --git a/bitbots_misc/bitbots_bringup/launch/simulator_teamplayer.launch b/src/bitbots_misc/bitbots_bringup/launch/simulator_teamplayer.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/simulator_teamplayer.launch rename to src/bitbots_misc/bitbots_bringup/launch/simulator_teamplayer.launch diff --git a/bitbots_misc/bitbots_bringup/launch/teamplayer.launch b/src/bitbots_misc/bitbots_bringup/launch/teamplayer.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/teamplayer.launch rename to src/bitbots_misc/bitbots_bringup/launch/teamplayer.launch diff --git a/bitbots_misc/bitbots_bringup/launch/vision.launch b/src/bitbots_misc/bitbots_bringup/launch/vision.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/vision.launch rename to src/bitbots_misc/bitbots_bringup/launch/vision.launch diff --git a/bitbots_misc/bitbots_bringup/launch/vision_standalone.launch b/src/bitbots_misc/bitbots_bringup/launch/vision_standalone.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/vision_standalone.launch rename to src/bitbots_misc/bitbots_bringup/launch/vision_standalone.launch diff --git a/bitbots_misc/bitbots_bringup/launch/visualization.launch b/src/bitbots_misc/bitbots_bringup/launch/visualization.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/visualization.launch rename to src/bitbots_misc/bitbots_bringup/launch/visualization.launch diff --git a/bitbots_misc/bitbots_bringup/launch/viz_monitoring.launch b/src/bitbots_misc/bitbots_bringup/launch/viz_monitoring.launch similarity index 100% rename from bitbots_misc/bitbots_bringup/launch/viz_monitoring.launch rename to src/bitbots_misc/bitbots_bringup/launch/viz_monitoring.launch diff --git a/bitbots_misc/bitbots_bringup/package.xml b/src/bitbots_misc/bitbots_bringup/package.xml similarity index 100% rename from bitbots_misc/bitbots_bringup/package.xml rename to src/bitbots_misc/bitbots_bringup/package.xml diff --git a/bitbots_misc/bitbots_bringup/setup.py b/src/bitbots_misc/bitbots_bringup/setup.py similarity index 100% rename from bitbots_misc/bitbots_bringup/setup.py rename to src/bitbots_misc/bitbots_bringup/setup.py diff --git a/bitbots_misc/bitbots_ceiling_cam/CMakeLists.txt b/src/bitbots_misc/bitbots_ceiling_cam/CMakeLists.txt similarity index 100% rename from bitbots_misc/bitbots_ceiling_cam/CMakeLists.txt rename to src/bitbots_misc/bitbots_ceiling_cam/CMakeLists.txt diff --git a/bitbots_misc/bitbots_ceiling_cam/README b/src/bitbots_misc/bitbots_ceiling_cam/README similarity index 100% rename from bitbots_misc/bitbots_ceiling_cam/README rename to src/bitbots_misc/bitbots_ceiling_cam/README diff --git a/bitbots_misc/bitbots_ceiling_cam/config/april_tag_settings.yaml b/src/bitbots_misc/bitbots_ceiling_cam/config/april_tag_settings.yaml similarity index 100% rename from bitbots_misc/bitbots_ceiling_cam/config/april_tag_settings.yaml rename to src/bitbots_misc/bitbots_ceiling_cam/config/april_tag_settings.yaml diff --git a/bitbots_misc/bitbots_ceiling_cam/config/april_tags.yaml b/src/bitbots_misc/bitbots_ceiling_cam/config/april_tags.yaml similarity index 100% rename from bitbots_misc/bitbots_ceiling_cam/config/april_tags.yaml rename to src/bitbots_misc/bitbots_ceiling_cam/config/april_tags.yaml diff --git a/bitbots_misc/bitbots_ceiling_cam/config/camera_calibration_ceiling_cam.yaml b/src/bitbots_misc/bitbots_ceiling_cam/config/camera_calibration_ceiling_cam.yaml similarity index 100% rename from bitbots_misc/bitbots_ceiling_cam/config/camera_calibration_ceiling_cam.yaml rename to src/bitbots_misc/bitbots_ceiling_cam/config/camera_calibration_ceiling_cam.yaml diff --git a/bitbots_misc/bitbots_ceiling_cam/config/camera_settings_ceiling_cam.yaml b/src/bitbots_misc/bitbots_ceiling_cam/config/camera_settings_ceiling_cam.yaml similarity index 100% rename from bitbots_misc/bitbots_ceiling_cam/config/camera_settings_ceiling_cam.yaml rename to src/bitbots_misc/bitbots_ceiling_cam/config/camera_settings_ceiling_cam.yaml diff --git a/bitbots_misc/bitbots_ceiling_cam/docs/_static/logo.png b/src/bitbots_misc/bitbots_ceiling_cam/docs/_static/logo.png similarity index 100% rename from bitbots_misc/bitbots_ceiling_cam/docs/_static/logo.png rename to src/bitbots_misc/bitbots_ceiling_cam/docs/_static/logo.png diff --git a/bitbots_misc/bitbots_ceiling_cam/docs/conf.py b/src/bitbots_misc/bitbots_ceiling_cam/docs/conf.py similarity index 100% rename from bitbots_misc/bitbots_ceiling_cam/docs/conf.py rename to src/bitbots_misc/bitbots_ceiling_cam/docs/conf.py diff --git a/bitbots_misc/bitbots_ceiling_cam/docs/index.rst b/src/bitbots_misc/bitbots_ceiling_cam/docs/index.rst similarity index 100% rename from bitbots_misc/bitbots_ceiling_cam/docs/index.rst rename to src/bitbots_misc/bitbots_ceiling_cam/docs/index.rst diff --git a/bitbots_misc/bitbots_ceiling_cam/launch/ceiling_cam.launch b/src/bitbots_misc/bitbots_ceiling_cam/launch/ceiling_cam.launch similarity index 100% rename from bitbots_misc/bitbots_ceiling_cam/launch/ceiling_cam.launch rename to src/bitbots_misc/bitbots_ceiling_cam/launch/ceiling_cam.launch diff --git a/bitbots_misc/bitbots_ceiling_cam/package.xml b/src/bitbots_misc/bitbots_ceiling_cam/package.xml similarity index 100% rename from bitbots_misc/bitbots_ceiling_cam/package.xml rename to src/bitbots_misc/bitbots_ceiling_cam/package.xml diff --git a/bitbots_misc/bitbots_ceiling_cam/setup.py b/src/bitbots_misc/bitbots_ceiling_cam/setup.py similarity index 100% rename from bitbots_misc/bitbots_ceiling_cam/setup.py rename to src/bitbots_misc/bitbots_ceiling_cam/setup.py diff --git a/bitbots_misc/bitbots_containers/README.md b/src/bitbots_misc/bitbots_containers/README.md similarity index 100% rename from bitbots_misc/bitbots_containers/README.md rename to src/bitbots_misc/bitbots_containers/README.md diff --git a/bitbots_misc/bitbots_containers/hlvs/Dockerfile b/src/bitbots_misc/bitbots_containers/hlvs/Dockerfile similarity index 93% rename from bitbots_misc/bitbots_containers/hlvs/Dockerfile rename to src/bitbots_misc/bitbots_containers/hlvs/Dockerfile index 891b78832..784687867 100644 --- a/bitbots_misc/bitbots_containers/hlvs/Dockerfile +++ b/src/bitbots_misc/bitbots_containers/hlvs/Dockerfile @@ -190,14 +190,14 @@ ENV LANG=en_US.UTF-8 ENV LANGUAGE=en_US:en ENV LC_ALL=en_US.UTF-8 -RUN mkdir -p /colcon_ws/src \ - && useradd -M -d /colcon_ws -s /bin/bash -u $UID robot \ - && chown -R robot:robot /colcon_ws \ +RUN mkdir -p /ws \ + && useradd -M -d /ws -s /bin/bash -u $UID robot \ + && chown -R robot:robot /ws \ && echo "robot ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/robot -WORKDIR /colcon_ws +WORKDIR /ws USER robot:robot -ENV PATH=$PATH:/colcon_ws/.local/bin +ENV PATH=$PATH:/ws/.local/bin RUN . /opt/ros/${ROS_DISTRO}/setup.sh \ && sudo rosdep init @@ -205,15 +205,18 @@ RUN . /opt/ros/${ROS_DISTRO}/setup.sh \ RUN mkdir -p -m 700 $HOME/.ssh \ && ssh-keyscan github.com >> $HOME/.ssh/known_hosts -RUN --mount=type=ssh,uid=$UID git clone --branch "$BITBOTS_MAIN_BRANCH" git@github.com:bit-bots/bitbots_main.git src/bitbots_main \ - && cd src/bitbots_main \ - && make pull-init rosdep pip +RUN --mount=type=ssh,uid=$UID git clone --branch "$BITBOTS_MAIN_BRANCH" git@github.com:bit-bots/bitbots_main.git \ + && cd bitbots_main \ + && just pull-init rosdep pip + +WORKDIR /ws/bitbots_main # From here on, we don't want to cache anything. That's achieved by adding the current time. ADD https://www.timeapi.io/api/Time/current/zone?timeZone=UTC /tmp/build-time -RUN --mount=type=ssh,uid=$UID cd src/bitbots_main \ - && make pull-all \ +RUN --mount=type=ssh,uid=$UID \ + && just pull-init \ + && cd src \ && rm -rf bitbots_lowlevel \ bitbots_misc/bitbots_basler_camera \ bitbots_misc/bitbots_ceiling_cam \ @@ -232,11 +235,11 @@ RUN --mount=type=ssh,uid=$UID cd src/bitbots_main \ # Install missing ros dependencies with rosdep RUN sudo apt update \ && rosdep update \ - && rosdep install --rosdistro=${ROS_DISTRO} --from-paths src/bitbots_main --ignore-src -r -y \ + && rosdep install --rosdistro=${ROS_DISTRO} --from-paths src --ignore-src -r -y \ && . /opt/ros/${ROS_DISTRO}/setup.sh \ && colcon build --cmake-args -DBUILD_TESTING=OFF -RUN cp src/bitbots_main/bitbots_simulation/bitbots_robocup_api/scripts/start.sh .local/bin/start +RUN cp src/bitbots_simulation/bitbots_robocup_api/scripts/start.sh $HOME/.local/bin/start # Volume for logs VOLUME /robocup-logs diff --git a/bitbots_misc/bitbots_containers/hlvs/README.md b/src/bitbots_misc/bitbots_containers/hlvs/README.md similarity index 100% rename from bitbots_misc/bitbots_containers/hlvs/README.md rename to src/bitbots_misc/bitbots_containers/hlvs/README.md diff --git a/bitbots_misc/bitbots_containers/hlvs/entrypoint.sh b/src/bitbots_misc/bitbots_containers/hlvs/entrypoint.sh similarity index 60% rename from bitbots_misc/bitbots_containers/hlvs/entrypoint.sh rename to src/bitbots_misc/bitbots_containers/hlvs/entrypoint.sh index 855bbf598..6ad14e46b 100755 --- a/bitbots_misc/bitbots_containers/hlvs/entrypoint.sh +++ b/src/bitbots_misc/bitbots_containers/hlvs/entrypoint.sh @@ -1,6 +1,6 @@ #!/bin/bash source /opt/ros/jazzy/setup.bash -source /colcon_ws/install/setup.bash +source /ws/install/setup.bash exec "$@" diff --git a/bitbots_misc/bitbots_diagnostic/CMakeLists.txt b/src/bitbots_misc/bitbots_diagnostic/CMakeLists.txt similarity index 100% rename from bitbots_misc/bitbots_diagnostic/CMakeLists.txt rename to src/bitbots_misc/bitbots_diagnostic/CMakeLists.txt diff --git a/bitbots_misc/bitbots_diagnostic/config/analyzers.yaml b/src/bitbots_misc/bitbots_diagnostic/config/analyzers.yaml similarity index 100% rename from bitbots_misc/bitbots_diagnostic/config/analyzers.yaml rename to src/bitbots_misc/bitbots_diagnostic/config/analyzers.yaml diff --git a/bitbots_misc/bitbots_diagnostic/launch/aggregator.launch b/src/bitbots_misc/bitbots_diagnostic/launch/aggregator.launch similarity index 100% rename from bitbots_misc/bitbots_diagnostic/launch/aggregator.launch rename to src/bitbots_misc/bitbots_diagnostic/launch/aggregator.launch diff --git a/bitbots_misc/bitbots_diagnostic/package.xml b/src/bitbots_misc/bitbots_diagnostic/package.xml similarity index 100% rename from bitbots_misc/bitbots_diagnostic/package.xml rename to src/bitbots_misc/bitbots_diagnostic/package.xml diff --git a/bitbots_misc/bitbots_diagnostic/setup.py b/src/bitbots_misc/bitbots_diagnostic/setup.py similarity index 100% rename from bitbots_misc/bitbots_diagnostic/setup.py rename to src/bitbots_misc/bitbots_diagnostic/setup.py diff --git a/bitbots_misc/bitbots_docs/CMakeLists.txt b/src/bitbots_misc/bitbots_docs/CMakeLists.txt similarity index 100% rename from bitbots_misc/bitbots_docs/CMakeLists.txt rename to src/bitbots_misc/bitbots_docs/CMakeLists.txt diff --git a/bitbots_misc/bitbots_docs/cmake/enable_bitbots_docs.cmake.in b/src/bitbots_misc/bitbots_docs/cmake/enable_bitbots_docs.cmake.in similarity index 100% rename from bitbots_misc/bitbots_docs/cmake/enable_bitbots_docs.cmake.in rename to src/bitbots_misc/bitbots_docs/cmake/enable_bitbots_docs.cmake.in diff --git a/bitbots_misc/bitbots_docs/docs/_static/bitbots_cpp_style.xml b/src/bitbots_misc/bitbots_docs/docs/_static/bitbots_cpp_style.xml similarity index 100% rename from bitbots_misc/bitbots_docs/docs/_static/bitbots_cpp_style.xml rename to src/bitbots_misc/bitbots_docs/docs/_static/bitbots_cpp_style.xml diff --git a/bitbots_misc/bitbots_docs/docs/_static/bitbots_python_style.xml b/src/bitbots_misc/bitbots_docs/docs/_static/bitbots_python_style.xml similarity index 100% rename from bitbots_misc/bitbots_docs/docs/_static/bitbots_python_style.xml rename to src/bitbots_misc/bitbots_docs/docs/_static/bitbots_python_style.xml diff --git a/bitbots_misc/bitbots_docs/docs/_static/logo.png b/src/bitbots_misc/bitbots_docs/docs/_static/logo.png similarity index 100% rename from bitbots_misc/bitbots_docs/docs/_static/logo.png rename to src/bitbots_misc/bitbots_docs/docs/_static/logo.png diff --git a/bitbots_misc/bitbots_docs/docs/conf.py b/src/bitbots_misc/bitbots_docs/docs/conf.py similarity index 100% rename from bitbots_misc/bitbots_docs/docs/conf.py rename to src/bitbots_misc/bitbots_docs/docs/conf.py diff --git a/bitbots_misc/bitbots_docs/docs/index.rst b/src/bitbots_misc/bitbots_docs/docs/index.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/index.rst rename to src/bitbots_misc/bitbots_docs/docs/index.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/bitfoot.rst b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/bitfoot.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/bitfoot.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/bitfoot.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/bitfoot.jpeg b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/bitfoot.jpeg similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/bitfoot.jpeg rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/bitfoot.jpeg diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/bitfoot.svg b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/bitfoot.svg similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/bitfoot.svg rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/bitfoot.svg diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/bitfoot_mounted.jpeg b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/bitfoot_mounted.jpeg similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/bitfoot_mounted.jpeg rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/bitfoot_mounted.jpeg diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/constant_voltage.jpg b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/constant_voltage.jpg similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/constant_voltage.jpg rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/constant_voltage.jpg diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/core.png b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/core.png similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/core.png rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/core.png diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/core_bodge.png b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/core_bodge.png similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/core_bodge.png rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/core_bodge.png diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/imu_back.jpg b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/imu_back.jpg similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/imu_back.jpg rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/imu_back.jpg diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/imu_front_empty.jpg b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/imu_front_empty.jpg similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/imu_front_empty.jpg rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/imu_front_empty.jpg diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/imu_mounted.jpg b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/imu_mounted.jpg similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/imu_mounted.jpg rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/imu_mounted.jpg diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/speaker_empty.png b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/speaker_empty.png similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/speaker_empty.png rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/speaker_empty.png diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/speaker_empty.svg b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/speaker_empty.svg similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/speaker_empty.svg rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/speaker_empty.svg diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/speaker_mounted.jpg b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/speaker_mounted.jpg similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/speaker_mounted.jpg rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/img/speaker_mounted.jpg diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/imu_dxl.rst b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/imu_dxl.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/imu_dxl.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/imu_dxl.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/register_tables/bitfoot_registers.ods b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/register_tables/bitfoot_registers.ods similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/register_tables/bitfoot_registers.ods rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/register_tables/bitfoot_registers.ods diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/register_tables/core_registers.ods b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/register_tables/core_registers.ods similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/register_tables/core_registers.ods rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/register_tables/core_registers.ods diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/register_tables/imu_registers.ods b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/register_tables/imu_registers.ods similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/register_tables/imu_registers.ods rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/register_tables/imu_registers.ods diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/speaker.rst b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/speaker.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/speaker.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/speaker.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/wolfgang_constant_voltage.rst b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/wolfgang_constant_voltage.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/wolfgang_constant_voltage.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/wolfgang_constant_voltage.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/wolfgang_core.rst b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/wolfgang_core.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/wolfgang_core.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/electronics/wolfgang_core.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/motorcable.rst b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/motorcable.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/motorcable.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/motorcable.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/screws.rst b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/screws.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/screws.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/screws.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/screws/screws.jpg b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/screws/screws.jpg similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/screws/screws.jpg rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/screws/screws.jpg diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/servo_numbers.rst b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/servo_numbers.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/servo_numbers.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/servo_numbers.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/servos/servo_numbers.png b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/servos/servo_numbers.png similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/servos/servo_numbers.png rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/servos/servo_numbers.png diff --git a/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/servos/servo_numbers.svg b/src/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/servos/servo_numbers.svg similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/servos/servo_numbers.svg rename to src/bitbots_misc/bitbots_docs/docs/manual/hardware/mechanics/servos/servo_numbers.svg diff --git a/bitbots_misc/bitbots_docs/docs/manual/software/coding_style.rst b/src/bitbots_misc/bitbots_docs/docs/manual/software/coding_style.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/software/coding_style.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/software/coding_style.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/testing/competition_preparation.rst b/src/bitbots_misc/bitbots_docs/docs/manual/testing/competition_preparation.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/testing/competition_preparation.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/testing/competition_preparation.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/testing/sim_test.rst b/src/bitbots_misc/bitbots_docs/docs/manual/testing/sim_test.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/testing/sim_test.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/testing/sim_test.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/testing/test_motion.rst b/src/bitbots_misc/bitbots_docs/docs/manual/testing/test_motion.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/testing/test_motion.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/testing/test_motion.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/testing/test_robot_hardware.rst b/src/bitbots_misc/bitbots_docs/docs/manual/testing/test_robot_hardware.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/testing/test_robot_hardware.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/testing/test_robot_hardware.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/testing/testing.rst b/src/bitbots_misc/bitbots_docs/docs/manual/testing/testing.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/testing/testing.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/testing/testing.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/Docs-How-To.rst b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/Docs-How-To.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/Docs-How-To.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/Docs-How-To.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/cl_simulation_testing_setup.rst b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/cl_simulation_testing_setup.rst similarity index 94% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/cl_simulation_testing_setup.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/cl_simulation_testing_setup.rst index 2942f71a2..f14d00184 100644 --- a/bitbots_misc/bitbots_docs/docs/manual/tutorials/cl_simulation_testing_setup.rst +++ b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/cl_simulation_testing_setup.rst @@ -19,19 +19,16 @@ As such you can lookup some of the needed requirements there. - setup bitbots_main in your home directory .. code-block:: bash - - mkdir -p "$HOME/colcon_ws/src" - cd "$HOME/colcon_ws/src" git clone git@github.com:bit-bots/bitbots_main.git && cd bitbots_main - make install-no-root + just install-no-root - set PATH and COLCON_WS (see `section 5 `_) **2. Compile the packages** -If while testing you are changing code or updating ``bitbots_main`` via ``make pull-all``, +If while testing you are changing code or updating ``bitbots_main`` via ``just update-no-root``, this step needs to be done again. -For compilation of the whole meta repository run ``cba``, which is an alias for: +For compilation of the whole meta repository run ``just build``, which is an alias for: ``cd $COLCON_WS; colcon build --symlink-install --continue-on-error`` After a successful run, before we are able to use any ros commands we now need to source colcon built sources with ``sa``, which is an alias for: diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/competition_wifi.rst b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/competition_wifi.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/competition_wifi.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/competition_wifi.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/configure_and_flash_robot.rst b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/configure_and_flash_robot.rst similarity index 73% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/configure_and_flash_robot.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/configure_and_flash_robot.rst index 17534550d..ec9f13026 100644 --- a/bitbots_misc/bitbots_docs/docs/manual/tutorials/configure_and_flash_robot.rst +++ b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/configure_and_flash_robot.rst @@ -50,7 +50,7 @@ At a competition, follow these steps: .. code-block:: bash - ./scripts/deploy_robots.py + just deploy This does the 5 following tasks: - Synchronize/Copy the current state of your local bitbots_main directory to the robot(s) @@ -63,7 +63,7 @@ At a competition, follow these steps: .. code-block:: bash - ./scripts/deploy_robots.py -h + just deploy -h #. **Optional: Connect to the robot:** Simply copy-paste the command provided by the deploy-tool when its finished. @@ -97,7 +97,6 @@ Our Ansible setup is able to configure the following aspects of the robot: - Configuration of competition Wi-Fi networks (see :doc:`competition_wifi`) - Configuration of USB-Ethernet adapter as slave of a bridge interface, to allow for removal without losing the interface utilized by ros/dds - Configuration of custom MTU of 9000 (jumbo frames) for Ethernet connection to the basler camera -- Setup of custom apt repositories/packages (e.g. `packages.bit-bots.de `_ if applicable) - Installation and configuration of ROS and DDS - Configuration of Vulkan packages/drivers @@ -114,39 +113,3 @@ Ansible will execute the playbook with the ``bitbots`` user on the robots and wi .. note:: Does DNS not resolve ``nuc*``? See :doc:`configure_hostnames` to fix this. - -LEGACY: Sync/Build the software using the ``robot_compile`` tool: ------------------------------------------------------------------ - -We utilize a python script located in ``bitbots_main/scripts/robot_compile.py`` to allow doing the following: - -- sync the local code of the whole ``bitbots_main`` or a single package onto a robot -- build the synced code on the robot afterwards -- automatically install required dependencies with ``rosdep install`` if the robot has an active internet connection -- clean the whole ``~/colcon_ws`` on a robot -- interactively configure the ``game_settings.yaml`` on a robot to prepare it for a game -- activate the fields Wi-Fi connection and disable all others - -A full overview all the options are viewable with the ``-h`` flag. - -**Exemplary commands:** - -.. code-block:: bash - - # full sync/build of bitbots_main - ./scripts/robot_compile.py nuc1 - - # rm everything before full sync/compile - ./scripts/robot_compile.py --clean-src --clean-build nuc1 - - # sync/build and configure robot for game after - ./scripts/robot_compile.py -k nuc1 - - # only configure robot for game - ./scripts/robot_compile.py -K nuc1 - - # only sync/build a single package (bitbots_vision) - ./scripts/robot_compile.py -p bitbots_vision nuc1 - - # sync/clean build a single package (bitbots_vision) - ./scripts/robot_compile.py -p bitbots_vision nuc1 diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/configure_hostnames.rst b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/configure_hostnames.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/configure_hostnames.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/configure_hostnames.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/extrinsic_calibration.rst b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/extrinsic_calibration.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/extrinsic_calibration.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/extrinsic_calibration.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/extrinsic_calibration/camera_coordinate_system.png b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/extrinsic_calibration/camera_coordinate_system.png similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/extrinsic_calibration/camera_coordinate_system.png rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/extrinsic_calibration/camera_coordinate_system.png diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/extrinsic_calibration/right_handed_coordinate_system.png b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/extrinsic_calibration/right_handed_coordinate_system.png similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/extrinsic_calibration/right_handed_coordinate_system.png rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/extrinsic_calibration/right_handed_coordinate_system.png diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/install_software_ros2.rst b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/install_software_ros2.rst similarity index 81% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/install_software_ros2.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/install_software_ros2.rst index 176854de0..8d29bbaac 100644 --- a/bitbots_misc/bitbots_docs/docs/manual/tutorials/install_software_ros2.rst +++ b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/install_software_ros2.rst @@ -3,6 +3,8 @@ Software installation with ROS2 In this tutorial, we will learn how to install ROS2 Jazzy Jalisco on Ubuntu 24.04 and build our software stack. +You might want to look at the :doc:`vscode-dev-container` tutorial, if you want to use a preconfigured development environment with Visual Studio Code and devcontainers. + **TLDR**: single command setup ------------------------------ @@ -51,8 +53,6 @@ Alternatively you can use a devcontainer :doc:`vscode-dev-container`, with a pre ros-jazzy-rqt-robot-monitor \ ros-jazzy-rqt-runtime-monitor -- Run ``sudo rosdep init`` to initialize ``rosdep``, a tool that helps you install system dependencies for ROS packages. - **2. Download our software (if not already done)** - Create a GitHub account, if not already done (see `here `_ for further information) @@ -67,29 +67,19 @@ Alternatively you can use a devcontainer :doc:`vscode-dev-container`, with a pre - Clone the code repository with: ``git clone git@github.com:bit-bots/bitbots_main.git`` Confirm the host key by typing ``yes``, if asked. - Move into the newly created directory with: ``cd bitbots_main`` - - Clone all code and other files by running: ``make install`` + - Clone all code and other files by running: ``just install`` This will take a while, as it downloads all the code and other files from our repositories and additionally installs all missing dependencies (using rosdep and pip). - Finally, it will register pre-commit hooks (automatic code-formatting and warnings), which will be run every time you commit code to our repositories. - -**3. Install Webots** + - Finally, you can register pre-commit hooks with ``just install-pre-commit`` (automatic code-formatting and warnings), which will be run every time you commit code to our repositories. -Webots is a robot simulator, which we use to simulate our robots and test our software. -It is not strictly necessary to install it, but it is very useful for development and testing. -If you want to install it, you can do so by running ``make webots`` in the bitbots_main repository. - -**4. Setup colcon workspace** +**3. Setup colcon workspace** `Colcon `_ is the tool provided by ROS 2 to build and install our ROS packages, so that they can be launched later. -The colcon workspace is where your source code gets build and where we use colcon. - -- Create colcon workspace directory (typically ``~/colcon_ws/``) - - Create directory with: ``mkdir -p ~/colcon_ws/src`` - - Link our software contained in the bitbots_main repo to the newly created ``src`` directory with: ``ln -s ~/git/bitbots/bitbots_main/ ~/colcon_ws/src/bitbots_main`` +The colcon workspace is where your source code gets build and where we use colcon. Nowerdays, we just use the ``bitbots_main`` repository as our colcon workspace, so no further setup is needed. -**5. Final touches** +**4. Final touches** To let your system know where it should find all the ROS 2 dependencies and packages and to add colored output etc., we add a little bit of config to your ``~/.bashrc`` file, which will be run every time you open a new terminal. -In case you are not using the bash shell, replace ``~/.bashrc`` and ``bash`` with your shell's configuration file. +In case you are not using the bash shell, replace ``~/.bashrc`` and ``bash`` with your shell's configuration file. Adapt the colcon workspace path, if you have chosen a different location than ``~/git/bitbots/bitbots_main``. - Run the following command: @@ -110,7 +100,7 @@ In case you are not using the bash shell, replace ``~/.bashrc`` and ``bash`` wit export ROS_AUTOMATIC_DISCOVERY_RANGE=LOCALHOST # Set the default colcon workspace - export COLCON_WS="\$HOME/colcon_ws" + export COLCON_WS="\$HOME/git/bitbots/bitbots_main" # Set the default log level for colcon export COLCON_LOG_LEVEL=30 @@ -123,8 +113,8 @@ In case you are not using the bash shell, replace ``~/.bashrc`` and ``bash`` wit export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp # Load our ros plugin script containing useful functions and aliases for ROS 2 development - if [[ -f \$COLCON_WS/src/bitbots_main/scripts/ros.plugin.sh ]]; then - source \$COLCON_WS/src/bitbots_main/scripts/ros.plugin.sh + if [[ -f \$COLCON_WS/scripts/ros.plugin.sh ]]; then + source \$COLCON_WS/scripts/ros.plugin.sh fi # <<< bit-bots initialize <<< diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/launch_files.rst b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/launch_files.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/launch_files.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/launch_files.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/lowlevel.rst b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/lowlevel.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/lowlevel.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/lowlevel.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/lowlevel/pinouts.jpg b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/lowlevel/pinouts.jpg similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/lowlevel/pinouts.jpg rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/lowlevel/pinouts.jpg diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/optimization_with_optuna.rst b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/optimization_with_optuna.rst similarity index 100% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/optimization_with_optuna.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/optimization_with_optuna.rst diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/vscode-dev-container.rst b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/vscode-dev-container.rst similarity index 94% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/vscode-dev-container.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/vscode-dev-container.rst index 396af9446..38eb00a73 100644 --- a/bitbots_misc/bitbots_docs/docs/manual/tutorials/vscode-dev-container.rst +++ b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/vscode-dev-container.rst @@ -35,7 +35,7 @@ Known issues ------------ - Rebuilding the container results in all modifications to the container being lost. This does not include the repository, which itself is persisted in the container. -- Sometimes `make install` results in an `mktemp: failed to create file via template ‘/tmp/tmp.XXXXXXXXXX’: Permission denied`. I spend some time trying to fix this but couldn't find a solution. The workaround is to run `make install` again. This time it should work. +- Sometimes `just install` results in an `mktemp: failed to create file via template ‘/tmp/tmp.XXXXXXXXXX’: Permission denied`. I spend some time trying to fix this but couldn't find a solution. The workaround is to run `just install` again. This time it should work. - I did everything as stated, but my python IntelliSense does not pick up bit-bots related packages. To solve this open the command palette (Ctrl+Shift+P) and run `ROS: Update Python Path`. This should fix the issue. - GUI applications do not start. Run `xhost local:root` on the **host** machine to fix this. - I can not find my files in the home directory. The home directory is mounted at `/srv/host_home` in the container. You can find your files there. diff --git a/bitbots_misc/bitbots_docs/docs/manual/tutorials/vscode-ros2.rst b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/vscode-ros2.rst similarity index 94% rename from bitbots_misc/bitbots_docs/docs/manual/tutorials/vscode-ros2.rst rename to src/bitbots_misc/bitbots_docs/docs/manual/tutorials/vscode-ros2.rst index 23030b7cf..5eb4261ae 100644 --- a/bitbots_misc/bitbots_docs/docs/manual/tutorials/vscode-ros2.rst +++ b/src/bitbots_misc/bitbots_docs/docs/manual/tutorials/vscode-ros2.rst @@ -5,8 +5,6 @@ Setup VSCode with ROS2 Open a terminal. Navigate to your colcon workspace. -`cd colcon_ws` - Source ros `source /opt/ros/jazzy/setup.zsh` @@ -40,7 +38,7 @@ An example vscode launch configuration and the corresponding python launch file { "name": "head behavior", "request": "launch", - "target": "$HOME/colcon_ws/install/bitbots_head_behavior/share/bitbots_head_behavior/launch/test.py", + "target": "$COLCON_WS/src/bitbots_head_behavior/share/bitbots_head_behavior/launch/test.py", "launch": "[rviz, gz, gzclient, gzserver]", "type": "ros" } diff --git a/bitbots_misc/bitbots_docs/files/_static/logo.png b/src/bitbots_misc/bitbots_docs/files/_static/logo.png similarity index 100% rename from bitbots_misc/bitbots_docs/files/_static/logo.png rename to src/bitbots_misc/bitbots_docs/files/_static/logo.png diff --git a/bitbots_misc/bitbots_docs/files/_templates/.gitkeep b/src/bitbots_misc/bitbots_docs/files/_templates/.gitkeep similarity index 100% rename from bitbots_misc/bitbots_docs/files/_templates/.gitkeep rename to src/bitbots_misc/bitbots_docs/files/_templates/.gitkeep diff --git a/bitbots_misc/bitbots_docs/files/conf.py b/src/bitbots_misc/bitbots_docs/files/conf.py similarity index 100% rename from bitbots_misc/bitbots_docs/files/conf.py rename to src/bitbots_misc/bitbots_docs/files/conf.py diff --git a/bitbots_misc/bitbots_docs/files/index.rst b/src/bitbots_misc/bitbots_docs/files/index.rst similarity index 100% rename from bitbots_misc/bitbots_docs/files/index.rst rename to src/bitbots_misc/bitbots_docs/files/index.rst diff --git a/bitbots_misc/bitbots_docs/package.xml b/src/bitbots_misc/bitbots_docs/package.xml similarity index 100% rename from bitbots_misc/bitbots_docs/package.xml rename to src/bitbots_misc/bitbots_docs/package.xml diff --git a/bitbots_misc/bitbots_extrinsic_calibration/CMakeLists.txt b/src/bitbots_misc/bitbots_extrinsic_calibration/CMakeLists.txt similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/CMakeLists.txt rename to src/bitbots_misc/bitbots_extrinsic_calibration/CMakeLists.txt diff --git a/bitbots_misc/bitbots_extrinsic_calibration/config/amy.yaml b/src/bitbots_misc/bitbots_extrinsic_calibration/config/amy.yaml similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/config/amy.yaml rename to src/bitbots_misc/bitbots_extrinsic_calibration/config/amy.yaml diff --git a/bitbots_misc/bitbots_extrinsic_calibration/config/default.yaml b/src/bitbots_misc/bitbots_extrinsic_calibration/config/default.yaml similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/config/default.yaml rename to src/bitbots_misc/bitbots_extrinsic_calibration/config/default.yaml diff --git a/bitbots_misc/bitbots_extrinsic_calibration/config/donna.yaml b/src/bitbots_misc/bitbots_extrinsic_calibration/config/donna.yaml similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/config/donna.yaml rename to src/bitbots_misc/bitbots_extrinsic_calibration/config/donna.yaml diff --git a/bitbots_misc/bitbots_extrinsic_calibration/config/extrinsic_calibration.rviz b/src/bitbots_misc/bitbots_extrinsic_calibration/config/extrinsic_calibration.rviz similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/config/extrinsic_calibration.rviz rename to src/bitbots_misc/bitbots_extrinsic_calibration/config/extrinsic_calibration.rviz diff --git a/bitbots_misc/bitbots_extrinsic_calibration/config/jack.yaml b/src/bitbots_misc/bitbots_extrinsic_calibration/config/jack.yaml similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/config/jack.yaml rename to src/bitbots_misc/bitbots_extrinsic_calibration/config/jack.yaml diff --git a/bitbots_misc/bitbots_extrinsic_calibration/config/melody.yaml b/src/bitbots_misc/bitbots_extrinsic_calibration/config/melody.yaml similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/config/melody.yaml rename to src/bitbots_misc/bitbots_extrinsic_calibration/config/melody.yaml diff --git a/bitbots_misc/bitbots_extrinsic_calibration/config/rory.yaml b/src/bitbots_misc/bitbots_extrinsic_calibration/config/rory.yaml similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/config/rory.yaml rename to src/bitbots_misc/bitbots_extrinsic_calibration/config/rory.yaml diff --git a/bitbots_misc/bitbots_extrinsic_calibration/docs/_static/logo.png b/src/bitbots_misc/bitbots_extrinsic_calibration/docs/_static/logo.png similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/docs/_static/logo.png rename to src/bitbots_misc/bitbots_extrinsic_calibration/docs/_static/logo.png diff --git a/bitbots_misc/bitbots_extrinsic_calibration/docs/conf.py b/src/bitbots_misc/bitbots_extrinsic_calibration/docs/conf.py similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/docs/conf.py rename to src/bitbots_misc/bitbots_extrinsic_calibration/docs/conf.py diff --git a/bitbots_misc/bitbots_extrinsic_calibration/docs/index.rst b/src/bitbots_misc/bitbots_extrinsic_calibration/docs/index.rst similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/docs/index.rst rename to src/bitbots_misc/bitbots_extrinsic_calibration/docs/index.rst diff --git a/bitbots_misc/bitbots_extrinsic_calibration/launch/calibration.launch b/src/bitbots_misc/bitbots_extrinsic_calibration/launch/calibration.launch similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/launch/calibration.launch rename to src/bitbots_misc/bitbots_extrinsic_calibration/launch/calibration.launch diff --git a/bitbots_misc/bitbots_extrinsic_calibration/launch/viz_extrinsic_calibration.launch b/src/bitbots_misc/bitbots_extrinsic_calibration/launch/viz_extrinsic_calibration.launch similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/launch/viz_extrinsic_calibration.launch rename to src/bitbots_misc/bitbots_extrinsic_calibration/launch/viz_extrinsic_calibration.launch diff --git a/bitbots_misc/bitbots_extrinsic_calibration/package.xml b/src/bitbots_misc/bitbots_extrinsic_calibration/package.xml similarity index 100% rename from bitbots_misc/bitbots_extrinsic_calibration/package.xml rename to src/bitbots_misc/bitbots_extrinsic_calibration/package.xml diff --git a/bitbots_misc/bitbots_extrinsic_calibration/src/extrinsic_calibration.cpp b/src/bitbots_misc/bitbots_extrinsic_calibration/src/extrinsic_calibration.cpp similarity index 95% rename from bitbots_misc/bitbots_extrinsic_calibration/src/extrinsic_calibration.cpp rename to src/bitbots_misc/bitbots_extrinsic_calibration/src/extrinsic_calibration.cpp index ba668a025..8c93cc078 100644 --- a/bitbots_misc/bitbots_extrinsic_calibration/src/extrinsic_calibration.cpp +++ b/src/bitbots_misc/bitbots_extrinsic_calibration/src/extrinsic_calibration.cpp @@ -28,8 +28,8 @@ class ExtrinsicCalibrationBroadcaster : public rclcpp::Node { this->add_on_set_parameters_callback(std::bind(&ExtrinsicCalibrationBroadcaster::onSetParameters, this, _1)); } - rcl_interfaces::msg::SetParametersResult onSetParameters(const std::vector ¶meters) { - for (const auto ¶meter : parameters) { + rcl_interfaces::msg::SetParametersResult onSetParameters(const std::vector& parameters) { + for (const auto& parameter : parameters) { if (parameter.get_name() == "offset_x") { offset_x_ = parameter.as_double(); } else if (parameter.get_name() == "offset_y") { @@ -72,7 +72,7 @@ class ExtrinsicCalibrationBroadcaster : public rclcpp::Node { double offset_x_ = 0, offset_y_ = 0, offset_z_ = 0; }; -int main(int argc, char **argv) { +int main(int argc, char** argv) { rclcpp::init(argc, argv); auto node = std::make_shared(); diff --git a/bitbots_misc/bitbots_ipm/CMakeLists.txt b/src/bitbots_misc/bitbots_ipm/CMakeLists.txt similarity index 100% rename from bitbots_misc/bitbots_ipm/CMakeLists.txt rename to src/bitbots_misc/bitbots_ipm/CMakeLists.txt diff --git a/bitbots_misc/bitbots_ipm/config/ipm.rviz b/src/bitbots_misc/bitbots_ipm/config/ipm.rviz similarity index 100% rename from bitbots_misc/bitbots_ipm/config/ipm.rviz rename to src/bitbots_misc/bitbots_ipm/config/ipm.rviz diff --git a/bitbots_misc/bitbots_ipm/config/soccer_ipm.yaml b/src/bitbots_misc/bitbots_ipm/config/soccer_ipm.yaml similarity index 100% rename from bitbots_misc/bitbots_ipm/config/soccer_ipm.yaml rename to src/bitbots_misc/bitbots_ipm/config/soccer_ipm.yaml diff --git a/bitbots_misc/bitbots_ipm/launch/ipm.launch b/src/bitbots_misc/bitbots_ipm/launch/ipm.launch similarity index 100% rename from bitbots_misc/bitbots_ipm/launch/ipm.launch rename to src/bitbots_misc/bitbots_ipm/launch/ipm.launch diff --git a/bitbots_misc/bitbots_ipm/package.xml b/src/bitbots_misc/bitbots_ipm/package.xml similarity index 100% rename from bitbots_misc/bitbots_ipm/package.xml rename to src/bitbots_misc/bitbots_ipm/package.xml diff --git a/bitbots_misc/bitbots_ipm/setup.py b/src/bitbots_misc/bitbots_ipm/setup.py similarity index 100% rename from bitbots_misc/bitbots_ipm/setup.py rename to src/bitbots_misc/bitbots_ipm/setup.py diff --git a/bitbots_misc/bitbots_parameter_blackboard/CMakeLists.txt b/src/bitbots_misc/bitbots_parameter_blackboard/CMakeLists.txt similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/CMakeLists.txt rename to src/bitbots_misc/bitbots_parameter_blackboard/CMakeLists.txt diff --git a/bitbots_misc/bitbots_parameter_blackboard/bitbots_parameter_blackboard/__init__.py b/src/bitbots_misc/bitbots_parameter_blackboard/bitbots_parameter_blackboard/__init__.py similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/bitbots_parameter_blackboard/__init__.py rename to src/bitbots_misc/bitbots_parameter_blackboard/bitbots_parameter_blackboard/__init__.py diff --git a/bitbots_misc/bitbots_parameter_blackboard/bitbots_parameter_blackboard/game_settings.py b/src/bitbots_misc/bitbots_parameter_blackboard/bitbots_parameter_blackboard/game_settings.py similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/bitbots_parameter_blackboard/game_settings.py rename to src/bitbots_misc/bitbots_parameter_blackboard/bitbots_parameter_blackboard/game_settings.py diff --git a/bitbots_misc/bitbots_parameter_blackboard/config/default_game_settings.yaml b/src/bitbots_misc/bitbots_parameter_blackboard/config/default_game_settings.yaml similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/config/default_game_settings.yaml rename to src/bitbots_misc/bitbots_parameter_blackboard/config/default_game_settings.yaml diff --git a/bitbots_misc/bitbots_parameter_blackboard/config/fields/german_open_2024/config.yaml b/src/bitbots_misc/bitbots_parameter_blackboard/config/fields/german_open_2024/config.yaml similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/config/fields/german_open_2024/config.yaml rename to src/bitbots_misc/bitbots_parameter_blackboard/config/fields/german_open_2024/config.yaml diff --git a/bitbots_misc/bitbots_parameter_blackboard/config/fields/german_open_2024/lines.png b/src/bitbots_misc/bitbots_parameter_blackboard/config/fields/german_open_2024/lines.png similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/config/fields/german_open_2024/lines.png rename to src/bitbots_misc/bitbots_parameter_blackboard/config/fields/german_open_2024/lines.png diff --git a/bitbots_misc/bitbots_parameter_blackboard/config/fields/labor/config.yaml b/src/bitbots_misc/bitbots_parameter_blackboard/config/fields/labor/config.yaml similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/config/fields/labor/config.yaml rename to src/bitbots_misc/bitbots_parameter_blackboard/config/fields/labor/config.yaml diff --git a/bitbots_misc/bitbots_parameter_blackboard/config/fields/labor/lines.png b/src/bitbots_misc/bitbots_parameter_blackboard/config/fields/labor/lines.png similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/config/fields/labor/lines.png rename to src/bitbots_misc/bitbots_parameter_blackboard/config/fields/labor/lines.png diff --git a/bitbots_misc/bitbots_parameter_blackboard/config/fields/spl/config.yaml b/src/bitbots_misc/bitbots_parameter_blackboard/config/fields/spl/config.yaml similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/config/fields/spl/config.yaml rename to src/bitbots_misc/bitbots_parameter_blackboard/config/fields/spl/config.yaml diff --git a/bitbots_misc/bitbots_parameter_blackboard/config/fields/spl/lines.png b/src/bitbots_misc/bitbots_parameter_blackboard/config/fields/spl/lines.png similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/config/fields/spl/lines.png rename to src/bitbots_misc/bitbots_parameter_blackboard/config/fields/spl/lines.png diff --git a/bitbots_misc/bitbots_parameter_blackboard/config/fields/webots/config.yaml b/src/bitbots_misc/bitbots_parameter_blackboard/config/fields/webots/config.yaml similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/config/fields/webots/config.yaml rename to src/bitbots_misc/bitbots_parameter_blackboard/config/fields/webots/config.yaml diff --git a/bitbots_misc/bitbots_parameter_blackboard/config/fields/webots/lines.png b/src/bitbots_misc/bitbots_parameter_blackboard/config/fields/webots/lines.png similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/config/fields/webots/lines.png rename to src/bitbots_misc/bitbots_parameter_blackboard/config/fields/webots/lines.png diff --git a/bitbots_misc/bitbots_parameter_blackboard/config/game_settings.yaml b/src/bitbots_misc/bitbots_parameter_blackboard/config/game_settings.yaml similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/config/game_settings.yaml rename to src/bitbots_misc/bitbots_parameter_blackboard/config/game_settings.yaml diff --git a/bitbots_misc/bitbots_parameter_blackboard/config/game_settings_options.yaml b/src/bitbots_misc/bitbots_parameter_blackboard/config/game_settings_options.yaml similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/config/game_settings_options.yaml rename to src/bitbots_misc/bitbots_parameter_blackboard/config/game_settings_options.yaml diff --git a/bitbots_misc/bitbots_parameter_blackboard/config/global_parameters.yaml b/src/bitbots_misc/bitbots_parameter_blackboard/config/global_parameters.yaml similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/config/global_parameters.yaml rename to src/bitbots_misc/bitbots_parameter_blackboard/config/global_parameters.yaml diff --git a/bitbots_misc/bitbots_parameter_blackboard/docs/_static/logo.png b/src/bitbots_misc/bitbots_parameter_blackboard/docs/_static/logo.png similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/docs/_static/logo.png rename to src/bitbots_misc/bitbots_parameter_blackboard/docs/_static/logo.png diff --git a/bitbots_misc/bitbots_parameter_blackboard/docs/conf.py b/src/bitbots_misc/bitbots_parameter_blackboard/docs/conf.py similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/docs/conf.py rename to src/bitbots_misc/bitbots_parameter_blackboard/docs/conf.py diff --git a/bitbots_misc/bitbots_parameter_blackboard/docs/index.rst b/src/bitbots_misc/bitbots_parameter_blackboard/docs/index.rst similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/docs/index.rst rename to src/bitbots_misc/bitbots_parameter_blackboard/docs/index.rst diff --git a/bitbots_misc/bitbots_parameter_blackboard/launch/parameter_blackboard.launch b/src/bitbots_misc/bitbots_parameter_blackboard/launch/parameter_blackboard.launch similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/launch/parameter_blackboard.launch rename to src/bitbots_misc/bitbots_parameter_blackboard/launch/parameter_blackboard.launch diff --git a/bitbots_misc/bitbots_parameter_blackboard/package.xml b/src/bitbots_misc/bitbots_parameter_blackboard/package.xml similarity index 100% rename from bitbots_misc/bitbots_parameter_blackboard/package.xml rename to src/bitbots_misc/bitbots_parameter_blackboard/package.xml diff --git a/bitbots_misc/bitbots_robot_description/CMakeLists.txt b/src/bitbots_misc/bitbots_robot_description/CMakeLists.txt similarity index 100% rename from bitbots_misc/bitbots_robot_description/CMakeLists.txt rename to src/bitbots_misc/bitbots_robot_description/CMakeLists.txt diff --git a/bitbots_misc/bitbots_robot_description/docs/_static/logo.png b/src/bitbots_misc/bitbots_robot_description/docs/_static/logo.png similarity index 100% rename from bitbots_misc/bitbots_robot_description/docs/_static/logo.png rename to src/bitbots_misc/bitbots_robot_description/docs/_static/logo.png diff --git a/bitbots_misc/bitbots_robot_description/docs/conf.py b/src/bitbots_misc/bitbots_robot_description/docs/conf.py similarity index 100% rename from bitbots_misc/bitbots_robot_description/docs/conf.py rename to src/bitbots_misc/bitbots_robot_description/docs/conf.py diff --git a/bitbots_misc/bitbots_robot_description/docs/index.rst b/src/bitbots_misc/bitbots_robot_description/docs/index.rst similarity index 100% rename from bitbots_misc/bitbots_robot_description/docs/index.rst rename to src/bitbots_misc/bitbots_robot_description/docs/index.rst diff --git a/bitbots_misc/bitbots_robot_description/launch/load_robot_description.launch b/src/bitbots_misc/bitbots_robot_description/launch/load_robot_description.launch similarity index 100% rename from bitbots_misc/bitbots_robot_description/launch/load_robot_description.launch rename to src/bitbots_misc/bitbots_robot_description/launch/load_robot_description.launch diff --git a/bitbots_misc/bitbots_robot_description/launch/move_group.py b/src/bitbots_misc/bitbots_robot_description/launch/move_group.py similarity index 100% rename from bitbots_misc/bitbots_robot_description/launch/move_group.py rename to src/bitbots_misc/bitbots_robot_description/launch/move_group.py diff --git a/bitbots_misc/bitbots_robot_description/package.xml b/src/bitbots_misc/bitbots_robot_description/package.xml similarity index 100% rename from bitbots_misc/bitbots_robot_description/package.xml rename to src/bitbots_misc/bitbots_robot_description/package.xml diff --git a/bitbots_misc/bitbots_teleop/CMakeLists.txt b/src/bitbots_misc/bitbots_teleop/CMakeLists.txt similarity index 100% rename from bitbots_misc/bitbots_teleop/CMakeLists.txt rename to src/bitbots_misc/bitbots_teleop/CMakeLists.txt diff --git a/bitbots_misc/bitbots_teleop/bitbots_teleop/__init__.py b/src/bitbots_misc/bitbots_teleop/bitbots_teleop/__init__.py similarity index 100% rename from bitbots_misc/bitbots_teleop/bitbots_teleop/__init__.py rename to src/bitbots_misc/bitbots_teleop/bitbots_teleop/__init__.py diff --git a/bitbots_misc/bitbots_teleop/bitbots_teleop/joy_node.py b/src/bitbots_misc/bitbots_teleop/bitbots_teleop/joy_node.py similarity index 100% rename from bitbots_misc/bitbots_teleop/bitbots_teleop/joy_node.py rename to src/bitbots_misc/bitbots_teleop/bitbots_teleop/joy_node.py diff --git a/bitbots_misc/bitbots_teleop/config/controller.yaml b/src/bitbots_misc/bitbots_teleop/config/controller.yaml similarity index 100% rename from bitbots_misc/bitbots_teleop/config/controller.yaml rename to src/bitbots_misc/bitbots_teleop/config/controller.yaml diff --git a/bitbots_misc/bitbots_teleop/docs/_static/logo.png b/src/bitbots_misc/bitbots_teleop/docs/_static/logo.png similarity index 100% rename from bitbots_misc/bitbots_teleop/docs/_static/logo.png rename to src/bitbots_misc/bitbots_teleop/docs/_static/logo.png diff --git a/bitbots_misc/bitbots_teleop/docs/index.rst b/src/bitbots_misc/bitbots_teleop/docs/index.rst similarity index 100% rename from bitbots_misc/bitbots_teleop/docs/index.rst rename to src/bitbots_misc/bitbots_teleop/docs/index.rst diff --git a/bitbots_misc/bitbots_teleop/launch/robot_teleop.launch b/src/bitbots_misc/bitbots_teleop/launch/robot_teleop.launch similarity index 100% rename from bitbots_misc/bitbots_teleop/launch/robot_teleop.launch rename to src/bitbots_misc/bitbots_teleop/launch/robot_teleop.launch diff --git a/bitbots_misc/bitbots_teleop/package.xml b/src/bitbots_misc/bitbots_teleop/package.xml similarity index 100% rename from bitbots_misc/bitbots_teleop/package.xml rename to src/bitbots_misc/bitbots_teleop/package.xml diff --git a/bitbots_misc/bitbots_teleop/resource/bitbots_teleop b/src/bitbots_misc/bitbots_teleop/resource/bitbots_teleop similarity index 100% rename from bitbots_misc/bitbots_teleop/resource/bitbots_teleop rename to src/bitbots_misc/bitbots_teleop/resource/bitbots_teleop diff --git a/bitbots_misc/bitbots_teleop/scripts/teleop_keyboard.py b/src/bitbots_misc/bitbots_teleop/scripts/teleop_keyboard.py similarity index 100% rename from bitbots_misc/bitbots_teleop/scripts/teleop_keyboard.py rename to src/bitbots_misc/bitbots_teleop/scripts/teleop_keyboard.py diff --git a/bitbots_misc/bitbots_teleop/setup.cfg b/src/bitbots_misc/bitbots_teleop/setup.cfg similarity index 100% rename from bitbots_misc/bitbots_teleop/setup.cfg rename to src/bitbots_misc/bitbots_teleop/setup.cfg diff --git a/bitbots_misc/bitbots_teleop/setup.py b/src/bitbots_misc/bitbots_teleop/setup.py similarity index 100% rename from bitbots_misc/bitbots_teleop/setup.py rename to src/bitbots_misc/bitbots_teleop/setup.py diff --git a/bitbots_misc/bitbots_tts/bitbots_tts/__init__.py b/src/bitbots_misc/bitbots_tts/bitbots_tts/__init__.py similarity index 100% rename from bitbots_misc/bitbots_tts/bitbots_tts/__init__.py rename to src/bitbots_misc/bitbots_tts/bitbots_tts/__init__.py diff --git a/bitbots_misc/bitbots_tts/bitbots_tts/tts.py b/src/bitbots_misc/bitbots_tts/bitbots_tts/tts.py similarity index 100% rename from bitbots_misc/bitbots_tts/bitbots_tts/tts.py rename to src/bitbots_misc/bitbots_tts/bitbots_tts/tts.py diff --git a/bitbots_misc/bitbots_tts/config/tts_config.yaml b/src/bitbots_misc/bitbots_tts/config/tts_config.yaml similarity index 100% rename from bitbots_misc/bitbots_tts/config/tts_config.yaml rename to src/bitbots_misc/bitbots_tts/config/tts_config.yaml diff --git a/bitbots_misc/bitbots_tts/docs/_static/logo.png b/src/bitbots_misc/bitbots_tts/docs/_static/logo.png similarity index 100% rename from bitbots_misc/bitbots_tts/docs/_static/logo.png rename to src/bitbots_misc/bitbots_tts/docs/_static/logo.png diff --git a/bitbots_misc/bitbots_tts/docs/conf.py b/src/bitbots_misc/bitbots_tts/docs/conf.py similarity index 100% rename from bitbots_misc/bitbots_tts/docs/conf.py rename to src/bitbots_misc/bitbots_tts/docs/conf.py diff --git a/bitbots_misc/bitbots_tts/docs/index.rst b/src/bitbots_misc/bitbots_tts/docs/index.rst similarity index 100% rename from bitbots_misc/bitbots_tts/docs/index.rst rename to src/bitbots_misc/bitbots_tts/docs/index.rst diff --git a/bitbots_misc/bitbots_tts/launch/tts.launch b/src/bitbots_misc/bitbots_tts/launch/tts.launch similarity index 100% rename from bitbots_misc/bitbots_tts/launch/tts.launch rename to src/bitbots_misc/bitbots_tts/launch/tts.launch diff --git a/bitbots_misc/bitbots_tts/package.xml b/src/bitbots_misc/bitbots_tts/package.xml similarity index 97% rename from bitbots_misc/bitbots_tts/package.xml rename to src/bitbots_misc/bitbots_tts/package.xml index f0a86a2cc..0467dce80 100644 --- a/bitbots_misc/bitbots_tts/package.xml +++ b/src/bitbots_misc/bitbots_tts/package.xml @@ -18,7 +18,6 @@ bitbots_docs bitbots_msgs - espeak std_msgs python3-pytest diff --git a/bitbots_misc/bitbots_tts/resource/bitbots_tts b/src/bitbots_misc/bitbots_tts/resource/bitbots_tts similarity index 100% rename from bitbots_misc/bitbots_tts/resource/bitbots_tts rename to src/bitbots_misc/bitbots_tts/resource/bitbots_tts diff --git a/bitbots_misc/bitbots_tts/scripts/say.sh b/src/bitbots_misc/bitbots_tts/scripts/say.sh similarity index 100% rename from bitbots_misc/bitbots_tts/scripts/say.sh rename to src/bitbots_misc/bitbots_tts/scripts/say.sh diff --git a/bitbots_misc/bitbots_tts/scripts/send_text.py b/src/bitbots_misc/bitbots_tts/scripts/send_text.py similarity index 100% rename from bitbots_misc/bitbots_tts/scripts/send_text.py rename to src/bitbots_misc/bitbots_tts/scripts/send_text.py diff --git a/bitbots_misc/bitbots_tts/scripts/speak_ip.py b/src/bitbots_misc/bitbots_tts/scripts/speak_ip.py similarity index 100% rename from bitbots_misc/bitbots_tts/scripts/speak_ip.py rename to src/bitbots_misc/bitbots_tts/scripts/speak_ip.py diff --git a/bitbots_misc/bitbots_tts/setup.cfg b/src/bitbots_misc/bitbots_tts/setup.cfg similarity index 100% rename from bitbots_misc/bitbots_tts/setup.cfg rename to src/bitbots_misc/bitbots_tts/setup.cfg diff --git a/bitbots_misc/bitbots_tts/setup.py b/src/bitbots_misc/bitbots_tts/setup.py similarity index 100% rename from bitbots_misc/bitbots_tts/setup.py rename to src/bitbots_misc/bitbots_tts/setup.py diff --git a/bitbots_misc/bitbots_utils/CMakeLists.txt b/src/bitbots_misc/bitbots_utils/CMakeLists.txt similarity index 100% rename from bitbots_misc/bitbots_utils/CMakeLists.txt rename to src/bitbots_misc/bitbots_utils/CMakeLists.txt diff --git a/bitbots_misc/bitbots_utils/bitbots_utils/__init__.py b/src/bitbots_misc/bitbots_utils/bitbots_utils/__init__.py similarity index 100% rename from bitbots_misc/bitbots_utils/bitbots_utils/__init__.py rename to src/bitbots_misc/bitbots_utils/bitbots_utils/__init__.py diff --git a/bitbots_misc/bitbots_utils/bitbots_utils/transforms.py b/src/bitbots_misc/bitbots_utils/bitbots_utils/transforms.py similarity index 100% rename from bitbots_misc/bitbots_utils/bitbots_utils/transforms.py rename to src/bitbots_misc/bitbots_utils/bitbots_utils/transforms.py diff --git a/bitbots_misc/bitbots_utils/bitbots_utils/utils.py b/src/bitbots_misc/bitbots_utils/bitbots_utils/utils.py similarity index 100% rename from bitbots_misc/bitbots_utils/bitbots_utils/utils.py rename to src/bitbots_misc/bitbots_utils/bitbots_utils/utils.py diff --git a/bitbots_misc/bitbots_utils/config/welcome_art.txt b/src/bitbots_misc/bitbots_utils/config/welcome_art.txt similarity index 100% rename from bitbots_misc/bitbots_utils/config/welcome_art.txt rename to src/bitbots_misc/bitbots_utils/config/welcome_art.txt diff --git a/bitbots_misc/bitbots_utils/docs/_static/logo.png b/src/bitbots_misc/bitbots_utils/docs/_static/logo.png similarity index 100% rename from bitbots_misc/bitbots_utils/docs/_static/logo.png rename to src/bitbots_misc/bitbots_utils/docs/_static/logo.png diff --git a/bitbots_misc/bitbots_utils/docs/conf.py b/src/bitbots_misc/bitbots_utils/docs/conf.py similarity index 100% rename from bitbots_misc/bitbots_utils/docs/conf.py rename to src/bitbots_misc/bitbots_utils/docs/conf.py diff --git a/bitbots_misc/bitbots_utils/docs/index.rst b/src/bitbots_misc/bitbots_utils/docs/index.rst similarity index 100% rename from bitbots_misc/bitbots_utils/docs/index.rst rename to src/bitbots_misc/bitbots_utils/docs/index.rst diff --git a/bitbots_misc/bitbots_utils/include/bitbots_utils/utils.hpp b/src/bitbots_misc/bitbots_utils/include/bitbots_utils/utils.hpp similarity index 76% rename from bitbots_misc/bitbots_utils/include/bitbots_utils/utils.hpp rename to src/bitbots_misc/bitbots_utils/include/bitbots_utils/utils.hpp index ba486f942..9949541fc 100644 --- a/bitbots_misc/bitbots_utils/include/bitbots_utils/utils.hpp +++ b/src/bitbots_misc/bitbots_utils/include/bitbots_utils/utils.hpp @@ -24,11 +24,11 @@ namespace bitbots_utils { * @param warn_interval Interval in which to keep warning if the frames are not available * @param verbose Can be used to disable the warning messages */ -void wait_for_tf(const rclcpp::Logger &logger, std::shared_ptr clock, tf2_ros::Buffer *tf_buffer, - const std::vector &frames, const std::string &root_frame, - const rclcpp::Duration &check_interval = rclcpp::Duration(0.1s), - const rclcpp::Duration &warn_duration = rclcpp::Duration(5.0s), - const rclcpp::Duration &warn_interval = rclcpp::Duration(1.0s), bool verbose = true); +void wait_for_tf(const rclcpp::Logger& logger, std::shared_ptr clock, tf2_ros::Buffer* tf_buffer, + const std::vector& frames, const std::string& root_frame, + const rclcpp::Duration& check_interval = rclcpp::Duration(0.1s), + const rclcpp::Duration& warn_duration = rclcpp::Duration(5.0s), + const rclcpp::Duration& warn_interval = rclcpp::Duration(1.0s), bool verbose = true); /** * @brief Get the parameters from other node by calling the get_parameters service @@ -42,9 +42,9 @@ void wait_for_tf(const rclcpp::Logger &logger, std::shared_ptr cl */ std::map get_parameters_from_other_node(rclcpp::Node::SharedPtr own_node, - const std::string &other_node_name, - const std::vector ¶meter_names, - const std::chrono::seconds &service_timeout); + const std::string& other_node_name, + const std::vector& parameter_names, + const std::chrono::seconds& service_timeout); } // namespace bitbots_utils diff --git a/bitbots_misc/bitbots_utils/launch/welcome.launch b/src/bitbots_misc/bitbots_utils/launch/welcome.launch similarity index 100% rename from bitbots_misc/bitbots_utils/launch/welcome.launch rename to src/bitbots_misc/bitbots_utils/launch/welcome.launch diff --git a/bitbots_misc/bitbots_utils/package.xml b/src/bitbots_misc/bitbots_utils/package.xml similarity index 100% rename from bitbots_misc/bitbots_utils/package.xml rename to src/bitbots_misc/bitbots_utils/package.xml diff --git a/bitbots_misc/bitbots_utils/scripts/check_robot.py b/src/bitbots_misc/bitbots_utils/scripts/check_robot.py similarity index 100% rename from bitbots_misc/bitbots_utils/scripts/check_robot.py rename to src/bitbots_misc/bitbots_utils/scripts/check_robot.py diff --git a/bitbots_misc/bitbots_utils/scripts/dummy_imu.py b/src/bitbots_misc/bitbots_utils/scripts/dummy_imu.py similarity index 100% rename from bitbots_misc/bitbots_utils/scripts/dummy_imu.py rename to src/bitbots_misc/bitbots_utils/scripts/dummy_imu.py diff --git a/bitbots_misc/bitbots_utils/scripts/motor_goals_viz_helper.py b/src/bitbots_misc/bitbots_utils/scripts/motor_goals_viz_helper.py similarity index 100% rename from bitbots_misc/bitbots_utils/scripts/motor_goals_viz_helper.py rename to src/bitbots_misc/bitbots_utils/scripts/motor_goals_viz_helper.py diff --git a/bitbots_misc/bitbots_utils/scripts/publish_workspace_status.py b/src/bitbots_misc/bitbots_utils/scripts/publish_workspace_status.py similarity index 100% rename from bitbots_misc/bitbots_utils/scripts/publish_workspace_status.py rename to src/bitbots_misc/bitbots_utils/scripts/publish_workspace_status.py diff --git a/bitbots_misc/bitbots_utils/scripts/set_volume.sh b/src/bitbots_misc/bitbots_utils/scripts/set_volume.sh similarity index 100% rename from bitbots_misc/bitbots_utils/scripts/set_volume.sh rename to src/bitbots_misc/bitbots_utils/scripts/set_volume.sh diff --git a/bitbots_misc/bitbots_utils/scripts/tf_delay_plot.cpp b/src/bitbots_misc/bitbots_utils/scripts/tf_delay_plot.cpp similarity index 95% rename from bitbots_misc/bitbots_utils/scripts/tf_delay_plot.cpp rename to src/bitbots_misc/bitbots_utils/scripts/tf_delay_plot.cpp index 35c560ec0..61aa8e95a 100644 --- a/bitbots_misc/bitbots_utils/scripts/tf_delay_plot.cpp +++ b/src/bitbots_misc/bitbots_utils/scripts/tf_delay_plot.cpp @@ -22,7 +22,7 @@ class TfDelayPlot : public rclcpp::Node { void tf_callback(const tf2_msgs::msg::TFMessage::SharedPtr msg) { RCLCPP_INFO(this->get_logger(), "Got transform message"); - for (auto &transform : msg->transforms) { + for (auto& transform : msg->transforms) { // Calculate delay double delay = ((transform.header.stamp.sec * 1.0e9 + transform.header.stamp.nanosec) - this->now().nanoseconds()) / 1.0e9; @@ -45,7 +45,7 @@ class TfDelayPlot : public rclcpp::Node { rclcpp::Subscription::SharedPtr tf_sub_; }; -int main(int argc, char **argv) { +int main(int argc, char** argv) { rclcpp::init(argc, argv); rclcpp::spin(std::make_shared()); rclcpp::shutdown(); diff --git a/bitbots_misc/bitbots_utils/src/utils.cpp b/src/bitbots_misc/bitbots_utils/src/utils.cpp similarity index 86% rename from bitbots_misc/bitbots_utils/src/utils.cpp rename to src/bitbots_misc/bitbots_utils/src/utils.cpp index 2131dec2e..b951ed29c 100644 --- a/bitbots_misc/bitbots_utils/src/utils.cpp +++ b/src/bitbots_misc/bitbots_utils/src/utils.cpp @@ -14,10 +14,10 @@ namespace bitbots_utils { * @param warn_interval Interval in which to keep warning if the frames are not available * @param verbose Can be used to disable the warning messages */ -void wait_for_tf(const rclcpp::Logger &logger, std::shared_ptr clock, tf2_ros::Buffer *tf_buffer, - const std::vector &frames, const std::string &root_frame, - const rclcpp::Duration &check_interval, const rclcpp::Duration &warn_duration, - const rclcpp::Duration &warn_interval, bool verbose) { +void wait_for_tf(const rclcpp::Logger& logger, std::shared_ptr clock, tf2_ros::Buffer* tf_buffer, + const std::vector& frames, const std::string& root_frame, + const rclcpp::Duration& check_interval, const rclcpp::Duration& warn_duration, + const rclcpp::Duration& warn_interval, bool verbose) { // Store the beginning time auto start_time = clock->now(); @@ -36,7 +36,7 @@ void wait_for_tf(const rclcpp::Logger &logger, std::shared_ptr cl } // Check if we can transform from the given root frame to all given frames - if (!std::all_of(frames.begin(), frames.end(), [tf_buffer, root_frame, check_interval](const std::string frame) { + if (!std::all_of(frames.begin(), frames.end(), [tf_buffer, root_frame, check_interval](const std::string& frame) { return tf_buffer->canTransform(root_frame, frame, rclcpp::Time(0), check_interval); })) { // Here it is fine not to wait as the canTransform function already includes a timeout @@ -45,7 +45,7 @@ void wait_for_tf(const rclcpp::Logger &logger, std::shared_ptr cl } // We can transform to all frames, so we are done return; - } catch (const std::exception &e) { + } catch (const std::exception& e) { if (verbose) { RCLCPP_ERROR(logger, "Error while waiting for transforms: %s \n", e.what()); } @@ -62,9 +62,9 @@ void wait_for_tf(const rclcpp::Logger &logger, std::shared_ptr cl } std::map get_parameters_from_other_node(rclcpp::Node::SharedPtr own_node, - const std::string &other_node_name, - const std::vector ¶meter_names, - const std::chrono::seconds &service_timeout) { + const std::string& other_node_name, + const std::vector& parameter_names, + const std::chrono::seconds& service_timeout) { // Create a client to the other node auto client = own_node->create_client(other_node_name + "/get_parameters"); diff --git a/bitbots_misc/system_monitor/config/config.yaml b/src/bitbots_misc/system_monitor/config/config.yaml similarity index 100% rename from bitbots_misc/system_monitor/config/config.yaml rename to src/bitbots_misc/system_monitor/config/config.yaml diff --git a/bitbots_misc/system_monitor/config/plotjuggler_layout.xml b/src/bitbots_misc/system_monitor/config/plotjuggler_layout.xml similarity index 100% rename from bitbots_misc/system_monitor/config/plotjuggler_layout.xml rename to src/bitbots_misc/system_monitor/config/plotjuggler_layout.xml diff --git a/bitbots_misc/system_monitor/docs/_static/logo.png b/src/bitbots_misc/system_monitor/docs/_static/logo.png similarity index 100% rename from bitbots_misc/system_monitor/docs/_static/logo.png rename to src/bitbots_misc/system_monitor/docs/_static/logo.png diff --git a/bitbots_misc/system_monitor/docs/index.rst b/src/bitbots_misc/system_monitor/docs/index.rst similarity index 100% rename from bitbots_misc/system_monitor/docs/index.rst rename to src/bitbots_misc/system_monitor/docs/index.rst diff --git a/bitbots_misc/system_monitor/launch/system_monitor.launch b/src/bitbots_misc/system_monitor/launch/system_monitor.launch similarity index 100% rename from bitbots_misc/system_monitor/launch/system_monitor.launch rename to src/bitbots_misc/system_monitor/launch/system_monitor.launch diff --git a/bitbots_misc/system_monitor/launch/viz.launch b/src/bitbots_misc/system_monitor/launch/viz.launch similarity index 100% rename from bitbots_misc/system_monitor/launch/viz.launch rename to src/bitbots_misc/system_monitor/launch/viz.launch diff --git a/bitbots_misc/system_monitor/package.xml b/src/bitbots_misc/system_monitor/package.xml similarity index 100% rename from bitbots_misc/system_monitor/package.xml rename to src/bitbots_misc/system_monitor/package.xml diff --git a/bitbots_misc/system_monitor/resource/system_monitor b/src/bitbots_misc/system_monitor/resource/system_monitor similarity index 100% rename from bitbots_misc/system_monitor/resource/system_monitor rename to src/bitbots_misc/system_monitor/resource/system_monitor diff --git a/bitbots_misc/system_monitor/setup.cfg b/src/bitbots_misc/system_monitor/setup.cfg similarity index 100% rename from bitbots_misc/system_monitor/setup.cfg rename to src/bitbots_misc/system_monitor/setup.cfg diff --git a/bitbots_misc/system_monitor/setup.py b/src/bitbots_misc/system_monitor/setup.py similarity index 100% rename from bitbots_misc/system_monitor/setup.py rename to src/bitbots_misc/system_monitor/setup.py diff --git a/bitbots_misc/system_monitor/system_monitor/__init__.py b/src/bitbots_misc/system_monitor/system_monitor/__init__.py similarity index 100% rename from bitbots_misc/system_monitor/system_monitor/__init__.py rename to src/bitbots_misc/system_monitor/system_monitor/__init__.py diff --git a/bitbots_misc/system_monitor/system_monitor/cpus.py b/src/bitbots_misc/system_monitor/system_monitor/cpus.py similarity index 100% rename from bitbots_misc/system_monitor/system_monitor/cpus.py rename to src/bitbots_misc/system_monitor/system_monitor/cpus.py diff --git a/bitbots_misc/system_monitor/system_monitor/gpu.py b/src/bitbots_misc/system_monitor/system_monitor/gpu.py similarity index 100% rename from bitbots_misc/system_monitor/system_monitor/gpu.py rename to src/bitbots_misc/system_monitor/system_monitor/gpu.py diff --git a/bitbots_misc/system_monitor/system_monitor/memory.py b/src/bitbots_misc/system_monitor/system_monitor/memory.py similarity index 100% rename from bitbots_misc/system_monitor/system_monitor/memory.py rename to src/bitbots_misc/system_monitor/system_monitor/memory.py diff --git a/bitbots_misc/system_monitor/system_monitor/monitor.py b/src/bitbots_misc/system_monitor/system_monitor/monitor.py similarity index 100% rename from bitbots_misc/system_monitor/system_monitor/monitor.py rename to src/bitbots_misc/system_monitor/system_monitor/monitor.py diff --git a/bitbots_misc/system_monitor/system_monitor/network_interfaces.py b/src/bitbots_misc/system_monitor/system_monitor/network_interfaces.py similarity index 100% rename from bitbots_misc/system_monitor/system_monitor/network_interfaces.py rename to src/bitbots_misc/system_monitor/system_monitor/network_interfaces.py diff --git a/bitbots_motion/README.md b/src/bitbots_motion/README.md similarity index 100% rename from bitbots_motion/README.md rename to src/bitbots_motion/README.md diff --git a/bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/__init__.py b/src/bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/__init__.py similarity index 100% rename from bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/__init__.py rename to src/bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/__init__.py diff --git a/bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/animation_recording.py b/src/bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/animation_recording.py similarity index 100% rename from bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/animation_recording.py rename to src/bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/animation_recording.py diff --git a/bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/record_ui.py b/src/bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/record_ui.py similarity index 100% rename from bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/record_ui.py rename to src/bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/record_ui.py diff --git a/bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/utils.py b/src/bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/utils.py similarity index 100% rename from bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/utils.py rename to src/bitbots_motion/bitbots_animation_rqt/bitbots_animation_rqt/utils.py diff --git a/bitbots_motion/bitbots_animation_rqt/package.xml b/src/bitbots_motion/bitbots_animation_rqt/package.xml similarity index 100% rename from bitbots_motion/bitbots_animation_rqt/package.xml rename to src/bitbots_motion/bitbots_animation_rqt/package.xml diff --git a/bitbots_motion/bitbots_animation_rqt/plugin.xml b/src/bitbots_motion/bitbots_animation_rqt/plugin.xml similarity index 100% rename from bitbots_motion/bitbots_animation_rqt/plugin.xml rename to src/bitbots_motion/bitbots_animation_rqt/plugin.xml diff --git a/bitbots_motion/bitbots_animation_rqt/resource/RecordUI.ui b/src/bitbots_motion/bitbots_animation_rqt/resource/RecordUI.ui similarity index 100% rename from bitbots_motion/bitbots_animation_rqt/resource/RecordUI.ui rename to src/bitbots_motion/bitbots_animation_rqt/resource/RecordUI.ui diff --git a/bitbots_motion/bitbots_animation_rqt/resource/bitbots_animation_rqt b/src/bitbots_motion/bitbots_animation_rqt/resource/bitbots_animation_rqt similarity index 100% rename from bitbots_motion/bitbots_animation_rqt/resource/bitbots_animation_rqt rename to src/bitbots_motion/bitbots_animation_rqt/resource/bitbots_animation_rqt diff --git a/bitbots_motion/bitbots_animation_rqt/setup.cfg b/src/bitbots_motion/bitbots_animation_rqt/setup.cfg similarity index 100% rename from bitbots_motion/bitbots_animation_rqt/setup.cfg rename to src/bitbots_motion/bitbots_animation_rqt/setup.cfg diff --git a/bitbots_motion/bitbots_animation_rqt/setup.py b/src/bitbots_motion/bitbots_animation_rqt/setup.py similarity index 100% rename from bitbots_motion/bitbots_animation_rqt/setup.py rename to src/bitbots_motion/bitbots_animation_rqt/setup.py diff --git a/bitbots_motion/bitbots_animation_rqt/test/mypy.ini b/src/bitbots_motion/bitbots_animation_rqt/test/mypy.ini similarity index 100% rename from bitbots_motion/bitbots_animation_rqt/test/mypy.ini rename to src/bitbots_motion/bitbots_animation_rqt/test/mypy.ini diff --git a/bitbots_motion/bitbots_animation_rqt/test/test_mypy.py b/src/bitbots_motion/bitbots_animation_rqt/test/test_mypy.py similarity index 100% rename from bitbots_motion/bitbots_animation_rqt/test/test_mypy.py rename to src/bitbots_motion/bitbots_animation_rqt/test/test_mypy.py diff --git a/bitbots_motion/bitbots_animation_server/bitbots_animation_server/__init__.py b/src/bitbots_motion/bitbots_animation_server/bitbots_animation_server/__init__.py similarity index 100% rename from bitbots_motion/bitbots_animation_server/bitbots_animation_server/__init__.py rename to src/bitbots_motion/bitbots_animation_server/bitbots_animation_server/__init__.py diff --git a/bitbots_motion/bitbots_animation_server/bitbots_animation_server/animation.py b/src/bitbots_motion/bitbots_animation_server/bitbots_animation_server/animation.py similarity index 100% rename from bitbots_motion/bitbots_animation_server/bitbots_animation_server/animation.py rename to src/bitbots_motion/bitbots_animation_server/bitbots_animation_server/animation.py diff --git a/bitbots_motion/bitbots_animation_server/bitbots_animation_server/animation_node.py b/src/bitbots_motion/bitbots_animation_server/bitbots_animation_server/animation_node.py similarity index 100% rename from bitbots_motion/bitbots_animation_server/bitbots_animation_server/animation_node.py rename to src/bitbots_motion/bitbots_animation_server/bitbots_animation_server/animation_node.py diff --git a/bitbots_motion/bitbots_animation_server/bitbots_animation_server/resource_manager.py b/src/bitbots_motion/bitbots_animation_server/bitbots_animation_server/resource_manager.py similarity index 100% rename from bitbots_motion/bitbots_animation_server/bitbots_animation_server/resource_manager.py rename to src/bitbots_motion/bitbots_animation_server/bitbots_animation_server/resource_manager.py diff --git a/bitbots_motion/bitbots_animation_server/bitbots_animation_server/spline_animator.py b/src/bitbots_motion/bitbots_animation_server/bitbots_animation_server/spline_animator.py similarity index 100% rename from bitbots_motion/bitbots_animation_server/bitbots_animation_server/spline_animator.py rename to src/bitbots_motion/bitbots_animation_server/bitbots_animation_server/spline_animator.py diff --git a/bitbots_motion/bitbots_animation_server/docs/_static/logo.png b/src/bitbots_motion/bitbots_animation_server/docs/_static/logo.png similarity index 100% rename from bitbots_motion/bitbots_animation_server/docs/_static/logo.png rename to src/bitbots_motion/bitbots_animation_server/docs/_static/logo.png diff --git a/bitbots_motion/bitbots_animation_server/docs/conf.py b/src/bitbots_motion/bitbots_animation_server/docs/conf.py similarity index 100% rename from bitbots_motion/bitbots_animation_server/docs/conf.py rename to src/bitbots_motion/bitbots_animation_server/docs/conf.py diff --git a/bitbots_motion/bitbots_animation_server/docs/index.rst b/src/bitbots_motion/bitbots_animation_server/docs/index.rst similarity index 100% rename from bitbots_motion/bitbots_animation_server/docs/index.rst rename to src/bitbots_motion/bitbots_animation_server/docs/index.rst diff --git a/bitbots_motion/bitbots_animation_server/docs/manual/animation.rst b/src/bitbots_motion/bitbots_animation_server/docs/manual/animation.rst similarity index 100% rename from bitbots_motion/bitbots_animation_server/docs/manual/animation.rst rename to src/bitbots_motion/bitbots_animation_server/docs/manual/animation.rst diff --git a/bitbots_motion/bitbots_animation_server/launch/animation.launch b/src/bitbots_motion/bitbots_animation_server/launch/animation.launch similarity index 100% rename from bitbots_motion/bitbots_animation_server/launch/animation.launch rename to src/bitbots_motion/bitbots_animation_server/launch/animation.launch diff --git a/bitbots_motion/bitbots_animation_server/launch/test.launch b/src/bitbots_motion/bitbots_animation_server/launch/test.launch similarity index 100% rename from bitbots_motion/bitbots_animation_server/launch/test.launch rename to src/bitbots_motion/bitbots_animation_server/launch/test.launch diff --git a/bitbots_motion/bitbots_animation_server/package.xml b/src/bitbots_motion/bitbots_animation_server/package.xml similarity index 100% rename from bitbots_motion/bitbots_animation_server/package.xml rename to src/bitbots_motion/bitbots_animation_server/package.xml diff --git a/bitbots_motion/bitbots_animation_server/resource/bitbots_animation_server b/src/bitbots_motion/bitbots_animation_server/resource/bitbots_animation_server similarity index 100% rename from bitbots_motion/bitbots_animation_server/resource/bitbots_animation_server rename to src/bitbots_motion/bitbots_animation_server/resource/bitbots_animation_server diff --git a/bitbots_motion/bitbots_animation_server/scripts/animation_hcm_bridge.py b/src/bitbots_motion/bitbots_animation_server/scripts/animation_hcm_bridge.py similarity index 100% rename from bitbots_motion/bitbots_animation_server/scripts/animation_hcm_bridge.py rename to src/bitbots_motion/bitbots_animation_server/scripts/animation_hcm_bridge.py diff --git a/bitbots_motion/bitbots_animation_server/scripts/run_animation.py b/src/bitbots_motion/bitbots_animation_server/scripts/run_animation.py similarity index 100% rename from bitbots_motion/bitbots_animation_server/scripts/run_animation.py rename to src/bitbots_motion/bitbots_animation_server/scripts/run_animation.py diff --git a/bitbots_motion/bitbots_animation_server/setup.cfg b/src/bitbots_motion/bitbots_animation_server/setup.cfg similarity index 100% rename from bitbots_motion/bitbots_animation_server/setup.cfg rename to src/bitbots_motion/bitbots_animation_server/setup.cfg diff --git a/bitbots_motion/bitbots_animation_server/setup.py b/src/bitbots_motion/bitbots_animation_server/setup.py similarity index 100% rename from bitbots_motion/bitbots_animation_server/setup.py rename to src/bitbots_motion/bitbots_animation_server/setup.py diff --git a/bitbots_motion/bitbots_animation_server/test/mypy.ini b/src/bitbots_motion/bitbots_animation_server/test/mypy.ini similarity index 100% rename from bitbots_motion/bitbots_animation_server/test/mypy.ini rename to src/bitbots_motion/bitbots_animation_server/test/mypy.ini diff --git a/bitbots_motion/bitbots_animation_server/test/test_mypy.py b/src/bitbots_motion/bitbots_animation_server/test/test_mypy.py similarity index 100% rename from bitbots_motion/bitbots_animation_server/test/test_mypy.py rename to src/bitbots_motion/bitbots_animation_server/test/test_mypy.py diff --git a/bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt b/src/bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt rename to src/bitbots_motion/bitbots_dynamic_kick/CMakeLists.txt diff --git a/bitbots_motion/bitbots_dynamic_kick/Doxyfile b/src/bitbots_motion/bitbots_dynamic_kick/Doxyfile similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/Doxyfile rename to src/bitbots_motion/bitbots_dynamic_kick/Doxyfile diff --git a/bitbots_motion/bitbots_dynamic_kick/config/kick_config.yaml b/src/bitbots_motion/bitbots_dynamic_kick/config/kick_config.yaml similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/config/kick_config.yaml rename to src/bitbots_motion/bitbots_dynamic_kick/config/kick_config.yaml diff --git a/bitbots_motion/bitbots_dynamic_kick/config/kick_sim_config.yaml b/src/bitbots_motion/bitbots_dynamic_kick/config/kick_sim_config.yaml similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/config/kick_sim_config.yaml rename to src/bitbots_motion/bitbots_dynamic_kick/config/kick_sim_config.yaml diff --git a/bitbots_motion/bitbots_dynamic_kick/docs/_static/logo.png b/src/bitbots_motion/bitbots_dynamic_kick/docs/_static/logo.png similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/docs/_static/logo.png rename to src/bitbots_motion/bitbots_dynamic_kick/docs/_static/logo.png diff --git a/bitbots_motion/bitbots_dynamic_kick/docs/conf.py b/src/bitbots_motion/bitbots_dynamic_kick/docs/conf.py similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/docs/conf.py rename to src/bitbots_motion/bitbots_dynamic_kick/docs/conf.py diff --git a/bitbots_motion/bitbots_dynamic_kick/docs/index.rst b/src/bitbots_motion/bitbots_dynamic_kick/docs/index.rst similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/docs/index.rst rename to src/bitbots_motion/bitbots_dynamic_kick/docs/index.rst diff --git a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_engine.hpp b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_engine.hpp similarity index 93% rename from bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_engine.hpp rename to src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_engine.hpp index 87dd56cd4..582a24e3e 100644 --- a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_engine.hpp +++ b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_engine.hpp @@ -84,7 +84,7 @@ class KickEngine : public bitbots_splines::AbstractEngine transformGoal(const std::string &support_foot_frame, - const Eigen::Isometry3d &trunk_to_base_footprint, - const Eigen::Vector3d &ball_position, - const Eigen::Quaterniond &kick_direction); + std::pair transformGoal(const std::string& support_foot_frame, + const Eigen::Isometry3d& trunk_to_base_footprint, + const Eigen::Vector3d& ball_position, + const Eigen::Quaterniond& kick_direction); }; } // namespace bitbots_dynamic_kick diff --git a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_ik.hpp b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_ik.hpp similarity index 77% rename from bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_ik.hpp rename to src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_ik.hpp index 1cd86bacc..bc5416733 100644 --- a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_ik.hpp +++ b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_ik.hpp @@ -11,17 +11,17 @@ namespace bitbots_dynamic_kick { class KickIK : public bitbots_splines::AbstractIK { public: - KickIK() : legs_joints_group_(), left_leg_joints_group_(), right_leg_joints_group_(){}; + KickIK() : legs_joints_group_(), left_leg_joints_group_(), right_leg_joints_group_() {}; void init(moveit::core::RobotModelPtr kinematic_model) override; - bitbots_splines::JointGoals calculate(const KickPositions &positions) override; + bitbots_splines::JointGoals calculate(const KickPositions& positions) override; void reset() override; private: moveit::core::RobotStatePtr goal_state_; planning_scene::PlanningScenePtr planning_scene_; - moveit::core::JointModelGroup *legs_joints_group_; - moveit::core::JointModelGroup *left_leg_joints_group_; - moveit::core::JointModelGroup *right_leg_joints_group_; + moveit::core::JointModelGroup* legs_joints_group_; + moveit::core::JointModelGroup* left_leg_joints_group_; + moveit::core::JointModelGroup* right_leg_joints_group_; }; } // namespace bitbots_dynamic_kick diff --git a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_node.hpp b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_node.hpp similarity index 95% rename from bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_node.hpp rename to src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_node.hpp index 70214945c..893be5c0f 100644 --- a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_node.hpp +++ b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_node.hpp @@ -38,7 +38,7 @@ using namespace std::placeholders; */ class KickNode : public rclcpp::Node { public: - explicit KickNode(const std::string &ns = std::string(), std::vector parameters = {}); + explicit KickNode(const std::string& ns = std::string(), std::vector parameters = {}); /** * Callback that gets executed whenever #server_ receives a new goal. @@ -65,7 +65,7 @@ class KickNode : public rclcpp::Node { * @param trunk_to_base_footprint transform from trunk to base_footprint * @return whether the setup was successful */ - bool init(const bitbots_msgs::action::Kick::Goal &goal_msg, std::string &error_string); + bool init(const bitbots_msgs::action::Kick::Goal& goal_msg, std::string& error_string); /** * Set the current joint state of the robot @@ -114,7 +114,7 @@ class KickNode : public rclcpp::Node { */ void loopEngine(const std::shared_ptr> goal_handle); - rclcpp_action::GoalResponse goalCb(const rclcpp_action::GoalUUID &uuid, + rclcpp_action::GoalResponse goalCb(const rclcpp_action::GoalUUID& uuid, std::shared_ptr goal); rclcpp_action::CancelResponse cancelCb( @@ -137,13 +137,13 @@ class KickNode : public rclcpp::Node { /** * Get JointCommand message for JointGoals */ - bitbots_msgs::msg::JointCommand getJointCommand(const bitbots_splines::JointGoals &goals); + bitbots_msgs::msg::JointCommand getJointCommand(const bitbots_splines::JointGoals& goals); void copLCallback(const geometry_msgs::msg::PointStamped::SharedPtr cop); void copRCallback(const geometry_msgs::msg::PointStamped::SharedPtr cop); - rcl_interfaces::msg::SetParametersResult onSetParameters(const std::vector ¶meters); + rcl_interfaces::msg::SetParametersResult onSetParameters(const std::vector& parameters); }; } // namespace bitbots_dynamic_kick diff --git a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_pywrapper.hpp b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_pywrapper.hpp similarity index 90% rename from bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_pywrapper.hpp rename to src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_pywrapper.hpp index 1cc5083a3..8d75cd365 100644 --- a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_pywrapper.hpp +++ b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_pywrapper.hpp @@ -15,8 +15,8 @@ class PyKickWrapper { public: explicit PyKickWrapper(std::string ns); - moveit::py_bindings_tools::ByteString step(double dt, const std::string &joint_state_str); - bool set_goal(const std::string &goal_str, const std::string &joint_state_str); + moveit::py_bindings_tools::ByteString step(double dt, const std::string& joint_state_str); + bool set_goal(const std::string& goal_str, const std::string& joint_state_str); double get_progress(); // todo // void set_params(boost::python::object params); diff --git a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_utils.hpp b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_utils.hpp similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_utils.hpp rename to src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/kick_utils.hpp diff --git a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/stabilizer.hpp b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/stabilizer.hpp similarity index 93% rename from bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/stabilizer.hpp rename to src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/stabilizer.hpp index 3eac1d78a..1022b6f1f 100644 --- a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/stabilizer.hpp +++ b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/stabilizer.hpp @@ -27,7 +27,7 @@ class Stabilizer : public bitbots_splines::AbstractStabilizer { * @return BioIK Options that can be used by an instance of AbstractIK */ - KickPositions stabilize(const KickPositions &positions, const rclcpp::Duration &dt) override; + KickPositions stabilize(const KickPositions& positions, const rclcpp::Duration& dt) override; void reset() override; void useCop(bool use); void setRobotModel(moveit::core::RobotModelPtr model); diff --git a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/visualizer.hpp b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/visualizer.hpp similarity index 82% rename from bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/visualizer.hpp rename to src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/visualizer.hpp index 7f0170fef..7f4c88613 100644 --- a/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/visualizer.hpp +++ b/src/bitbots_motion/bitbots_dynamic_kick/include/bitbots_dynamic_kick/visualizer.hpp @@ -34,20 +34,20 @@ struct VisualizationParams { class Visualizer : bitbots_splines::AbstractVisualizer { public: - explicit Visualizer(const std::string &base_topic, rclcpp::Node::SharedPtr node); + explicit Visualizer(const std::string& base_topic, rclcpp::Node::SharedPtr node); void setParams(VisualizationParams params); - void displayReceivedGoal(const bitbots_msgs::action::Kick::Goal &goal); + void displayReceivedGoal(const bitbots_msgs::action::Kick::Goal& goal); - void displayFlyingSplines(bitbots_splines::PoseSpline splines, const std::string &support_foot_frame); + void displayFlyingSplines(bitbots_splines::PoseSpline splines, const std::string& support_foot_frame); - void displayTrunkSplines(bitbots_splines::PoseSpline splines, const std::string &support_foot_frame); + void displayTrunkSplines(bitbots_splines::PoseSpline splines, const std::string& support_foot_frame); - void displayWindupPoint(const Eigen::Vector3d &kick_windup_point, const std::string &support_foot_frame); + void displayWindupPoint(const Eigen::Vector3d& kick_windup_point, const std::string& support_foot_frame); - void publishGoals(const KickPositions &positions, const KickPositions &stabilized_positions, - const moveit::core::RobotStatePtr &robot_state, KickPhase engine_phase); + void publishGoals(const KickPositions& positions, const KickPositions& stabilized_positions, + const moveit::core::RobotStatePtr& robot_state, KickPhase engine_phase); private: rclcpp::Node::SharedPtr node_; diff --git a/bitbots_motion/bitbots_dynamic_kick/launch/dynamic_kick.launch b/src/bitbots_motion/bitbots_dynamic_kick/launch/dynamic_kick.launch similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/launch/dynamic_kick.launch rename to src/bitbots_motion/bitbots_dynamic_kick/launch/dynamic_kick.launch diff --git a/bitbots_motion/bitbots_dynamic_kick/launch/test.launch b/src/bitbots_motion/bitbots_dynamic_kick/launch/test.launch similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/launch/test.launch rename to src/bitbots_motion/bitbots_dynamic_kick/launch/test.launch diff --git a/bitbots_motion/bitbots_dynamic_kick/launch/viz.launch b/src/bitbots_motion/bitbots_dynamic_kick/launch/viz.launch similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/launch/viz.launch rename to src/bitbots_motion/bitbots_dynamic_kick/launch/viz.launch diff --git a/bitbots_motion/bitbots_dynamic_kick/msg/KickDebug.msg b/src/bitbots_motion/bitbots_dynamic_kick/msg/KickDebug.msg similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/msg/KickDebug.msg rename to src/bitbots_motion/bitbots_dynamic_kick/msg/KickDebug.msg diff --git a/bitbots_motion/bitbots_dynamic_kick/package.xml b/src/bitbots_motion/bitbots_dynamic_kick/package.xml similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/package.xml rename to src/bitbots_motion/bitbots_dynamic_kick/package.xml diff --git a/bitbots_motion/bitbots_dynamic_kick/scripts/dummy_client.py b/src/bitbots_motion/bitbots_dynamic_kick/scripts/dummy_client.py similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/scripts/dummy_client.py rename to src/bitbots_motion/bitbots_dynamic_kick/scripts/dummy_client.py diff --git a/bitbots_motion/bitbots_dynamic_kick/scripts/interactive_test.py b/src/bitbots_motion/bitbots_dynamic_kick/scripts/interactive_test.py similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/scripts/interactive_test.py rename to src/bitbots_motion/bitbots_dynamic_kick/scripts/interactive_test.py diff --git a/bitbots_motion/bitbots_dynamic_kick/setup.py b/src/bitbots_motion/bitbots_dynamic_kick/setup.py similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/setup.py rename to src/bitbots_motion/bitbots_dynamic_kick/setup.py diff --git a/bitbots_motion/bitbots_dynamic_kick/src/bitbots_dynamic_kick/__init__.py b/src/bitbots_motion/bitbots_dynamic_kick/src/bitbots_dynamic_kick/__init__.py similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/src/bitbots_dynamic_kick/__init__.py rename to src/bitbots_motion/bitbots_dynamic_kick/src/bitbots_dynamic_kick/__init__.py diff --git a/bitbots_motion/bitbots_dynamic_kick/src/bitbots_dynamic_kick/py_kick_wrapper.py b/src/bitbots_motion/bitbots_dynamic_kick/src/bitbots_dynamic_kick/py_kick_wrapper.py similarity index 100% rename from bitbots_motion/bitbots_dynamic_kick/src/bitbots_dynamic_kick/py_kick_wrapper.py rename to src/bitbots_motion/bitbots_dynamic_kick/src/bitbots_dynamic_kick/py_kick_wrapper.py diff --git a/bitbots_motion/bitbots_dynamic_kick/src/kick_engine.cpp b/src/bitbots_motion/bitbots_dynamic_kick/src/kick_engine.cpp similarity index 96% rename from bitbots_motion/bitbots_dynamic_kick/src/kick_engine.cpp rename to src/bitbots_motion/bitbots_dynamic_kick/src/kick_engine.cpp index 679d79739..723e35a4b 100644 --- a/bitbots_motion/bitbots_dynamic_kick/src/kick_engine.cpp +++ b/src/bitbots_motion/bitbots_dynamic_kick/src/kick_engine.cpp @@ -11,7 +11,7 @@ void KickEngine::reset() { flying_foot_spline_ = bitbots_splines::PoseSpline(); } -void KickEngine::setGoals(const KickGoals &goals) { +void KickEngine::setGoals(const KickGoals& goals) { is_left_kick_ = calcIsLeftFootKicking(goals.ball_position, goals.kick_direction); // TODO Internal state is dirty when goal transformation fails @@ -65,7 +65,7 @@ KickPositions KickEngine::update(double dt) { return positions; } -void KickEngine::calcSplines(const Eigen::Isometry3d &flying_foot_pose, const Eigen::Isometry3d &trunk_pose) { +void KickEngine::calcSplines(const Eigen::Isometry3d& flying_foot_pose, const Eigen::Isometry3d& trunk_pose) { /* * Add current position, target position and current position to splines so that they describe a smooth * curve to the ball and back @@ -195,8 +195,8 @@ void KickEngine::calcSplines(const Eigen::Isometry3d &flying_foot_pose, const Ei } std::pair KickEngine::transformGoal( - const std::string &support_foot_frame, const Eigen::Isometry3d &trunk_to_base_footprint, - const Eigen::Vector3d &ball_position, const Eigen::Quaterniond &kick_direction) { + const std::string& support_foot_frame, const Eigen::Isometry3d& trunk_to_base_footprint, + const Eigen::Vector3d& ball_position, const Eigen::Quaterniond& kick_direction) { /* ball_position and kick_direction are currently in base_footprint, we want them in support foot frame */ /* first, get transform from base_footprint to support foot */ Eigen::Isometry3d trunk_to_support_foot = current_state_->getGlobalLinkTransform(support_foot_frame); @@ -229,7 +229,7 @@ Eigen::Vector3d KickEngine::calcKickWindupPoint() { return vec; } -bool KickEngine::calcIsLeftFootKicking(const Eigen::Vector3d &ball_position, const Eigen::Quaterniond &kick_direction) { +bool KickEngine::calcIsLeftFootKicking(const Eigen::Vector3d& ball_position, const Eigen::Quaterniond& kick_direction) { /* it is important that everything is in base_footprint frame! */ /* diff --git a/bitbots_motion/bitbots_dynamic_kick/src/kick_ik.cpp b/src/bitbots_motion/bitbots_dynamic_kick/src/kick_ik.cpp similarity index 99% rename from bitbots_motion/bitbots_dynamic_kick/src/kick_ik.cpp rename to src/bitbots_motion/bitbots_dynamic_kick/src/kick_ik.cpp index a44013df1..227ec982d 100644 --- a/bitbots_motion/bitbots_dynamic_kick/src/kick_ik.cpp +++ b/src/bitbots_motion/bitbots_dynamic_kick/src/kick_ik.cpp @@ -27,7 +27,7 @@ void KickIK::reset() { } } -bitbots_splines::JointGoals KickIK::calculate(const KickPositions &positions) { +bitbots_splines::JointGoals KickIK::calculate(const KickPositions& positions) { // change goals from support foot based coordinate system to trunk based coordinate system Eigen::Isometry3d trunk_to_support_foot_goal = positions.trunk_pose.inverse(); Eigen::Isometry3d trunk_to_flying_foot_goal = trunk_to_support_foot_goal * positions.flying_foot_pose; diff --git a/bitbots_motion/bitbots_dynamic_kick/src/kick_node.cpp b/src/bitbots_motion/bitbots_dynamic_kick/src/kick_node.cpp similarity index 98% rename from bitbots_motion/bitbots_dynamic_kick/src/kick_node.cpp rename to src/bitbots_motion/bitbots_dynamic_kick/src/kick_node.cpp index 9b47bd922..98a7c293f 100644 --- a/bitbots_motion/bitbots_dynamic_kick/src/kick_node.cpp +++ b/src/bitbots_motion/bitbots_dynamic_kick/src/kick_node.cpp @@ -3,7 +3,7 @@ namespace bitbots_dynamic_kick { using namespace std::chrono_literals; -KickNode::KickNode(const std::string &ns, std::vector parameters) +KickNode::KickNode(const std::string& ns, std::vector parameters) : Node(ns + "dynamic_kick", rclcpp::NodeOptions() .allow_undeclared_parameters(true) .parameter_overrides(parameters) @@ -145,8 +145,8 @@ void KickNode::jointStateCallback(const sensor_msgs::msg::JointState::SharedPtr } } -rcl_interfaces::msg::SetParametersResult KickNode::onSetParameters(const std::vector ¶meters) { - for (const auto ¶meter : parameters) { +rcl_interfaces::msg::SetParametersResult KickNode::onSetParameters(const std::vector& parameters) { + for (const auto& parameter : parameters) { if (parameter.get_name() == "engine_rate") { engine_rate_ = parameter.as_int(); } else if (parameter.get_name() == "foot_rise") { @@ -197,7 +197,7 @@ rcl_interfaces::msg::SetParametersResult KickNode::onSetParameters(const std::ve return result; } -bool KickNode::init(const bitbots_msgs::action::Kick::Goal &goal_msg, std::string &error_string) { +bool KickNode::init(const bitbots_msgs::action::Kick::Goal& goal_msg, std::string& error_string) { /* currently, the ball must always be in the base_footprint frame */ if (goal_msg.header.frame_id != base_footprint_frame_) { RCLCPP_ERROR_STREAM(this->get_logger(), "Goal should be in " << base_footprint_frame_ << " frame"); @@ -257,7 +257,7 @@ void KickNode::acceptedCb(const std::shared_ptr goal) { std::thread{std::bind(&KickNode::executeCb, this, std::placeholders::_1), goal}.detach(); } -rclcpp_action::GoalResponse KickNode::goalCb(const rclcpp_action::GoalUUID &uuid, +rclcpp_action::GoalResponse KickNode::goalCb(const rclcpp_action::GoalUUID& uuid, std::shared_ptr goal) { RCLCPP_INFO(this->get_logger(), "Received goal request"); (void)uuid; @@ -375,7 +375,7 @@ bitbots_splines::JointGoals KickNode::kickStep(double dt) { return motor_goals; } -bitbots_msgs::msg::JointCommand KickNode::getJointCommand(const bitbots_splines::JointGoals &goals) { +bitbots_msgs::msg::JointCommand KickNode::getJointCommand(const bitbots_splines::JointGoals& goals) { /* Construct JointCommand message */ bitbots_msgs::msg::JointCommand command; command.header.stamp = this->get_clock()->now(); @@ -428,7 +428,7 @@ bool KickNode::isLeftKick() { return engine_.isLeftKick(); } } // namespace bitbots_dynamic_kick -int main(int argc, char *argv[]) { +int main(int argc, char* argv[]) { /* Setup ROS node */ rclcpp::init(argc, argv); bitbots_dynamic_kick::KickNode node; diff --git a/bitbots_motion/bitbots_dynamic_kick/src/kick_pywrapper.cpp b/src/bitbots_motion/bitbots_dynamic_kick/src/kick_pywrapper.cpp similarity index 95% rename from bitbots_motion/bitbots_dynamic_kick/src/kick_pywrapper.cpp rename to src/bitbots_motion/bitbots_dynamic_kick/src/kick_pywrapper.cpp index 7251f9e9f..a2f156eef 100644 --- a/bitbots_motion/bitbots_dynamic_kick/src/kick_pywrapper.cpp +++ b/src/bitbots_motion/bitbots_dynamic_kick/src/kick_pywrapper.cpp @@ -4,7 +4,7 @@ * Read a ROS message from a serialized string. */ template -M from_python(const std::string &str_msg) { +M from_python(const std::string& str_msg) { size_t serial_size = str_msg.size(); // todo // boost::shared_array buffer(new uint8_t[serial_size]); @@ -21,7 +21,7 @@ M from_python(const std::string &str_msg) { * Write a ROS message into a serialized string. */ template -std::string to_python(const M &msg) { +std::string to_python(const M& msg) { size_t serial_size = ros::serialization::serializationLength(msg); // todo // boost::shared_array buffer(new uint8_t[serial_size]); @@ -39,7 +39,7 @@ PyKickWrapper::PyKickWrapper(const std::string ns) { kick_node_ = std::make_shared(ns); } -moveit::py_bindings_tools::ByteString PyKickWrapper::step(double dt, const std::string &joint_state_str) { +moveit::py_bindings_tools::ByteString PyKickWrapper::step(double dt, const std::string& joint_state_str) { auto joint_state = from_python(joint_state_str); kick_node_->jointStateCallback(joint_state); std::string result = to_python(kick_node_->stepWrapper(dt)); @@ -90,7 +90,7 @@ void PyKickWrapper::set_params(const boost::python::object params) { kick_node_->reconfigureCallback(conf, 0xff); }*/ -bool PyKickWrapper::set_goal(const std::string &goal_str, const std::string &joint_state_str) { +bool PyKickWrapper::set_goal(const std::string& goal_str, const std::string& joint_state_str) { auto joint_state = from_python(joint_state_str); kick_node_->jointStateCallback(joint_state); auto goal = from_python(goal_str); diff --git a/bitbots_motion/bitbots_dynamic_kick/src/stabilizer.cpp b/src/bitbots_motion/bitbots_dynamic_kick/src/stabilizer.cpp similarity index 96% rename from bitbots_motion/bitbots_dynamic_kick/src/stabilizer.cpp rename to src/bitbots_motion/bitbots_dynamic_kick/src/stabilizer.cpp index e9fd2a6ef..428dd8bfc 100644 --- a/bitbots_motion/bitbots_dynamic_kick/src/stabilizer.cpp +++ b/src/bitbots_motion/bitbots_dynamic_kick/src/stabilizer.cpp @@ -34,7 +34,7 @@ void Stabilizer::reset() { pid_trunk_fused_roll_->reset(); } -KickPositions Stabilizer::stabilize(const KickPositions &positions, const rclcpp::Duration &dt) { +KickPositions Stabilizer::stabilize(const KickPositions& positions, const rclcpp::Duration& dt) { KickPositions stabilized_positions = positions; if (positions.cop_support_point && use_cop_) { /* calculate stabilizing target from center of pressure diff --git a/bitbots_motion/bitbots_dynamic_kick/src/visualizer.cpp b/src/bitbots_motion/bitbots_dynamic_kick/src/visualizer.cpp similarity index 89% rename from bitbots_motion/bitbots_dynamic_kick/src/visualizer.cpp rename to src/bitbots_motion/bitbots_dynamic_kick/src/visualizer.cpp index 69f3d3103..1e200e2cf 100644 --- a/bitbots_motion/bitbots_dynamic_kick/src/visualizer.cpp +++ b/src/bitbots_motion/bitbots_dynamic_kick/src/visualizer.cpp @@ -3,7 +3,7 @@ namespace bitbots_dynamic_kick { -Visualizer::Visualizer(const std::string &base_topic, rclcpp::Node::SharedPtr node) +Visualizer::Visualizer(const std::string& base_topic, rclcpp::Node::SharedPtr node) : node_(node), base_topic_(base_topic) { /* make sure base_topic_ has consistent scheme */ if (base_topic.compare(base_topic.size() - 1, 1, "/") != 0) { @@ -22,7 +22,7 @@ Visualizer::Visualizer(const std::string &base_topic, rclcpp::Node::SharedPtr no void Visualizer::setParams(VisualizationParams params) { params_ = params; } -void Visualizer::displayFlyingSplines(bitbots_splines::PoseSpline splines, const std::string &support_foot_frame) { +void Visualizer::displayFlyingSplines(bitbots_splines::PoseSpline splines, const std::string& support_foot_frame) { if (foot_spline_publisher_->get_subscription_count() == 0) return; visualization_msgs::msg::MarkerArray path = getPath(splines, support_foot_frame, params_.spline_smoothness, node_); @@ -31,7 +31,7 @@ void Visualizer::displayFlyingSplines(bitbots_splines::PoseSpline splines, const foot_spline_publisher_->publish(path); } -void Visualizer::displayTrunkSplines(bitbots_splines::PoseSpline splines, const std::string &support_foot_frame) { +void Visualizer::displayTrunkSplines(bitbots_splines::PoseSpline splines, const std::string& support_foot_frame) { if (trunk_spline_publisher_->get_subscription_count() == 0) return; visualization_msgs::msg::MarkerArray path = getPath(splines, support_foot_frame, params_.spline_smoothness, node_); @@ -40,7 +40,7 @@ void Visualizer::displayTrunkSplines(bitbots_splines::PoseSpline splines, const trunk_spline_publisher_->publish(path); } -void Visualizer::displayReceivedGoal(const bitbots_msgs::action::Kick::Goal &goal) { +void Visualizer::displayReceivedGoal(const bitbots_msgs::action::Kick::Goal& goal) { if (goal_publisher_->get_subscription_count() == 0) return; visualization_msgs::msg::Marker marker = @@ -57,7 +57,7 @@ void Visualizer::displayReceivedGoal(const bitbots_msgs::action::Kick::Goal &goa goal_publisher_->publish(marker); } -void Visualizer::displayWindupPoint(const Eigen::Vector3d &kick_windup_point, const std::string &support_foot_frame) { +void Visualizer::displayWindupPoint(const Eigen::Vector3d& kick_windup_point, const std::string& support_foot_frame) { if (windup_publisher_->get_subscription_count() == 0) return; tf2::Vector3 tf_kick_windup_point; @@ -71,8 +71,8 @@ void Visualizer::displayWindupPoint(const Eigen::Vector3d &kick_windup_point, co windup_publisher_->publish(marker); } -void Visualizer::publishGoals(const KickPositions &positions, const KickPositions &stabilized_positions, - const moveit::core::RobotStatePtr &robot_state, KickPhase engine_phase) { +void Visualizer::publishGoals(const KickPositions& positions, const KickPositions& stabilized_positions, + const moveit::core::RobotStatePtr& robot_state, KickPhase engine_phase) { /* only calculate the debug information if someone is subscribing */ if (debug_publisher_->get_subscription_count() == 0) { return; diff --git a/bitbots_motion/bitbots_dynup/.gitignore b/src/bitbots_motion/bitbots_dynup/.gitignore similarity index 100% rename from bitbots_motion/bitbots_dynup/.gitignore rename to src/bitbots_motion/bitbots_dynup/.gitignore diff --git a/bitbots_motion/bitbots_dynup/CMakeLists.txt b/src/bitbots_motion/bitbots_dynup/CMakeLists.txt similarity index 100% rename from bitbots_motion/bitbots_dynup/CMakeLists.txt rename to src/bitbots_motion/bitbots_dynup/CMakeLists.txt diff --git a/bitbots_motion/bitbots_dynup/README.md b/src/bitbots_motion/bitbots_dynup/README.md similarity index 100% rename from bitbots_motion/bitbots_dynup/README.md rename to src/bitbots_motion/bitbots_dynup/README.md diff --git a/bitbots_motion/bitbots_dynup/__init__.py b/src/bitbots_motion/bitbots_dynup/__init__.py similarity index 100% rename from bitbots_motion/bitbots_dynup/__init__.py rename to src/bitbots_motion/bitbots_dynup/__init__.py diff --git a/bitbots_motion/bitbots_dynup/bitbots_dynup_py/__init__.py b/src/bitbots_motion/bitbots_dynup/bitbots_dynup_py/__init__.py similarity index 100% rename from bitbots_motion/bitbots_dynup/bitbots_dynup_py/__init__.py rename to src/bitbots_motion/bitbots_dynup/bitbots_dynup_py/__init__.py diff --git a/bitbots_motion/bitbots_dynup/bitbots_dynup_py/py_dynup_wrapper.py b/src/bitbots_motion/bitbots_dynup/bitbots_dynup_py/py_dynup_wrapper.py similarity index 100% rename from bitbots_motion/bitbots_dynup/bitbots_dynup_py/py_dynup_wrapper.py rename to src/bitbots_motion/bitbots_dynup/bitbots_dynup_py/py_dynup_wrapper.py diff --git a/bitbots_motion/bitbots_dynup/config/dynup_config.yaml b/src/bitbots_motion/bitbots_dynup/config/dynup_config.yaml similarity index 100% rename from bitbots_motion/bitbots_dynup/config/dynup_config.yaml rename to src/bitbots_motion/bitbots_dynup/config/dynup_config.yaml diff --git a/bitbots_motion/bitbots_dynup/config/dynup_optimization.yaml b/src/bitbots_motion/bitbots_dynup/config/dynup_optimization.yaml similarity index 100% rename from bitbots_motion/bitbots_dynup/config/dynup_optimization.yaml rename to src/bitbots_motion/bitbots_dynup/config/dynup_optimization.yaml diff --git a/bitbots_motion/bitbots_dynup/config/dynup_sim.yaml b/src/bitbots_motion/bitbots_dynup/config/dynup_sim.yaml similarity index 100% rename from bitbots_motion/bitbots_dynup/config/dynup_sim.yaml rename to src/bitbots_motion/bitbots_dynup/config/dynup_sim.yaml diff --git a/bitbots_motion/bitbots_dynup/config/dynup_sim_darwin.yaml b/src/bitbots_motion/bitbots_dynup/config/dynup_sim_darwin.yaml similarity index 100% rename from bitbots_motion/bitbots_dynup/config/dynup_sim_darwin.yaml rename to src/bitbots_motion/bitbots_dynup/config/dynup_sim_darwin.yaml diff --git a/bitbots_motion/bitbots_dynup/docs/_static/flowchart.png b/src/bitbots_motion/bitbots_dynup/docs/_static/flowchart.png similarity index 100% rename from bitbots_motion/bitbots_dynup/docs/_static/flowchart.png rename to src/bitbots_motion/bitbots_dynup/docs/_static/flowchart.png diff --git a/bitbots_motion/bitbots_dynup/docs/_static/logo.png b/src/bitbots_motion/bitbots_dynup/docs/_static/logo.png similarity index 100% rename from bitbots_motion/bitbots_dynup/docs/_static/logo.png rename to src/bitbots_motion/bitbots_dynup/docs/_static/logo.png diff --git a/bitbots_motion/bitbots_dynup/docs/conf.py b/src/bitbots_motion/bitbots_dynup/docs/conf.py similarity index 100% rename from bitbots_motion/bitbots_dynup/docs/conf.py rename to src/bitbots_motion/bitbots_dynup/docs/conf.py diff --git a/bitbots_motion/bitbots_dynup/docs/index.rst b/src/bitbots_motion/bitbots_dynup/docs/index.rst similarity index 100% rename from bitbots_motion/bitbots_dynup/docs/index.rst rename to src/bitbots_motion/bitbots_dynup/docs/index.rst diff --git a/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_engine.hpp b/src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_engine.hpp similarity index 98% rename from bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_engine.hpp rename to src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_engine.hpp index 5a04b90d7..86f87e957 100644 --- a/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_engine.hpp +++ b/src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_engine.hpp @@ -27,7 +27,7 @@ class DynupEngine : public bitbots_splines::AbstractEngine { public: explicit DynupIK(rclcpp::Node::SharedPtr node); void init(moveit::core::RobotModelPtr kinematic_model) override; - bitbots_splines::JointGoals calculate(const DynupResponse &ik_goals) override; + bitbots_splines::JointGoals calculate(const DynupResponse& ik_goals) override; void reset() override; void setDirection(DynupDirection direction); moveit::core::RobotStatePtr get_goal_state(); @@ -25,11 +25,11 @@ class DynupIK : public bitbots_splines::AbstractIK { private: rclcpp::Node::SharedPtr node_; - moveit::core::JointModelGroup *all_joints_group_; - moveit::core::JointModelGroup *l_arm_joints_group_; - moveit::core::JointModelGroup *l_leg_joints_group_; - moveit::core::JointModelGroup *r_arm_joints_group_; - moveit::core::JointModelGroup *r_leg_joints_group_; + moveit::core::JointModelGroup* all_joints_group_; + moveit::core::JointModelGroup* l_arm_joints_group_; + moveit::core::JointModelGroup* l_leg_joints_group_; + moveit::core::JointModelGroup* r_arm_joints_group_; + moveit::core::JointModelGroup* r_leg_joints_group_; moveit::core::RobotStatePtr goal_state_; sensor_msgs::msg::JointState::ConstSharedPtr joint_state_; DynupDirection direction_; diff --git a/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_node.hpp b/src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_node.hpp similarity index 97% rename from bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_node.hpp rename to src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_node.hpp index 028b35f43..6d09f072d 100644 --- a/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_node.hpp +++ b/src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_node.hpp @@ -50,7 +50,7 @@ using namespace std::placeholders; */ class DynupNode { public: - explicit DynupNode(rclcpp::Node::SharedPtr node, const std::string &ns = "", + explicit DynupNode(rclcpp::Node::SharedPtr node, const std::string& ns = "", std::vector parameters = {}); void onSetParameters(); @@ -59,9 +59,9 @@ class DynupNode { void jointStateCallback(const sensor_msgs::msg::JointState::SharedPtr joint_states); - DynupEngine *getEngine(); + DynupEngine* getEngine(); - DynupIK *getIK(); + DynupIK* getIK(); /** * Retrieve current positions of left foot and trunk relative to right foot @@ -84,7 +84,7 @@ class DynupNode { * Callback that gets executed whenever #m_server receives a new goal. * @param goal New goal to process */ - rclcpp_action::GoalResponse goalCb(const rclcpp_action::GoalUUID &uuid, std::shared_ptr goal); + rclcpp_action::GoalResponse goalCb(const rclcpp_action::GoalUUID& uuid, std::shared_ptr goal); rclcpp_action::CancelResponse cancelCb(std::shared_ptr goal); @@ -147,7 +147,7 @@ class DynupNode { /** * Creates the Goal Msg */ - bitbots_msgs::msg::JointCommand createGoalMsg(const bitbots_splines::JointGoals &goals); + bitbots_msgs::msg::JointCommand createGoalMsg(const bitbots_splines::JointGoals& goals); /** * Helper method to achieve correctly sampled rate diff --git a/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_pywrapper.hpp b/src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_pywrapper.hpp similarity index 93% rename from bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_pywrapper.hpp rename to src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_pywrapper.hpp index 82fe8a14e..219a8f422 100644 --- a/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_pywrapper.hpp +++ b/src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_pywrapper.hpp @@ -17,7 +17,7 @@ using namespace ros2_python_extension; class PyDynupWrapper { public: explicit PyDynupWrapper(std::string ns); - py::bytes step(double dt, py::bytes &imu_msg, py::bytes &joint_state_msg); + py::bytes step(double dt, py::bytes& imu_msg, py::bytes& joint_state_msg); py::bytes step_open_loop(double dt); py::bytes get_poses(); void reset(); diff --git a/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_stabilizer.hpp b/src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_stabilizer.hpp similarity index 93% rename from bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_stabilizer.hpp rename to src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_stabilizer.hpp index d4d2b861f..dce20bc4e 100644 --- a/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_stabilizer.hpp +++ b/src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_stabilizer.hpp @@ -18,7 +18,7 @@ namespace bitbots_dynup { class Stabilizer : public bitbots_splines::AbstractStabilizer { public: explicit Stabilizer(rclcpp::Node::SharedPtr node, bitbots_dynup::Params::Stabilizer params); - DynupResponse stabilize(const DynupResponse &response, const rclcpp::Duration &dt) override; + DynupResponse stabilize(const DynupResponse& response, const rclcpp::Duration& dt) override; void setRSoleToTrunk(geometry_msgs::msg::TransformStamped r_sole_to_trunk); void setParams(bitbots_dynup::Params::Stabilizer params); void reset() override; diff --git a/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_utils.hpp b/src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_utils.hpp similarity index 100% rename from bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_utils.hpp rename to src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/dynup_utils.hpp diff --git a/bitbots_motion/bitbots_dynup/include/bitbots_dynup/visualizer.hpp b/src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/visualizer.hpp similarity index 86% rename from bitbots_motion/bitbots_dynup/include/bitbots_dynup/visualizer.hpp rename to src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/visualizer.hpp index 35a8195dd..5655197c5 100644 --- a/bitbots_motion/bitbots_dynup/include/bitbots_dynup/visualizer.hpp +++ b/src/bitbots_motion/bitbots_dynup/include/bitbots_dynup/visualizer.hpp @@ -21,13 +21,13 @@ namespace bitbots_dynup { class Visualizer : bitbots_splines::AbstractVisualizer { public: - Visualizer(rclcpp::Node::SharedPtr node, bitbots_dynup::Params::Visualizer params, const std::string &base_topic); + Visualizer(rclcpp::Node::SharedPtr node, bitbots_dynup::Params::Visualizer params, const std::string& base_topic); void setParams(bitbots_dynup::Params::Visualizer params); - void displaySplines(bitbots_splines::PoseSpline splines, const std::string &frame); - void publishIKOffsets(const moveit::core::RobotModelPtr &model, const DynupResponse &response, - const bitbots_splines::JointGoals &ik_joint_goals); + void displaySplines(bitbots_splines::PoseSpline splines, const std::string& frame); + void publishIKOffsets(const moveit::core::RobotModelPtr& model, const DynupResponse& response, + const bitbots_splines::JointGoals& ik_joint_goals); private: rclcpp::Node::SharedPtr node_; diff --git a/bitbots_motion/bitbots_dynup/launch/dynup.launch b/src/bitbots_motion/bitbots_dynup/launch/dynup.launch similarity index 100% rename from bitbots_motion/bitbots_dynup/launch/dynup.launch rename to src/bitbots_motion/bitbots_dynup/launch/dynup.launch diff --git a/bitbots_motion/bitbots_dynup/launch/test.launch b/src/bitbots_motion/bitbots_dynup/launch/test.launch similarity index 100% rename from bitbots_motion/bitbots_dynup/launch/test.launch rename to src/bitbots_motion/bitbots_dynup/launch/test.launch diff --git a/bitbots_motion/bitbots_dynup/msg/DynupEngineDebug.msg b/src/bitbots_motion/bitbots_dynup/msg/DynupEngineDebug.msg similarity index 100% rename from bitbots_motion/bitbots_dynup/msg/DynupEngineDebug.msg rename to src/bitbots_motion/bitbots_dynup/msg/DynupEngineDebug.msg diff --git a/bitbots_motion/bitbots_dynup/msg/DynupIkOffset.msg b/src/bitbots_motion/bitbots_dynup/msg/DynupIkOffset.msg similarity index 100% rename from bitbots_motion/bitbots_dynup/msg/DynupIkOffset.msg rename to src/bitbots_motion/bitbots_dynup/msg/DynupIkOffset.msg diff --git a/bitbots_motion/bitbots_dynup/msg/DynupPoses.msg b/src/bitbots_motion/bitbots_dynup/msg/DynupPoses.msg similarity index 100% rename from bitbots_motion/bitbots_dynup/msg/DynupPoses.msg rename to src/bitbots_motion/bitbots_dynup/msg/DynupPoses.msg diff --git a/bitbots_motion/bitbots_dynup/package.xml b/src/bitbots_motion/bitbots_dynup/package.xml similarity index 100% rename from bitbots_motion/bitbots_dynup/package.xml rename to src/bitbots_motion/bitbots_dynup/package.xml diff --git a/bitbots_motion/bitbots_dynup/scripts/dummy_client.py b/src/bitbots_motion/bitbots_dynup/scripts/dummy_client.py similarity index 100% rename from bitbots_motion/bitbots_dynup/scripts/dummy_client.py rename to src/bitbots_motion/bitbots_dynup/scripts/dummy_client.py diff --git a/bitbots_motion/bitbots_dynup/setup.py b/src/bitbots_motion/bitbots_dynup/setup.py similarity index 100% rename from bitbots_motion/bitbots_dynup/setup.py rename to src/bitbots_motion/bitbots_dynup/setup.py diff --git a/bitbots_motion/bitbots_dynup/src/__init__.py b/src/bitbots_motion/bitbots_dynup/src/__init__.py similarity index 100% rename from bitbots_motion/bitbots_dynup/src/__init__.py rename to src/bitbots_motion/bitbots_dynup/src/__init__.py diff --git a/bitbots_motion/bitbots_dynup/src/dynup_engine.cpp b/src/bitbots_motion/bitbots_dynup/src/dynup_engine.cpp similarity index 99% rename from bitbots_motion/bitbots_dynup/src/dynup_engine.cpp rename to src/bitbots_motion/bitbots_dynup/src/dynup_engine.cpp index 157c32631..407f089c0 100644 --- a/bitbots_motion/bitbots_dynup/src/dynup_engine.cpp +++ b/src/bitbots_motion/bitbots_dynup/src/dynup_engine.cpp @@ -643,7 +643,7 @@ double DynupEngine::calcDescendSplines(double time) { return time; } -void DynupEngine::setGoals(const DynupRequest &goals) { +void DynupEngine::setGoals(const DynupRequest& goals) { // we use hand splines from shoulder frame instead of base_link geometry_msgs::msg::Pose l_hand = goals.l_hand_pose; geometry_msgs::msg::Pose r_hand = goals.r_hand_pose; @@ -672,7 +672,7 @@ void DynupEngine::setGoals(const DynupRequest &goals) { } else { // Placeholders for the parameters, we assure that we have all parameters before, so we can use -1 as a placeholder double foot_distance = -1, trunk_x_final = -1, trunk_pitch = -1, trunk_height = -1; - for (auto ¶m : walking_params) { + for (auto& param : walking_params) { if (param.get_name() == "engine.trunk_pitch") { trunk_pitch = param.get_value(); } else if (param.get_name() == "engine.trunk_height") { diff --git a/bitbots_motion/bitbots_dynup/src/dynup_ik.cpp b/src/bitbots_motion/bitbots_dynup/src/dynup_ik.cpp similarity index 100% rename from bitbots_motion/bitbots_dynup/src/dynup_ik.cpp rename to src/bitbots_motion/bitbots_dynup/src/dynup_ik.cpp diff --git a/bitbots_motion/bitbots_dynup/src/dynup_node.cpp b/src/bitbots_motion/bitbots_dynup/src/dynup_node.cpp similarity index 97% rename from bitbots_motion/bitbots_dynup/src/dynup_node.cpp rename to src/bitbots_motion/bitbots_dynup/src/dynup_node.cpp index a37f009f3..7b6530f3f 100644 --- a/bitbots_motion/bitbots_dynup/src/dynup_node.cpp +++ b/src/bitbots_motion/bitbots_dynup/src/dynup_node.cpp @@ -3,7 +3,7 @@ namespace bitbots_dynup { using namespace std::chrono_literals; -DynupNode::DynupNode(rclcpp::Node::SharedPtr node, const std::string &ns, std::vector parameters) +DynupNode::DynupNode(rclcpp::Node::SharedPtr node, const std::string& ns, std::vector parameters) : node_(node), param_listener_(node_), params_(param_listener_.get_params()), @@ -48,7 +48,7 @@ DynupNode::DynupNode(rclcpp::Node::SharedPtr node, const std::string &ns, std::v rcl_interfaces::msg::ListParametersResult parameter_list = parameters_client->list_parameters({"robot_description_kinematics"}, 10); auto copied_parameters = parameters_client->get_parameters(parameter_list.names); - for (auto ¶meter : copied_parameters) { + for (auto& parameter : copied_parameters) { moveit_node->declare_parameter(parameter.get_name(), parameter.get_type()); moveit_node->set_parameter(parameter); } @@ -207,7 +207,7 @@ void DynupNode::execute(const std::shared_ptr goal_handle) { } } -rclcpp_action::GoalResponse DynupNode::goalCb(const rclcpp_action::GoalUUID &uuid, +rclcpp_action::GoalResponse DynupNode::goalCb(const rclcpp_action::GoalUUID& uuid, std::shared_ptr goal) { RCLCPP_INFO(node_->get_logger(), "Received goal request"); (void)uuid; @@ -339,13 +339,13 @@ bitbots_dynup::msg::DynupPoses DynupNode::getCurrentPoses() { msg.r_arm_pose = transform2pose(r_hand_transformed); msg.header.stamp = node_->get_clock()->now(); return msg; - } catch (tf2::TransformException &exc) { + } catch (tf2::TransformException& exc) { RCLCPP_ERROR_STREAM(node_->get_logger(), exc.what()); return msg; } } -bitbots_msgs::msg::JointCommand DynupNode::createGoalMsg(const bitbots_splines::JointGoals &goals) { +bitbots_msgs::msg::JointCommand DynupNode::createGoalMsg(const bitbots_splines::JointGoals& goals) { /* Construct JointCommand message */ bitbots_msgs::msg::JointCommand command; command.header.stamp = node_->get_clock()->now(); @@ -367,13 +367,13 @@ bitbots_msgs::msg::JointCommand DynupNode::createGoalMsg(const bitbots_splines:: return command; } -DynupEngine *DynupNode::getEngine() { return &engine_; } +DynupEngine* DynupNode::getEngine() { return &engine_; } -DynupIK *DynupNode::getIK() { return &ik_; } +DynupIK* DynupNode::getIK() { return &ik_; } } // namespace bitbots_dynup -int main(int argc, char **argv) { +int main(int argc, char** argv) { // init node rclcpp::init(argc, argv); diff --git a/bitbots_motion/bitbots_dynup/src/dynup_pywrapper.cpp b/src/bitbots_motion/bitbots_dynup/src/dynup_pywrapper.cpp similarity index 95% rename from bitbots_motion/bitbots_dynup/src/dynup_pywrapper.cpp rename to src/bitbots_motion/bitbots_dynup/src/dynup_pywrapper.cpp index 0ceb2aa34..45fa581be 100644 --- a/bitbots_motion/bitbots_dynup/src/dynup_pywrapper.cpp +++ b/src/bitbots_motion/bitbots_dynup/src/dynup_pywrapper.cpp @@ -12,7 +12,7 @@ PyDynupWrapper::PyDynupWrapper(const std::string ns) { void PyDynupWrapper::spin_some() { rclcpp::spin_some(node_); } -py::bytes PyDynupWrapper::step(double dt, py::bytes &imu_msg, py::bytes &joint_state_msg) { +py::bytes PyDynupWrapper::step(double dt, py::bytes& imu_msg, py::bytes& joint_state_msg) { bitbots_msgs::msg::JointCommand result = dynup_->step( dt, std::make_shared(fromPython(imu_msg)), std::make_shared(fromPython(joint_state_msg))); @@ -49,7 +49,7 @@ py::bytes PyDynupWrapper::get_poses() { return toPython(poses); } -bool string2bool(const std::string &v) { +bool string2bool(const std::string& v) { return !v.empty() && (strcasecmp(v.c_str(), "true") == 0 || atoi(v.c_str()) != 0); } diff --git a/bitbots_motion/bitbots_dynup/src/dynup_stabilizer.cpp b/src/bitbots_motion/bitbots_dynup/src/dynup_stabilizer.cpp similarity index 97% rename from bitbots_motion/bitbots_dynup/src/dynup_stabilizer.cpp rename to src/bitbots_motion/bitbots_dynup/src/dynup_stabilizer.cpp index 31771a5ff..aab401d98 100644 --- a/bitbots_motion/bitbots_dynup/src/dynup_stabilizer.cpp +++ b/src/bitbots_motion/bitbots_dynup/src/dynup_stabilizer.cpp @@ -17,7 +17,7 @@ void Stabilizer::reset() { pid_trunk_roll_.reset(); } -DynupResponse Stabilizer::stabilize(const DynupResponse &ik_goals, const rclcpp::Duration &dt) { +DynupResponse Stabilizer::stabilize(const DynupResponse& ik_goals, const rclcpp::Duration& dt) { tf2::Transform right_foot_goal; // Check if we have all the necessary data to stabilize diff --git a/bitbots_motion/bitbots_dynup/src/dynup_utils.cpp b/src/bitbots_motion/bitbots_dynup/src/dynup_utils.cpp similarity index 100% rename from bitbots_motion/bitbots_dynup/src/dynup_utils.cpp rename to src/bitbots_motion/bitbots_dynup/src/dynup_utils.cpp diff --git a/bitbots_motion/bitbots_dynup/src/visualizer.cpp b/src/bitbots_motion/bitbots_dynup/src/visualizer.cpp similarity index 95% rename from bitbots_motion/bitbots_dynup/src/visualizer.cpp rename to src/bitbots_motion/bitbots_dynup/src/visualizer.cpp index 5228b28e5..50b62ded5 100644 --- a/bitbots_motion/bitbots_dynup/src/visualizer.cpp +++ b/src/bitbots_motion/bitbots_dynup/src/visualizer.cpp @@ -3,7 +3,7 @@ namespace bitbots_dynup { Visualizer::Visualizer(rclcpp::Node::SharedPtr node, bitbots_dynup::Params::Visualizer params, - const std::string &base_topic) + const std::string& base_topic) : node_(node), base_topic_(base_topic), params_(params) { /* make sure base_topic_ has consistent scheme */ if (base_topic.compare(base_topic.size() - 1, 1, "/") != 0) { @@ -18,7 +18,7 @@ Visualizer::Visualizer(rclcpp::Node::SharedPtr node, bitbots_dynup::Params::Visu void Visualizer::setParams(bitbots_dynup::Params::Visualizer params) { params_ = params; } -void Visualizer::displaySplines(bitbots_splines::PoseSpline splines, const std::string &frame) { +void Visualizer::displaySplines(bitbots_splines::PoseSpline splines, const std::string& frame) { // if (spline_publisher_->get_subscription_count() == 0) // return; visualization_msgs::msg::MarkerArray path = getPath(splines, frame, params_.spline_smoothness, node_); @@ -26,8 +26,8 @@ void Visualizer::displaySplines(bitbots_splines::PoseSpline splines, const std:: spline_publisher_->publish(path); } -void Visualizer::publishIKOffsets(const moveit::core::RobotModelPtr &model, const DynupResponse &response, - const bitbots_splines::JointGoals &ik_joint_goals) { +void Visualizer::publishIKOffsets(const moveit::core::RobotModelPtr& model, const DynupResponse& response, + const bitbots_splines::JointGoals& ik_joint_goals) { bitbots_dynup::msg::DynupIkOffset msg; // those are the motor goals for the robot computed by the IK moveit::core::RobotStatePtr ik_state = std::make_shared(model); diff --git a/bitbots_motion/bitbots_hcm/CMakeLists.txt b/src/bitbots_motion/bitbots_hcm/CMakeLists.txt similarity index 100% rename from bitbots_motion/bitbots_hcm/CMakeLists.txt rename to src/bitbots_motion/bitbots_hcm/CMakeLists.txt diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/__init__.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/__init__.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/__init__.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/__init__.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/__init__.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/__init__.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/__init__.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/__init__.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/__init__.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/__init__.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/__init__.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/__init__.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/cancel_goals.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/cancel_goals.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/cancel_goals.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/cancel_goals.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/change_motor_power.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/change_motor_power.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/change_motor_power.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/change_motor_power.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/change_motor_torque.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/change_motor_torque.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/change_motor_torque.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/change_motor_torque.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/play_animation.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/play_animation.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/play_animation.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/play_animation.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/set_foot_zero.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/set_foot_zero.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/set_foot_zero.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/set_foot_zero.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/speak.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/speak.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/speak.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/speak.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/squat.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/squat.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/squat.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/squat.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/state.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/state.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/state.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/state.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/stop_walking.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/stop_walking.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/stop_walking.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/stop_walking.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/wait.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/wait.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/wait.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/wait.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/wait_for.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/wait_for.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/wait_for.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/actions/wait_for.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/__init__.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/__init__.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/__init__.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/__init__.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/animation.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/animation.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/animation.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/animation.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/check_hardware.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/check_hardware.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/check_hardware.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/check_hardware.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/fallen.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/fallen.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/fallen.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/fallen.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/falling.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/falling.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/falling.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/falling.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/kicking.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/kicking.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/kicking.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/kicking.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/pickup.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/pickup.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/pickup.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/pickup.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/sim.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/sim.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/sim.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/sim.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/squat.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/squat.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/squat.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/squat.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/startup.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/startup.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/startup.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/startup.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/stop.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/stop.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/stop.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/stop.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/teaching.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/teaching.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/teaching.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/teaching.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/walking.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/walking.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/walking.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/decisions/walking.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/hcm.dsd b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/hcm.dsd similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/hcm.dsd rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/hcm.dsd diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/hcm_blackboard.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/hcm_blackboard.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/hcm_blackboard.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/hcm_dsd/hcm_blackboard.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/humanoid_control_module.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/humanoid_control_module.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/humanoid_control_module.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/humanoid_control_module.py diff --git a/bitbots_motion/bitbots_hcm/bitbots_hcm/type_utils.py b/src/bitbots_motion/bitbots_hcm/bitbots_hcm/type_utils.py similarity index 100% rename from bitbots_motion/bitbots_hcm/bitbots_hcm/type_utils.py rename to src/bitbots_motion/bitbots_hcm/bitbots_hcm/type_utils.py diff --git a/bitbots_motion/bitbots_hcm/config/hcm_wolfgang.yaml b/src/bitbots_motion/bitbots_hcm/config/hcm_wolfgang.yaml similarity index 100% rename from bitbots_motion/bitbots_hcm/config/hcm_wolfgang.yaml rename to src/bitbots_motion/bitbots_hcm/config/hcm_wolfgang.yaml diff --git a/bitbots_motion/bitbots_hcm/docs/_static/logo.png b/src/bitbots_motion/bitbots_hcm/docs/_static/logo.png similarity index 100% rename from bitbots_motion/bitbots_hcm/docs/_static/logo.png rename to src/bitbots_motion/bitbots_hcm/docs/_static/logo.png diff --git a/bitbots_motion/bitbots_hcm/docs/conf.py b/src/bitbots_motion/bitbots_hcm/docs/conf.py similarity index 100% rename from bitbots_motion/bitbots_hcm/docs/conf.py rename to src/bitbots_motion/bitbots_hcm/docs/conf.py diff --git a/bitbots_motion/bitbots_hcm/docs/index.rst b/src/bitbots_motion/bitbots_hcm/docs/index.rst similarity index 100% rename from bitbots_motion/bitbots_hcm/docs/index.rst rename to src/bitbots_motion/bitbots_hcm/docs/index.rst diff --git a/bitbots_motion/bitbots_hcm/launch/hcm.launch b/src/bitbots_motion/bitbots_hcm/launch/hcm.launch similarity index 100% rename from bitbots_motion/bitbots_hcm/launch/hcm.launch rename to src/bitbots_motion/bitbots_hcm/launch/hcm.launch diff --git a/bitbots_motion/bitbots_hcm/launch/test.launch b/src/bitbots_motion/bitbots_hcm/launch/test.launch similarity index 100% rename from bitbots_motion/bitbots_hcm/launch/test.launch rename to src/bitbots_motion/bitbots_hcm/launch/test.launch diff --git a/bitbots_motion/bitbots_hcm/mypy.ini b/src/bitbots_motion/bitbots_hcm/mypy.ini similarity index 100% rename from bitbots_motion/bitbots_hcm/mypy.ini rename to src/bitbots_motion/bitbots_hcm/mypy.ini diff --git a/bitbots_motion/bitbots_hcm/package.xml b/src/bitbots_motion/bitbots_hcm/package.xml similarity index 100% rename from bitbots_motion/bitbots_hcm/package.xml rename to src/bitbots_motion/bitbots_hcm/package.xml diff --git a/bitbots_motion/bitbots_hcm/scripts/led.py b/src/bitbots_motion/bitbots_hcm/scripts/led.py similarity index 100% rename from bitbots_motion/bitbots_hcm/scripts/led.py rename to src/bitbots_motion/bitbots_hcm/scripts/led.py diff --git a/bitbots_motion/bitbots_hcm/src/hcm.cpp b/src/bitbots_motion/bitbots_hcm/src/hcm.cpp similarity index 100% rename from bitbots_motion/bitbots_hcm/src/hcm.cpp rename to src/bitbots_motion/bitbots_hcm/src/hcm.cpp diff --git a/bitbots_motion/bitbots_hcm/test/pytest/test_dsd_valid.py b/src/bitbots_motion/bitbots_hcm/test/pytest/test_dsd_valid.py similarity index 100% rename from bitbots_motion/bitbots_hcm/test/pytest/test_dsd_valid.py rename to src/bitbots_motion/bitbots_hcm/test/pytest/test_dsd_valid.py diff --git a/bitbots_motion/bitbots_head_mover/CMakeLists.txt b/src/bitbots_motion/bitbots_head_mover/CMakeLists.txt similarity index 100% rename from bitbots_motion/bitbots_head_mover/CMakeLists.txt rename to src/bitbots_motion/bitbots_head_mover/CMakeLists.txt diff --git a/bitbots_motion/bitbots_head_mover/config/head_config.yml b/src/bitbots_motion/bitbots_head_mover/config/head_config.yml similarity index 100% rename from bitbots_motion/bitbots_head_mover/config/head_config.yml rename to src/bitbots_motion/bitbots_head_mover/config/head_config.yml diff --git a/bitbots_motion/bitbots_head_mover/launch/head_mover.launch b/src/bitbots_motion/bitbots_head_mover/launch/head_mover.launch similarity index 100% rename from bitbots_motion/bitbots_head_mover/launch/head_mover.launch rename to src/bitbots_motion/bitbots_head_mover/launch/head_mover.launch diff --git a/bitbots_motion/bitbots_head_mover/launch/head_mover_standalone.launch b/src/bitbots_motion/bitbots_head_mover/launch/head_mover_standalone.launch similarity index 100% rename from bitbots_motion/bitbots_head_mover/launch/head_mover_standalone.launch rename to src/bitbots_motion/bitbots_head_mover/launch/head_mover_standalone.launch diff --git a/bitbots_motion/bitbots_head_mover/launch/test.launch b/src/bitbots_motion/bitbots_head_mover/launch/test.launch similarity index 100% rename from bitbots_motion/bitbots_head_mover/launch/test.launch rename to src/bitbots_motion/bitbots_head_mover/launch/test.launch diff --git a/bitbots_motion/bitbots_head_mover/package.xml b/src/bitbots_motion/bitbots_head_mover/package.xml similarity index 100% rename from bitbots_motion/bitbots_head_mover/package.xml rename to src/bitbots_motion/bitbots_head_mover/package.xml diff --git a/bitbots_motion/bitbots_head_mover/src/move_head.cpp b/src/bitbots_motion/bitbots_head_mover/src/move_head.cpp similarity index 100% rename from bitbots_motion/bitbots_head_mover/src/move_head.cpp rename to src/bitbots_motion/bitbots_head_mover/src/move_head.cpp diff --git a/bitbots_motion/bitbots_moveit_bindings/CMakeLists.txt b/src/bitbots_motion/bitbots_moveit_bindings/CMakeLists.txt similarity index 100% rename from bitbots_motion/bitbots_moveit_bindings/CMakeLists.txt rename to src/bitbots_motion/bitbots_moveit_bindings/CMakeLists.txt diff --git a/bitbots_motion/bitbots_moveit_bindings/bitbots_moveit_bindings/__init__.py b/src/bitbots_motion/bitbots_moveit_bindings/bitbots_moveit_bindings/__init__.py similarity index 100% rename from bitbots_motion/bitbots_moveit_bindings/bitbots_moveit_bindings/__init__.py rename to src/bitbots_motion/bitbots_moveit_bindings/bitbots_moveit_bindings/__init__.py diff --git a/bitbots_motion/bitbots_moveit_bindings/docs/_static/logo.png b/src/bitbots_motion/bitbots_moveit_bindings/docs/_static/logo.png similarity index 100% rename from bitbots_motion/bitbots_moveit_bindings/docs/_static/logo.png rename to src/bitbots_motion/bitbots_moveit_bindings/docs/_static/logo.png diff --git a/bitbots_motion/bitbots_moveit_bindings/docs/conf.py b/src/bitbots_motion/bitbots_moveit_bindings/docs/conf.py similarity index 100% rename from bitbots_motion/bitbots_moveit_bindings/docs/conf.py rename to src/bitbots_motion/bitbots_moveit_bindings/docs/conf.py diff --git a/bitbots_motion/bitbots_moveit_bindings/docs/index.rst b/src/bitbots_motion/bitbots_moveit_bindings/docs/index.rst similarity index 100% rename from bitbots_motion/bitbots_moveit_bindings/docs/index.rst rename to src/bitbots_motion/bitbots_moveit_bindings/docs/index.rst diff --git a/bitbots_motion/bitbots_moveit_bindings/package.xml b/src/bitbots_motion/bitbots_moveit_bindings/package.xml similarity index 100% rename from bitbots_motion/bitbots_moveit_bindings/package.xml rename to src/bitbots_motion/bitbots_moveit_bindings/package.xml diff --git a/bitbots_motion/bitbots_moveit_bindings/setup.py b/src/bitbots_motion/bitbots_moveit_bindings/setup.py similarity index 100% rename from bitbots_motion/bitbots_moveit_bindings/setup.py rename to src/bitbots_motion/bitbots_moveit_bindings/setup.py diff --git a/bitbots_motion/bitbots_moveit_bindings/src/bitbots_moveit_bindings.cpp b/src/bitbots_motion/bitbots_moveit_bindings/src/bitbots_moveit_bindings.cpp similarity index 100% rename from bitbots_motion/bitbots_moveit_bindings/src/bitbots_moveit_bindings.cpp rename to src/bitbots_motion/bitbots_moveit_bindings/src/bitbots_moveit_bindings.cpp diff --git a/bitbots_motion/bitbots_moveit_bindings/test/test_moveit_bindings.py b/src/bitbots_motion/bitbots_moveit_bindings/test/test_moveit_bindings.py similarity index 100% rename from bitbots_motion/bitbots_moveit_bindings/test/test_moveit_bindings.py rename to src/bitbots_motion/bitbots_moveit_bindings/test/test_moveit_bindings.py diff --git a/bitbots_motion/bitbots_quintic_walk/CMakeLists.txt b/src/bitbots_motion/bitbots_quintic_walk/CMakeLists.txt similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/CMakeLists.txt rename to src/bitbots_motion/bitbots_quintic_walk/CMakeLists.txt diff --git a/bitbots_motion/bitbots_quintic_walk/__init__.py b/src/bitbots_motion/bitbots_quintic_walk/__init__.py similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/__init__.py rename to src/bitbots_motion/bitbots_quintic_walk/__init__.py diff --git a/bitbots_motion/bitbots_quintic_walk/bitbots_quintic_walk_py/__init__.py b/src/bitbots_motion/bitbots_quintic_walk/bitbots_quintic_walk_py/__init__.py similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/bitbots_quintic_walk_py/__init__.py rename to src/bitbots_motion/bitbots_quintic_walk/bitbots_quintic_walk_py/__init__.py diff --git a/bitbots_motion/bitbots_quintic_walk/bitbots_quintic_walk_py/py_walk.py b/src/bitbots_motion/bitbots_quintic_walk/bitbots_quintic_walk_py/py_walk.py similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/bitbots_quintic_walk_py/py_walk.py rename to src/bitbots_motion/bitbots_quintic_walk/bitbots_quintic_walk_py/py_walk.py diff --git a/bitbots_motion/bitbots_quintic_walk/cmake/FindEigen.cmake b/src/bitbots_motion/bitbots_quintic_walk/cmake/FindEigen.cmake similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/cmake/FindEigen.cmake rename to src/bitbots_motion/bitbots_quintic_walk/cmake/FindEigen.cmake diff --git a/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_pybullet_wolfgang.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_pybullet_wolfgang.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/deep_quintic_pybullet_wolfgang.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_pybullet_wolfgang.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_robot.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_robot.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/deep_quintic_robot.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_robot.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_chape.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_chape.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_chape.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_chape.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_mrl_hsl.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_mrl_hsl.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_mrl_hsl.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_mrl_hsl.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_op3.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_op3.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_op3.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_op3.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_rfc.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_rfc.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_rfc.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_rfc.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_wolfgang.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_wolfgang.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_wolfgang.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/deep_quintic_webots_wolfgang.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/optimization.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/optimization.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/optimization.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/optimization.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/plotjuggler_layout.xml b/src/bitbots_motion/bitbots_quintic_walk/config/plotjuggler_layout.xml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/plotjuggler_layout.xml rename to src/bitbots_motion/bitbots_quintic_walk/config/plotjuggler_layout.xml diff --git a/bitbots_motion/bitbots_quintic_walk/config/robots/amy.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/robots/amy.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/robots/amy.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/robots/amy.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/robots/default.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/robots/default.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/robots/default.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/robots/default.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/robots/donna.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/robots/donna.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/robots/donna.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/robots/donna.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/robots/jack.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/robots/jack.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/robots/jack.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/robots/jack.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/robots/melody.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/robots/melody.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/robots/melody.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/robots/melody.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/robots/rory.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/robots/rory.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/robots/rory.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/robots/rory.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walk.rviz b/src/bitbots_motion/bitbots_quintic_walk/config/walk.rviz similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walk.rviz rename to src/bitbots_motion/bitbots_quintic_walk/config/walk.rviz diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_bez_simulator.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_bez_simulator.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_bez_simulator.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_bez_simulator.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_chape_simulator.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_chape_simulator.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_chape_simulator.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_chape_simulator.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_gankenkun_simulator.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_gankenkun_simulator.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_gankenkun_simulator.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_gankenkun_simulator.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_mrl_hsl_simulator.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_mrl_hsl_simulator.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_mrl_hsl_simulator.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_mrl_hsl_simulator.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_nao_simulator.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_nao_simulator.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_nao_simulator.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_nao_simulator.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_nugus_simulator.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_nugus_simulator.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_nugus_simulator.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_nugus_simulator.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_op3_simulator.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_op3_simulator.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_op3_simulator.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_op3_simulator.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_rfc_simulator.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_rfc_simulator.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_rfc_simulator.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_rfc_simulator.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_robotis_op2_optimized_single_steps.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_robotis_op2_optimized_single_steps.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_robotis_op2_optimized_single_steps.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_robotis_op2_optimized_single_steps.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_robotis_op2_simulator.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_robotis_op2_simulator.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_robotis_op2_simulator.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_robotis_op2_simulator.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_sahrv74_simulator.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_sahrv74_simulator.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_sahrv74_simulator.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_sahrv74_simulator.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_evaluation.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_evaluation.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_evaluation.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_evaluation.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_robot.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_robot.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_robot.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_robot.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_robot_no_limits.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_robot_no_limits.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_robot_no_limits.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_robot_no_limits.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_simulator.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_simulator.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_simulator.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_simulator.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_viz.yaml b/src/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_viz.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_viz.yaml rename to src/bitbots_motion/bitbots_quintic_walk/config/walking_wolfgang_viz.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/docs/_static/FSM.png b/src/bitbots_motion/bitbots_quintic_walk/docs/_static/FSM.png similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/docs/_static/FSM.png rename to src/bitbots_motion/bitbots_quintic_walk/docs/_static/FSM.png diff --git a/bitbots_motion/bitbots_quintic_walk/docs/_static/approach.png b/src/bitbots_motion/bitbots_quintic_walk/docs/_static/approach.png similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/docs/_static/approach.png rename to src/bitbots_motion/bitbots_quintic_walk/docs/_static/approach.png diff --git a/bitbots_motion/bitbots_quintic_walk/docs/_static/engine_params.png b/src/bitbots_motion/bitbots_quintic_walk/docs/_static/engine_params.png similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/docs/_static/engine_params.png rename to src/bitbots_motion/bitbots_quintic_walk/docs/_static/engine_params.png diff --git a/bitbots_motion/bitbots_quintic_walk/docs/_static/engine_step.png b/src/bitbots_motion/bitbots_quintic_walk/docs/_static/engine_step.png similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/docs/_static/engine_step.png rename to src/bitbots_motion/bitbots_quintic_walk/docs/_static/engine_step.png diff --git a/bitbots_motion/bitbots_quintic_walk/docs/_static/logo.png b/src/bitbots_motion/bitbots_quintic_walk/docs/_static/logo.png similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/docs/_static/logo.png rename to src/bitbots_motion/bitbots_quintic_walk/docs/_static/logo.png diff --git a/bitbots_motion/bitbots_quintic_walk/docs/conf.py b/src/bitbots_motion/bitbots_quintic_walk/docs/conf.py similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/docs/conf.py rename to src/bitbots_motion/bitbots_quintic_walk/docs/conf.py diff --git a/bitbots_motion/bitbots_quintic_walk/docs/index.rst b/src/bitbots_motion/bitbots_quintic_walk/docs/index.rst similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/docs/index.rst rename to src/bitbots_motion/bitbots_quintic_walk/docs/index.rst diff --git a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_engine.hpp b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_engine.hpp similarity index 97% rename from bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_engine.hpp rename to src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_engine.hpp index 5b9cf96cd..ebee94f64 100644 --- a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_engine.hpp +++ b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_engine.hpp @@ -29,7 +29,7 @@ class WalkEngine : public bitbots_splines::AbstractEngine &linear_orders, double angular_z); + void stepFromOrders(const std::vector& linear_orders, double angular_z); /** * Small helper method to get euler angle instead of quaternion. diff --git a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_ik.hpp b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_ik.hpp similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_ik.hpp rename to src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_ik.hpp diff --git a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_node.hpp b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_node.hpp similarity index 97% rename from bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_node.hpp rename to src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_node.hpp index 9b847ba28..17e02e0ea 100644 --- a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_node.hpp +++ b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_node.hpp @@ -52,8 +52,8 @@ namespace bitbots_quintic_walk { class WalkNode { public: - explicit WalkNode(rclcpp::Node::SharedPtr node, const std::string &ns = "", - const std::vector &moveit_parameters = {}); + explicit WalkNode(rclcpp::Node::SharedPtr node, const std::string& ns = "", + const std::vector& moveit_parameters = {}); bitbots_msgs::msg::JointCommand step(double dt); bitbots_msgs::msg::JointCommand step(double dt, geometry_msgs::msg::Twist::SharedPtr cmdvel_msg, sensor_msgs::msg::Imu::SharedPtr imu_msg, @@ -105,9 +105,9 @@ class WalkNode { */ void robotStateCb(bitbots_msgs::msg::RobotControlState::SharedPtr msg); - WalkEngine *getEngine(); - WalkIK *getIk(); - moveit::core::RobotModelPtr *get_kinematic_model(); + WalkEngine* getEngine(); + WalkIK* getIk(); + moveit::core::RobotModelPtr* get_kinematic_model(); nav_msgs::msg::Odometry getOdometry(); diff --git a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_pywrapper.hpp b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_pywrapper.hpp similarity index 73% rename from bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_pywrapper.hpp rename to src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_pywrapper.hpp index 2436bd40d..ec44dd953 100644 --- a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_pywrapper.hpp +++ b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_pywrapper.hpp @@ -22,14 +22,14 @@ using namespace ros2_python_extension; class PyWalkWrapper { public: - explicit PyWalkWrapper(const std::string &ns, const std::vector &walk_parameter_msgs = {}, - const std::vector &moveit_parameter_msgs = {}, + explicit PyWalkWrapper(const std::string& ns, const std::vector& walk_parameter_msgs = {}, + const std::vector& moveit_parameter_msgs = {}, bool force_smooth_step_transition = false); - py::bytes step(double dt, py::bytes &cmdvel_msg, py::bytes &imu_msg, py::bytes &jointstate_msg, - py::bytes &pressure_left, py::bytes &pressure_right); - py::bytes step_relative(double dt, py::bytes &step_msg, py::bytes &imu_msg, py::bytes &jointstate_msg, - py::bytes &pressure_left, py::bytes &pressure_right); - py::bytes step_open_loop(double dt, py::bytes &cmdvel_msg); + py::bytes step(double dt, py::bytes& cmdvel_msg, py::bytes& imu_msg, py::bytes& jointstate_msg, + py::bytes& pressure_left, py::bytes& pressure_right); + py::bytes step_relative(double dt, py::bytes& step_msg, py::bytes& imu_msg, py::bytes& jointstate_msg, + py::bytes& pressure_left, py::bytes& pressure_right); + py::bytes step_open_loop(double dt, py::bytes& cmdvel_msg); py::bytes get_left_foot_pose(); py::bytes get_right_foot_pose(); py::bytes get_odom(); diff --git a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_stabilizer.hpp b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_stabilizer.hpp similarity index 90% rename from bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_stabilizer.hpp rename to src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_stabilizer.hpp index 7b5387833..51416948c 100644 --- a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_stabilizer.hpp +++ b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_stabilizer.hpp @@ -18,7 +18,7 @@ class WalkStabilizer : public bitbots_splines::AbstractStabilizer public: explicit WalkStabilizer(rclcpp::Node::SharedPtr node); void reset() override; - WalkResponse stabilize(const WalkResponse &response, const rclcpp::Duration &dt) override; + WalkResponse stabilize(const WalkResponse& response, const rclcpp::Duration& dt) override; private: control_toolbox::PidROS pid_trunk_fused_pitch_; diff --git a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_utils.hpp b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_utils.hpp similarity index 97% rename from bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_utils.hpp rename to src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_utils.hpp index cb50c5b7a..50cd7cb2f 100644 --- a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_utils.hpp +++ b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_utils.hpp @@ -103,7 +103,7 @@ inline double angleDistance(double angle_src, double angle_dst) { } } -inline void tf_pose_to_msg(tf2::Transform &tf_pose, geometry_msgs::msg::Pose &msg_pose) { +inline void tf_pose_to_msg(tf2::Transform& tf_pose, geometry_msgs::msg::Pose& msg_pose) { msg_pose.position.x = tf_pose.getOrigin().getX(); msg_pose.position.y = tf_pose.getOrigin().getY(); msg_pose.position.z = tf_pose.getOrigin().getZ(); diff --git a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_visualizer.hpp b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_visualizer.hpp similarity index 91% rename from bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_visualizer.hpp rename to src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_visualizer.hpp index df7f38cbe..62d695227 100644 --- a/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_visualizer.hpp +++ b/src/bitbots_motion/bitbots_quintic_walk/include/bitbots_quintic_walk/walk_visualizer.hpp @@ -23,9 +23,9 @@ class WalkVisualizer : public bitbots_splines::AbstractVisualizer { public: explicit WalkVisualizer(rclcpp::Node::SharedPtr node, walking::Params::Node::Tf tf_config); - visualization_msgs::msg::Marker createArrowMarker(const std::string &name_space, const std::string &frame, - const geometry_msgs::msg::Pose &pose, - const std_msgs::msg::ColorRGBA &color); + visualization_msgs::msg::Marker createArrowMarker(const std::string& name_space, const std::string& frame, + const geometry_msgs::msg::Pose& pose, + const std_msgs::msg::ColorRGBA& color); std::pair buildEngineDebugMsgs( WalkResponse response); @@ -35,8 +35,8 @@ class WalkVisualizer : public bitbots_splines::AbstractVisualizer { void init(moveit::core::RobotModelPtr kinematic_model); - void publishDebug(const WalkResponse ¤t_response, const moveit::core::RobotStatePtr ¤t_state, - const bitbots_splines::JointGoals &motor_goals); + void publishDebug(const WalkResponse& current_response, const moveit::core::RobotStatePtr& current_state, + const bitbots_splines::JointGoals& motor_goals); std_msgs::msg::ColorRGBA colorFactory(double r, double g, double b) { std_msgs::msg::ColorRGBA color; diff --git a/bitbots_motion/bitbots_quintic_walk/launch/quintic_walk.launch b/src/bitbots_motion/bitbots_quintic_walk/launch/quintic_walk.launch similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/launch/quintic_walk.launch rename to src/bitbots_motion/bitbots_quintic_walk/launch/quintic_walk.launch diff --git a/bitbots_motion/bitbots_quintic_walk/launch/test.launch b/src/bitbots_motion/bitbots_quintic_walk/launch/test.launch similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/launch/test.launch rename to src/bitbots_motion/bitbots_quintic_walk/launch/test.launch diff --git a/bitbots_motion/bitbots_quintic_walk/msg/WalkDebug.msg b/src/bitbots_motion/bitbots_quintic_walk/msg/WalkDebug.msg similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/msg/WalkDebug.msg rename to src/bitbots_motion/bitbots_quintic_walk/msg/WalkDebug.msg diff --git a/bitbots_motion/bitbots_quintic_walk/msg/WalkEngineDebug.msg b/src/bitbots_motion/bitbots_quintic_walk/msg/WalkEngineDebug.msg similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/msg/WalkEngineDebug.msg rename to src/bitbots_motion/bitbots_quintic_walk/msg/WalkEngineDebug.msg diff --git a/bitbots_motion/bitbots_quintic_walk/package.xml b/src/bitbots_motion/bitbots_quintic_walk/package.xml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/package.xml rename to src/bitbots_motion/bitbots_quintic_walk/package.xml diff --git a/bitbots_motion/bitbots_quintic_walk/scripts/test_solvable_speeds.py b/src/bitbots_motion/bitbots_quintic_walk/scripts/test_solvable_speeds.py similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/scripts/test_solvable_speeds.py rename to src/bitbots_motion/bitbots_quintic_walk/scripts/test_solvable_speeds.py diff --git a/bitbots_motion/bitbots_quintic_walk/setup.py b/src/bitbots_motion/bitbots_quintic_walk/setup.py similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/setup.py rename to src/bitbots_motion/bitbots_quintic_walk/setup.py diff --git a/bitbots_motion/bitbots_quintic_walk/src/parameters.yaml b/src/bitbots_motion/bitbots_quintic_walk/src/parameters.yaml similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/src/parameters.yaml rename to src/bitbots_motion/bitbots_quintic_walk/src/parameters.yaml diff --git a/bitbots_motion/bitbots_quintic_walk/src/walk_engine.cpp b/src/bitbots_motion/bitbots_quintic_walk/src/walk_engine.cpp similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/src/walk_engine.cpp rename to src/bitbots_motion/bitbots_quintic_walk/src/walk_engine.cpp diff --git a/bitbots_motion/bitbots_quintic_walk/src/walk_ik.cpp b/src/bitbots_motion/bitbots_quintic_walk/src/walk_ik.cpp similarity index 95% rename from bitbots_motion/bitbots_quintic_walk/src/walk_ik.cpp rename to src/bitbots_motion/bitbots_quintic_walk/src/walk_ik.cpp index 14b4d5a0e..d4e8fa1d3 100644 --- a/bitbots_motion/bitbots_quintic_walk/src/walk_ik.cpp +++ b/src/bitbots_motion/bitbots_quintic_walk/src/walk_ik.cpp @@ -17,7 +17,7 @@ void WalkIK::init(moveit::core::RobotModelPtr kinematic_model) { } } -bitbots_splines::JointGoals WalkIK::calculate(const WalkResponse &ik_goals) { +bitbots_splines::JointGoals WalkIK::calculate(const WalkResponse& ik_goals) { // change goals from support foot based coordinate system to trunk based coordinate system tf2::Transform trunk_to_support_foot_goal = ik_goals.support_foot_to_trunk.inverse(); tf2::Transform trunk_to_flying_foot_goal = trunk_to_support_foot_goal * ik_goals.support_foot_to_flying_foot; @@ -76,9 +76,9 @@ void WalkIK::reset() { void WalkIK::setConfig(walking::Params::Node::Ik config) { config_ = config; } -const std::vector &WalkIK::getLeftLegJointNames() { return left_leg_joints_group_->getJointModelNames(); } +const std::vector& WalkIK::getLeftLegJointNames() { return left_leg_joints_group_->getJointModelNames(); } -const std::vector &WalkIK::getRightLegJointNames() { +const std::vector& WalkIK::getRightLegJointNames() { return right_leg_joints_group_->getJointModelNames(); } diff --git a/bitbots_motion/bitbots_quintic_walk/src/walk_node.cpp b/src/bitbots_motion/bitbots_quintic_walk/src/walk_node.cpp similarity index 99% rename from bitbots_motion/bitbots_quintic_walk/src/walk_node.cpp rename to src/bitbots_motion/bitbots_quintic_walk/src/walk_node.cpp index 3342fa51d..46f775fd2 100644 --- a/bitbots_motion/bitbots_quintic_walk/src/walk_node.cpp +++ b/src/bitbots_motion/bitbots_quintic_walk/src/walk_node.cpp @@ -407,10 +407,6 @@ void WalkNode::imuCb(const sensor_msgs::msg::Imu::SharedPtr msg) { current_trunk_fused_pitch_ = imu_fused.fusedPitch; current_trunk_fused_roll_ = imu_fused.fusedRoll; - // get angular velocities - double roll_vel = msg->angular_velocity.x; - double pitch_vel = msg->angular_velocity.y; - // Calculate ema (exponential moving average) of y (sideways) acceleration in a time-independet manner if (last_imu_measurement_time_) { auto time_delta = rclcpp::Time(msg->header.stamp) - last_imu_measurement_time_.value(); @@ -429,6 +425,10 @@ void WalkNode::imuCb(const sensor_msgs::msg::Imu::SharedPtr msg) { // Get the sub struct of the imu stability stop config auto params = config_.node.stability_stop.imu; + // Get angular velocities + double roll_vel = msg->angular_velocity.x; + double pitch_vel = msg->angular_velocity.y; + // Check if we have to stop the walk double pitch_delta = pitch - wanted_pitch; if (abs(roll) > params.roll.threshold or abs(pitch_delta) > params.pitch.threshold or diff --git a/bitbots_motion/bitbots_quintic_walk/src/walk_pywrapper.cpp b/src/bitbots_motion/bitbots_quintic_walk/src/walk_pywrapper.cpp similarity index 92% rename from bitbots_motion/bitbots_quintic_walk/src/walk_pywrapper.cpp rename to src/bitbots_motion/bitbots_quintic_walk/src/walk_pywrapper.cpp index e0f2ac570..0fb1da82b 100644 --- a/bitbots_motion/bitbots_quintic_walk/src/walk_pywrapper.cpp +++ b/src/bitbots_motion/bitbots_quintic_walk/src/walk_pywrapper.cpp @@ -2,8 +2,8 @@ void PyWalkWrapper::spin_some() { rclcpp::spin_some(node_); } -PyWalkWrapper::PyWalkWrapper(const std::string &ns, const std::vector &walk_parameter_msgs, - const std::vector &moveit_parameter_msgs, bool force_smooth_step_transition) { +PyWalkWrapper::PyWalkWrapper(const std::string& ns, const std::vector& walk_parameter_msgs, + const std::vector& moveit_parameter_msgs, bool force_smooth_step_transition) { // initialize rclcpp if not already done if (!rclcpp::contexts::get_global_default_context()->is_valid()) { rclcpp::init(0, nullptr); @@ -12,7 +12,7 @@ PyWalkWrapper::PyWalkWrapper(const std::string &ns, const std::vector // internal function to deserialize the parameter messages auto deserialize_parameters = [](std::vector parameter_msgs) { std::vector cpp_parameters = {}; - for (auto ¶meter_msg : parameter_msgs) { + for (auto& parameter_msg : parameter_msgs) { cpp_parameters.push_back( rclcpp::Parameter::from_parameter_msg(fromPython(parameter_msg))); } @@ -38,8 +38,8 @@ PyWalkWrapper::PyWalkWrapper(const std::string &ns, const std::vector walk_node_->getEngine()->setForceSmoothStepTransition(force_smooth_step_transition); } -py::bytes PyWalkWrapper::step(double dt, py::bytes &cmdvel_msg, py::bytes &imu_msg, py::bytes &jointstate_msg, - py::bytes &pressure_left, py::bytes &pressure_right) { +py::bytes PyWalkWrapper::step(double dt, py::bytes& cmdvel_msg, py::bytes& imu_msg, py::bytes& jointstate_msg, + py::bytes& pressure_left, py::bytes& pressure_right) { bitbots_msgs::msg::JointCommand result = walk_node_->step( dt, std::make_shared(fromPython(cmdvel_msg)), std::make_shared(fromPython(imu_msg)), @@ -49,8 +49,8 @@ py::bytes PyWalkWrapper::step(double dt, py::bytes &cmdvel_msg, py::bytes &imu_m return toPython(result); } -py::bytes PyWalkWrapper::step_relative(double dt, py::bytes &step_msg, py::bytes &imu_msg, py::bytes &jointstate_msg, - py::bytes &pressure_left, py::bytes &pressure_right) { +py::bytes PyWalkWrapper::step_relative(double dt, py::bytes& step_msg, py::bytes& imu_msg, py::bytes& jointstate_msg, + py::bytes& pressure_left, py::bytes& pressure_right) { bitbots_msgs::msg::JointCommand result = walk_node_->step_relative( dt, std::make_shared(fromPython(step_msg)), std::make_shared(fromPython(imu_msg)), @@ -60,7 +60,7 @@ py::bytes PyWalkWrapper::step_relative(double dt, py::bytes &step_msg, py::bytes return toPython(result); } -py::bytes PyWalkWrapper::step_open_loop(double dt, py::bytes &cmdvel_msg) { +py::bytes PyWalkWrapper::step_open_loop(double dt, py::bytes& cmdvel_msg) { geometry_msgs::msg::PoseArray result = walk_node_->step_open_loop( dt, std::make_shared(fromPython(cmdvel_msg))); return toPython(result); @@ -147,8 +147,8 @@ void PyWalkWrapper::publish_debug() { walk_node_->publish_debug(); } bool PyWalkWrapper::reset_and_test_if_speed_possible(py::bytes cmd_vel, double pos_threshold) { walk_node_->reset(bitbots_quintic_walk::WalkState::WALKING, 0.0, std::make_shared(fromPython(cmd_vel)), true); - bitbots_quintic_walk::WalkEngine *engine = walk_node_->getEngine(); - bitbots_quintic_walk::WalkIK *ik = walk_node_->getIk(); + bitbots_quintic_walk::WalkEngine* engine = walk_node_->getEngine(); + bitbots_quintic_walk::WalkIK* ik = walk_node_->getIk(); bitbots_quintic_walk::WalkResponse current_response; bitbots_splines::JointGoals joint_goals; moveit::core::RobotStatePtr goal_state; diff --git a/bitbots_motion/bitbots_quintic_walk/src/walk_stabilizer.cpp b/src/bitbots_motion/bitbots_quintic_walk/src/walk_stabilizer.cpp similarity index 100% rename from bitbots_motion/bitbots_quintic_walk/src/walk_stabilizer.cpp rename to src/bitbots_motion/bitbots_quintic_walk/src/walk_stabilizer.cpp diff --git a/bitbots_motion/bitbots_quintic_walk/src/walk_visualizer.cpp b/src/bitbots_motion/bitbots_quintic_walk/src/walk_visualizer.cpp similarity index 98% rename from bitbots_motion/bitbots_quintic_walk/src/walk_visualizer.cpp rename to src/bitbots_motion/bitbots_quintic_walk/src/walk_visualizer.cpp index a4e5d5151..d1a117aba 100644 --- a/bitbots_motion/bitbots_quintic_walk/src/walk_visualizer.cpp +++ b/src/bitbots_motion/bitbots_quintic_walk/src/walk_visualizer.cpp @@ -10,9 +10,9 @@ WalkVisualizer::WalkVisualizer(rclcpp::Node::SharedPtr node, walking::Params::No void WalkVisualizer::init(moveit::core::RobotModelPtr kinematic_model) { kinematic_model_ = kinematic_model; } -void WalkVisualizer::publishDebug(const WalkResponse ¤t_response, - const moveit::core::RobotStatePtr ¤t_state, - const bitbots_splines::JointGoals &motor_goals) { +void WalkVisualizer::publishDebug(const WalkResponse& current_response, + const moveit::core::RobotStatePtr& current_state, + const bitbots_splines::JointGoals& motor_goals) { visualization_msgs::msg::MarkerArray marker_array; auto [engine_debug, engine_markers] = buildEngineDebugMsgs(current_response); @@ -140,7 +140,7 @@ std::pairsetJointPositions(names[i], &goals[i]); @@ -254,10 +254,10 @@ std::pair, std::vector> JointGoals; * @param values New values for the previously defined joint names * @return new joint goals with updated values */ -inline JointGoals joint_goals_update(const JointGoals &goals, const std::vector &names, - const std::vector &values, rclcpp::Logger logger) { +inline JointGoals joint_goals_update(const JointGoals& goals, const std::vector& names, + const std::vector& values, rclcpp::Logger logger) { JointGoals result = goals; if (names.size() != values.size()) { @@ -46,8 +46,8 @@ inline JointGoals joint_goals_update(const JointGoals &goals, const std::vector< * @param diffs Differences to be applied to the previously defined joint names * @return new joint goals with updated values */ -inline JointGoals joint_goals_update_diff(const JointGoals &goals, const std::vector &names, - const std::vector &diffs, rclcpp::Logger logger) { +inline JointGoals joint_goals_update_diff(const JointGoals& goals, const std::vector& names, + const std::vector& diffs, rclcpp::Logger logger) { JointGoals result = goals; if (names.size() != diffs.size()) { @@ -77,7 +77,7 @@ class AbstractIK { * @param positions the cartesian positions of end points and custom additional information (e.g. support foot) * @return motor positions */ - virtual JointGoals calculate(const Positions &positions) = 0; + virtual JointGoals calculate(const Positions& positions) = 0; /** * Reset the IK to its initial state. */ diff --git a/bitbots_motion/bitbots_splines/include/bitbots_splines/abstract_stabilizer.hpp b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/abstract_stabilizer.hpp similarity index 89% rename from bitbots_motion/bitbots_splines/include/bitbots_splines/abstract_stabilizer.hpp rename to src/bitbots_motion/bitbots_splines/include/bitbots_splines/abstract_stabilizer.hpp index ee736462f..e5bcd0cf4 100644 --- a/bitbots_motion/bitbots_splines/include/bitbots_splines/abstract_stabilizer.hpp +++ b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/abstract_stabilizer.hpp @@ -18,7 +18,7 @@ class AbstractStabilizer { * @param positions An instance of Positions that contains the results of the engine's calculations. * @return A pointer to BioIK Goals that can be passed to the AbstractIK. */ - virtual Positions stabilize(const Positions &positions, const rclcpp::Duration &dt) = 0; + virtual Positions stabilize(const Positions& positions, const rclcpp::Duration& dt) = 0; }; } // namespace bitbots_splines diff --git a/bitbots_motion/bitbots_splines/include/bitbots_splines/abstract_visualizer.hpp b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/abstract_visualizer.hpp similarity index 93% rename from bitbots_motion/bitbots_splines/include/bitbots_splines/abstract_visualizer.hpp rename to src/bitbots_motion/bitbots_splines/include/bitbots_splines/abstract_visualizer.hpp index 49fb8c159..819003bc7 100644 --- a/bitbots_motion/bitbots_splines/include/bitbots_splines/abstract_visualizer.hpp +++ b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/abstract_visualizer.hpp @@ -17,7 +17,7 @@ class AbstractVisualizer { * @param frame The frame in which the position is given * @return The visualization marker */ - visualization_msgs::msg::Marker getMarker(const tf2::Vector3 &position, const std::string &frame, + visualization_msgs::msg::Marker getMarker(const tf2::Vector3& position, const std::string& frame, rclcpp::Node::SharedPtr node) { visualization_msgs::msg::Marker marker; @@ -46,7 +46,7 @@ class AbstractVisualizer { * @param smoothness The smoothness of the splines * @return The visualization markers */ - visualization_msgs::msg::MarkerArray getPath(bitbots_splines::PoseSpline &spline, const std::string &frame, + visualization_msgs::msg::MarkerArray getPath(bitbots_splines::PoseSpline& spline, const std::string& frame, const double smoothness, rclcpp::Node::SharedPtr node) { visualization_msgs::msg::MarkerArray marker_array; visualization_msgs::msg::Marker base_marker; @@ -83,13 +83,13 @@ class AbstractVisualizer { // Marker for spline orientation // Get all times of manually added points std::list times; - for (const SmoothSpline::Point &p : spline.roll()->points()) { + for (const SmoothSpline::Point& p : spline.roll()->points()) { times.push_back(p.time); } - for (const SmoothSpline::Point &p : spline.pitch()->points()) { + for (const SmoothSpline::Point& p : spline.pitch()->points()) { times.push_back(p.time); } - for (const SmoothSpline::Point &p : spline.yaw()->points()) { + for (const SmoothSpline::Point& p : spline.yaw()->points()) { times.push_back(p.time); } times.sort(); diff --git a/bitbots_motion/bitbots_splines/include/bitbots_splines/combination.hpp b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/combination.hpp similarity index 100% rename from bitbots_motion/bitbots_splines/include/bitbots_splines/combination.hpp rename to src/bitbots_motion/bitbots_splines/include/bitbots_splines/combination.hpp diff --git a/bitbots_motion/bitbots_splines/include/bitbots_splines/euler.hpp b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/euler.hpp similarity index 95% rename from bitbots_motion/bitbots_splines/include/bitbots_splines/euler.hpp rename to src/bitbots_motion/bitbots_splines/include/bitbots_splines/euler.hpp index 17cf51a61..297d0b228 100644 --- a/bitbots_motion/bitbots_splines/include/bitbots_splines/euler.hpp +++ b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/euler.hpp @@ -40,7 +40,7 @@ enum EulerType { /** * Return false if given Euler angles range are no valid */ -inline bool CheckEulerBounds(const Eigen::Vector3d &angles) { +inline bool CheckEulerBounds(const Eigen::Vector3d& angles) { return (angles(0) >= -M_PI && angles(0) <= M_PI) && ((angles(1) > -M_PI / 2.0 && angles(1) < M_PI / 2.0) || (angles(0) == 0 && angles(2) == 0 && (angles(1) == -M_PI / 2.0 || angles(1) == M_PI / 2.0))) && @@ -51,7 +51,7 @@ inline bool CheckEulerBounds(const Eigen::Vector3d &angles) { * Convert given Euler angles of given * convention type to rotation matrix */ -inline Eigen::Matrix3d EulerToMatrix(const Eigen::Vector3d &angles, EulerType eulerType) { +inline Eigen::Matrix3d EulerToMatrix(const Eigen::Vector3d& angles, EulerType eulerType) { Eigen::Quaternion quat; switch (eulerType) { case EulerYawPitchRoll: { @@ -101,7 +101,7 @@ inline Eigen::Matrix3d EulerToMatrix(const Eigen::Vector3d &angles, EulerType eu * Convert the given rotation matrix into * Euler angles of given convention */ -inline Eigen::Vector3d MatrixToEuler(const Eigen::Matrix3d &mat, EulerType eulerType) { +inline Eigen::Vector3d MatrixToEuler(const Eigen::Matrix3d& mat, EulerType eulerType) { Eigen::Vector3d tmp(0.0, 0.0, 0.0); switch (eulerType) { case EulerYawPitchRoll: { @@ -135,7 +135,7 @@ inline Eigen::Vector3d MatrixToEuler(const Eigen::Matrix3d &mat, EulerType euler * to [Roll, Pitch, Yaw] ZYX intrinsic euler * angle (Better range than Eigen conversion). */ -inline Eigen::Vector3d MatrixToEulerIntrinsic(const Eigen::Matrix3d &mat) { +inline Eigen::Vector3d MatrixToEulerIntrinsic(const Eigen::Matrix3d& mat) { // Eigen euler angles and with better range) Eigen::Vector3d angles; // Roll @@ -152,7 +152,7 @@ inline Eigen::Vector3d MatrixToEulerIntrinsic(const Eigen::Matrix3d &mat) { * Convert given Euler angles in [Roll, Pitch, Yaw] * ZYX intrinsic format to rotation matrix */ -inline Eigen::Matrix3d EulerIntrinsicToMatrix(const Eigen::Vector3d &angles) { +inline Eigen::Matrix3d EulerIntrinsicToMatrix(const Eigen::Vector3d& angles) { Eigen::AngleAxisd yawRot(angles.z(), Eigen::Vector3d::UnitZ()); Eigen::AngleAxisd pitchRot(angles.y(), Eigen::Vector3d::UnitY()); Eigen::AngleAxisd rollRot(angles.x(), Eigen::Vector3d::UnitX()); diff --git a/bitbots_motion/bitbots_splines/include/bitbots_splines/newton_binomial.hpp b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/newton_binomial.hpp similarity index 100% rename from bitbots_motion/bitbots_splines/include/bitbots_splines/newton_binomial.hpp rename to src/bitbots_motion/bitbots_splines/include/bitbots_splines/newton_binomial.hpp diff --git a/bitbots_motion/bitbots_splines/include/bitbots_splines/polynom.hpp b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/polynom.hpp similarity index 83% rename from bitbots_motion/bitbots_splines/include/bitbots_splines/polynom.hpp rename to src/bitbots_motion/bitbots_splines/include/bitbots_splines/polynom.hpp index db8e3f7ef..ec01d88dd 100644 --- a/bitbots_motion/bitbots_splines/include/bitbots_splines/polynom.hpp +++ b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/polynom.hpp @@ -32,14 +32,14 @@ class Polynom { * indexed from constant to * higher degree */ - const std::vector &getCoefs() const; - std::vector &getCoefs(); + const std::vector& getCoefs() const; + std::vector& getCoefs(); /** * Access to coefficient */ - const double &operator()(size_t index) const; - double &operator()(size_t index); + const double& operator()(size_t index) const; + double& operator()(size_t index); /** * Return polynom degree @@ -60,7 +60,7 @@ class Polynom { * Some useful operators */ void operator*=(double coef); - void operator+=(const Polynom &p); + void operator+=(const Polynom& p); /** * Update the polynom coefficients @@ -79,7 +79,7 @@ class Polynom { /** * Print operator */ -std::ostream &operator<<(std::ostream &os, const Polynom &p); +std::ostream& operator<<(std::ostream& os, const Polynom& p); } // namespace bitbots_splines diff --git a/bitbots_motion/bitbots_splines/include/bitbots_splines/pose_spline.hpp b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/pose_spline.hpp similarity index 91% rename from bitbots_motion/bitbots_splines/include/bitbots_splines/pose_spline.hpp rename to src/bitbots_motion/bitbots_splines/include/bitbots_splines/pose_spline.hpp index e1fce694f..edfb8b823 100644 --- a/bitbots_motion/bitbots_splines/include/bitbots_splines/pose_spline.hpp +++ b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/pose_spline.hpp @@ -33,12 +33,12 @@ class PoseSpline { std::string getDebugString(); - SmoothSpline *x(); - SmoothSpline *y(); - SmoothSpline *z(); - SmoothSpline *roll(); - SmoothSpline *pitch(); - SmoothSpline *yaw(); + SmoothSpline* x(); + SmoothSpline* y(); + SmoothSpline* z(); + SmoothSpline* roll(); + SmoothSpline* pitch(); + SmoothSpline* yaw(); private: SmoothSpline x_; diff --git a/bitbots_motion/bitbots_splines/include/bitbots_splines/position_spline.hpp b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/position_spline.hpp similarity index 91% rename from bitbots_motion/bitbots_splines/include/bitbots_splines/position_spline.hpp rename to src/bitbots_motion/bitbots_splines/include/bitbots_splines/position_spline.hpp index 7f07740bc..e336d9407 100644 --- a/bitbots_motion/bitbots_splines/include/bitbots_splines/position_spline.hpp +++ b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/position_spline.hpp @@ -16,9 +16,9 @@ class PositionSpline { tf2::Vector3 getVel(double time); tf2::Vector3 getAcc(double time); - SmoothSpline *x(); - SmoothSpline *y(); - SmoothSpline *z(); + SmoothSpline* x(); + SmoothSpline* y(); + SmoothSpline* z(); private: SmoothSpline x_; diff --git a/bitbots_motion/bitbots_splines/include/bitbots_splines/smooth_spline.hpp b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/smooth_spline.hpp similarity index 95% rename from bitbots_motion/bitbots_splines/include/bitbots_splines/smooth_spline.hpp rename to src/bitbots_motion/bitbots_splines/include/bitbots_splines/smooth_spline.hpp index b6fe8ffab..731e3b45a 100644 --- a/bitbots_motion/bitbots_splines/include/bitbots_splines/smooth_spline.hpp +++ b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/smooth_spline.hpp @@ -37,8 +37,8 @@ class SmoothSpline : public Spline { /** * Access to points container */ - const std::vector &points() const; - std::vector &points(); + const std::vector& points() const; + std::vector& points(); /** * Recompute splines interpolation model diff --git a/bitbots_motion/bitbots_splines/include/bitbots_splines/spline.hpp b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/spline.hpp similarity index 91% rename from bitbots_motion/bitbots_splines/include/bitbots_splines/spline.hpp rename to src/bitbots_motion/bitbots_splines/include/bitbots_splines/spline.hpp index b09a5c62e..5a614747a 100644 --- a/bitbots_motion/bitbots_splines/include/bitbots_splines/spline.hpp +++ b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/spline.hpp @@ -62,8 +62,8 @@ class Spline { * Write and read splines data into given * iostream in ascii format */ - void exportData(std::ostream &os) const; - void importData(std::istream &is); + void exportData(std::ostream& os) const; + void importData(std::istream& is); /** * Return the number of internal polynom @@ -73,19 +73,19 @@ class Spline { /** * Access to given by its index */ - const SplineT &part(size_t index) const; + const SplineT& part(size_t index) const; /** * Add a part with given polynom * and min/max time range */ - void addPart(const Polynom &poly, double min, double max); + void addPart(const Polynom& poly, double min, double max); /** * Replace this spline part with the * internal data of given spline */ - void copyData(const Spline &sp); + void copyData(const Spline& sp); protected: /** diff --git a/bitbots_motion/bitbots_splines/include/bitbots_splines/spline_container.hpp b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/spline_container.hpp similarity index 86% rename from bitbots_motion/bitbots_splines/include/bitbots_splines/spline_container.hpp rename to src/bitbots_motion/bitbots_splines/include/bitbots_splines/spline_container.hpp index 441ab310b..57d6a704f 100644 --- a/bitbots_motion/bitbots_splines/include/bitbots_splines/spline_container.hpp +++ b/src/bitbots_motion/bitbots_splines/include/bitbots_splines/spline_container.hpp @@ -40,7 +40,7 @@ class SplineContainer { * spline constructor. */ template - inline void add(const std::string &name, Args... args) { + inline void add(const std::string& name, Args... args) { if (container_.count(name) != 0) { throw std::logic_error("SplineContainer spline already added"); } @@ -51,18 +51,18 @@ class SplineContainer { * Return true if given spline * name is contained */ - inline bool exist(const std::string &name) const { return container_.count(name) > 0; } + inline bool exist(const std::string& name) const { return container_.count(name) > 0; } /** * Access to given named spline */ - inline const T &get(const std::string &name) const { + inline const T& get(const std::string& name) const { if (container_.count(name) == 0) { throw std::logic_error("SplineContainer invalid name: " + name); } return container_.at(name); } - inline T &get(const std::string &name) { + inline T& get(const std::string& name) { if (container_.count(name) == 0) { throw std::logic_error("SplineContainer invalid name: " + name); } @@ -72,8 +72,8 @@ class SplineContainer { /** * Access to internal map container */ - const std::map &get() const { return container_; } - std::map &get() { return container_; } + const std::map& get() const { return container_; } + std::map& get() { return container_; } /** * Returns all time points where a point in any spline exists. @@ -82,9 +82,9 @@ class SplineContainer { std::set times; std::vector times_sorted; // go trough all splines - for (const auto &sp : container_) { + for (const auto& sp : container_) { // go trough all points of the spline - for (const SmoothSpline::Point &point : sp.second.points()) { + for (const SmoothSpline::Point& point : sp.second.points()) { times.insert(point.time); } } @@ -104,7 +104,7 @@ class SplineContainer { } bool is_first = true; double m = 0.0; - for (const auto &sp : container_) { + for (const auto& sp : container_) { if (is_first || m > sp.second.min()) { m = sp.second.min(); is_first = false; @@ -118,7 +118,7 @@ class SplineContainer { } bool is_first = true; double m = 0.0; - for (const auto &sp : container_) { + for (const auto& sp : container_) { if (is_first || m < sp.second.max()) { m = sp.second.max(); is_first = false; @@ -131,7 +131,7 @@ class SplineContainer { * Export to and Import from given file name * in "spline" CSV format prefixed with spline name */ - void exportData(const std::string &file_name) const { + void exportData(const std::string& file_name) const { if (container_.size() == 0) { throw std::logic_error("SplineContainer empty"); } @@ -141,14 +141,14 @@ class SplineContainer { throw std::runtime_error("SplineContainer unable to write file: " + file_name); } - for (const auto &sp : container_) { + for (const auto& sp : container_) { file << "'" << sp.first << "' "; sp.second.exportData(file); } file.close(); } - void importData(const std::string &file_name) { + void importData(const std::string& file_name) { std::ifstream file(file_name); if (!file.is_open()) { throw std::runtime_error("SplineContainer unable to read file: " + file_name); diff --git a/bitbots_motion/bitbots_splines/package.xml b/src/bitbots_motion/bitbots_splines/package.xml similarity index 100% rename from bitbots_motion/bitbots_splines/package.xml rename to src/bitbots_motion/bitbots_splines/package.xml diff --git a/bitbots_motion/bitbots_splines/scripts/plot_splines.py b/src/bitbots_motion/bitbots_splines/scripts/plot_splines.py similarity index 100% rename from bitbots_motion/bitbots_splines/scripts/plot_splines.py rename to src/bitbots_motion/bitbots_splines/scripts/plot_splines.py diff --git a/bitbots_motion/bitbots_splines/setup.py b/src/bitbots_motion/bitbots_splines/setup.py similarity index 100% rename from bitbots_motion/bitbots_splines/setup.py rename to src/bitbots_motion/bitbots_splines/setup.py diff --git a/bitbots_motion/bitbots_splines/src/Spline/polynom.cpp b/src/bitbots_motion/bitbots_splines/src/Spline/polynom.cpp similarity index 83% rename from bitbots_motion/bitbots_splines/src/Spline/polynom.cpp rename to src/bitbots_motion/bitbots_splines/src/Spline/polynom.cpp index 546526193..bfc4f6fe5 100644 --- a/bitbots_motion/bitbots_splines/src/Spline/polynom.cpp +++ b/src/bitbots_motion/bitbots_splines/src/Spline/polynom.cpp @@ -15,11 +15,11 @@ Polynom::Polynom(unsigned int degree) : coefs_() { } } -const std::vector &Polynom::getCoefs() const { return coefs_; } -std::vector &Polynom::getCoefs() { return coefs_; } +const std::vector& Polynom::getCoefs() const { return coefs_; } +std::vector& Polynom::getCoefs() { return coefs_; } -const double &Polynom::operator()(size_t index) const { return coefs_.at(index); } -double &Polynom::operator()(size_t index) { return coefs_.at(index); } +const double& Polynom::operator()(size_t index) const { return coefs_.at(index); } +double& Polynom::operator()(size_t index) { return coefs_.at(index); } size_t Polynom::degree() const { return coefs_.size() - 1; } @@ -61,11 +61,11 @@ double Polynom::jerk(double x) const { } void Polynom::operator*=(double coef) { - for (double &_coef : coefs_) { + for (double& _coef : coefs_) { _coef *= coef; } } -void Polynom::operator+=(const Polynom &p) { +void Polynom::operator+=(const Polynom& p) { while (p.coefs_.size() > coefs_.size()) { coefs_.push_back(0.0); } @@ -89,7 +89,7 @@ void Polynom::shift(double delta) { *this = n; } -std::ostream &operator<<(std::ostream &os, const Polynom &p) { +std::ostream& operator<<(std::ostream& os, const Polynom& p) { os << "degree=" << p.degree() << " "; for (size_t i = 0; i < p.degree() + 1; i++) { os << p(i) << " "; diff --git a/bitbots_motion/bitbots_splines/src/Spline/pose_spline.cpp b/src/bitbots_motion/bitbots_splines/src/Spline/pose_spline.cpp similarity index 88% rename from bitbots_motion/bitbots_splines/src/Spline/pose_spline.cpp rename to src/bitbots_motion/bitbots_splines/src/Spline/pose_spline.cpp index e9566d915..603fb4f08 100644 --- a/bitbots_motion/bitbots_splines/src/Spline/pose_spline.cpp +++ b/src/bitbots_motion/bitbots_splines/src/Spline/pose_spline.cpp @@ -53,17 +53,17 @@ tf2::Quaternion PoseSpline::getOrientation(double time) { return quat; } -SmoothSpline *PoseSpline::x() { return &x_; } +SmoothSpline* PoseSpline::x() { return &x_; } -SmoothSpline *PoseSpline::y() { return &y_; } +SmoothSpline* PoseSpline::y() { return &y_; } -SmoothSpline *PoseSpline::z() { return &z_; } +SmoothSpline* PoseSpline::z() { return &z_; } -SmoothSpline *PoseSpline::roll() { return &roll_; } +SmoothSpline* PoseSpline::roll() { return &roll_; } -SmoothSpline *PoseSpline::pitch() { return &pitch_; } +SmoothSpline* PoseSpline::pitch() { return &pitch_; } -SmoothSpline *PoseSpline::yaw() { return &yaw_; } +SmoothSpline* PoseSpline::yaw() { return &yaw_; } std::string PoseSpline::getDebugString() { std::string output; diff --git a/bitbots_motion/bitbots_splines/src/Spline/position_spline.cpp b/src/bitbots_motion/bitbots_splines/src/Spline/position_spline.cpp similarity index 82% rename from bitbots_motion/bitbots_splines/src/Spline/position_spline.cpp rename to src/bitbots_motion/bitbots_splines/src/Spline/position_spline.cpp index 4a5b65d35..871258525 100644 --- a/bitbots_motion/bitbots_splines/src/Spline/position_spline.cpp +++ b/src/bitbots_motion/bitbots_splines/src/Spline/position_spline.cpp @@ -16,10 +16,10 @@ tf2::Vector3 PositionSpline::getPos(double time) { return tf2::Vector3(x_.pos(ti tf2::Vector3 PositionSpline::getVel(double time) { return tf2::Vector3(x_.vel(time), y_.vel(time), z_.vel(time)); } tf2::Vector3 PositionSpline::getAcc(double time) { return tf2::Vector3(x_.acc(time), y_.acc(time), z_.acc(time)); } -SmoothSpline *PositionSpline::x() { return &x_; } +SmoothSpline* PositionSpline::x() { return &x_; } -SmoothSpline *PositionSpline::y() { return &y_; } +SmoothSpline* PositionSpline::y() { return &y_; } -SmoothSpline *PositionSpline::z() { return &z_; } +SmoothSpline* PositionSpline::z() { return &z_; } } // namespace bitbots_splines diff --git a/bitbots_motion/bitbots_splines/src/Spline/smooth_spline.cpp b/src/bitbots_motion/bitbots_splines/src/Spline/smooth_spline.cpp similarity index 93% rename from bitbots_motion/bitbots_splines/src/Spline/smooth_spline.cpp rename to src/bitbots_motion/bitbots_splines/src/Spline/smooth_spline.cpp index 1a3f2cc86..55e4887fc 100644 --- a/bitbots_motion/bitbots_splines/src/Spline/smooth_spline.cpp +++ b/src/bitbots_motion/bitbots_splines/src/Spline/smooth_spline.cpp @@ -16,8 +16,8 @@ void SmoothSpline::addPoint(double time, double position, double velocity, doubl computeSplines(); } -const std::vector &SmoothSpline::points() const { return points_; } -std::vector &SmoothSpline::points() { return points_; } +const std::vector& SmoothSpline::points() const { return points_; } +std::vector& SmoothSpline::points() { return points_; } void SmoothSpline::computeSplines() { Spline::splines_.clear(); @@ -26,7 +26,7 @@ void SmoothSpline::computeSplines() { } std::sort(points_.begin(), points_.end(), - [](const Point &p_1, const Point &p_2) -> bool { return p_1.time < p_2.time; }); + [](const Point& p_1, const Point& p_2) -> bool { return p_1.time < p_2.time; }); for (size_t i = 1; i < points_.size(); i++) { double time = points_[i].time - points_[i - 1].time; @@ -97,7 +97,7 @@ Polynom SmoothSpline::polynomFit(double t, double pos_1, double vel_1, double ac std::string SmoothSpline::getDebugString() { std::string output; int i = 0; - for (const auto &p : points_) { + for (const auto& p : points_) { output += "Point:" + std::to_string(i) + "\n"; output += " Time: " + std::to_string(p.time) + "\n"; output += " Pos: " + std::to_string(p.position) + "\n"; diff --git a/bitbots_motion/bitbots_splines/src/Spline/spline.cpp b/src/bitbots_motion/bitbots_splines/src/Spline/spline.cpp similarity index 92% rename from bitbots_motion/bitbots_splines/src/Spline/spline.cpp rename to src/bitbots_motion/bitbots_splines/src/Spline/spline.cpp index 12a83b4a7..9a580b979 100644 --- a/bitbots_motion/bitbots_splines/src/Spline/spline.cpp +++ b/src/bitbots_motion/bitbots_splines/src/Spline/spline.cpp @@ -34,8 +34,8 @@ double Spline::max() const { } } -void Spline::exportData(std::ostream &os) const { - for (const auto &spline : splines_) { +void Spline::exportData(std::ostream& os) const { + for (const auto& spline : splines_) { os << std::setprecision(17) << spline.min << " "; os << std::setprecision(17) << spline.max << " "; os << std::setprecision(17) << spline.polynom.getCoefs().size() << " "; @@ -45,7 +45,7 @@ void Spline::exportData(std::ostream &os) const { } os << std::endl; } -void Spline::importData(std::istream &is) { +void Spline::importData(std::istream& is) { bool is_format_error = false; while (is.good()) { is_format_error = true; @@ -86,11 +86,11 @@ void Spline::importData(std::istream &is) { size_t Spline::size() const { return splines_.size(); } -const Spline::SplineT &Spline::part(size_t index) const { return splines_.at(index); } +const Spline::SplineT& Spline::part(size_t index) const { return splines_.at(index); } -void Spline::addPart(const Polynom &poly, double min, double max) { splines_.push_back({poly, min, max}); } +void Spline::addPart(const Polynom& poly, double min, double max) { splines_.push_back({poly, min, max}); } -void Spline::copyData(const Spline &sp) { +void Spline::copyData(const Spline& sp) { splines_ = sp.splines_; // Call possible post import importCallBack(); diff --git a/bitbots_motion/bitbots_splines/src/Utils/combination.cpp b/src/bitbots_motion/bitbots_splines/src/Utils/combination.cpp similarity index 100% rename from bitbots_motion/bitbots_splines/src/Utils/combination.cpp rename to src/bitbots_motion/bitbots_splines/src/Utils/combination.cpp diff --git a/bitbots_motion/bitbots_splines/src/Utils/newton_binomial.cpp b/src/bitbots_motion/bitbots_splines/src/Utils/newton_binomial.cpp similarity index 100% rename from bitbots_motion/bitbots_splines/src/Utils/newton_binomial.cpp rename to src/bitbots_motion/bitbots_splines/src/Utils/newton_binomial.cpp diff --git a/bitbots_msgs/CMakeLists.txt b/src/bitbots_msgs/CMakeLists.txt similarity index 100% rename from bitbots_msgs/CMakeLists.txt rename to src/bitbots_msgs/CMakeLists.txt diff --git a/bitbots_msgs/README.md b/src/bitbots_msgs/README.md similarity index 100% rename from bitbots_msgs/README.md rename to src/bitbots_msgs/README.md diff --git a/bitbots_msgs/action/Dynup.action b/src/bitbots_msgs/action/Dynup.action similarity index 100% rename from bitbots_msgs/action/Dynup.action rename to src/bitbots_msgs/action/Dynup.action diff --git a/bitbots_msgs/action/Kick.action b/src/bitbots_msgs/action/Kick.action similarity index 100% rename from bitbots_msgs/action/Kick.action rename to src/bitbots_msgs/action/Kick.action diff --git a/bitbots_msgs/action/LookAt.action b/src/bitbots_msgs/action/LookAt.action similarity index 100% rename from bitbots_msgs/action/LookAt.action rename to src/bitbots_msgs/action/LookAt.action diff --git a/bitbots_msgs/action/PlayAnimation.action b/src/bitbots_msgs/action/PlayAnimation.action similarity index 100% rename from bitbots_msgs/action/PlayAnimation.action rename to src/bitbots_msgs/action/PlayAnimation.action diff --git a/bitbots_msgs/docs/_static/logo.png b/src/bitbots_msgs/docs/_static/logo.png similarity index 100% rename from bitbots_msgs/docs/_static/logo.png rename to src/bitbots_msgs/docs/_static/logo.png diff --git a/bitbots_msgs/docs/conf.py b/src/bitbots_msgs/docs/conf.py similarity index 100% rename from bitbots_msgs/docs/conf.py rename to src/bitbots_msgs/docs/conf.py diff --git a/bitbots_msgs/docs/index.rst b/src/bitbots_msgs/docs/index.rst similarity index 100% rename from bitbots_msgs/docs/index.rst rename to src/bitbots_msgs/docs/index.rst diff --git a/bitbots_msgs/msg/Animation.msg b/src/bitbots_msgs/msg/Animation.msg similarity index 100% rename from bitbots_msgs/msg/Animation.msg rename to src/bitbots_msgs/msg/Animation.msg diff --git a/bitbots_msgs/msg/Audio.msg b/src/bitbots_msgs/msg/Audio.msg similarity index 100% rename from bitbots_msgs/msg/Audio.msg rename to src/bitbots_msgs/msg/Audio.msg diff --git a/bitbots_msgs/msg/Buttons.msg b/src/bitbots_msgs/msg/Buttons.msg similarity index 100% rename from bitbots_msgs/msg/Buttons.msg rename to src/bitbots_msgs/msg/Buttons.msg diff --git a/bitbots_msgs/msg/Cpu.msg b/src/bitbots_msgs/msg/Cpu.msg similarity index 100% rename from bitbots_msgs/msg/Cpu.msg rename to src/bitbots_msgs/msg/Cpu.msg diff --git a/bitbots_msgs/msg/Filesystem.msg b/src/bitbots_msgs/msg/Filesystem.msg similarity index 100% rename from bitbots_msgs/msg/Filesystem.msg rename to src/bitbots_msgs/msg/Filesystem.msg diff --git a/bitbots_msgs/msg/FootPressure.msg b/src/bitbots_msgs/msg/FootPressure.msg similarity index 100% rename from bitbots_msgs/msg/FootPressure.msg rename to src/bitbots_msgs/msg/FootPressure.msg diff --git a/bitbots_msgs/msg/HeadMode.msg b/src/bitbots_msgs/msg/HeadMode.msg similarity index 100% rename from bitbots_msgs/msg/HeadMode.msg rename to src/bitbots_msgs/msg/HeadMode.msg diff --git a/bitbots_msgs/msg/JointCommand.msg b/src/bitbots_msgs/msg/JointCommand.msg similarity index 100% rename from bitbots_msgs/msg/JointCommand.msg rename to src/bitbots_msgs/msg/JointCommand.msg diff --git a/bitbots_msgs/msg/JointTorque.msg b/src/bitbots_msgs/msg/JointTorque.msg similarity index 100% rename from bitbots_msgs/msg/JointTorque.msg rename to src/bitbots_msgs/msg/JointTorque.msg diff --git a/bitbots_msgs/msg/NetworkInterface.msg b/src/bitbots_msgs/msg/NetworkInterface.msg similarity index 100% rename from bitbots_msgs/msg/NetworkInterface.msg rename to src/bitbots_msgs/msg/NetworkInterface.msg diff --git a/bitbots_msgs/msg/PoseWithCertainty.msg b/src/bitbots_msgs/msg/PoseWithCertainty.msg similarity index 100% rename from bitbots_msgs/msg/PoseWithCertainty.msg rename to src/bitbots_msgs/msg/PoseWithCertainty.msg diff --git a/bitbots_msgs/msg/PoseWithCertaintyArray.msg b/src/bitbots_msgs/msg/PoseWithCertaintyArray.msg similarity index 100% rename from bitbots_msgs/msg/PoseWithCertaintyArray.msg rename to src/bitbots_msgs/msg/PoseWithCertaintyArray.msg diff --git a/bitbots_msgs/msg/RobotControlState.msg b/src/bitbots_msgs/msg/RobotControlState.msg similarity index 100% rename from bitbots_msgs/msg/RobotControlState.msg rename to src/bitbots_msgs/msg/RobotControlState.msg diff --git a/bitbots_msgs/msg/RobotRelative.msg b/src/bitbots_msgs/msg/RobotRelative.msg similarity index 100% rename from bitbots_msgs/msg/RobotRelative.msg rename to src/bitbots_msgs/msg/RobotRelative.msg diff --git a/bitbots_msgs/msg/RobotRelativeArray.msg b/src/bitbots_msgs/msg/RobotRelativeArray.msg similarity index 100% rename from bitbots_msgs/msg/RobotRelativeArray.msg rename to src/bitbots_msgs/msg/RobotRelativeArray.msg diff --git a/bitbots_msgs/msg/Strategy.msg b/src/bitbots_msgs/msg/Strategy.msg similarity index 100% rename from bitbots_msgs/msg/Strategy.msg rename to src/bitbots_msgs/msg/Strategy.msg diff --git a/bitbots_msgs/msg/TeamData.msg b/src/bitbots_msgs/msg/TeamData.msg similarity index 100% rename from bitbots_msgs/msg/TeamData.msg rename to src/bitbots_msgs/msg/TeamData.msg diff --git a/bitbots_msgs/msg/Workload.msg b/src/bitbots_msgs/msg/Workload.msg similarity index 100% rename from bitbots_msgs/msg/Workload.msg rename to src/bitbots_msgs/msg/Workload.msg diff --git a/bitbots_msgs/package.xml b/src/bitbots_msgs/package.xml similarity index 100% rename from bitbots_msgs/package.xml rename to src/bitbots_msgs/package.xml diff --git a/bitbots_msgs/pyproject.toml b/src/bitbots_msgs/pyproject.toml similarity index 100% rename from bitbots_msgs/pyproject.toml rename to src/bitbots_msgs/pyproject.toml diff --git a/bitbots_msgs/srv/AccelerometerCalibration.srv b/src/bitbots_msgs/srv/AccelerometerCalibration.srv similarity index 100% rename from bitbots_msgs/srv/AccelerometerCalibration.srv rename to src/bitbots_msgs/srv/AccelerometerCalibration.srv diff --git a/bitbots_msgs/srv/AddAnimation.srv b/src/bitbots_msgs/srv/AddAnimation.srv similarity index 100% rename from bitbots_msgs/srv/AddAnimation.srv rename to src/bitbots_msgs/srv/AddAnimation.srv diff --git a/bitbots_msgs/srv/ComplementaryFilterParams.srv b/src/bitbots_msgs/srv/ComplementaryFilterParams.srv similarity index 100% rename from bitbots_msgs/srv/ComplementaryFilterParams.srv rename to src/bitbots_msgs/srv/ComplementaryFilterParams.srv diff --git a/bitbots_msgs/srv/FootScale.srv b/src/bitbots_msgs/srv/FootScale.srv similarity index 100% rename from bitbots_msgs/srv/FootScale.srv rename to src/bitbots_msgs/srv/FootScale.srv diff --git a/bitbots_msgs/srv/IMURanges.srv b/src/bitbots_msgs/srv/IMURanges.srv similarity index 100% rename from bitbots_msgs/srv/IMURanges.srv rename to src/bitbots_msgs/srv/IMURanges.srv diff --git a/bitbots_msgs/srv/Leds.srv b/src/bitbots_msgs/srv/Leds.srv similarity index 100% rename from bitbots_msgs/srv/Leds.srv rename to src/bitbots_msgs/srv/Leds.srv diff --git a/bitbots_msgs/srv/ManualPenalize.srv b/src/bitbots_msgs/srv/ManualPenalize.srv similarity index 100% rename from bitbots_msgs/srv/ManualPenalize.srv rename to src/bitbots_msgs/srv/ManualPenalize.srv diff --git a/bitbots_msgs/srv/SetAccelerometerCalibrationThreshold.srv b/src/bitbots_msgs/srv/SetAccelerometerCalibrationThreshold.srv similarity index 100% rename from bitbots_msgs/srv/SetAccelerometerCalibrationThreshold.srv rename to src/bitbots_msgs/srv/SetAccelerometerCalibrationThreshold.srv diff --git a/bitbots_msgs/srv/SetObjectPose.srv b/src/bitbots_msgs/srv/SetObjectPose.srv similarity index 100% rename from bitbots_msgs/srv/SetObjectPose.srv rename to src/bitbots_msgs/srv/SetObjectPose.srv diff --git a/bitbots_msgs/srv/SetObjectPosition.srv b/src/bitbots_msgs/srv/SetObjectPosition.srv similarity index 100% rename from bitbots_msgs/srv/SetObjectPosition.srv rename to src/bitbots_msgs/srv/SetObjectPosition.srv diff --git a/bitbots_msgs/srv/SetTeachingMode.srv b/src/bitbots_msgs/srv/SetTeachingMode.srv similarity index 100% rename from bitbots_msgs/srv/SetTeachingMode.srv rename to src/bitbots_msgs/srv/SetTeachingMode.srv diff --git a/bitbots_msgs/srv/SimulatorPush.srv b/src/bitbots_msgs/srv/SimulatorPush.srv similarity index 100% rename from bitbots_msgs/srv/SimulatorPush.srv rename to src/bitbots_msgs/srv/SimulatorPush.srv diff --git a/bitbots_navigation/bitbots_localization/CMakeLists.txt b/src/bitbots_navigation/bitbots_localization/CMakeLists.txt similarity index 100% rename from bitbots_navigation/bitbots_localization/CMakeLists.txt rename to src/bitbots_navigation/bitbots_localization/CMakeLists.txt diff --git a/bitbots_navigation/bitbots_localization/README.md b/src/bitbots_navigation/bitbots_localization/README.md similarity index 100% rename from bitbots_navigation/bitbots_localization/README.md rename to src/bitbots_navigation/bitbots_localization/README.md diff --git a/bitbots_navigation/bitbots_localization/config/config.yaml b/src/bitbots_navigation/bitbots_localization/config/config.yaml similarity index 100% rename from bitbots_navigation/bitbots_localization/config/config.yaml rename to src/bitbots_navigation/bitbots_localization/config/config.yaml diff --git a/bitbots_navigation/bitbots_localization/config/localization.rviz b/src/bitbots_navigation/bitbots_localization/config/localization.rviz similarity index 100% rename from bitbots_navigation/bitbots_localization/config/localization.rviz rename to src/bitbots_navigation/bitbots_localization/config/localization.rviz diff --git a/bitbots_navigation/bitbots_localization/docs/_static/logo.png b/src/bitbots_navigation/bitbots_localization/docs/_static/logo.png similarity index 100% rename from bitbots_navigation/bitbots_localization/docs/_static/logo.png rename to src/bitbots_navigation/bitbots_localization/docs/_static/logo.png diff --git a/bitbots_navigation/bitbots_localization/docs/conf.py b/src/bitbots_navigation/bitbots_localization/docs/conf.py similarity index 100% rename from bitbots_navigation/bitbots_localization/docs/conf.py rename to src/bitbots_navigation/bitbots_localization/docs/conf.py diff --git a/bitbots_navigation/bitbots_localization/docs/index.rst b/src/bitbots_navigation/bitbots_localization/docs/index.rst similarity index 100% rename from bitbots_navigation/bitbots_localization/docs/index.rst rename to src/bitbots_navigation/bitbots_localization/docs/index.rst diff --git a/bitbots_navigation/bitbots_localization/include/bitbots_localization/MotionModel.hpp b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/MotionModel.hpp similarity index 92% rename from bitbots_navigation/bitbots_localization/include/bitbots_localization/MotionModel.hpp rename to src/bitbots_navigation/bitbots_localization/include/bitbots_localization/MotionModel.hpp index b91480c6f..af43ea948 100644 --- a/bitbots_navigation/bitbots_localization/include/bitbots_localization/MotionModel.hpp +++ b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/MotionModel.hpp @@ -29,7 +29,7 @@ class RobotMotionModel : public particle_filter::MovementModel { * empty */ - RobotMotionModel(const particle_filter::CRandomNumberGenerator &random_number_generator, double diffuse_xStdDev, + RobotMotionModel(const particle_filter::CRandomNumberGenerator& random_number_generator, double diffuse_xStdDev, double diffuse_yStdDev, double diffuse_tStdDev, double diffuse_multiplier, Eigen::Matrix drift_cov); @@ -38,14 +38,14 @@ class RobotMotionModel : public particle_filter::MovementModel { * @param linear Linear movement relative to the base footprint in cartesian space * @param angular Anular movement of of the robot in its z-axis, therefore only the z axis needs to be set */ - void drift(RobotState &state, geometry_msgs::msg::Vector3 linear, geometry_msgs::msg::Vector3 angular) const override; + void drift(RobotState& state, geometry_msgs::msg::Vector3 linear, geometry_msgs::msg::Vector3 angular) const override; /** * The diffusion consists of a very small gaussian jitter on the * state's variable. * @param state Pointer to the state that has to be manipulated. */ - void diffuse(RobotState &state) const override; + void diffuse(RobotState& state) const override; double diffuse_multiplier_; diff --git a/bitbots_navigation/bitbots_localization/include/bitbots_localization/ObservationModel.hpp b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/ObservationModel.hpp similarity index 88% rename from bitbots_navigation/bitbots_localization/include/bitbots_localization/ObservationModel.hpp rename to src/bitbots_navigation/bitbots_localization/include/bitbots_localization/ObservationModel.hpp index f6c53a97b..2e45f3727 100644 --- a/bitbots_navigation/bitbots_localization/include/bitbots_localization/ObservationModel.hpp +++ b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/ObservationModel.hpp @@ -28,14 +28,14 @@ class RobotPoseObservationModel : public particle_filter::ObservationModel map_lines, std::shared_ptr map_goals, - const bitbots_localization::Params &config, const FieldDimensions &field_dimensions); + const bitbots_localization::Params& config, const FieldDimensions& field_dimensions); /** * * @param state Reference to the state that has to be weighted. * @return weight for the given state. */ - double measure(const RobotState &state) const override; + double measure(const RobotState& state) const override; void set_measurement_lines_pc(sm::msg::PointCloud2 measurement); @@ -55,10 +55,10 @@ class RobotPoseObservationModel : public particle_filter::ObservationModel> &last_measurement, + double calculate_weight_for_class(const RobotState& state, + const std::vector>& last_measurement, std::shared_ptr map, double element_weight, - const tf2::Transform &movement_since_measurement) const; + const tf2::Transform& movement_since_measurement) const; // Measurements std::vector> last_measurement_lines_; diff --git a/bitbots_navigation/bitbots_localization/include/bitbots_localization/Resampling.hpp b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/Resampling.hpp similarity index 90% rename from bitbots_navigation/bitbots_localization/include/bitbots_localization/Resampling.hpp rename to src/bitbots_navigation/bitbots_localization/include/bitbots_localization/Resampling.hpp index 2b3d6e554..e473e99b3 100644 --- a/bitbots_navigation/bitbots_localization/include/bitbots_localization/Resampling.hpp +++ b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/Resampling.hpp @@ -17,14 +17,14 @@ class ImportanceResamplingWE : public particle_filter::ImportanceResampling *> ParticleList; + typedef std::vector*> ParticleList; public: /** * The constructor of this base class inits some members. */ - ImportanceResamplingWE(int explorer_count, - std::shared_ptr> distribution); + ImportanceResamplingWE(int explorer_count, + std::shared_ptr> distribution); /** * This is the main method of ImportanceResampling. It takes two references @@ -33,7 +33,7 @@ class ImportanceResamplingWE : public particle_filter::ImportanceResampling::ImportanceResamplingWE( // this is an implementation of the algorithm presented in Propabilistic // Robotics by Sebastian Thrun et al. template -void ImportanceResamplingWE::resample(const ParticleList &sourceList, - const ParticleList &destinationList) const { +void ImportanceResamplingWE::resample(const ParticleList& sourceList, + const ParticleList& destinationList) const { assert(sourceList.size() == destinationList.size()); // some particles (most of them usually) get resampled and explorer_count // particles get assigned a random state diff --git a/bitbots_navigation/bitbots_localization/include/bitbots_localization/RobotState.hpp b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/RobotState.hpp similarity index 89% rename from bitbots_navigation/bitbots_localization/include/bitbots_localization/RobotState.hpp rename to src/bitbots_navigation/bitbots_localization/include/bitbots_localization/RobotState.hpp index d457b09cd..6c119fdd6 100644 --- a/bitbots_navigation/bitbots_localization/include/bitbots_localization/RobotState.hpp +++ b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/RobotState.hpp @@ -39,7 +39,7 @@ class RobotState { RobotState operator*(float factor) const; - RobotState &operator+=(const RobotState &other); + RobotState& operator+=(const RobotState& other); double getXPos() const; @@ -61,10 +61,10 @@ class RobotState { void setCosTheta(double t); - double calcDistance(const RobotState &state) const; + double calcDistance(const RobotState& state) const; - static void convertParticleListToEigen(const std::vector *> &particle_list, - Eigen::MatrixXd &matrix, const bool ignore_explorers); + static void convertParticleListToEigen(const std::vector*>& particle_list, + Eigen::MatrixXd& matrix, const bool ignore_explorers); bool is_explorer_; diff --git a/bitbots_navigation/bitbots_localization/include/bitbots_localization/StateDistribution.hpp b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/StateDistribution.hpp similarity index 92% rename from bitbots_navigation/bitbots_localization/include/bitbots_localization/StateDistribution.hpp rename to src/bitbots_navigation/bitbots_localization/include/bitbots_localization/StateDistribution.hpp index 8e5b9b02a..9339d0f09 100644 --- a/bitbots_navigation/bitbots_localization/include/bitbots_localization/StateDistribution.hpp +++ b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/StateDistribution.hpp @@ -15,7 +15,7 @@ namespace bitbots_localization { class RobotStateDistribution : public particle_filter::StateDistribution { public: - RobotStateDistribution(particle_filter::CRandomNumberGenerator &random_number_generator, + RobotStateDistribution(particle_filter::CRandomNumberGenerator& random_number_generator, std::pair initial_robot_pose, std::pair field_size); const RobotState draw() const override; @@ -31,7 +31,7 @@ class RobotStateDistribution : public particle_filter::StateDistribution { public: - RobotStateDistributionStartLeft(particle_filter::CRandomNumberGenerator &random_number_generator, + RobotStateDistributionStartLeft(particle_filter::CRandomNumberGenerator& random_number_generator, std::pair field_size); const RobotState draw() const override; @@ -43,7 +43,7 @@ class RobotStateDistributionStartLeft : public particle_filter::StateDistributio class RobotStateDistributionOwnSideline : public particle_filter::StateDistribution { public: - RobotStateDistributionOwnSideline(particle_filter::CRandomNumberGenerator &random_number_generator, + RobotStateDistributionOwnSideline(particle_filter::CRandomNumberGenerator& random_number_generator, std::pair field_size); const RobotState draw() const override; @@ -55,7 +55,7 @@ class RobotStateDistributionOwnSideline : public particle_filter::StateDistribut class RobotStateDistributionOpponentHalf : public particle_filter::StateDistribution { public: - RobotStateDistributionOpponentHalf(particle_filter::CRandomNumberGenerator &random_number_generator, + RobotStateDistributionOpponentHalf(particle_filter::CRandomNumberGenerator& random_number_generator, std::pair field_size); const RobotState draw() const override; @@ -70,7 +70,7 @@ class RobotStateDistributionOpponentHalf : public particle_filter::StateDistribu class RobotStateDistributionOwnHalf : public particle_filter::StateDistribution { public: - RobotStateDistributionOwnHalf(particle_filter::CRandomNumberGenerator &random_number_generator, + RobotStateDistributionOwnHalf(particle_filter::CRandomNumberGenerator& random_number_generator, std::pair field_size); const RobotState draw() const override; @@ -85,7 +85,7 @@ class RobotStateDistributionOwnHalf : public particle_filter::StateDistribution< class RobotStateDistributionPosition : public particle_filter::StateDistribution { public: - RobotStateDistributionPosition(particle_filter::CRandomNumberGenerator &random_number_generator, double x, double y); + RobotStateDistributionPosition(particle_filter::CRandomNumberGenerator& random_number_generator, double x, double y); const RobotState draw() const override; @@ -97,7 +97,7 @@ class RobotStateDistributionPosition : public particle_filter::StateDistribution class RobotStateDistributionPose : public particle_filter::StateDistribution { public: - RobotStateDistributionPose(particle_filter::CRandomNumberGenerator &random_number_generator, double x, double y, + RobotStateDistributionPose(particle_filter::CRandomNumberGenerator& random_number_generator, double x, double y, double t); const RobotState draw() const override; diff --git a/bitbots_navigation/bitbots_localization/include/bitbots_localization/localization.hpp b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/localization.hpp similarity index 97% rename from bitbots_navigation/bitbots_localization/include/bitbots_localization/localization.hpp rename to src/bitbots_navigation/bitbots_localization/include/bitbots_localization/localization.hpp index b0309060b..28d083e11 100644 --- a/bitbots_navigation/bitbots_localization/include/bitbots_localization/localization.hpp +++ b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/localization.hpp @@ -100,20 +100,20 @@ class Localization { * Callback for the line point cloud measurements * @param msg Message containing the line point cloud. */ - void LinePointcloudCallback(const sm::msg::PointCloud2 &msg); + void LinePointcloudCallback(const sm::msg::PointCloud2& msg); /** * Callback for goal posts measurements * @param msg Message containing the goal posts. */ - void GoalPostsCallback(const sv3dm::msg::GoalpostArray &msg); // TODO + void GoalPostsCallback(const sv3dm::msg::GoalpostArray& msg); // TODO /** * Resets the state distribution of the state space * @param distribution The type of the distribution */ - void SetInitialPositionCallback(const gm::msg::PoseWithCovarianceStamped &msg); + void SetInitialPositionCallback(const gm::msg::PoseWithCovarianceStamped& msg); void reset_filter(int distribution); @@ -254,9 +254,9 @@ class Localization { * @param map map for this class * @param publisher ros publisher for the type visualization_msgs::msg::Marker */ - void publish_debug_rating(const std::vector> &measurements, double scale, + void publish_debug_rating(const std::vector>& measurements, double scale, const char name[24], std::shared_ptr map, - rclcpp::Publisher::SharedPtr &publisher); + rclcpp::Publisher::SharedPtr& publisher); /** * Updates the measurements for all classes diff --git a/bitbots_navigation/bitbots_localization/include/bitbots_localization/map.hpp b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/map.hpp similarity index 100% rename from bitbots_navigation/bitbots_localization/include/bitbots_localization/map.hpp rename to src/bitbots_navigation/bitbots_localization/include/bitbots_localization/map.hpp diff --git a/bitbots_navigation/bitbots_localization/include/bitbots_localization/tools.hpp b/src/bitbots_navigation/bitbots_localization/include/bitbots_localization/tools.hpp similarity index 100% rename from bitbots_navigation/bitbots_localization/include/bitbots_localization/tools.hpp rename to src/bitbots_navigation/bitbots_localization/include/bitbots_localization/tools.hpp diff --git a/bitbots_navigation/bitbots_localization/launch/localization.launch b/src/bitbots_navigation/bitbots_localization/launch/localization.launch similarity index 100% rename from bitbots_navigation/bitbots_localization/launch/localization.launch rename to src/bitbots_navigation/bitbots_localization/launch/localization.launch diff --git a/bitbots_navigation/bitbots_localization/launch/test.launch b/src/bitbots_navigation/bitbots_localization/launch/test.launch similarity index 100% rename from bitbots_navigation/bitbots_localization/launch/test.launch rename to src/bitbots_navigation/bitbots_localization/launch/test.launch diff --git a/bitbots_navigation/bitbots_localization/package.xml b/src/bitbots_navigation/bitbots_localization/package.xml similarity index 100% rename from bitbots_navigation/bitbots_localization/package.xml rename to src/bitbots_navigation/bitbots_localization/package.xml diff --git a/bitbots_navigation/bitbots_localization/scripts/rviz_localization_sim.py b/src/bitbots_navigation/bitbots_localization/scripts/rviz_localization_sim.py similarity index 100% rename from bitbots_navigation/bitbots_localization/scripts/rviz_localization_sim.py rename to src/bitbots_navigation/bitbots_localization/scripts/rviz_localization_sim.py diff --git a/bitbots_navigation/bitbots_localization/setup.py b/src/bitbots_navigation/bitbots_localization/setup.py similarity index 100% rename from bitbots_navigation/bitbots_localization/setup.py rename to src/bitbots_navigation/bitbots_localization/setup.py diff --git a/bitbots_navigation/bitbots_localization/src/MotionModel.cpp b/src/bitbots_navigation/bitbots_localization/src/MotionModel.cpp similarity index 93% rename from bitbots_navigation/bitbots_localization/src/MotionModel.cpp rename to src/bitbots_navigation/bitbots_localization/src/MotionModel.cpp index d6c53ba2c..85b385edb 100644 --- a/bitbots_navigation/bitbots_localization/src/MotionModel.cpp +++ b/src/bitbots_navigation/bitbots_localization/src/MotionModel.cpp @@ -6,7 +6,7 @@ namespace bitbots_localization { -RobotMotionModel::RobotMotionModel(const particle_filter::CRandomNumberGenerator &random_number_generator, +RobotMotionModel::RobotMotionModel(const particle_filter::CRandomNumberGenerator& random_number_generator, double diffuse_xStdDev, double diffuse_yStdDev, double diffuse_tStdDev, double diffuse_multiplier, Eigen::Matrix drift_cov) : particle_filter::MovementModel(), @@ -17,7 +17,7 @@ RobotMotionModel::RobotMotionModel(const particle_filter::CRandomNumberGenerator diffuse_tStdDev_(diffuse_tStdDev), drift_cov_(drift_cov) {} -void RobotMotionModel::drift(RobotState &state, geometry_msgs::msg::Vector3 linear_movement, +void RobotMotionModel::drift(RobotState& state, geometry_msgs::msg::Vector3 linear_movement, geometry_msgs::msg::Vector3 rotational_movement) const { // Convert cartesian coordinates to polarcoordinates with an orientation auto [polar_rot, polar_dist] = cartesianToPolar(linear_movement.x, linear_movement.y); @@ -44,7 +44,7 @@ void RobotMotionModel::drift(RobotState &state, geometry_msgs::msg::Vector3 line state.setTheta(theta); } -void RobotMotionModel::diffuse(RobotState &state) const { +void RobotMotionModel::diffuse(RobotState& state) const { state.setXPos(state.getXPos() + sample(diffuse_xStdDev_) * diffuse_multiplier_); state.setYPos(state.getYPos() + sample(diffuse_yStdDev_) * diffuse_multiplier_); double theta = state.getTheta() + sample(diffuse_tStdDev_) * diffuse_multiplier_; diff --git a/bitbots_navigation/bitbots_localization/src/ObservationModel.cpp b/src/bitbots_navigation/bitbots_localization/src/ObservationModel.cpp similarity index 92% rename from bitbots_navigation/bitbots_localization/src/ObservationModel.cpp rename to src/bitbots_navigation/bitbots_localization/src/ObservationModel.cpp index d3f4c4fa5..3a737f0f4 100644 --- a/bitbots_navigation/bitbots_localization/src/ObservationModel.cpp +++ b/src/bitbots_navigation/bitbots_localization/src/ObservationModel.cpp @@ -7,8 +7,8 @@ namespace bitbots_localization { RobotPoseObservationModel::RobotPoseObservationModel(std::shared_ptr map_lines, std::shared_ptr map_goals, - const bitbots_localization::Params &config, - const FieldDimensions &field_dimensions) + const bitbots_localization::Params& config, + const FieldDimensions& field_dimensions) : particle_filter::ObservationModel(), map_lines_(map_lines), map_goals_(map_goals), @@ -18,8 +18,8 @@ RobotPoseObservationModel::RobotPoseObservationModel(std::shared_ptr map_li } double RobotPoseObservationModel::calculate_weight_for_class( - const RobotState &state, const std::vector> &last_measurement, std::shared_ptr map, - double element_weight, const tf2::Transform &movement_since_measurement) const { + const RobotState& state, const std::vector>& last_measurement, std::shared_ptr map, + double element_weight, const tf2::Transform& movement_since_measurement) const { double particle_weight_for_class; if (!last_measurement.empty()) { // Subtract (reverse) the movement from our state to get the hypothetical state at the time of the measurement @@ -34,7 +34,7 @@ double RobotPoseObservationModel::calculate_weight_for_class( return particle_weight_for_class; } -double RobotPoseObservationModel::measure(const RobotState &state) const { +double RobotPoseObservationModel::measure(const RobotState& state) const { double particle_weight_lines = calculate_weight_for_class(state, last_measurement_lines_, map_lines_, config_.particle_filter.confidences.line_element, movement_since_line_measurement_); @@ -75,7 +75,7 @@ void RobotPoseObservationModel::set_measurement_lines_pc(sm::msg::PointCloud2 me void RobotPoseObservationModel::set_measurement_goalposts(sv3dm::msg::GoalpostArray measurement) { // convert to polar - for (sv3dm::msg::Goalpost &post : measurement.posts) { + for (sv3dm::msg::Goalpost& post : measurement.posts) { std::pair postPolar = cartesianToPolar(post.bb.center.position.x, post.bb.center.position.y); last_measurement_goal_.push_back(postPolar); } diff --git a/bitbots_navigation/bitbots_localization/src/RobotState.cpp b/src/bitbots_navigation/bitbots_localization/src/RobotState.cpp similarity index 91% rename from bitbots_navigation/bitbots_localization/src/RobotState.cpp rename to src/bitbots_navigation/bitbots_localization/src/RobotState.cpp index 3f1cde1e2..e9c8e0705 100644 --- a/bitbots_navigation/bitbots_localization/src/RobotState.cpp +++ b/src/bitbots_navigation/bitbots_localization/src/RobotState.cpp @@ -25,7 +25,7 @@ RobotState RobotState::operator*(float factor) const { return newState; } -RobotState &RobotState::operator+=(const RobotState &other) { +RobotState& RobotState::operator+=(const RobotState& other) { m_XPos += other.m_XPos; m_YPos += other.m_YPos; m_SinTheta += other.m_SinTheta; @@ -57,7 +57,7 @@ void RobotState::setSinTheta(double st) { m_SinTheta = st; } void RobotState::setCosTheta(double ct) { m_SinTheta = ct; } -double RobotState::calcDistance(const RobotState &state) const { +double RobotState::calcDistance(const RobotState& state) const { double diff = std::sqrt(std::pow(getXPos() - state.getXPos(), 2) + std::pow(getYPos() - state.getYPos(), 2)); if (diff == 0.0) { diff = 0.0001; @@ -65,17 +65,17 @@ double RobotState::calcDistance(const RobotState &state) const { return diff; } -void RobotState::convertParticleListToEigen(const std::vector *> &particle_list, - Eigen::MatrixXd &matrix, const bool ignore_explorers) { +void RobotState::convertParticleListToEigen(const std::vector*>& particle_list, + Eigen::MatrixXd& matrix, const bool ignore_explorers) { if (ignore_explorers) { int non_explorer_count = std::count_if(particle_list.begin(), particle_list.end(), - [](particle_filter::Particle *particle) { return !particle->is_explorer_; }); + [](particle_filter::Particle* particle) { return !particle->is_explorer_; }); matrix.resize(non_explorer_count, 3); int counter = 0; // #pragma parallel for - for (particle_filter::Particle *particle : particle_list) { + for (particle_filter::Particle* particle : particle_list) { if (!particle->is_explorer_) { matrix(counter, 0) = particle->getState().getXPos(); matrix(counter, 1) = particle->getState().getYPos(); diff --git a/bitbots_navigation/bitbots_localization/src/StateDistribution.cpp b/src/bitbots_navigation/bitbots_localization/src/StateDistribution.cpp similarity index 90% rename from bitbots_navigation/bitbots_localization/src/StateDistribution.cpp rename to src/bitbots_navigation/bitbots_localization/src/StateDistribution.cpp index 71107ea93..0e8ba1d49 100644 --- a/bitbots_navigation/bitbots_localization/src/StateDistribution.cpp +++ b/src/bitbots_navigation/bitbots_localization/src/StateDistribution.cpp @@ -7,7 +7,7 @@ namespace bitbots_localization { RobotStateDistributionStartLeft::RobotStateDistributionStartLeft( - particle_filter::CRandomNumberGenerator &random_number_generator, std::pair field_size) { + particle_filter::CRandomNumberGenerator& random_number_generator, std::pair field_size) { field_size = field_size; } @@ -24,7 +24,7 @@ const RobotState RobotStateDistributionStartLeft::draw() const { } RobotStateDistributionOwnSideline::RobotStateDistributionOwnSideline( - particle_filter::CRandomNumberGenerator &random_number_generator, std::pair field_size) { + particle_filter::CRandomNumberGenerator& random_number_generator, std::pair field_size) { field_x = field_size.first; field_y = field_size.second; } @@ -42,7 +42,7 @@ const RobotState RobotStateDistributionOwnSideline::draw() const { } RobotStateDistributionOpponentHalf::RobotStateDistributionOpponentHalf( - particle_filter::CRandomNumberGenerator &random_number_generator, std::pair field_size) + particle_filter::CRandomNumberGenerator& random_number_generator, std::pair field_size) : random_number_generator_(random_number_generator) { // only own half min_x_ = (field_size.first / 2.0) + 0.5; @@ -58,7 +58,7 @@ const RobotState RobotStateDistributionOpponentHalf::draw() const { } RobotStateDistributionOwnHalf::RobotStateDistributionOwnHalf( - particle_filter::CRandomNumberGenerator &random_number_generator, std::pair field_size) + particle_filter::CRandomNumberGenerator& random_number_generator, std::pair field_size) : random_number_generator_(random_number_generator) { // only own half min_x_ = -field_size.first / 2.0; @@ -74,7 +74,7 @@ const RobotState RobotStateDistributionOwnHalf::draw() const { } RobotStateDistributionPosition::RobotStateDistributionPosition( - particle_filter::CRandomNumberGenerator &random_number_generator, double x, double y) { + particle_filter::CRandomNumberGenerator& random_number_generator, double x, double y) { x_ = x; y_ = y; } @@ -84,7 +84,7 @@ const RobotState RobotStateDistributionPosition::draw() const { random_number_generator_.getUniform(-M_PI, M_PI))); } -RobotStateDistributionPose::RobotStateDistributionPose(particle_filter::CRandomNumberGenerator &random_number_generator, +RobotStateDistributionPose::RobotStateDistributionPose(particle_filter::CRandomNumberGenerator& random_number_generator, double x, double y, double t) { x_ = x; y_ = y; diff --git a/bitbots_navigation/bitbots_localization/src/localization.cpp b/src/bitbots_navigation/bitbots_localization/src/localization.cpp similarity index 97% rename from bitbots_navigation/bitbots_localization/src/localization.cpp rename to src/bitbots_navigation/bitbots_localization/src/localization.cpp index 89c2e1a92..a6b054d8e 100644 --- a/bitbots_navigation/bitbots_localization/src/localization.cpp +++ b/src/bitbots_navigation/bitbots_localization/src/localization.cpp @@ -185,11 +185,11 @@ void Localization::run_filter_one_step() { robot_pose_observation_model_->clear_measurement(); } -void Localization::LinePointcloudCallback(const sm::msg::PointCloud2 &msg) { line_pointcloud_relative_ = msg; } +void Localization::LinePointcloudCallback(const sm::msg::PointCloud2& msg) { line_pointcloud_relative_ = msg; } -void Localization::GoalPostsCallback(const sv3dm::msg::GoalpostArray &msg) { goal_posts_relative_ = msg; } +void Localization::GoalPostsCallback(const sv3dm::msg::GoalpostArray& msg) { goal_posts_relative_ = msg; } -void Localization::SetInitialPositionCallback(const gm::msg::PoseWithCovarianceStamped &msg) { +void Localization::SetInitialPositionCallback(const gm::msg::PoseWithCovarianceStamped& msg) { // Transform the given pose to map frame auto pose_in_map = tf_buffer_->transform(msg, config_.ros.map_frame, tf2::durationFromSec(1.0)); @@ -290,7 +290,7 @@ void Localization::updateMeasurements() { odom_now); // Calculate the movement since the measurement was taken (in the local frame) return odom_at_measurement.inverseTimes(odom_now); - } catch (const tf2::TransformException &ex) { + } catch (const tf2::TransformException& ex) { RCLCPP_WARN(node_->get_logger(), "Could not acquire movement since measurement at time: %s Assumed no movement.", ex.what()); return tf2::Transform::getIdentity(); @@ -360,7 +360,7 @@ void Localization::getMotion() { // Set the variable for the transform of the previous step to the transform of the current step, because we finished // this step. previousOdomTransform_ = transformStampedNow; - } catch (const tf2::TransformException &ex) { + } catch (const tf2::TransformException& ex) { RCLCPP_WARN(node_->get_logger(), "Could not acquire motion for odom transforms: %s", ex.what()); } } @@ -380,7 +380,7 @@ void Localization::publish_transforms() { geometry_msgs::msg::TransformStamped odomDuringMeasurement, odomNow; try { odomNow = tf_buffer_->lookupTransform(config_.ros.odom_frame, config_.ros.base_footprint_frame, rclcpp::Time(0)); - } catch (const tf2::TransformException &ex) { + } catch (const tf2::TransformException& ex) { RCLCPP_WARN(node_->get_logger(), "Could not acquire odom transforms: %s", ex.what()); } @@ -441,7 +441,7 @@ void Localization::publish_transforms() { map_odom_tf_last_published_time_ = map_odom_transform.header.stamp; br->sendTransform(map_odom_transform); } - } catch (const tf2::TransformException &ex) { + } catch (const tf2::TransformException& ex) { RCLCPP_WARN(node_->get_logger(), "Odom not available, therefore odom offset can not be published: %s", ex.what()); } } @@ -502,9 +502,9 @@ void Localization::publish_ratings() { } } -void Localization::publish_debug_rating(const std::vector> &measurements, double scale, +void Localization::publish_debug_rating(const std::vector>& measurements, double scale, const char name[], std::shared_ptr map, - rclcpp::Publisher::SharedPtr &publisher) { + rclcpp::Publisher::SharedPtr& publisher) { RobotState best_estimate = robot_pf_->getBestXPercentEstimate(config_.misc.percentage_best_particles); visualization_msgs::msg::Marker marker; @@ -517,7 +517,7 @@ void Localization::publish_debug_rating(const std::vector &measurement : measurements) { + for (const std::pair& measurement : measurements) { // lines are in polar form! std::pair observationRelative; @@ -544,7 +544,7 @@ void Localization::publish_debug_rating(const std::vector Map::provideRating(const RobotState &state, - const std::vector> &observations) { +std::vector Map::provideRating(const RobotState& state, + const std::vector>& observations) { std::vector rating; - for (const std::pair &observation : observations) { + for (const std::pair& observation : observations) { // lines are in polar form! std::pair lineRelative; diff --git a/bitbots_navigation/bitbots_localization/src/parameters.yml b/src/bitbots_navigation/bitbots_localization/src/parameters.yml similarity index 100% rename from bitbots_navigation/bitbots_localization/src/parameters.yml rename to src/bitbots_navigation/bitbots_localization/src/parameters.yml diff --git a/bitbots_navigation/bitbots_localization/src/tools.cpp b/src/bitbots_navigation/bitbots_localization/src/tools.cpp similarity index 100% rename from bitbots_navigation/bitbots_localization/src/tools.cpp rename to src/bitbots_navigation/bitbots_localization/src/tools.cpp diff --git a/bitbots_navigation/bitbots_localization/srv/ResetFilter.srv b/src/bitbots_navigation/bitbots_localization/srv/ResetFilter.srv similarity index 100% rename from bitbots_navigation/bitbots_localization/srv/ResetFilter.srv rename to src/bitbots_navigation/bitbots_localization/srv/ResetFilter.srv diff --git a/bitbots_navigation/bitbots_localization/srv/SetPaused.srv b/src/bitbots_navigation/bitbots_localization/srv/SetPaused.srv similarity index 100% rename from bitbots_navigation/bitbots_localization/srv/SetPaused.srv rename to src/bitbots_navigation/bitbots_localization/srv/SetPaused.srv diff --git a/bitbots_navigation/bitbots_localization/test/rostests/test_inital_localization_side.launch b/src/bitbots_navigation/bitbots_localization/test/rostests/test_inital_localization_side.launch similarity index 100% rename from bitbots_navigation/bitbots_localization/test/rostests/test_inital_localization_side.launch rename to src/bitbots_navigation/bitbots_localization/test/rostests/test_inital_localization_side.launch diff --git a/bitbots_navigation/bitbots_localization/test/rostests/test_initial_localization_side.py b/src/bitbots_navigation/bitbots_localization/test/rostests/test_initial_localization_side.py similarity index 100% rename from bitbots_navigation/bitbots_localization/test/rostests/test_initial_localization_side.py rename to src/bitbots_navigation/bitbots_localization/test/rostests/test_initial_localization_side.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/__init__.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/__init__.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/__init__.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/__init__.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/__init__.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/__init__.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/__init__.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/__init__.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/__init__.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/__init__.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/__init__.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/__init__.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/initialize.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/initialize.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/initialize.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/initialize.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/pick_up.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/pick_up.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/pick_up.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/pick_up.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/stop.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/stop.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/stop.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/actions/stop.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/__init__.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/__init__.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/__init__.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/__init__.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/fall.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/fall.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/fall.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/fall.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/game_state.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/game_state.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/game_state.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/game_state.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/pick_up.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/pick_up.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/pick_up.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/pick_up.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/walk.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/walk.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/walk.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/decisions/walk.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/localization.dsd b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/localization.dsd similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/localization.dsd rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/localization.dsd diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/localization_blackboard.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/localization_blackboard.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/localization_blackboard.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_dsd/localization_blackboard.py diff --git a/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_handler.py b/src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_handler.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_handler.py rename to src/bitbots_navigation/bitbots_localization_handler/bitbots_localization_handler/localization_handler.py diff --git a/bitbots_navigation/bitbots_localization_handler/package.xml b/src/bitbots_navigation/bitbots_localization_handler/package.xml similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/package.xml rename to src/bitbots_navigation/bitbots_localization_handler/package.xml diff --git a/bitbots_navigation/bitbots_localization_handler/resource/bitbots_localization_handler b/src/bitbots_navigation/bitbots_localization_handler/resource/bitbots_localization_handler similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/resource/bitbots_localization_handler rename to src/bitbots_navigation/bitbots_localization_handler/resource/bitbots_localization_handler diff --git a/bitbots_navigation/bitbots_localization_handler/setup.cfg b/src/bitbots_navigation/bitbots_localization_handler/setup.cfg similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/setup.cfg rename to src/bitbots_navigation/bitbots_localization_handler/setup.cfg diff --git a/bitbots_navigation/bitbots_localization_handler/setup.py b/src/bitbots_navigation/bitbots_localization_handler/setup.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/setup.py rename to src/bitbots_navigation/bitbots_localization_handler/setup.py diff --git a/bitbots_navigation/bitbots_localization_handler/test/mypy.ini b/src/bitbots_navigation/bitbots_localization_handler/test/mypy.ini similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/test/mypy.ini rename to src/bitbots_navigation/bitbots_localization_handler/test/mypy.ini diff --git a/bitbots_navigation/bitbots_localization_handler/test/test_dsd_valid.py b/src/bitbots_navigation/bitbots_localization_handler/test/test_dsd_valid.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/test/test_dsd_valid.py rename to src/bitbots_navigation/bitbots_localization_handler/test/test_dsd_valid.py diff --git a/bitbots_navigation/bitbots_localization_handler/test/test_mypy.py b/src/bitbots_navigation/bitbots_localization_handler/test/test_mypy.py similarity index 100% rename from bitbots_navigation/bitbots_localization_handler/test/test_mypy.py rename to src/bitbots_navigation/bitbots_localization_handler/test/test_mypy.py diff --git a/bitbots_navigation/bitbots_odometry/CMakeLists.txt b/src/bitbots_navigation/bitbots_odometry/CMakeLists.txt similarity index 100% rename from bitbots_navigation/bitbots_odometry/CMakeLists.txt rename to src/bitbots_navigation/bitbots_odometry/CMakeLists.txt diff --git a/bitbots_navigation/bitbots_odometry/config/odometry_config_amy.yaml b/src/bitbots_navigation/bitbots_odometry/config/odometry_config_amy.yaml similarity index 100% rename from bitbots_navigation/bitbots_odometry/config/odometry_config_amy.yaml rename to src/bitbots_navigation/bitbots_odometry/config/odometry_config_amy.yaml diff --git a/bitbots_navigation/bitbots_odometry/config/odometry_config_default.yaml b/src/bitbots_navigation/bitbots_odometry/config/odometry_config_default.yaml similarity index 100% rename from bitbots_navigation/bitbots_odometry/config/odometry_config_default.yaml rename to src/bitbots_navigation/bitbots_odometry/config/odometry_config_default.yaml diff --git a/bitbots_navigation/bitbots_odometry/config/odometry_config_donna.yaml b/src/bitbots_navigation/bitbots_odometry/config/odometry_config_donna.yaml similarity index 100% rename from bitbots_navigation/bitbots_odometry/config/odometry_config_donna.yaml rename to src/bitbots_navigation/bitbots_odometry/config/odometry_config_donna.yaml diff --git a/bitbots_navigation/bitbots_odometry/config/odometry_config_jack.yaml b/src/bitbots_navigation/bitbots_odometry/config/odometry_config_jack.yaml similarity index 100% rename from bitbots_navigation/bitbots_odometry/config/odometry_config_jack.yaml rename to src/bitbots_navigation/bitbots_odometry/config/odometry_config_jack.yaml diff --git a/bitbots_navigation/bitbots_odometry/config/odometry_config_melody.yaml b/src/bitbots_navigation/bitbots_odometry/config/odometry_config_melody.yaml similarity index 100% rename from bitbots_navigation/bitbots_odometry/config/odometry_config_melody.yaml rename to src/bitbots_navigation/bitbots_odometry/config/odometry_config_melody.yaml diff --git a/bitbots_navigation/bitbots_odometry/config/odometry_config_rory.yaml b/src/bitbots_navigation/bitbots_odometry/config/odometry_config_rory.yaml similarity index 100% rename from bitbots_navigation/bitbots_odometry/config/odometry_config_rory.yaml rename to src/bitbots_navigation/bitbots_odometry/config/odometry_config_rory.yaml diff --git a/bitbots_navigation/bitbots_odometry/config/odometry_config_template.yaml b/src/bitbots_navigation/bitbots_odometry/config/odometry_config_template.yaml similarity index 100% rename from bitbots_navigation/bitbots_odometry/config/odometry_config_template.yaml rename to src/bitbots_navigation/bitbots_odometry/config/odometry_config_template.yaml diff --git a/bitbots_navigation/bitbots_odometry/docs/_static/logo.png b/src/bitbots_navigation/bitbots_odometry/docs/_static/logo.png similarity index 100% rename from bitbots_navigation/bitbots_odometry/docs/_static/logo.png rename to src/bitbots_navigation/bitbots_odometry/docs/_static/logo.png diff --git a/bitbots_navigation/bitbots_odometry/docs/conf.py b/src/bitbots_navigation/bitbots_odometry/docs/conf.py similarity index 100% rename from bitbots_navigation/bitbots_odometry/docs/conf.py rename to src/bitbots_navigation/bitbots_odometry/docs/conf.py diff --git a/bitbots_navigation/bitbots_odometry/docs/index.rst b/src/bitbots_navigation/bitbots_odometry/docs/index.rst similarity index 100% rename from bitbots_navigation/bitbots_odometry/docs/index.rst rename to src/bitbots_navigation/bitbots_odometry/docs/index.rst diff --git a/bitbots_navigation/bitbots_odometry/include/bitbots_odometry/motion_odometry.hpp b/src/bitbots_navigation/bitbots_odometry/include/bitbots_odometry/motion_odometry.hpp similarity index 100% rename from bitbots_navigation/bitbots_odometry/include/bitbots_odometry/motion_odometry.hpp rename to src/bitbots_navigation/bitbots_odometry/include/bitbots_odometry/motion_odometry.hpp diff --git a/bitbots_navigation/bitbots_odometry/launch/odometry.launch b/src/bitbots_navigation/bitbots_odometry/launch/odometry.launch similarity index 100% rename from bitbots_navigation/bitbots_odometry/launch/odometry.launch rename to src/bitbots_navigation/bitbots_odometry/launch/odometry.launch diff --git a/bitbots_navigation/bitbots_odometry/package.xml b/src/bitbots_navigation/bitbots_odometry/package.xml similarity index 100% rename from bitbots_navigation/bitbots_odometry/package.xml rename to src/bitbots_navigation/bitbots_odometry/package.xml diff --git a/bitbots_navigation/bitbots_odometry/src/motion_odometry.cpp b/src/bitbots_navigation/bitbots_odometry/src/motion_odometry.cpp similarity index 98% rename from bitbots_navigation/bitbots_odometry/src/motion_odometry.cpp rename to src/bitbots_navigation/bitbots_odometry/src/motion_odometry.cpp index d6c04f288..016d8e0a9 100644 --- a/bitbots_navigation/bitbots_odometry/src/motion_odometry.cpp +++ b/src/bitbots_navigation/bitbots_odometry/src/motion_odometry.cpp @@ -81,7 +81,7 @@ void MotionOdometry::loop() { q.setRPY(0, 0, yaw); previous_to_current_support.setRotation(q); odometry_to_support_foot_ = odometry_to_support_foot_ * previous_to_current_support; - } catch (tf2::TransformException &ex) { + } catch (tf2::TransformException& ex) { RCLCPP_WARN(this->get_logger(), "%s", ex.what()); rclcpp::sleep_for(std::chrono::milliseconds(1000)); return; @@ -138,7 +138,7 @@ void MotionOdometry::loop() { odom_msg.twist = current_odom_msg_.twist; pub_odometry_->publish(odom_msg); - } catch (tf2::TransformException &ex) { + } catch (tf2::TransformException& ex) { RCLCPP_WARN(this->get_logger(), "%s", ex.what()); rclcpp::sleep_for(std::chrono::milliseconds(1000)); return; @@ -167,7 +167,7 @@ void MotionOdometry::supportCallback(const biped_interfaces::msg::Phase::SharedP rclcpp::Duration::from_nanoseconds(1e9)); odometry_to_support_foot_.setOrigin({-1 * base_to_current_support_msg.transform.translation.x, -1 * base_to_current_support_msg.transform.translation.y, 0}); - } catch (tf2::TransformException &ex) { + } catch (tf2::TransformException& ex) { RCLCPP_WARN(this->get_logger(), "Could not initialize motion odometry correctly, since there were no transforms available fast " "enough on startup. Will initialize with 0,0,0"); @@ -179,7 +179,7 @@ void MotionOdometry::odomCallback(const nav_msgs::msg::Odometry::SharedPtr msg) } // namespace bitbots_odometry -int main(int argc, char **argv) { +int main(int argc, char** argv) { rclcpp::init(argc, argv); auto node = std::make_shared(); diff --git a/bitbots_navigation/bitbots_odometry/src/odometry_fuser.cpp b/src/bitbots_navigation/bitbots_odometry/src/odometry_fuser.cpp similarity index 97% rename from bitbots_navigation/bitbots_odometry/src/odometry_fuser.cpp rename to src/bitbots_navigation/bitbots_odometry/src/odometry_fuser.cpp index 694495d9c..90c7f2639 100644 --- a/bitbots_navigation/bitbots_odometry/src/odometry_fuser.cpp +++ b/src/bitbots_navigation/bitbots_odometry/src/odometry_fuser.cpp @@ -117,7 +117,7 @@ class OdometryFuser : public rclcpp::Node { geometry_msgs::msg::TransformStamped imu_mounting_transform = tf_buffer_.lookupTransform(imu_data_.header.frame_id, base_link_frame_, fused_time_); fromMsg(imu_mounting_transform.transform, imu_mounting_offset); - } catch (tf2::TransformException &ex) { + } catch (tf2::TransformException& ex) { RCLCPP_ERROR(this->get_logger(), "Not able to fuse IMU data with odometry due to a tf problem: %s", ex.what()); } @@ -148,8 +148,8 @@ class OdometryFuser : public rclcpp::Node { void supportCallback(const biped_interfaces::msg::Phase::SharedPtr msg) { support_state_cache_.add(msg); } - void imuCallback(const sensor_msgs::msg::Imu::SharedPtr &imu_msg, - const nav_msgs::msg::Odometry::SharedPtr &motion_odom_msg) { + void imuCallback(const sensor_msgs::msg::Imu::SharedPtr& imu_msg, + const nav_msgs::msg::Odometry::SharedPtr& motion_odom_msg) { imu_data_ = *imu_msg; odom_data_ = *motion_odom_msg; // Use the time of the imu as a baseline to do transforms and stuff because it is more timecritical than the walking @@ -253,7 +253,7 @@ class OdometryFuser : public rclcpp::Node { support_frame = l_sole_frame_; rotation_point = tf_buffer_.lookupTransform(base_link_frame_, support_frame, fused_time_); fromMsg(rotation_point.transform, rotation_point_tf); - } catch (tf2::TransformException &ex) { + } catch (tf2::TransformException& ex) { RCLCPP_ERROR(this->get_logger(), "%s", ex.what()); } } else if (current_support_state == biped_interfaces::msg::Phase::DOUBLE_STANCE) { @@ -280,7 +280,7 @@ class OdometryFuser : public rclcpp::Node { rotation_point_tf = base_to_l_sole_tf * l_to_center_tf; rotation_point_tf.setRotation(zero_rotation); - } catch (tf2::TransformException &ex) { + } catch (tf2::TransformException& ex) { RCLCPP_ERROR(this->get_logger(), "%s", ex.what()); } } else { @@ -291,7 +291,7 @@ class OdometryFuser : public rclcpp::Node { } }; -int main(int argc, char **argv) { +int main(int argc, char** argv) { rclcpp::init(argc, argv); auto node = std::make_shared(); rclcpp::experimental::executors::EventsExecutor exec; diff --git a/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/.gitignore b/src/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/.gitignore similarity index 100% rename from bitbots_navigation/bitbots_path_planning/bitbots_path_planning/.gitignore rename to src/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/.gitignore diff --git a/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/__init__.py b/src/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/__init__.py similarity index 100% rename from bitbots_navigation/bitbots_path_planning/bitbots_path_planning/__init__.py rename to src/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/__init__.py diff --git a/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/controller.py b/src/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/controller.py similarity index 100% rename from bitbots_navigation/bitbots_path_planning/bitbots_path_planning/controller.py rename to src/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/controller.py diff --git a/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/path_planning.py b/src/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/path_planning.py similarity index 100% rename from bitbots_navigation/bitbots_path_planning/bitbots_path_planning/path_planning.py rename to src/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/path_planning.py diff --git a/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/planner.py b/src/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/planner.py similarity index 100% rename from bitbots_navigation/bitbots_path_planning/bitbots_path_planning/planner.py rename to src/bitbots_navigation/bitbots_path_planning/bitbots_path_planning/planner.py diff --git a/bitbots_navigation/bitbots_path_planning/config/path_planning_parameters.yaml b/src/bitbots_navigation/bitbots_path_planning/config/path_planning_parameters.yaml similarity index 100% rename from bitbots_navigation/bitbots_path_planning/config/path_planning_parameters.yaml rename to src/bitbots_navigation/bitbots_path_planning/config/path_planning_parameters.yaml diff --git a/bitbots_navigation/bitbots_path_planning/config/path_planning_viz.rviz b/src/bitbots_navigation/bitbots_path_planning/config/path_planning_viz.rviz similarity index 100% rename from bitbots_navigation/bitbots_path_planning/config/path_planning_viz.rviz rename to src/bitbots_navigation/bitbots_path_planning/config/path_planning_viz.rviz diff --git a/bitbots_navigation/bitbots_path_planning/launch/path_planning.launch b/src/bitbots_navigation/bitbots_path_planning/launch/path_planning.launch similarity index 100% rename from bitbots_navigation/bitbots_path_planning/launch/path_planning.launch rename to src/bitbots_navigation/bitbots_path_planning/launch/path_planning.launch diff --git a/bitbots_navigation/bitbots_path_planning/package.xml b/src/bitbots_navigation/bitbots_path_planning/package.xml similarity index 100% rename from bitbots_navigation/bitbots_path_planning/package.xml rename to src/bitbots_navigation/bitbots_path_planning/package.xml diff --git a/bitbots_navigation/bitbots_path_planning/resource/bitbots_path_planning b/src/bitbots_navigation/bitbots_path_planning/resource/bitbots_path_planning similarity index 100% rename from bitbots_navigation/bitbots_path_planning/resource/bitbots_path_planning rename to src/bitbots_navigation/bitbots_path_planning/resource/bitbots_path_planning diff --git a/bitbots_navigation/bitbots_path_planning/setup.cfg b/src/bitbots_navigation/bitbots_path_planning/setup.cfg similarity index 100% rename from bitbots_navigation/bitbots_path_planning/setup.cfg rename to src/bitbots_navigation/bitbots_path_planning/setup.cfg diff --git a/bitbots_navigation/bitbots_path_planning/setup.py b/src/bitbots_navigation/bitbots_path_planning/setup.py similarity index 100% rename from bitbots_navigation/bitbots_path_planning/setup.py rename to src/bitbots_navigation/bitbots_path_planning/setup.py diff --git a/bitbots_navigation/bitbots_path_planning/test/__init__.py b/src/bitbots_navigation/bitbots_path_planning/test/__init__.py similarity index 100% rename from bitbots_navigation/bitbots_path_planning/test/__init__.py rename to src/bitbots_navigation/bitbots_path_planning/test/__init__.py diff --git a/bitbots_navigation/bitbots_path_planning/test/__snapshots__/test_controller.ambr b/src/bitbots_navigation/bitbots_path_planning/test/__snapshots__/test_controller.ambr similarity index 100% rename from bitbots_navigation/bitbots_path_planning/test/__snapshots__/test_controller.ambr rename to src/bitbots_navigation/bitbots_path_planning/test/__snapshots__/test_controller.ambr diff --git a/bitbots_navigation/bitbots_path_planning/test/mypy.ini b/src/bitbots_navigation/bitbots_path_planning/test/mypy.ini similarity index 100% rename from bitbots_navigation/bitbots_path_planning/test/mypy.ini rename to src/bitbots_navigation/bitbots_path_planning/test/mypy.ini diff --git a/bitbots_navigation/bitbots_path_planning/test/test_controller.py b/src/bitbots_navigation/bitbots_path_planning/test/test_controller.py similarity index 100% rename from bitbots_navigation/bitbots_path_planning/test/test_controller.py rename to src/bitbots_navigation/bitbots_path_planning/test/test_controller.py diff --git a/bitbots_navigation/bitbots_path_planning/test/test_mypy.py b/src/bitbots_navigation/bitbots_path_planning/test/test_mypy.py similarity index 100% rename from bitbots_navigation/bitbots_path_planning/test/test_mypy.py rename to src/bitbots_navigation/bitbots_path_planning/test/test_mypy.py diff --git a/src/bitbots_navigation/bitbots_rust_nav/Cargo.lock b/src/bitbots_navigation/bitbots_rust_nav/Cargo.lock new file mode 100644 index 000000000..e66b18b5a --- /dev/null +++ b/src/bitbots_navigation/bitbots_rust_nav/Cargo.lock @@ -0,0 +1,4338 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ab_glyph" +version = "0.2.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3672c180e71eeaaac3a541fbbc5f5ad4def8b747c595ad30d674e43049f7b0" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" + +[[package]] +name = "accesskit" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3d3b8f9bae46a948369bc4a03e815d4ed6d616bd00de4051133a5019dc31c5a" + +[[package]] +name = "accesskit_atspi_common" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c5dd55e6e94949498698daf4d48fb5659e824d7abec0d394089656ceaf99d4f" +dependencies = [ + "accesskit", + "accesskit_consumer", + "atspi-common", + "serde", + "thiserror 1.0.69", + "zvariant", +] + +[[package]] +name = "accesskit_consumer" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f47983a1084940ba9a39c077a8c63e55c619388be5476ac04c804cfbd1e63459" +dependencies = [ + "accesskit", + "hashbrown", + "immutable-chunkmap", +] + +[[package]] +name = "accesskit_macos" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7329821f3bd1101e03a7d2e03bd339e3ac0dc64c70b4c9f9ae1949e3ba8dece1" +dependencies = [ + "accesskit", + "accesskit_consumer", + "hashbrown", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "accesskit_unix" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcee751cc20d88678c33edaf9c07e8b693cd02819fe89053776f5313492273f5" +dependencies = [ + "accesskit", + "accesskit_atspi_common", + "async-channel", + "async-executor", + "async-task", + "atspi", + "futures-lite", + "futures-util", + "serde", + "zbus", +] + +[[package]] +name = "accesskit_windows" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24fcd5d23d70670992b823e735e859374d694a3d12bfd8dd32bd3bd8bedb5d81" +dependencies = [ + "accesskit", + "accesskit_consumer", + "hashbrown", + "paste", + "static_assertions", + "windows", + "windows-core", +] + +[[package]] +name = "accesskit_winit" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6a48dad5530b6deb9fc7a52cc6c3bf72cdd9eb8157ac9d32d69f2427a5e879" +dependencies = [ + "accesskit", + "accesskit_macos", + "accesskit_unix", + "accesskit_windows", + "raw-window-handle", + "winit", +] + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "getrandom 0.3.3", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "android-activity" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" +dependencies = [ + "android-properties", + "bitflags 2.9.1", + "cc", + "cesu8", + "jni", + "jni-sys", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys 0.6.0+11769913", + "num_enum", + "thiserror 1.0.69", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "arboard" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1df21f715862ede32a0c525ce2ca4d52626bb0007f8c18b87a384503ac33e70" +dependencies = [ + "clipboard-win", + "image", + "log", + "objc2 0.6.1", + "objc2-app-kit 0.3.1", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation 0.3.1", + "parking_lot", + "percent-encoding", + "windows-sys 0.59.0", + "x11rb", +] + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + +[[package]] +name = "ash" +version = "0.38.0+1.3.281" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" +dependencies = [ + "libloading", +] + +[[package]] +name = "async-broadcast" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +dependencies = [ + "event-listener", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-channel" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "pin-project-lite", + "slab", +] + +[[package]] +name = "async-fs" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" +dependencies = [ + "async-lock", + "blocking", + "futures-lite", +] + +[[package]] +name = "async-io" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1237c0ae75a0f3765f58910ff9cdd0a12eeb39ab2f4c7de23262f337f0aacbb3" +dependencies = [ + "async-lock", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite", + "parking", + "polling", + "rustix 1.0.7", + "slab", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "async-lock" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cde3f4e40e6021d7acffc90095cbd6dc54cb593903d1de5832f435eb274b85dc" +dependencies = [ + "async-channel", + "async-io", + "async-lock", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener", + "futures-lite", + "rustix 1.0.7", + "tracing", +] + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "async-signal" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7605a4e50d4b06df3898d5a70bf5fde51ed9059b0434b73105193bc27acce0d" +dependencies = [ + "async-io", + "async-lock", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 1.0.7", + "signal-hook-registry", + "slab", + "windows-sys 0.59.0", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "async-trait" +version = "0.1.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "atspi" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be534b16650e35237bb1ed189ba2aab86ce65e88cc84c66f4935ba38575cecbf" +dependencies = [ + "atspi-common", + "atspi-connection", + "atspi-proxies", +] + +[[package]] +name = "atspi-common" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1909ed2dc01d0a17505d89311d192518507e8a056a48148e3598fef5e7bb6ba7" +dependencies = [ + "enumflags2", + "serde", + "static_assertions", + "zbus", + "zbus-lockstep", + "zbus-lockstep-macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "atspi-connection" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "430c5960624a4baaa511c9c0fcc2218e3b58f5dbcc47e6190cafee344b873333" +dependencies = [ + "atspi-common", + "atspi-proxies", + "futures-lite", + "zbus", +] + +[[package]] +name = "atspi-proxies" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e6c5de3e524cf967569722446bcd458d5032348554d9a17d7d72b041ab7496" +dependencies = [ + "atspi-common", + "serde", + "zbus", + "zvariant", +] + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitbots_rust_nav" +version = "0.1.2" +dependencies = [ + "eframe", + "geo", + "keyed_priority_queue", + "ordered-float", + "pyo3", + "rand 0.9.1", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +dependencies = [ + "serde", +] + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block2" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" +dependencies = [ + "objc2 0.5.2", +] + +[[package]] +name = "blocking" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + +[[package]] +name = "bumpalo" +version = "3.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" + +[[package]] +name = "bytemuck" +version = "1.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + +[[package]] +name = "bytes" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" + +[[package]] +name = "calloop" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" +dependencies = [ + "bitflags 2.9.1", + "log", + "polling", + "rustix 0.38.44", + "slab", + "thiserror 1.0.69", +] + +[[package]] +name = "calloop-wayland-source" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" +dependencies = [ + "calloop", + "rustix 0.38.44", + "wayland-backend", + "wayland-client", +] + +[[package]] +name = "cc" +version = "1.2.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" +dependencies = [ + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cfg-if" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "cgl" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff" +dependencies = [ + "libc", +] + +[[package]] +name = "clipboard-win" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" +dependencies = [ + "error-code", +] + +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" +dependencies = [ + "bitflags 1.3.2", + "core-foundation 0.9.4", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation 0.9.4", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cursor-icon" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +dependencies = [ + "bitflags 2.9.1", + "objc2 0.6.1", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dlib" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading", +] + +[[package]] +name = "document-features" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" +dependencies = [ + "litrs", +] + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "dpi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" + +[[package]] +name = "earcutr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79127ed59a85d7687c409e9978547cffb7dc79675355ed22da6b66fd5f6ead01" +dependencies = [ + "itertools", + "num-traits", +] + +[[package]] +name = "ecolor" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc4feb366740ded31a004a0e4452fbf84e80ef432ecf8314c485210229672fd1" +dependencies = [ + "bytemuck", + "emath", +] + +[[package]] +name = "eframe" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0dfe0859f3fb1bc6424c57d41e10e9093fe938f426b691e42272c2f336d915c" +dependencies = [ + "ahash", + "bytemuck", + "document-features", + "egui", + "egui-wgpu", + "egui-winit", + "egui_glow", + "glow", + "glutin", + "glutin-winit", + "image", + "js-sys", + "log", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", + "parking_lot", + "percent-encoding", + "profiling", + "raw-window-handle", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "web-time", + "winapi", + "windows-sys 0.59.0", + "winit", +] + +[[package]] +name = "egui" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25dd34cec49ab55d85ebf70139cb1ccd29c977ef6b6ba4fe85489d6877ee9ef3" +dependencies = [ + "accesskit", + "ahash", + "bitflags 2.9.1", + "emath", + "epaint", + "log", + "nohash-hasher", + "profiling", +] + +[[package]] +name = "egui-wgpu" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d319dfef570f699b6e9114e235e862a2ddcf75f0d1a061de9e1328d92146d820" +dependencies = [ + "ahash", + "bytemuck", + "document-features", + "egui", + "epaint", + "log", + "profiling", + "thiserror 1.0.69", + "type-map", + "web-time", + "wgpu", + "winit", +] + +[[package]] +name = "egui-winit" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d9dfbb78fe4eb9c3a39ad528b90ee5915c252e77bbab9d4ebc576541ab67e13" +dependencies = [ + "accesskit_winit", + "ahash", + "arboard", + "bytemuck", + "egui", + "log", + "profiling", + "raw-window-handle", + "smithay-clipboard", + "web-time", + "webbrowser", + "winit", +] + +[[package]] +name = "egui_glow" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "910906e3f042ea6d2378ec12a6fd07698e14ddae68aed2d819ffe944a73aab9e" +dependencies = [ + "ahash", + "bytemuck", + "egui", + "glow", + "log", + "memoffset", + "profiling", + "wasm-bindgen", + "web-sys", + "winit", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "emath" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e4cadcff7a5353ba72b7fea76bf2122b5ebdbc68e8155aa56dfdea90083fe1b" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "endi" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" + +[[package]] +name = "enumflags2" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "epaint" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41fcc0f5a7c613afd2dee5e4b30c3e6acafb8ad6f0edb06068811f708a67c562" +dependencies = [ + "ab_glyph", + "ahash", + "bytemuck", + "ecolor", + "emath", + "epaint_default_fonts", + "log", + "nohash-hasher", + "parking_lot", + "profiling", +] + +[[package]] +name = "epaint_default_fonts" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7e7a64c02cf7a5b51e745a9e45f60660a286f151c238b9d397b3e923f5082f" + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "error-code" +version = "3.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59" + +[[package]] +name = "event-listener" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "flate2" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "float_next_after" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bf7cc16383c4b8d58b9905a8509f02926ce3058053c056376248d958c9df1e8" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-lite" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "geo" +version = "0.29.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34f0e6e028c581e82e6822a68869514e94c25e7f8ea669a2d8595bdf7461ccc5" +dependencies = [ + "earcutr", + "float_next_after", + "geo-types", + "geographiclib-rs", + "i_overlay", + "log", + "num-traits", + "robust", + "rstar", + "spade", +] + +[[package]] +name = "geo-types" +version = "0.7.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ddb1950450d67efee2bbc5e429c68d052a822de3aad010d28b351fbb705224" +dependencies = [ + "approx", + "num-traits", + "rayon", + "rstar", + "serde", +] + +[[package]] +name = "geographiclib-rs" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f611040a2bb37eaa29a78a128d1e92a378a03e0b6e66ae27398d42b1ba9a7841" +dependencies = [ + "libm", +] + +[[package]] +name = "gethostname" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +dependencies = [ + "libc", + "windows-targets 0.48.5", +] + +[[package]] +name = "getrandom" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", +] + +[[package]] +name = "gl_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" +dependencies = [ + "khronos_api", + "log", + "xml-rs", +] + +[[package]] +name = "glow" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "glutin" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12124de845cacfebedff80e877bb37b5b75c34c5a4c89e47e1cdd67fb6041325" +dependencies = [ + "bitflags 2.9.1", + "cfg_aliases", + "cgl", + "dispatch2", + "glutin_egl_sys", + "glutin_glx_sys", + "glutin_wgl_sys", + "libloading", + "objc2 0.6.1", + "objc2-app-kit 0.3.1", + "objc2-core-foundation", + "objc2-foundation 0.3.1", + "once_cell", + "raw-window-handle", + "wayland-sys", + "windows-sys 0.52.0", + "x11-dl", +] + +[[package]] +name = "glutin-winit" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85edca7075f8fc728f28cb8fbb111a96c3b89e930574369e3e9c27eb75d3788f" +dependencies = [ + "cfg_aliases", + "glutin", + "raw-window-handle", + "winit", +] + +[[package]] +name = "glutin_egl_sys" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c4680ba6195f424febdc3ba46e7a42a0e58743f2edb115297b86d7f8ecc02d2" +dependencies = [ + "gl_generator", + "windows-sys 0.52.0", +] + +[[package]] +name = "glutin_glx_sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7bb2938045a88b612499fbcba375a77198e01306f52272e692f8c1f3751185" +dependencies = [ + "gl_generator", + "x11-dl", +] + +[[package]] +name = "glutin_wgl_sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e" +dependencies = [ + "gl_generator", +] + +[[package]] +name = "gpu-alloc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" +dependencies = [ + "bitflags 2.9.1", + "gpu-alloc-types", +] + +[[package]] +name = "gpu-alloc-types" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "gpu-descriptor" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" +dependencies = [ + "bitflags 2.9.1", + "gpu-descriptor-types", + "hashbrown", +] + +[[package]] +name = "gpu-descriptor-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + +[[package]] +name = "hashbrown" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "heapless" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "hash32", + "stable_deref_trait", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hexf-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" + +[[package]] +name = "i_float" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775f9961a8d2f879725da8aff789bb20a3ddf297473e0c90af75e69313919490" +dependencies = [ + "serde", +] + +[[package]] +name = "i_key_sort" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "347c253b4748a1a28baf94c9ce133b6b166f08573157e05afe718812bc599fcd" + +[[package]] +name = "i_overlay" +version = "1.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01882ce5ed786bf6e8f5167f171a4026cd129ce17d9ff5cbf1e6749b98628ece" +dependencies = [ + "i_float", + "i_key_sort", + "i_shape", + "i_tree", + "rayon", +] + +[[package]] +name = "i_shape" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27dbe9e5238d6b9c694c08415bf00fb370b089949bd818ab01f41f8927b8774c" +dependencies = [ + "i_float", + "serde", +] + +[[package]] +name = "i_tree" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "155181bc97d770181cf9477da51218a19ee92a8e5be642e796661aee2b601139" + +[[package]] +name = "icu_collections" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" + +[[package]] +name = "icu_properties" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "potential_utf", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" + +[[package]] +name = "icu_provider" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +dependencies = [ + "displaydoc", + "icu_locale_core", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "image" +version = "0.25.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a" +dependencies = [ + "bytemuck", + "byteorder-lite", + "num-traits", + "png", + "tiff", +] + +[[package]] +name = "immutable-chunkmap" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f97096f508d54f8f8ab8957862eee2ccd628847b6217af1a335e1c44dee578" +dependencies = [ + "arrayvec", +] + +[[package]] +name = "indexmap" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "indoc" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +dependencies = [ + "getrandom 0.3.3", + "libc", +] + +[[package]] +name = "jpeg-decoder" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" + +[[package]] +name = "js-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "keyed_priority_queue" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee7893dab2e44ae5f9d0173f26ff4aa327c10b01b06a72b52dd9405b628640d" +dependencies = [ + "indexmap", +] + +[[package]] +name = "khronos-egl" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" +dependencies = [ + "libc", + "libloading", + "pkg-config", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + +[[package]] +name = "libc" +version = "0.2.174" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" + +[[package]] +name = "libloading" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" +dependencies = [ + "cfg-if", + "windows-targets 0.53.2", +] + +[[package]] +name = "libm" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.9.1", + "libc", + "redox_syscall 0.5.13", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "linux-raw-sys" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" + +[[package]] +name = "litemap" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" + +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + +[[package]] +name = "lock_api" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "memchr" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" + +[[package]] +name = "memmap2" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "metal" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e" +dependencies = [ + "bitflags 2.9.1", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", + "paste", +] + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "naga" +version = "24.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e380993072e52eef724eddfcde0ed013b0c023c3f0417336ed041aa9f076994e" +dependencies = [ + "arrayvec", + "bit-set", + "bitflags 2.9.1", + "cfg_aliases", + "codespan-reporting", + "hexf-parse", + "indexmap", + "log", + "rustc-hash 1.1.0", + "spirv", + "strum", + "termcolor", + "thiserror 2.0.12", + "unicode-xid", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.9.1", + "jni-sys", + "log", + "ndk-sys 0.6.0+11769913", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.5.0+25.2.9519653" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "nix" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +dependencies = [ + "bitflags 2.9.1", + "cfg-if", + "cfg_aliases", + "libc", + "memoffset", +] + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_enum" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] + +[[package]] +name = "objc-sys" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" + +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +dependencies = [ + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c6597e14493ab2e44ce58f2fdecf095a51f12ca57bec060a11c57332520551" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-app-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +dependencies = [ + "bitflags 2.9.1", + "block2", + "libc", + "objc2 0.5.2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation 0.2.2", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-app-kit" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6f29f568bec459b0ddff777cec4fe3fd8666d82d5a40ebd0ff7e66134f89bcc" +dependencies = [ + "bitflags 2.9.1", + "objc2 0.6.1", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation 0.3.1", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" +dependencies = [ + "bitflags 2.9.1", + "block2", + "objc2 0.5.2", + "objc2-core-location", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-core-data" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.9.1", + "block2", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" +dependencies = [ + "bitflags 2.9.1", + "dispatch2", + "objc2 0.6.1", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "989c6c68c13021b5c2d6b71456ebb0f9dc78d752e86a98da7c716f4f9470f5a4" +dependencies = [ + "bitflags 2.9.1", + "dispatch2", + "objc2 0.6.1", + "objc2-core-foundation", + "objc2-io-surface", +] + +[[package]] +name = "objc2-core-image" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +dependencies = [ + "block2", + "objc2 0.5.2", + "objc2-foundation 0.2.2", + "objc2-metal", +] + +[[package]] +name = "objc2-core-location" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" +dependencies = [ + "block2", + "objc2 0.5.2", + "objc2-contacts", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-foundation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" +dependencies = [ + "bitflags 2.9.1", + "block2", + "dispatch", + "libc", + "objc2 0.5.2", +] + +[[package]] +name = "objc2-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900831247d2fe1a09a683278e5384cfb8c80c79fe6b166f9d14bfdde0ea1b03c" +dependencies = [ + "bitflags 2.9.1", + "objc2 0.6.1", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7282e9ac92529fa3457ce90ebb15f4ecbc383e8338060960760fa2cf75420c3c" +dependencies = [ + "bitflags 2.9.1", + "objc2 0.6.1", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-link-presentation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" +dependencies = [ + "block2", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.9.1", + "block2", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.9.1", + "block2", + "objc2 0.5.2", + "objc2-foundation 0.2.2", + "objc2-metal", +] + +[[package]] +name = "objc2-symbols" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" +dependencies = [ + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.9.1", + "block2", + "objc2 0.5.2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation 0.2.2", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.9.1", + "block2", + "objc2 0.5.2", + "objc2-core-location", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "orbclient" +version = "0.3.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba0b26cec2e24f08ed8bb31519a9333140a6599b867dac464bb150bdb796fd43" +dependencies = [ + "libredox", +] + +[[package]] +name = "ordered-float" +version = "4.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" +dependencies = [ + "num-traits", +] + +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "owned_ttf_parser" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec719bbf3b2a81c109a4e20b1f129b5566b7dce654bc3872f6a05abf82b2c4" +dependencies = [ + "ttf-parser", +] + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.13", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piper" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "polling" +version = "3.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b53a684391ad002dd6a596ceb6c74fd004fdce75f4be2e3f615068abbea5fd50" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix 1.0.7", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "portable-atomic" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "proc-macro-crate" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "profiling" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" + +[[package]] +name = "pyo3" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5203598f366b11a02b13aa20cab591229ff0a89fd121a308a5df751d5fc9219" +dependencies = [ + "cfg-if", + "indoc", + "libc", + "memoffset", + "once_cell", + "portable-atomic", + "pyo3-build-config", + "pyo3-ffi", + "pyo3-macros", + "unindent", +] + +[[package]] +name = "pyo3-build-config" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99636d423fa2ca130fa5acde3059308006d46f98caac629418e53f7ebb1e9999" +dependencies = [ + "once_cell", + "target-lexicon", +] + +[[package]] +name = "pyo3-ffi" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78f9cf92ba9c409279bc3305b5409d90db2d2c22392d443a87df3a1adad59e33" +dependencies = [ + "libc", + "pyo3-build-config", +] + +[[package]] +name = "pyo3-macros" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b999cb1a6ce21f9a6b147dcf1be9ffedf02e0043aec74dc390f3007047cecd9" +dependencies = [ + "proc-macro2", + "pyo3-macros-backend", + "quote", + "syn", +] + +[[package]] +name = "pyo3-macros-backend" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "822ece1c7e1012745607d5cf0bcb2874769f0f7cb34c4cde03b9358eb9ef911a" +dependencies = [ + "heck", + "proc-macro2", + "pyo3-build-config", + "quote", + "syn", +] + +[[package]] +name = "quick-xml" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quick-xml" +version = "0.37.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.16", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", +] + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "renderdoc-sys" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" + +[[package]] +name = "robust" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e27ee8bb91ca0adcf0ecb116293afa12d393f9c2b9b9cd54d33e8078fe19839" + +[[package]] +name = "rstar" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "421400d13ccfd26dfa5858199c30a5d76f9c54e0dba7575273025b43c5175dbb" +dependencies = [ + "heapless", + "num-traits", + "smallvec", +] + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustix" +version = "0.38.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" +dependencies = [ + "bitflags 2.9.1", + "errno", + "libc", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustix" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +dependencies = [ + "bitflags 2.9.1", + "errno", + "libc", + "linux-raw-sys 0.9.4", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustversion" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sctk-adwaita" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" +dependencies = [ + "ab_glyph", + "log", + "memmap2", + "smithay-client-toolkit", + "tiny-skia", +] + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_repr" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +dependencies = [ + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "slab" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" + +[[package]] +name = "slotmap" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "smithay-client-toolkit" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" +dependencies = [ + "bitflags 2.9.1", + "calloop", + "calloop-wayland-source", + "cursor-icon", + "libc", + "log", + "memmap2", + "rustix 0.38.44", + "thiserror 1.0.69", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", +] + +[[package]] +name = "smithay-clipboard" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc8216eec463674a0e90f29e0ae41a4db573ec5b56b1c6c1c71615d249b6d846" +dependencies = [ + "libc", + "smithay-client-toolkit", + "wayland-backend", +] + +[[package]] +name = "smol_str" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" +dependencies = [ + "serde", +] + +[[package]] +name = "spade" +version = "2.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ece03ff43cd2a9b57ebf776ea5e78bd30b3b4185a619f041079f4109f385034" +dependencies = [ + "hashbrown", + "num-traits", + "robust", + "smallvec", +] + +[[package]] +name = "spirv" +version = "0.3.0+sdk-1.3.268.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strict-num" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" + +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + +[[package]] +name = "syn" +version = "2.0.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "target-lexicon" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a" + +[[package]] +name = "tempfile" +version = "3.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +dependencies = [ + "fastrand", + "getrandom 0.3.3", + "once_cell", + "rustix 1.0.7", + "windows-sys 0.59.0", +] + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tiff" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" +dependencies = [ + "flate2", + "jpeg-decoder", + "weezl", +] + +[[package]] +name = "tiny-skia" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + +[[package]] +name = "tinystr" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "toml_datetime" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" + +[[package]] +name = "toml_edit" +version = "0.22.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +dependencies = [ + "once_cell", +] + +[[package]] +name = "ttf-parser" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" + +[[package]] +name = "type-map" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" +dependencies = [ + "rustc-hash 2.1.1", +] + +[[package]] +name = "typenum" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + +[[package]] +name = "uds_windows" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" +dependencies = [ + "memoffset", + "tempfile", + "winapi", +] + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "unindent" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" + +[[package]] +name = "url" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +dependencies = [ + "cfg-if", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wayland-backend" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe770181423e5fc79d3e2a7f4410b7799d5aab1de4372853de3c6aa13ca24121" +dependencies = [ + "cc", + "downcast-rs", + "rustix 0.38.44", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978fa7c67b0847dbd6a9f350ca2569174974cd4082737054dbb7fbb79d7d9a61" +dependencies = [ + "bitflags 2.9.1", + "rustix 0.38.44", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-csd-frame" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" +dependencies = [ + "bitflags 2.9.1", + "cursor-icon", + "wayland-backend", +] + +[[package]] +name = "wayland-cursor" +version = "0.31.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a65317158dec28d00416cb16705934070aef4f8393353d41126c54264ae0f182" +dependencies = [ + "rustix 0.38.44", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-protocols" +version = "0.32.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "779075454e1e9a521794fed15886323ea0feda3f8b0fc1390f5398141310422a" +dependencies = [ + "bitflags 2.9.1", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-plasma" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fd38cdad69b56ace413c6bcc1fbf5acc5e2ef4af9d5f8f1f9570c0c83eae175" +dependencies = [ + "bitflags 2.9.1", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cb6cdc73399c0e06504c437fe3cf886f25568dd5454473d565085b36d6a8bbf" +dependencies = [ + "bitflags 2.9.1", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "896fdafd5d28145fce7958917d69f2fd44469b1d4e861cb5961bcbeebc6d1484" +dependencies = [ + "proc-macro2", + "quick-xml 0.37.5", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbcebb399c77d5aa9fa5db874806ee7b4eba4e73650948e8f93963f128896615" +dependencies = [ + "dlib", + "log", + "once_cell", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webbrowser" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaf4f3c0ba838e82b4e5ccc4157003fb8c324ee24c058470ffb82820becbde98" +dependencies = [ + "core-foundation 0.10.1", + "jni", + "log", + "ndk-context", + "objc2 0.6.1", + "objc2-foundation 0.3.1", + "url", + "web-sys", +] + +[[package]] +name = "weezl" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3" + +[[package]] +name = "wgpu" +version = "24.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b0b3436f0729f6cdf2e6e9201f3d39dc95813fad61d826c1ed07918b4539353" +dependencies = [ + "arrayvec", + "bitflags 2.9.1", + "cfg_aliases", + "document-features", + "js-sys", + "log", + "parking_lot", + "profiling", + "raw-window-handle", + "smallvec", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-core" +version = "24.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f0aa306497a238d169b9dc70659105b4a096859a34894544ca81719242e1499" +dependencies = [ + "arrayvec", + "bit-vec", + "bitflags 2.9.1", + "cfg_aliases", + "document-features", + "indexmap", + "log", + "naga", + "once_cell", + "parking_lot", + "profiling", + "raw-window-handle", + "rustc-hash 1.1.0", + "smallvec", + "thiserror 2.0.12", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-hal" +version = "24.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f112f464674ca69f3533248508ee30cb84c67cf06c25ff6800685f5e0294e259" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash", + "bitflags 2.9.1", + "bytemuck", + "cfg_aliases", + "core-graphics-types", + "glow", + "glutin_wgl_sys", + "gpu-alloc", + "gpu-descriptor", + "js-sys", + "khronos-egl", + "libc", + "libloading", + "log", + "metal", + "naga", + "ndk-sys 0.5.0+25.2.9519653", + "objc", + "once_cell", + "ordered-float", + "parking_lot", + "profiling", + "raw-window-handle", + "renderdoc-sys", + "rustc-hash 1.1.0", + "smallvec", + "thiserror 2.0.12", + "wasm-bindgen", + "web-sys", + "wgpu-types", + "windows", +] + +[[package]] +name = "wgpu-types" +version = "24.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c" +dependencies = [ + "bitflags 2.9.1", + "js-sys", + "log", + "web-sys", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" +dependencies = [ + "windows-core", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + +[[package]] +name = "winit" +version = "0.30.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4409c10174df8779dc29a4788cac85ed84024ccbc1743b776b21a520ee1aaf4" +dependencies = [ + "ahash", + "android-activity", + "atomic-waker", + "bitflags 2.9.1", + "block2", + "bytemuck", + "calloop", + "cfg_aliases", + "concurrent-queue", + "core-foundation 0.9.4", + "core-graphics", + "cursor-icon", + "dpi", + "js-sys", + "libc", + "memmap2", + "ndk", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", + "objc2-ui-kit", + "orbclient", + "percent-encoding", + "pin-project", + "raw-window-handle", + "redox_syscall 0.4.1", + "rustix 0.38.44", + "sctk-adwaita", + "smithay-client-toolkit", + "smol_str", + "tracing", + "unicode-segmentation", + "wasm-bindgen", + "wasm-bindgen-futures", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-plasma", + "web-sys", + "web-time", + "windows-sys 0.52.0", + "x11-dl", + "x11rb", + "xkbcommon-dl", +] + +[[package]] +name = "winnow" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" +dependencies = [ + "memchr", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "writeable" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" +dependencies = [ + "as-raw-xcb-connection", + "gethostname", + "libc", + "libloading", + "once_cell", + "rustix 0.38.44", + "x11rb-protocol", +] + +[[package]] +name = "x11rb-protocol" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" + +[[package]] +name = "xcursor" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61" + +[[package]] +name = "xdg-home" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec1cdab258fb55c0da61328dc52c8764709b249011b2cad0454c72f0bf10a1f6" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "xkbcommon-dl" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.9.1", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" + +[[package]] +name = "xml-rs" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" + +[[package]] +name = "yoke" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zbus" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" +dependencies = [ + "async-broadcast", + "async-executor", + "async-fs", + "async-io", + "async-lock", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "enumflags2", + "event-listener", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix", + "ordered-stream", + "rand 0.8.5", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tracing", + "uds_windows", + "windows-sys 0.52.0", + "xdg-home", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus-lockstep" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca2c5dceb099bddaade154055c926bb8ae507a18756ba1d8963fd7b51d8ed1d" +dependencies = [ + "zbus_xml", + "zvariant", +] + +[[package]] +name = "zbus-lockstep-macros" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "709ab20fc57cb22af85be7b360239563209258430bccf38d8b979c5a2ae3ecce" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "zbus-lockstep", + "zbus_xml", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + +[[package]] +name = "zbus_xml" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab3f374552b954f6abb4bd6ce979e6c9b38fb9d0cd7cc68a7d796e70c9f3a233" +dependencies = [ + "quick-xml 0.30.0", + "serde", + "static_assertions", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zerocopy" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zvariant" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe" +dependencies = [ + "endi", + "enumflags2", + "serde", + "static_assertions", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/src/bitbots_navigation/bitbots_rust_nav/Cargo.toml b/src/bitbots_navigation/bitbots_rust_nav/Cargo.toml new file mode 100644 index 000000000..90f02cfaf --- /dev/null +++ b/src/bitbots_navigation/bitbots_rust_nav/Cargo.toml @@ -0,0 +1,23 @@ +[package] +name = "bitbots_rust_nav" +version = "0.1.2" +edition = "2021" + +[lib] +name = "bitbots_rust_nav" +crate-type = ["cdylib", "rlib"] + +[[bin]] +name = "interactive_nav_demo" +path = "src/bin.rs" + +[features] +gui = ["dep:eframe"] + +[dependencies] +eframe = {version="0.31.0", optional = true} +geo = "0.29.3" +keyed_priority_queue = "0.4.2" +ordered-float = "4.5.0" +pyo3 = "0.24.1" +rand = "0.9.0" \ No newline at end of file diff --git a/src/bitbots_navigation/bitbots_rust_nav/README.md b/src/bitbots_navigation/bitbots_rust_nav/README.md new file mode 100644 index 000000000..ab482dfc2 --- /dev/null +++ b/src/bitbots_navigation/bitbots_rust_nav/README.md @@ -0,0 +1,25 @@ +# bitbots_rust_nav + +A best-effort A*-on-visibility-graph implementation for path planning in obstacles maps where obstacles and the robot itself are assumed to be round. + +## Installation + +```bash +pip install . +``` + +## API + +It exports three classes + +### `RoundObstacle` + +Represents a round obstacle with public fields `center: (float, float)` and `radius: float`. Can be created with the constructor `RoundObstacle(center, radius)` + +### `ObstacleMapConfig` + +Represents all configuration values for how obstacles should be treated with public fields `dilate: float` - the value by which the radii of the obstacles should be dilated (this should be set to approximately your own radius) - and `num_vertices` - the number of vertices the polygons approximating the round obstacles should have. Can be created with the constructor `ObstacleMapConfig(dilate, num_vertices)` + +### `ObstacleMap` + +Represents a set of obstacles on a plane with a given config. This has two fields: `config: ObstacleMapConfig` and `obstacles: [RoundObstacle]`. Can be created with the constructor `ObstacleMap(config, obstacles)` diff --git a/src/bitbots_navigation/bitbots_rust_nav/pixi.toml b/src/bitbots_navigation/bitbots_rust_nav/pixi.toml new file mode 100644 index 000000000..3e98eb26e --- /dev/null +++ b/src/bitbots_navigation/bitbots_rust_nav/pixi.toml @@ -0,0 +1,11 @@ +[package] +name = "bitbots_rust_nav" +version = "0.1.0" + +[package.build] +backend = { name = "pixi-build-python", version = "==0.4.0" } + +[package.host-dependencies] +rust = ">=1.91.1,<1.92" +maturin = ">=1.10.2,<2" +python = "==3.12" diff --git a/src/bitbots_navigation/bitbots_rust_nav/pyproject.toml b/src/bitbots_navigation/bitbots_rust_nav/pyproject.toml new file mode 100644 index 000000000..933ab2aa6 --- /dev/null +++ b/src/bitbots_navigation/bitbots_rust_nav/pyproject.toml @@ -0,0 +1,16 @@ +[build-system] +requires = ["maturin>=1.7,<2.0"] +build-backend = "maturin" + +[project] +name = "bitbots_rust_nav" +requires-python = ">=3.12" +classifiers = [ + "Programming Language :: Rust", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", +] +dynamic = ["version"] + +[tool.maturin] +features = ["pyo3/extension-module"] diff --git a/src/bitbots_navigation/bitbots_rust_nav/src/bin.rs b/src/bitbots_navigation/bitbots_rust_nav/src/bin.rs new file mode 100644 index 000000000..3f3c7311a --- /dev/null +++ b/src/bitbots_navigation/bitbots_rust_nav/src/bin.rs @@ -0,0 +1,165 @@ +#[cfg(feature = "gui")] +mod gui { + use bitbots_rust_nav::map::{ObstacleMap, ObstacleMapConfig}; + use bitbots_rust_nav::obstacle::RoundObstacle; + use eframe::egui; + + pub struct PathfindingApp { + config: ObstacleMapConfig, + obstacles: Vec, + start: Option<(f64, f64)>, + goal: Option<(f64, f64)>, + path: Vec<(f64, f64)>, + dragging: Option, + } + + impl Default for PathfindingApp { + fn default() -> Self { + let config = ObstacleMapConfig { + robot_radius: 0.3, + margin: 0.25, + num_vertices: 12, + }; + let obstacles = vec![ + RoundObstacle { + center: (1.0, 4.0), + radius: 0.13 / 2.0, + }, + RoundObstacle { + center: (4.2, 4.2), + radius: 1.3, + }, + RoundObstacle { + center: (5.0, 2.0), + radius: 0.5 / 2.0, + }, + RoundObstacle { + center: (10.0, 10.0), + radius: 0.5 / 2.0, + }, + ]; + Self { + config, + obstacles, + start: None, + goal: None, + path: Vec::new(), + dragging: None, + } + } + } + + impl eframe::App for PathfindingApp { + fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) { + egui::CentralPanel::default().show(ctx, |ui| { + let (response, painter) = ui + .allocate_painter(egui::Vec2::new(500.0, 500.0), egui::Sense::click_and_drag()); + let rect = response.rect; + let to_screen = + |(x, y): (f64, f64)| rect.min + egui::vec2(x as f32 * 40.0, y as f32 * 40.0); + + if let Some(pos) = response.interact_pointer_pos() { + let world_pos = ( + ((pos.x - rect.min.x) / 40.0) as f64, + ((pos.y - rect.min.y) / 40.0) as f64, + ); + if response.clicked_by(egui::PointerButton::Primary) { + self.start = Some(world_pos); + } else if response.clicked_by(egui::PointerButton::Secondary) { + self.goal = Some(world_pos); + } + } + + if ctx.input(|i| i.modifiers.shift) { + if response.drag_started() { + if let Some(pos) = response.interact_pointer_pos() { + self.dragging = self.obstacles.iter().position(|o| { + let screen_pos = to_screen(o.center); + screen_pos.distance(pos) + < (o.radius + self.config.robot_radius + self.config.margin) + as f32 + * 40.0 + }); + } + } + + if let Some(idx) = self.dragging { + if let Some(pos) = response.interact_pointer_pos() { + self.obstacles[idx].center = ( + ((pos.x - rect.min.x) / 40.0) as f64, + ((pos.y - rect.min.y) / 40.0) as f64, + ); + } + } + if response.drag_stopped() { + self.dragging = None; + } + } + + for obstacle in &self.obstacles { + let pos = to_screen(obstacle.center); + let obstacle_layers = vec![ + ( + obstacle.radius + self.config.robot_radius + self.config.margin, + egui::Color32::YELLOW, + ), + ( + obstacle.radius + self.config.robot_radius, + egui::Color32::RED, + ), + (obstacle.radius, egui::Color32::BLACK), + ]; + for (radius, color) in obstacle_layers { + painter.circle_filled(pos, (radius as f32) * 40.0, color); + } + } + + if let (Some(start), Some(goal)) = (self.start, self.goal) { + let omap = ObstacleMap::new(self.config, self.obstacles.clone()); + let time1 = std::time::Instant::now(); + self.path = omap.shortest_path(start, goal); + let time2 = std::time::Instant::now(); + println!("Pathfinding took: {:?}", time2 - time1); + for window in self.path.windows(2) { + if let [a, b] = window { + painter.line_segment( + [to_screen(*a), to_screen(*b)], + (2.0, egui::Color32::BLUE), + ); + } + } + } + }); + } + } + + pub fn run_gui() -> Result<(), eframe::Error> { + println!("Usage instructions:"); + println!(" - Left click to set the start position"); + println!(" - Right click to set the goal position"); + println!(" - Hold Shift to drag obstacles"); + println!(" - Have fun & Find bugs!"); + + let options = eframe::NativeOptions { + viewport: egui::ViewportBuilder::default() + .with_inner_size([500.0, 500.0]) + .with_resizable(false), + ..Default::default() + }; + eframe::run_native( + "Interactive Pathfinding", + options, + Box::new(|_| Ok(Box::new(PathfindingApp::default()))), + ) + } +} + +#[cfg(feature = "gui")] +fn main() -> Result<(), eframe::Error> { + gui::run_gui() +} + +#[cfg(not(feature = "gui"))] +fn main() { + println!("GUI feature is disabled. Run with --features gui to enable."); +} diff --git a/src/bitbots_navigation/bitbots_rust_nav/src/lib.rs b/src/bitbots_navigation/bitbots_rust_nav/src/lib.rs new file mode 100644 index 000000000..d60560de4 --- /dev/null +++ b/src/bitbots_navigation/bitbots_rust_nav/src/lib.rs @@ -0,0 +1,16 @@ +use map::{ObstacleMap, ObstacleMapConfig}; +use obstacle::RoundObstacle; +use pyo3::prelude::*; + +pub mod map; +pub mod obstacle; +pub mod planner; + +#[pymodule] +fn bitbots_rust_nav(m: &Bound<'_, PyModule>) -> PyResult<()> { + m.add_class::()?; + m.add_class::()?; + m.add_class::()?; + // Further classes and functions can be added here + Ok(()) +} diff --git a/src/bitbots_navigation/bitbots_rust_nav/src/map.rs b/src/bitbots_navigation/bitbots_rust_nav/src/map.rs new file mode 100644 index 000000000..f384f8e3e --- /dev/null +++ b/src/bitbots_navigation/bitbots_rust_nav/src/map.rs @@ -0,0 +1,84 @@ +use geo::{BooleanOps, Coord, LineString, MultiPolygon, Polygon}; +use pyo3::prelude::*; + +use crate::{ + obstacle::{Obstacle, RoundObstacle}, + planner::PathPlanner, +}; + +/// Configuration values for the ObstacleMap, these should be given by ROS parameters +#[pyclass( + eq, + str = "ObstacleMapConfig(robot_radius={robot_radius:?}, margin={margin:?}, num_vertices={num_vertices:?})" +)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ObstacleMapConfig { + /// All obstacles are inflated by this amount, so we can assume the robot itself is a point + #[pyo3(set, get)] + pub robot_radius: f64, + /// Normal plans should not be directly on the edge of an obstacle, + /// this margin is added if possible + #[pyo3(set, get)] + pub margin: f64, + /// The number of vertices that the polygon representing an obstacle has + #[pyo3(set, get)] + pub num_vertices: usize, +} + +#[pymethods] +impl ObstacleMapConfig { + #[new] + /// Create a new config with the given values + pub fn new(robot_radius: f64, margin: f64, num_vertices: usize) -> Self { + Self { + robot_radius, + margin, + num_vertices, + } + } +} + +#[pyclass(eq, str = "ObstacleMap(obstacles={obstacles:?})")] +#[derive(Debug, Clone, PartialEq)] +pub struct ObstacleMap { + #[pyo3(get, set)] + config: ObstacleMapConfig, + #[pyo3(get, set)] + obstacles: Vec, +} + +#[pymethods] +impl ObstacleMap { + #[new] + pub fn new(config: ObstacleMapConfig, obstacles: Vec) -> Self { + Self { config, obstacles } + } + + pub fn shortest_path(&self, start: (f64, f64), goal: (f64, f64)) -> Vec<(f64, f64)> { + PathPlanner::new(self, start, goal).shortest_path() + } +} + +impl ObstacleMap { + pub fn as_vertices(&self) -> Vec { + self.obstacles + .iter() + .flat_map(|obstacle| obstacle.as_vertices(&self.config)) + .collect() + } + + fn as_polygons(&self, margin: bool) -> Vec { + self.obstacles + .iter() + .map(|obstacle| obstacle.as_polygon(&self.config, margin)) + .collect() + } + + pub fn as_multipolygon(&self, margin: bool) -> MultiPolygon { + let polygons = self.as_polygons(margin); + polygons.iter().fold( + MultiPolygon::new(vec![Polygon::new(LineString::new(vec![]), vec![])]), + |a, b| a.union(b), + ) + } +} diff --git a/src/bitbots_navigation/bitbots_rust_nav/src/obstacle.rs b/src/bitbots_navigation/bitbots_rust_nav/src/obstacle.rs new file mode 100644 index 000000000..8d8e6cd96 --- /dev/null +++ b/src/bitbots_navigation/bitbots_rust_nav/src/obstacle.rs @@ -0,0 +1,65 @@ +use pyo3::prelude::*; + +use geo::{Coord, LineString, Polygon}; + +use crate::map::ObstacleMapConfig; + +pub trait Obstacle { + /// Return the vertices of this obstacle inflated by the robot size and margin for the visibility graph generation + fn as_vertices(&self, config: &ObstacleMapConfig) -> Vec; + + /// Return the polygon representation of this obstacle inflated by the robot size and optionally the margin for intersection checking + fn as_polygon(&self, config: &ObstacleMapConfig, margin: bool) -> Polygon; +} + +/// A round obstacle +#[pyclass(eq, str = "RoundObstacle(center={center:?} radius={radius:?})")] +#[derive(Debug, Clone, Copy, PartialEq)] +pub struct RoundObstacle { + /// The center of the obstacle + #[pyo3(get, set)] + pub center: (f64, f64), + /// The radius of the obstacle + #[pyo3(get, set)] + pub radius: f64, +} + +#[pymethods] +impl RoundObstacle { + #[new] + pub fn new(center: (f64, f64), radius: f64) -> Self { + Self { center, radius } + } +} + +impl RoundObstacle { + /// A helper function to generate a num_vertices-sided Polygon with own radius plus offset + fn regular_ngon(&self, num_vertices: usize, offset: f64) -> Vec { + (0..num_vertices) + .map(|side| { + let angle = (side as f64) / (num_vertices as f64) * std::f64::consts::TAU; + let radius = self.radius + offset; + Coord::from(self.center) + Coord::from((radius * angle.cos(), radius * angle.sin())) + }) + .collect::>() + } +} + +/// Value subtracted from the radius of obstacles for intersection checking +pub const EPSILON: f64 = 0.01; + +impl Obstacle for RoundObstacle { + fn as_vertices(&self, config: &ObstacleMapConfig) -> Vec { + self.regular_ngon(config.num_vertices, config.robot_radius + config.margin) + } + + fn as_polygon(&self, config: &ObstacleMapConfig, margin: bool) -> Polygon { + let inflation = if margin { + config.robot_radius + config.margin + } else { + config.robot_radius + }; + let vertices = self.regular_ngon(config.num_vertices, inflation - EPSILON); + Polygon::new(LineString::new(vertices), vec![]) + } +} diff --git a/src/bitbots_navigation/bitbots_rust_nav/src/planner.rs b/src/bitbots_navigation/bitbots_rust_nav/src/planner.rs new file mode 100644 index 000000000..fa9027bb5 --- /dev/null +++ b/src/bitbots_navigation/bitbots_rust_nav/src/planner.rs @@ -0,0 +1,167 @@ +use std::{ + cmp::Reverse, + collections::{HashMap, HashSet}, +}; + +use geo::{Contains, Coord, Distance, Euclidean, Intersects, Line, MultiPolygon}; +use keyed_priority_queue::{Entry, KeyedPriorityQueue}; +use ordered_float::OrderedFloat; + +use crate::map::ObstacleMap; + +#[derive(Debug, Clone)] +pub struct PathPlanner { + vertices: Vec, + obstacle_critical: MultiPolygon, + obstacle_with_margin: MultiPolygon, + start: usize, + goal: usize, + open: KeyedPriorityQueue>>, + g_score: HashMap>, + successors: HashSet, + from: HashMap, +} + +const MULTIPLIER: f64 = 10.0; + +impl PathPlanner { + /// Create a new path planner planning task with the given map, start and goal + pub fn new(map: &ObstacleMap, start: (f64, f64), goal: (f64, f64)) -> Self { + let mut vertices = map.as_vertices(); + vertices.append(&mut vec![start.into(), goal.into()]); + let start: usize = vertices.len() - 2; + let goal = vertices.len() - 1; + let obstacle_critical = map.as_multipolygon(false); + let obstacle_with_margin = map.as_multipolygon(true); + let mut open = KeyedPriorityQueue::>>::new(); + open.push( + start, + Reverse(OrderedFloat(Euclidean::distance( + vertices[start], + vertices[goal], + ))), + ); + let from = HashMap::::new(); + let successors = HashSet::::from_iter(0..vertices.len()); + let mut g_score = HashMap::>::new(); + g_score.insert(start, OrderedFloat(0.0)); + Self { + vertices, + obstacle_critical, + obstacle_with_margin, + start, + goal, + open, + g_score, + successors, + from, + } + } + + /// Part of A* algorithm, calculates the heuristic for the given node. + /// Often the heuristic is the euclidean distance to the goal. + fn heuristic(&self, node: usize) -> OrderedFloat { + self.distance(node, self.goal) + } + + /// Calculates the euclidean distance between two vertices + fn distance(&self, from: usize, to: usize) -> OrderedFloat { + OrderedFloat(Euclidean::distance(self.vertices[from], self.vertices[to])) + } + + /// Part of A* algorithm, reconstructs the path from the start to the goal vertex + /// based on the predecessors calculated during the search + fn reconstruct_path(&self, vertex: usize) -> Vec<(f64, f64)> { + let mut path = vec![vertex]; + let mut current = vertex; + while let Some(previous) = self.from.get(¤t) { + current = *previous; + path.push(*previous); + } + path.reverse(); + path.into_iter() + .map(|idx| self.vertices[idx].x_y()) + .collect() + } + + // Calculates and rates the connections of the vertex + fn expand_node(&mut self, vertex: usize) { + let g_vertex = *self + .g_score + .get(&vertex) + .unwrap_or(&OrderedFloat(f64::INFINITY)); + for successor in self.successors.iter().cloned() { + let connection = Line::new(self.vertices[vertex], self.vertices[successor]); + // Check if the connection intersects with anything + let multiplier = if self.obstacle_with_margin.intersects(&connection) { + // Check if we are at the start or goal + // We want to always allow connections to the start and goal, + // but we want to penalize connections that intersect with an obstacles critical area + // So we don't want to connect the visibility graph through an obstacle except for the start and goal + if (self.start == vertex && self.goal == successor) // Best effort backup solution, so we allow the direct connection at high cost + // Also consider start and goal as inside the obstacle (at high cost if we are inside the critical area, and at low cost if we are inside the margin) + || (self.goal == successor && self.obstacle_with_margin.contains(&connection.end_point())) + || (self.start == vertex && self.obstacle_with_margin.contains(&connection.start_point()) + ) { + // Use high cost for connections that intersect with the critical area of an obstacle + if self.obstacle_critical.intersects(&connection) { + OrderedFloat(MULTIPLIER) + } else { + // When we are at the start or goal and the connection is inside the obstacle margin, + // but not critical we want to allow this connection without penalty. + // This way we avoid situations where the robot gets stuck. + // Image a situation where the robot follows the normal path around an obstacle. + // Due to the nature of things it's start point is not exactly on the edge. + // We therefore are inside the obstacle and get a high cost roughly 50 percent of the time. + // This leads to us going back to the vertex we came from + // (it has the shortest path though the high cost region) and trying again. + // Immediately after departing from the vertex we are inside the obstacle again (~50 percent of the time). + // This can lead to the robot getting stuck in a loop. + // We therefore add a margin around the obstacle where we don't penalize start and end connections, + // while prohibiting normal connections of the visibility graph (to avoid getting too close to the obstacle again). + OrderedFloat(1.0) + } + } else { + // Ignore connections that intersect with obstacles + // (except for the start and goal as they might be inside the obstacle and we do a best effort solution) + continue; + } + } else { + // Don't penalize connections that don't intersect with anything + OrderedFloat(1.0) + }; + + // Part of A* algorithm + let g_successor = *self + .g_score + .get(&successor) + .unwrap_or(&OrderedFloat(f64::INFINITY)); + let g_tentative = g_vertex + multiplier * self.distance(vertex, successor); + if g_tentative < g_successor { + self.from.insert(successor, vertex); + self.g_score.insert(successor, g_tentative); + let new_f_score = Reverse(g_tentative + self.heuristic(successor)); + match self.open.entry(successor) { + Entry::Occupied(entry) => { + entry.set_priority(new_f_score); + } + Entry::Vacant(entry) => { + entry.set_priority(new_f_score); + } + } + } + } + } + + /// Find the shortest path from the start to the goal considering the obstacles + pub fn shortest_path(mut self) -> Vec<(f64, f64)> { + while let Some((vertex, _)) = self.open.pop() { + if vertex == self.goal { + return self.reconstruct_path(vertex); + } + self.successors.remove(&vertex); + self.expand_node(vertex); + } + unreachable!() + } +} diff --git a/bitbots_robot/README.md b/src/bitbots_robot/README.md similarity index 100% rename from bitbots_robot/README.md rename to src/bitbots_robot/README.md diff --git a/bitbots_robot/wolfgang_animations/CMakeLists.txt b/src/bitbots_robot/wolfgang_animations/CMakeLists.txt similarity index 100% rename from bitbots_robot/wolfgang_animations/CMakeLists.txt rename to src/bitbots_robot/wolfgang_animations/CMakeLists.txt diff --git a/bitbots_robot/wolfgang_animations/animations/falling/falling_back.json b/src/bitbots_robot/wolfgang_animations/animations/falling/falling_back.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/falling/falling_back.json rename to src/bitbots_robot/wolfgang_animations/animations/falling/falling_back.json diff --git a/bitbots_robot/wolfgang_animations/animations/falling/falling_front.json b/src/bitbots_robot/wolfgang_animations/animations/falling/falling_front.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/falling/falling_front.json rename to src/bitbots_robot/wolfgang_animations/animations/falling/falling_front.json diff --git a/bitbots_robot/wolfgang_animations/animations/falling/falling_left.json b/src/bitbots_robot/wolfgang_animations/animations/falling/falling_left.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/falling/falling_left.json rename to src/bitbots_robot/wolfgang_animations/animations/falling/falling_left.json diff --git a/bitbots_robot/wolfgang_animations/animations/falling/falling_right.json b/src/bitbots_robot/wolfgang_animations/animations/falling/falling_right.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/falling/falling_right.json rename to src/bitbots_robot/wolfgang_animations/animations/falling/falling_right.json diff --git a/bitbots_robot/wolfgang_animations/animations/goalie/goalie_falling_center.json b/src/bitbots_robot/wolfgang_animations/animations/goalie/goalie_falling_center.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/goalie/goalie_falling_center.json rename to src/bitbots_robot/wolfgang_animations/animations/goalie/goalie_falling_center.json diff --git a/bitbots_robot/wolfgang_animations/animations/goalie/goalie_falling_left.json b/src/bitbots_robot/wolfgang_animations/animations/goalie/goalie_falling_left.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/goalie/goalie_falling_left.json rename to src/bitbots_robot/wolfgang_animations/animations/goalie/goalie_falling_left.json diff --git a/bitbots_robot/wolfgang_animations/animations/goalie/goalie_falling_right.json b/src/bitbots_robot/wolfgang_animations/animations/goalie/goalie_falling_right.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/goalie/goalie_falling_right.json rename to src/bitbots_robot/wolfgang_animations/animations/goalie/goalie_falling_right.json diff --git a/bitbots_robot/wolfgang_animations/animations/goalie/goalie_prepare_arms.json b/src/bitbots_robot/wolfgang_animations/animations/goalie/goalie_prepare_arms.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/goalie/goalie_prepare_arms.json rename to src/bitbots_robot/wolfgang_animations/animations/goalie/goalie_prepare_arms.json diff --git a/bitbots_robot/wolfgang_animations/animations/kick/kick_left.json b/src/bitbots_robot/wolfgang_animations/animations/kick/kick_left.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/kick/kick_left.json rename to src/bitbots_robot/wolfgang_animations/animations/kick/kick_left.json diff --git a/bitbots_robot/wolfgang_animations/animations/kick/kick_right.json b/src/bitbots_robot/wolfgang_animations/animations/kick/kick_right.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/kick/kick_right.json rename to src/bitbots_robot/wolfgang_animations/animations/kick/kick_right.json diff --git a/bitbots_robot/wolfgang_animations/animations/misc/cheering.json b/src/bitbots_robot/wolfgang_animations/animations/misc/cheering.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/misc/cheering.json rename to src/bitbots_robot/wolfgang_animations/animations/misc/cheering.json diff --git a/bitbots_robot/wolfgang_animations/animations/misc/init.json b/src/bitbots_robot/wolfgang_animations/animations/misc/init.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/misc/init.json rename to src/bitbots_robot/wolfgang_animations/animations/misc/init.json diff --git a/bitbots_robot/wolfgang_animations/animations/misc/init_sim.json b/src/bitbots_robot/wolfgang_animations/animations/misc/init_sim.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/misc/init_sim.json rename to src/bitbots_robot/wolfgang_animations/animations/misc/init_sim.json diff --git a/bitbots_robot/wolfgang_animations/animations/misc/startup.json b/src/bitbots_robot/wolfgang_animations/animations/misc/startup.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/misc/startup.json rename to src/bitbots_robot/wolfgang_animations/animations/misc/startup.json diff --git a/bitbots_robot/wolfgang_animations/animations/misc/verbeugen.json b/src/bitbots_robot/wolfgang_animations/animations/misc/verbeugen.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/misc/verbeugen.json rename to src/bitbots_robot/wolfgang_animations/animations/misc/verbeugen.json diff --git a/bitbots_robot/wolfgang_animations/animations/standup/stand_up_back.json b/src/bitbots_robot/wolfgang_animations/animations/standup/stand_up_back.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/standup/stand_up_back.json rename to src/bitbots_robot/wolfgang_animations/animations/standup/stand_up_back.json diff --git a/bitbots_robot/wolfgang_animations/animations/standup/stand_up_front.json b/src/bitbots_robot/wolfgang_animations/animations/standup/stand_up_front.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/standup/stand_up_front.json rename to src/bitbots_robot/wolfgang_animations/animations/standup/stand_up_front.json diff --git a/bitbots_robot/wolfgang_animations/animations/standup/turning_front_left.json b/src/bitbots_robot/wolfgang_animations/animations/standup/turning_front_left.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/standup/turning_front_left.json rename to src/bitbots_robot/wolfgang_animations/animations/standup/turning_front_left.json diff --git a/bitbots_robot/wolfgang_animations/animations/standup/turning_front_right.json b/src/bitbots_robot/wolfgang_animations/animations/standup/turning_front_right.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/standup/turning_front_right.json rename to src/bitbots_robot/wolfgang_animations/animations/standup/turning_front_right.json diff --git a/bitbots_robot/wolfgang_animations/animations/throw_in/grab_ball.json b/src/bitbots_robot/wolfgang_animations/animations/throw_in/grab_ball.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/throw_in/grab_ball.json rename to src/bitbots_robot/wolfgang_animations/animations/throw_in/grab_ball.json diff --git a/bitbots_robot/wolfgang_animations/animations/throw_in/throw.json b/src/bitbots_robot/wolfgang_animations/animations/throw_in/throw.json similarity index 100% rename from bitbots_robot/wolfgang_animations/animations/throw_in/throw.json rename to src/bitbots_robot/wolfgang_animations/animations/throw_in/throw.json diff --git a/bitbots_robot/wolfgang_animations/docs/_static/logo.png b/src/bitbots_robot/wolfgang_animations/docs/_static/logo.png similarity index 100% rename from bitbots_robot/wolfgang_animations/docs/_static/logo.png rename to src/bitbots_robot/wolfgang_animations/docs/_static/logo.png diff --git a/bitbots_robot/wolfgang_animations/docs/conf.py b/src/bitbots_robot/wolfgang_animations/docs/conf.py similarity index 100% rename from bitbots_robot/wolfgang_animations/docs/conf.py rename to src/bitbots_robot/wolfgang_animations/docs/conf.py diff --git a/bitbots_robot/wolfgang_animations/docs/index.rst b/src/bitbots_robot/wolfgang_animations/docs/index.rst similarity index 100% rename from bitbots_robot/wolfgang_animations/docs/index.rst rename to src/bitbots_robot/wolfgang_animations/docs/index.rst diff --git a/bitbots_robot/wolfgang_animations/package.xml b/src/bitbots_robot/wolfgang_animations/package.xml similarity index 100% rename from bitbots_robot/wolfgang_animations/package.xml rename to src/bitbots_robot/wolfgang_animations/package.xml diff --git a/bitbots_robot/wolfgang_animations/rosdoc.yaml b/src/bitbots_robot/wolfgang_animations/rosdoc.yaml similarity index 100% rename from bitbots_robot/wolfgang_animations/rosdoc.yaml rename to src/bitbots_robot/wolfgang_animations/rosdoc.yaml diff --git a/bitbots_robot/wolfgang_description/CMakeLists.txt b/src/bitbots_robot/wolfgang_description/CMakeLists.txt similarity index 100% rename from bitbots_robot/wolfgang_description/CMakeLists.txt rename to src/bitbots_robot/wolfgang_description/CMakeLists.txt diff --git a/bitbots_robot/wolfgang_description/README.md b/src/bitbots_robot/wolfgang_description/README.md similarity index 100% rename from bitbots_robot/wolfgang_description/README.md rename to src/bitbots_robot/wolfgang_description/README.md diff --git a/bitbots_robot/wolfgang_description/config/fake_controllers.yaml b/src/bitbots_robot/wolfgang_description/config/fake_controllers.yaml similarity index 100% rename from bitbots_robot/wolfgang_description/config/fake_controllers.yaml rename to src/bitbots_robot/wolfgang_description/config/fake_controllers.yaml diff --git a/bitbots_robot/wolfgang_description/config/wolfgang.rviz b/src/bitbots_robot/wolfgang_description/config/wolfgang.rviz similarity index 100% rename from bitbots_robot/wolfgang_description/config/wolfgang.rviz rename to src/bitbots_robot/wolfgang_description/config/wolfgang.rviz diff --git a/bitbots_robot/wolfgang_description/config/wolfgang_control.yaml b/src/bitbots_robot/wolfgang_description/config/wolfgang_control.yaml similarity index 100% rename from bitbots_robot/wolfgang_description/config/wolfgang_control.yaml rename to src/bitbots_robot/wolfgang_description/config/wolfgang_control.yaml diff --git a/bitbots_robot/wolfgang_description/config/wolfgang_control_simple_physics.yaml b/src/bitbots_robot/wolfgang_description/config/wolfgang_control_simple_physics.yaml similarity index 100% rename from bitbots_robot/wolfgang_description/config/wolfgang_control_simple_physics.yaml rename to src/bitbots_robot/wolfgang_description/config/wolfgang_control_simple_physics.yaml diff --git a/bitbots_robot/wolfgang_description/docs/_static/logo.png b/src/bitbots_robot/wolfgang_description/docs/_static/logo.png similarity index 100% rename from bitbots_robot/wolfgang_description/docs/_static/logo.png rename to src/bitbots_robot/wolfgang_description/docs/_static/logo.png diff --git a/bitbots_robot/wolfgang_description/docs/conf.py b/src/bitbots_robot/wolfgang_description/docs/conf.py similarity index 100% rename from bitbots_robot/wolfgang_description/docs/conf.py rename to src/bitbots_robot/wolfgang_description/docs/conf.py diff --git a/bitbots_robot/wolfgang_description/docs/index.rst b/src/bitbots_robot/wolfgang_description/docs/index.rst similarity index 100% rename from bitbots_robot/wolfgang_description/docs/index.rst rename to src/bitbots_robot/wolfgang_description/docs/index.rst diff --git a/bitbots_robot/wolfgang_description/launch/rviz.launch b/src/bitbots_robot/wolfgang_description/launch/rviz.launch similarity index 100% rename from bitbots_robot/wolfgang_description/launch/rviz.launch rename to src/bitbots_robot/wolfgang_description/launch/rviz.launch diff --git a/bitbots_robot/wolfgang_description/launch/standalone.launch b/src/bitbots_robot/wolfgang_description/launch/standalone.launch similarity index 100% rename from bitbots_robot/wolfgang_description/launch/standalone.launch rename to src/bitbots_robot/wolfgang_description/launch/standalone.launch diff --git a/bitbots_robot/wolfgang_description/package.xml b/src/bitbots_robot/wolfgang_description/package.xml similarity index 100% rename from bitbots_robot/wolfgang_description/package.xml rename to src/bitbots_robot/wolfgang_description/package.xml diff --git a/bitbots_robot/wolfgang_description/rosdoc.yaml b/src/bitbots_robot/wolfgang_description/rosdoc.yaml similarity index 100% rename from bitbots_robot/wolfgang_description/rosdoc.yaml rename to src/bitbots_robot/wolfgang_description/rosdoc.yaml diff --git a/bitbots_robot/wolfgang_description/urdf/additionalURDF.txt b/src/bitbots_robot/wolfgang_description/urdf/additionalURDF.txt similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/additionalURDF.txt rename to src/bitbots_robot/wolfgang_description/urdf/additionalURDF.txt diff --git a/bitbots_robot/wolfgang_description/urdf/ankle.scad b/src/bitbots_robot/wolfgang_description/urdf/ankle.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/ankle.scad rename to src/bitbots_robot/wolfgang_description/urdf/ankle.scad diff --git a/bitbots_robot/wolfgang_description/urdf/ankle.stl b/src/bitbots_robot/wolfgang_description/urdf/ankle.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/ankle.stl rename to src/bitbots_robot/wolfgang_description/urdf/ankle.stl diff --git a/bitbots_robot/wolfgang_description/urdf/baseplate_odroid_xu4_core.scad b/src/bitbots_robot/wolfgang_description/urdf/baseplate_odroid_xu4_core.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/baseplate_odroid_xu4_core.scad rename to src/bitbots_robot/wolfgang_description/urdf/baseplate_odroid_xu4_core.scad diff --git a/bitbots_robot/wolfgang_description/urdf/baseplate_odroid_xu4_core.stl b/src/bitbots_robot/wolfgang_description/urdf/baseplate_odroid_xu4_core.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/baseplate_odroid_xu4_core.stl rename to src/bitbots_robot/wolfgang_description/urdf/baseplate_odroid_xu4_core.stl diff --git a/bitbots_robot/wolfgang_description/urdf/basler_ace_gige_c-mount_v01.scad b/src/bitbots_robot/wolfgang_description/urdf/basler_ace_gige_c-mount_v01.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/basler_ace_gige_c-mount_v01.scad rename to src/bitbots_robot/wolfgang_description/urdf/basler_ace_gige_c-mount_v01.scad diff --git a/bitbots_robot/wolfgang_description/urdf/basler_ace_gige_c-mount_v01.stl b/src/bitbots_robot/wolfgang_description/urdf/basler_ace_gige_c-mount_v01.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/basler_ace_gige_c-mount_v01.stl rename to src/bitbots_robot/wolfgang_description/urdf/basler_ace_gige_c-mount_v01.stl diff --git a/bitbots_robot/wolfgang_description/urdf/battery.scad b/src/bitbots_robot/wolfgang_description/urdf/battery.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/battery.scad rename to src/bitbots_robot/wolfgang_description/urdf/battery.scad diff --git a/bitbots_robot/wolfgang_description/urdf/battery.stl b/src/bitbots_robot/wolfgang_description/urdf/battery.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/battery.stl rename to src/bitbots_robot/wolfgang_description/urdf/battery.stl diff --git a/bitbots_robot/wolfgang_description/urdf/battery_cage.scad b/src/bitbots_robot/wolfgang_description/urdf/battery_cage.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/battery_cage.scad rename to src/bitbots_robot/wolfgang_description/urdf/battery_cage.scad diff --git a/bitbots_robot/wolfgang_description/urdf/battery_cage.stl b/src/bitbots_robot/wolfgang_description/urdf/battery_cage.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/battery_cage.stl rename to src/bitbots_robot/wolfgang_description/urdf/battery_cage.stl diff --git a/bitbots_robot/wolfgang_description/urdf/battery_clip.scad b/src/bitbots_robot/wolfgang_description/urdf/battery_clip.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/battery_clip.scad rename to src/bitbots_robot/wolfgang_description/urdf/battery_clip.scad diff --git a/bitbots_robot/wolfgang_description/urdf/battery_clip.stl b/src/bitbots_robot/wolfgang_description/urdf/battery_clip.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/battery_clip.stl rename to src/bitbots_robot/wolfgang_description/urdf/battery_clip.stl diff --git a/bitbots_robot/wolfgang_description/urdf/camera_lower_basler_wolfgang_imu_v2.2.scad b/src/bitbots_robot/wolfgang_description/urdf/camera_lower_basler_wolfgang_imu_v2.2.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/camera_lower_basler_wolfgang_imu_v2.2.scad rename to src/bitbots_robot/wolfgang_description/urdf/camera_lower_basler_wolfgang_imu_v2.2.scad diff --git a/bitbots_robot/wolfgang_description/urdf/camera_lower_basler_wolfgang_imu_v2.2.stl b/src/bitbots_robot/wolfgang_description/urdf/camera_lower_basler_wolfgang_imu_v2.2.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/camera_lower_basler_wolfgang_imu_v2.2.stl rename to src/bitbots_robot/wolfgang_description/urdf/camera_lower_basler_wolfgang_imu_v2.2.stl diff --git a/bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_left.scad b/src/bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_left.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_left.scad rename to src/bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_left.scad diff --git a/bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_left.stl b/src/bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_left.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_left.stl rename to src/bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_left.stl diff --git a/bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_right.scad b/src/bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_right.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_right.scad rename to src/bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_right.scad diff --git a/bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_right.stl b/src/bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_right.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_right.stl rename to src/bitbots_robot/wolfgang_description/urdf/camera_side_basler_wolfgang_v2.2_right.stl diff --git a/bitbots_robot/wolfgang_description/urdf/config.json b/src/bitbots_robot/wolfgang_description/urdf/config.json similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/config.json rename to src/bitbots_robot/wolfgang_description/urdf/config.json diff --git a/bitbots_robot/wolfgang_description/urdf/connector_shoulder.scad b/src/bitbots_robot/wolfgang_description/urdf/connector_shoulder.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/connector_shoulder.scad rename to src/bitbots_robot/wolfgang_description/urdf/connector_shoulder.scad diff --git a/bitbots_robot/wolfgang_description/urdf/connector_shoulder.stl b/src/bitbots_robot/wolfgang_description/urdf/connector_shoulder.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/connector_shoulder.stl rename to src/bitbots_robot/wolfgang_description/urdf/connector_shoulder.stl diff --git a/bitbots_robot/wolfgang_description/urdf/core.scad b/src/bitbots_robot/wolfgang_description/urdf/core.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/core.scad rename to src/bitbots_robot/wolfgang_description/urdf/core.scad diff --git a/bitbots_robot/wolfgang_description/urdf/core.stl b/src/bitbots_robot/wolfgang_description/urdf/core.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/core.stl rename to src/bitbots_robot/wolfgang_description/urdf/core.stl diff --git a/bitbots_robot/wolfgang_description/urdf/dummy_speaker.scad b/src/bitbots_robot/wolfgang_description/urdf/dummy_speaker.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/dummy_speaker.scad rename to src/bitbots_robot/wolfgang_description/urdf/dummy_speaker.scad diff --git a/bitbots_robot/wolfgang_description/urdf/dummy_speaker.stl b/src/bitbots_robot/wolfgang_description/urdf/dummy_speaker.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/dummy_speaker.stl rename to src/bitbots_robot/wolfgang_description/urdf/dummy_speaker.stl diff --git a/bitbots_robot/wolfgang_description/urdf/flex_stollen.scad b/src/bitbots_robot/wolfgang_description/urdf/flex_stollen.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/flex_stollen.scad rename to src/bitbots_robot/wolfgang_description/urdf/flex_stollen.scad diff --git a/bitbots_robot/wolfgang_description/urdf/flex_stollen.stl b/src/bitbots_robot/wolfgang_description/urdf/flex_stollen.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/flex_stollen.stl rename to src/bitbots_robot/wolfgang_description/urdf/flex_stollen.stl diff --git a/bitbots_robot/wolfgang_description/urdf/foot_cover.scad b/src/bitbots_robot/wolfgang_description/urdf/foot_cover.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/foot_cover.scad rename to src/bitbots_robot/wolfgang_description/urdf/foot_cover.scad diff --git a/bitbots_robot/wolfgang_description/urdf/foot_cover.stl b/src/bitbots_robot/wolfgang_description/urdf/foot_cover.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/foot_cover.stl rename to src/bitbots_robot/wolfgang_description/urdf/foot_cover.stl diff --git a/bitbots_robot/wolfgang_description/urdf/foot_printed_left.scad b/src/bitbots_robot/wolfgang_description/urdf/foot_printed_left.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/foot_printed_left.scad rename to src/bitbots_robot/wolfgang_description/urdf/foot_printed_left.scad diff --git a/bitbots_robot/wolfgang_description/urdf/foot_printed_left.stl b/src/bitbots_robot/wolfgang_description/urdf/foot_printed_left.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/foot_printed_left.stl rename to src/bitbots_robot/wolfgang_description/urdf/foot_printed_left.stl diff --git a/bitbots_robot/wolfgang_description/urdf/foot_printed_right.scad b/src/bitbots_robot/wolfgang_description/urdf/foot_printed_right.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/foot_printed_right.scad rename to src/bitbots_robot/wolfgang_description/urdf/foot_printed_right.scad diff --git a/bitbots_robot/wolfgang_description/urdf/foot_printed_right.stl b/src/bitbots_robot/wolfgang_description/urdf/foot_printed_right.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/foot_printed_right.stl rename to src/bitbots_robot/wolfgang_description/urdf/foot_printed_right.stl diff --git a/bitbots_robot/wolfgang_description/urdf/hand.scad b/src/bitbots_robot/wolfgang_description/urdf/hand.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/hand.scad rename to src/bitbots_robot/wolfgang_description/urdf/hand.scad diff --git a/bitbots_robot/wolfgang_description/urdf/hand.stl b/src/bitbots_robot/wolfgang_description/urdf/hand.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/hand.stl rename to src/bitbots_robot/wolfgang_description/urdf/hand.stl diff --git a/bitbots_robot/wolfgang_description/urdf/hip_u_connector.scad b/src/bitbots_robot/wolfgang_description/urdf/hip_u_connector.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/hip_u_connector.scad rename to src/bitbots_robot/wolfgang_description/urdf/hip_u_connector.scad diff --git a/bitbots_robot/wolfgang_description/urdf/hip_u_connector.stl b/src/bitbots_robot/wolfgang_description/urdf/hip_u_connector.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/hip_u_connector.stl rename to src/bitbots_robot/wolfgang_description/urdf/hip_u_connector.stl diff --git a/bitbots_robot/wolfgang_description/urdf/imu_holder.scad b/src/bitbots_robot/wolfgang_description/urdf/imu_holder.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/imu_holder.scad rename to src/bitbots_robot/wolfgang_description/urdf/imu_holder.scad diff --git a/bitbots_robot/wolfgang_description/urdf/imu_holder.stl b/src/bitbots_robot/wolfgang_description/urdf/imu_holder.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/imu_holder.stl rename to src/bitbots_robot/wolfgang_description/urdf/imu_holder.stl diff --git a/bitbots_robot/wolfgang_description/urdf/knee_connector.scad b/src/bitbots_robot/wolfgang_description/urdf/knee_connector.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/knee_connector.scad rename to src/bitbots_robot/wolfgang_description/urdf/knee_connector.scad diff --git a/bitbots_robot/wolfgang_description/urdf/knee_connector.stl b/src/bitbots_robot/wolfgang_description/urdf/knee_connector.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/knee_connector.stl rename to src/bitbots_robot/wolfgang_description/urdf/knee_connector.stl diff --git a/bitbots_robot/wolfgang_description/urdf/knee_spacer.scad b/src/bitbots_robot/wolfgang_description/urdf/knee_spacer.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/knee_spacer.scad rename to src/bitbots_robot/wolfgang_description/urdf/knee_spacer.scad diff --git a/bitbots_robot/wolfgang_description/urdf/knee_spacer.stl b/src/bitbots_robot/wolfgang_description/urdf/knee_spacer.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/knee_spacer.stl rename to src/bitbots_robot/wolfgang_description/urdf/knee_spacer.stl diff --git a/bitbots_robot/wolfgang_description/urdf/lense.scad b/src/bitbots_robot/wolfgang_description/urdf/lense.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/lense.scad rename to src/bitbots_robot/wolfgang_description/urdf/lense.scad diff --git a/bitbots_robot/wolfgang_description/urdf/lense.stl b/src/bitbots_robot/wolfgang_description/urdf/lense.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/lense.stl rename to src/bitbots_robot/wolfgang_description/urdf/lense.stl diff --git a/bitbots_robot/wolfgang_description/urdf/load_cell.scad b/src/bitbots_robot/wolfgang_description/urdf/load_cell.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/load_cell.scad rename to src/bitbots_robot/wolfgang_description/urdf/load_cell.scad diff --git a/bitbots_robot/wolfgang_description/urdf/load_cell.stl b/src/bitbots_robot/wolfgang_description/urdf/load_cell.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/load_cell.stl rename to src/bitbots_robot/wolfgang_description/urdf/load_cell.stl diff --git a/bitbots_robot/wolfgang_description/urdf/lower_arm.scad b/src/bitbots_robot/wolfgang_description/urdf/lower_arm.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/lower_arm.scad rename to src/bitbots_robot/wolfgang_description/urdf/lower_arm.scad diff --git a/bitbots_robot/wolfgang_description/urdf/lower_arm.stl b/src/bitbots_robot/wolfgang_description/urdf/lower_arm.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/lower_arm.stl rename to src/bitbots_robot/wolfgang_description/urdf/lower_arm.stl diff --git a/bitbots_robot/wolfgang_description/urdf/lower_leg.scad b/src/bitbots_robot/wolfgang_description/urdf/lower_leg.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/lower_leg.scad rename to src/bitbots_robot/wolfgang_description/urdf/lower_leg.scad diff --git a/bitbots_robot/wolfgang_description/urdf/lower_leg.stl b/src/bitbots_robot/wolfgang_description/urdf/lower_leg.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/lower_leg.stl rename to src/bitbots_robot/wolfgang_description/urdf/lower_leg.stl diff --git a/bitbots_robot/wolfgang_description/urdf/lower_leg_spacer.scad b/src/bitbots_robot/wolfgang_description/urdf/lower_leg_spacer.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/lower_leg_spacer.scad rename to src/bitbots_robot/wolfgang_description/urdf/lower_leg_spacer.scad diff --git a/bitbots_robot/wolfgang_description/urdf/lower_leg_spacer.stl b/src/bitbots_robot/wolfgang_description/urdf/lower_leg_spacer.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/lower_leg_spacer.stl rename to src/bitbots_robot/wolfgang_description/urdf/lower_leg_spacer.stl diff --git a/bitbots_robot/wolfgang_description/urdf/motor_connector.scad b/src/bitbots_robot/wolfgang_description/urdf/motor_connector.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/motor_connector.scad rename to src/bitbots_robot/wolfgang_description/urdf/motor_connector.scad diff --git a/bitbots_robot/wolfgang_description/urdf/motor_connector.stl b/src/bitbots_robot/wolfgang_description/urdf/motor_connector.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/motor_connector.stl rename to src/bitbots_robot/wolfgang_description/urdf/motor_connector.stl diff --git a/bitbots_robot/wolfgang_description/urdf/mx-106_body.scad b/src/bitbots_robot/wolfgang_description/urdf/mx-106_body.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/mx-106_body.scad rename to src/bitbots_robot/wolfgang_description/urdf/mx-106_body.scad diff --git a/bitbots_robot/wolfgang_description/urdf/mx-106_body.stl b/src/bitbots_robot/wolfgang_description/urdf/mx-106_body.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/mx-106_body.stl rename to src/bitbots_robot/wolfgang_description/urdf/mx-106_body.stl diff --git a/bitbots_robot/wolfgang_description/urdf/mx-64-body.scad b/src/bitbots_robot/wolfgang_description/urdf/mx-64-body.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/mx-64-body.scad rename to src/bitbots_robot/wolfgang_description/urdf/mx-64-body.scad diff --git a/bitbots_robot/wolfgang_description/urdf/mx-64-body.stl b/src/bitbots_robot/wolfgang_description/urdf/mx-64-body.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/mx-64-body.stl rename to src/bitbots_robot/wolfgang_description/urdf/mx-64-body.stl diff --git a/bitbots_robot/wolfgang_description/urdf/nuc_holder_left_back.scad b/src/bitbots_robot/wolfgang_description/urdf/nuc_holder_left_back.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/nuc_holder_left_back.scad rename to src/bitbots_robot/wolfgang_description/urdf/nuc_holder_left_back.scad diff --git a/bitbots_robot/wolfgang_description/urdf/nuc_holder_left_back.stl b/src/bitbots_robot/wolfgang_description/urdf/nuc_holder_left_back.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/nuc_holder_left_back.stl rename to src/bitbots_robot/wolfgang_description/urdf/nuc_holder_left_back.stl diff --git a/bitbots_robot/wolfgang_description/urdf/nuc_holder_left_front.scad b/src/bitbots_robot/wolfgang_description/urdf/nuc_holder_left_front.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/nuc_holder_left_front.scad rename to src/bitbots_robot/wolfgang_description/urdf/nuc_holder_left_front.scad diff --git a/bitbots_robot/wolfgang_description/urdf/nuc_holder_left_front.stl b/src/bitbots_robot/wolfgang_description/urdf/nuc_holder_left_front.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/nuc_holder_left_front.stl rename to src/bitbots_robot/wolfgang_description/urdf/nuc_holder_left_front.stl diff --git a/bitbots_robot/wolfgang_description/urdf/nuc_holder_right_back.scad b/src/bitbots_robot/wolfgang_description/urdf/nuc_holder_right_back.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/nuc_holder_right_back.scad rename to src/bitbots_robot/wolfgang_description/urdf/nuc_holder_right_back.scad diff --git a/bitbots_robot/wolfgang_description/urdf/nuc_holder_right_back.stl b/src/bitbots_robot/wolfgang_description/urdf/nuc_holder_right_back.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/nuc_holder_right_back.stl rename to src/bitbots_robot/wolfgang_description/urdf/nuc_holder_right_back.stl diff --git a/bitbots_robot/wolfgang_description/urdf/nuc_holder_right_front.scad b/src/bitbots_robot/wolfgang_description/urdf/nuc_holder_right_front.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/nuc_holder_right_front.scad rename to src/bitbots_robot/wolfgang_description/urdf/nuc_holder_right_front.scad diff --git a/bitbots_robot/wolfgang_description/urdf/nuc_holder_right_front.stl b/src/bitbots_robot/wolfgang_description/urdf/nuc_holder_right_front.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/nuc_holder_right_front.stl rename to src/bitbots_robot/wolfgang_description/urdf/nuc_holder_right_front.stl diff --git a/bitbots_robot/wolfgang_description/urdf/nuc_main.scad b/src/bitbots_robot/wolfgang_description/urdf/nuc_main.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/nuc_main.scad rename to src/bitbots_robot/wolfgang_description/urdf/nuc_main.scad diff --git a/bitbots_robot/wolfgang_description/urdf/nuc_main.stl b/src/bitbots_robot/wolfgang_description/urdf/nuc_main.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/nuc_main.stl rename to src/bitbots_robot/wolfgang_description/urdf/nuc_main.stl diff --git a/bitbots_robot/wolfgang_description/urdf/robot.urdf b/src/bitbots_robot/wolfgang_description/urdf/robot.urdf similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/robot.urdf rename to src/bitbots_robot/wolfgang_description/urdf/robot.urdf diff --git a/bitbots_robot/wolfgang_description/urdf/sea_connector.scad b/src/bitbots_robot/wolfgang_description/urdf/sea_connector.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/sea_connector.scad rename to src/bitbots_robot/wolfgang_description/urdf/sea_connector.scad diff --git a/bitbots_robot/wolfgang_description/urdf/sea_connector.stl b/src/bitbots_robot/wolfgang_description/urdf/sea_connector.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/sea_connector.stl rename to src/bitbots_robot/wolfgang_description/urdf/sea_connector.stl diff --git a/bitbots_robot/wolfgang_description/urdf/sea_ninjaflex.scad b/src/bitbots_robot/wolfgang_description/urdf/sea_ninjaflex.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/sea_ninjaflex.scad rename to src/bitbots_robot/wolfgang_description/urdf/sea_ninjaflex.scad diff --git a/bitbots_robot/wolfgang_description/urdf/sea_ninjaflex.stl b/src/bitbots_robot/wolfgang_description/urdf/sea_ninjaflex.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/sea_ninjaflex.stl rename to src/bitbots_robot/wolfgang_description/urdf/sea_ninjaflex.stl diff --git a/bitbots_robot/wolfgang_description/urdf/shoulder_connector.scad b/src/bitbots_robot/wolfgang_description/urdf/shoulder_connector.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/shoulder_connector.scad rename to src/bitbots_robot/wolfgang_description/urdf/shoulder_connector.scad diff --git a/bitbots_robot/wolfgang_description/urdf/shoulder_connector.stl b/src/bitbots_robot/wolfgang_description/urdf/shoulder_connector.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/shoulder_connector.stl rename to src/bitbots_robot/wolfgang_description/urdf/shoulder_connector.stl diff --git a/bitbots_robot/wolfgang_description/urdf/speaker_holder.scad b/src/bitbots_robot/wolfgang_description/urdf/speaker_holder.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/speaker_holder.scad rename to src/bitbots_robot/wolfgang_description/urdf/speaker_holder.scad diff --git a/bitbots_robot/wolfgang_description/urdf/speaker_holder.stl b/src/bitbots_robot/wolfgang_description/urdf/speaker_holder.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/speaker_holder.stl rename to src/bitbots_robot/wolfgang_description/urdf/speaker_holder.stl diff --git a/bitbots_robot/wolfgang_description/urdf/spring_holder_lower.scad b/src/bitbots_robot/wolfgang_description/urdf/spring_holder_lower.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/spring_holder_lower.scad rename to src/bitbots_robot/wolfgang_description/urdf/spring_holder_lower.scad diff --git a/bitbots_robot/wolfgang_description/urdf/spring_holder_lower.stl b/src/bitbots_robot/wolfgang_description/urdf/spring_holder_lower.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/spring_holder_lower.stl rename to src/bitbots_robot/wolfgang_description/urdf/spring_holder_lower.stl diff --git a/bitbots_robot/wolfgang_description/urdf/spring_holder_upper.scad b/src/bitbots_robot/wolfgang_description/urdf/spring_holder_upper.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/spring_holder_upper.scad rename to src/bitbots_robot/wolfgang_description/urdf/spring_holder_upper.scad diff --git a/bitbots_robot/wolfgang_description/urdf/spring_holder_upper.stl b/src/bitbots_robot/wolfgang_description/urdf/spring_holder_upper.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/spring_holder_upper.stl rename to src/bitbots_robot/wolfgang_description/urdf/spring_holder_upper.stl diff --git a/bitbots_robot/wolfgang_description/urdf/springholder_bottom.scad b/src/bitbots_robot/wolfgang_description/urdf/springholder_bottom.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/springholder_bottom.scad rename to src/bitbots_robot/wolfgang_description/urdf/springholder_bottom.scad diff --git a/bitbots_robot/wolfgang_description/urdf/springholder_bottom.stl b/src/bitbots_robot/wolfgang_description/urdf/springholder_bottom.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/springholder_bottom.stl rename to src/bitbots_robot/wolfgang_description/urdf/springholder_bottom.stl diff --git a/bitbots_robot/wolfgang_description/urdf/springholder_new.scad b/src/bitbots_robot/wolfgang_description/urdf/springholder_new.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/springholder_new.scad rename to src/bitbots_robot/wolfgang_description/urdf/springholder_new.scad diff --git a/bitbots_robot/wolfgang_description/urdf/springholder_new.stl b/src/bitbots_robot/wolfgang_description/urdf/springholder_new.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/springholder_new.stl rename to src/bitbots_robot/wolfgang_description/urdf/springholder_new.stl diff --git a/bitbots_robot/wolfgang_description/urdf/thrustbearingholder.scad b/src/bitbots_robot/wolfgang_description/urdf/thrustbearingholder.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/thrustbearingholder.scad rename to src/bitbots_robot/wolfgang_description/urdf/thrustbearingholder.scad diff --git a/bitbots_robot/wolfgang_description/urdf/thrustbearingholder.stl b/src/bitbots_robot/wolfgang_description/urdf/thrustbearingholder.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/thrustbearingholder.stl rename to src/bitbots_robot/wolfgang_description/urdf/thrustbearingholder.stl diff --git a/bitbots_robot/wolfgang_description/urdf/torso_bottom.scad b/src/bitbots_robot/wolfgang_description/urdf/torso_bottom.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/torso_bottom.scad rename to src/bitbots_robot/wolfgang_description/urdf/torso_bottom.scad diff --git a/bitbots_robot/wolfgang_description/urdf/torso_bottom.stl b/src/bitbots_robot/wolfgang_description/urdf/torso_bottom.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/torso_bottom.stl rename to src/bitbots_robot/wolfgang_description/urdf/torso_bottom.stl diff --git a/bitbots_robot/wolfgang_description/urdf/torso_bumper_left.scad b/src/bitbots_robot/wolfgang_description/urdf/torso_bumper_left.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/torso_bumper_left.scad rename to src/bitbots_robot/wolfgang_description/urdf/torso_bumper_left.scad diff --git a/bitbots_robot/wolfgang_description/urdf/torso_bumper_left.stl b/src/bitbots_robot/wolfgang_description/urdf/torso_bumper_left.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/torso_bumper_left.stl rename to src/bitbots_robot/wolfgang_description/urdf/torso_bumper_left.stl diff --git a/bitbots_robot/wolfgang_description/urdf/torso_bumper_right.scad b/src/bitbots_robot/wolfgang_description/urdf/torso_bumper_right.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/torso_bumper_right.scad rename to src/bitbots_robot/wolfgang_description/urdf/torso_bumper_right.scad diff --git a/bitbots_robot/wolfgang_description/urdf/torso_bumper_right.stl b/src/bitbots_robot/wolfgang_description/urdf/torso_bumper_right.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/torso_bumper_right.stl rename to src/bitbots_robot/wolfgang_description/urdf/torso_bumper_right.stl diff --git a/bitbots_robot/wolfgang_description/urdf/torso_top.scad b/src/bitbots_robot/wolfgang_description/urdf/torso_top.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/torso_top.scad rename to src/bitbots_robot/wolfgang_description/urdf/torso_top.scad diff --git a/bitbots_robot/wolfgang_description/urdf/torso_top.stl b/src/bitbots_robot/wolfgang_description/urdf/torso_top.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/torso_top.stl rename to src/bitbots_robot/wolfgang_description/urdf/torso_top.stl diff --git a/bitbots_robot/wolfgang_description/urdf/upper_arm.scad b/src/bitbots_robot/wolfgang_description/urdf/upper_arm.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/upper_arm.scad rename to src/bitbots_robot/wolfgang_description/urdf/upper_arm.scad diff --git a/bitbots_robot/wolfgang_description/urdf/upper_arm.stl b/src/bitbots_robot/wolfgang_description/urdf/upper_arm.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/upper_arm.stl rename to src/bitbots_robot/wolfgang_description/urdf/upper_arm.stl diff --git a/bitbots_robot/wolfgang_description/urdf/upper_arm_spacer.scad b/src/bitbots_robot/wolfgang_description/urdf/upper_arm_spacer.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/upper_arm_spacer.scad rename to src/bitbots_robot/wolfgang_description/urdf/upper_arm_spacer.scad diff --git a/bitbots_robot/wolfgang_description/urdf/upper_arm_spacer.stl b/src/bitbots_robot/wolfgang_description/urdf/upper_arm_spacer.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/upper_arm_spacer.stl rename to src/bitbots_robot/wolfgang_description/urdf/upper_arm_spacer.stl diff --git a/bitbots_robot/wolfgang_description/urdf/upper_leg.scad b/src/bitbots_robot/wolfgang_description/urdf/upper_leg.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/upper_leg.scad rename to src/bitbots_robot/wolfgang_description/urdf/upper_leg.scad diff --git a/bitbots_robot/wolfgang_description/urdf/upper_leg.stl b/src/bitbots_robot/wolfgang_description/urdf/upper_leg.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/upper_leg.stl rename to src/bitbots_robot/wolfgang_description/urdf/upper_leg.stl diff --git a/bitbots_robot/wolfgang_description/urdf/upper_leg_spacer.scad b/src/bitbots_robot/wolfgang_description/urdf/upper_leg_spacer.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/upper_leg_spacer.scad rename to src/bitbots_robot/wolfgang_description/urdf/upper_leg_spacer.scad diff --git a/bitbots_robot/wolfgang_description/urdf/upper_leg_spacer.stl b/src/bitbots_robot/wolfgang_description/urdf/upper_leg_spacer.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/upper_leg_spacer.stl rename to src/bitbots_robot/wolfgang_description/urdf/upper_leg_spacer.stl diff --git a/bitbots_robot/wolfgang_description/urdf/xh-540.scad b/src/bitbots_robot/wolfgang_description/urdf/xh-540.scad similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/xh-540.scad rename to src/bitbots_robot/wolfgang_description/urdf/xh-540.scad diff --git a/bitbots_robot/wolfgang_description/urdf/xh-540.stl b/src/bitbots_robot/wolfgang_description/urdf/xh-540.stl similarity index 100% rename from bitbots_robot/wolfgang_description/urdf/xh-540.stl rename to src/bitbots_robot/wolfgang_description/urdf/xh-540.stl diff --git a/bitbots_robot/wolfgang_moveit_config/.setup_assistant b/src/bitbots_robot/wolfgang_moveit_config/.setup_assistant similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/.setup_assistant rename to src/bitbots_robot/wolfgang_moveit_config/.setup_assistant diff --git a/bitbots_robot/wolfgang_moveit_config/CMakeLists.txt b/src/bitbots_robot/wolfgang_moveit_config/CMakeLists.txt similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/CMakeLists.txt rename to src/bitbots_robot/wolfgang_moveit_config/CMakeLists.txt diff --git a/bitbots_robot/wolfgang_moveit_config/config/fake_controllers.yaml b/src/bitbots_robot/wolfgang_moveit_config/config/fake_controllers.yaml similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/config/fake_controllers.yaml rename to src/bitbots_robot/wolfgang_moveit_config/config/fake_controllers.yaml diff --git a/bitbots_robot/wolfgang_moveit_config/config/joint_limits.yaml b/src/bitbots_robot/wolfgang_moveit_config/config/joint_limits.yaml similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/config/joint_limits.yaml rename to src/bitbots_robot/wolfgang_moveit_config/config/joint_limits.yaml diff --git a/bitbots_robot/wolfgang_moveit_config/config/kinematics.yaml b/src/bitbots_robot/wolfgang_moveit_config/config/kinematics.yaml similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/config/kinematics.yaml rename to src/bitbots_robot/wolfgang_moveit_config/config/kinematics.yaml diff --git a/bitbots_robot/wolfgang_moveit_config/config/ompl_planning.yaml b/src/bitbots_robot/wolfgang_moveit_config/config/ompl_planning.yaml similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/config/ompl_planning.yaml rename to src/bitbots_robot/wolfgang_moveit_config/config/ompl_planning.yaml diff --git a/bitbots_robot/wolfgang_moveit_config/config/sensors_3d.yaml b/src/bitbots_robot/wolfgang_moveit_config/config/sensors_3d.yaml similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/config/sensors_3d.yaml rename to src/bitbots_robot/wolfgang_moveit_config/config/sensors_3d.yaml diff --git a/bitbots_robot/wolfgang_moveit_config/config/wolfgang.srdf b/src/bitbots_robot/wolfgang_moveit_config/config/wolfgang.srdf similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/config/wolfgang.srdf rename to src/bitbots_robot/wolfgang_moveit_config/config/wolfgang.srdf diff --git a/bitbots_robot/wolfgang_moveit_config/docs/_static/logo.png b/src/bitbots_robot/wolfgang_moveit_config/docs/_static/logo.png similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/docs/_static/logo.png rename to src/bitbots_robot/wolfgang_moveit_config/docs/_static/logo.png diff --git a/bitbots_robot/wolfgang_moveit_config/docs/conf.py b/src/bitbots_robot/wolfgang_moveit_config/docs/conf.py similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/docs/conf.py rename to src/bitbots_robot/wolfgang_moveit_config/docs/conf.py diff --git a/bitbots_robot/wolfgang_moveit_config/docs/index.rst b/src/bitbots_robot/wolfgang_moveit_config/docs/index.rst similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/docs/index.rst rename to src/bitbots_robot/wolfgang_moveit_config/docs/index.rst diff --git a/bitbots_robot/wolfgang_moveit_config/package.xml b/src/bitbots_robot/wolfgang_moveit_config/package.xml similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/package.xml rename to src/bitbots_robot/wolfgang_moveit_config/package.xml diff --git a/bitbots_robot/wolfgang_moveit_config/rosdoc.yaml b/src/bitbots_robot/wolfgang_moveit_config/rosdoc.yaml similarity index 100% rename from bitbots_robot/wolfgang_moveit_config/rosdoc.yaml rename to src/bitbots_robot/wolfgang_moveit_config/rosdoc.yaml diff --git a/bitbots_simulation/bitbots_pybullet_sim/CMakeLists.txt b/src/bitbots_simulation/bitbots_pybullet_sim/CMakeLists.txt similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/CMakeLists.txt rename to src/bitbots_simulation/bitbots_pybullet_sim/CMakeLists.txt diff --git a/bitbots_simulation/bitbots_pybullet_sim/README.md b/src/bitbots_simulation/bitbots_pybullet_sim/README.md similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/README.md rename to src/bitbots_simulation/bitbots_pybullet_sim/README.md diff --git a/bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/__init__.py b/src/bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/__init__.py similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/__init__.py rename to src/bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/__init__.py diff --git a/bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/ros_interface.py b/src/bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/ros_interface.py similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/ros_interface.py rename to src/bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/ros_interface.py diff --git a/bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/simulation.py b/src/bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/simulation.py similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/simulation.py rename to src/bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/simulation.py diff --git a/bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/terrain.py b/src/bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/terrain.py similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/terrain.py rename to src/bitbots_simulation/bitbots_pybullet_sim/bitbots_pybullet_sim/terrain.py diff --git a/bitbots_simulation/bitbots_pybullet_sim/config/config.yaml b/src/bitbots_simulation/bitbots_pybullet_sim/config/config.yaml similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/config/config.yaml rename to src/bitbots_simulation/bitbots_pybullet_sim/config/config.yaml diff --git a/bitbots_simulation/bitbots_pybullet_sim/docs/_static/logo.png b/src/bitbots_simulation/bitbots_pybullet_sim/docs/_static/logo.png similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/docs/_static/logo.png rename to src/bitbots_simulation/bitbots_pybullet_sim/docs/_static/logo.png diff --git a/bitbots_simulation/bitbots_pybullet_sim/docs/conf.py b/src/bitbots_simulation/bitbots_pybullet_sim/docs/conf.py similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/docs/conf.py rename to src/bitbots_simulation/bitbots_pybullet_sim/docs/conf.py diff --git a/bitbots_simulation/bitbots_pybullet_sim/docs/index.rst b/src/bitbots_simulation/bitbots_pybullet_sim/docs/index.rst similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/docs/index.rst rename to src/bitbots_simulation/bitbots_pybullet_sim/docs/index.rst diff --git a/bitbots_simulation/bitbots_pybullet_sim/launch/simulation.launch b/src/bitbots_simulation/bitbots_pybullet_sim/launch/simulation.launch similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/launch/simulation.launch rename to src/bitbots_simulation/bitbots_pybullet_sim/launch/simulation.launch diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/config.json b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/config.json similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/config.json rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/config.json diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/field.stl b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/field.stl similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/field.stl rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/field.stl diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/field.urdf b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/field.urdf similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/field.urdf rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/field.urdf diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/goalsally.stl b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/goalsally.stl similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/goalsally.stl rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/goalsally.stl diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/goalsallyback.stl b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/goalsallyback.stl similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/goalsallyback.stl rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/goalsallyback.stl diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/goalsopponent.stl b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/goalsopponent.stl similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/goalsopponent.stl rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/goalsopponent.stl diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/goalsopponentback.stl b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/goalsopponentback.stl similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/goalsopponentback.stl rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/goalsopponentback.stl diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/lines.stl b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/lines.stl similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/lines.stl rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/lines.stl diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/penaltyally.stl b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/penaltyally.stl similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/penaltyally.stl rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/penaltyally.stl diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/penaltyopponent.stl b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/penaltyopponent.stl similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/penaltyopponent.stl rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/penaltyopponent.stl diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/table.stl b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/table.stl similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/table.stl rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/table.stl diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/table2.stl b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/table2.stl similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/table2.stl rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/table2.stl diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/table3.stl b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/table3.stl similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/table3.stl rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/table3.stl diff --git a/bitbots_simulation/bitbots_pybullet_sim/models/field/table4.stl b/src/bitbots_simulation/bitbots_pybullet_sim/models/field/table4.stl similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/models/field/table4.stl rename to src/bitbots_simulation/bitbots_pybullet_sim/models/field/table4.stl diff --git a/bitbots_simulation/bitbots_pybullet_sim/package.xml b/src/bitbots_simulation/bitbots_pybullet_sim/package.xml similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/package.xml rename to src/bitbots_simulation/bitbots_pybullet_sim/package.xml diff --git a/bitbots_simulation/bitbots_pybullet_sim/scripts/simulation_headless.py b/src/bitbots_simulation/bitbots_pybullet_sim/scripts/simulation_headless.py similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/scripts/simulation_headless.py rename to src/bitbots_simulation/bitbots_pybullet_sim/scripts/simulation_headless.py diff --git a/bitbots_simulation/bitbots_pybullet_sim/scripts/simulation_with_gui.py b/src/bitbots_simulation/bitbots_pybullet_sim/scripts/simulation_with_gui.py similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/scripts/simulation_with_gui.py rename to src/bitbots_simulation/bitbots_pybullet_sim/scripts/simulation_with_gui.py diff --git a/bitbots_simulation/bitbots_pybullet_sim/setup.py b/src/bitbots_simulation/bitbots_pybullet_sim/setup.py similarity index 100% rename from bitbots_simulation/bitbots_pybullet_sim/setup.py rename to src/bitbots_simulation/bitbots_pybullet_sim/setup.py diff --git a/bitbots_simulation/bitbots_robocup_api/.gitignore b/src/bitbots_simulation/bitbots_robocup_api/.gitignore similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/.gitignore rename to src/bitbots_simulation/bitbots_robocup_api/.gitignore diff --git a/bitbots_simulation/bitbots_robocup_api/README.md b/src/bitbots_simulation/bitbots_robocup_api/README.md similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/README.md rename to src/bitbots_simulation/bitbots_robocup_api/README.md diff --git a/bitbots_simulation/bitbots_robocup_api/bitbots_robocup_api/__init__.py b/src/bitbots_simulation/bitbots_robocup_api/bitbots_robocup_api/__init__.py similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/bitbots_robocup_api/__init__.py rename to src/bitbots_simulation/bitbots_robocup_api/bitbots_robocup_api/__init__.py diff --git a/bitbots_simulation/bitbots_robocup_api/bitbots_robocup_api/command_proxy.py b/src/bitbots_simulation/bitbots_robocup_api/bitbots_robocup_api/command_proxy.py similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/bitbots_robocup_api/command_proxy.py rename to src/bitbots_simulation/bitbots_robocup_api/bitbots_robocup_api/command_proxy.py diff --git a/bitbots_simulation/bitbots_robocup_api/config/bitbots_walk.json b/src/bitbots_simulation/bitbots_robocup_api/config/bitbots_walk.json similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/config/bitbots_walk.json rename to src/bitbots_simulation/bitbots_robocup_api/config/bitbots_walk.json diff --git a/bitbots_simulation/bitbots_robocup_api/config/devices.json b/src/bitbots_simulation/bitbots_robocup_api/config/devices.json similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/config/devices.json rename to src/bitbots_simulation/bitbots_robocup_api/config/devices.json diff --git a/bitbots_simulation/bitbots_robocup_api/config/team.json b/src/bitbots_simulation/bitbots_robocup_api/config/team.json similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/config/team.json rename to src/bitbots_simulation/bitbots_robocup_api/config/team.json diff --git a/bitbots_simulation/bitbots_robocup_api/launch/bitbots_robocup_api_bridge.launch b/src/bitbots_simulation/bitbots_robocup_api/launch/bitbots_robocup_api_bridge.launch similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/launch/bitbots_robocup_api_bridge.launch rename to src/bitbots_simulation/bitbots_robocup_api/launch/bitbots_robocup_api_bridge.launch diff --git a/bitbots_simulation/bitbots_robocup_api/launch/robocup_teamplayer.launch b/src/bitbots_simulation/bitbots_robocup_api/launch/robocup_teamplayer.launch similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/launch/robocup_teamplayer.launch rename to src/bitbots_simulation/bitbots_robocup_api/launch/robocup_teamplayer.launch diff --git a/bitbots_simulation/bitbots_robocup_api/launch/robocup_walk.launch b/src/bitbots_simulation/bitbots_robocup_api/launch/robocup_walk.launch similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/launch/robocup_walk.launch rename to src/bitbots_simulation/bitbots_robocup_api/launch/robocup_walk.launch diff --git a/bitbots_simulation/bitbots_robocup_api/package.xml b/src/bitbots_simulation/bitbots_robocup_api/package.xml similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/package.xml rename to src/bitbots_simulation/bitbots_robocup_api/package.xml diff --git a/bitbots_simulation/bitbots_robocup_api/resource/bitbots_robocup_api b/src/bitbots_simulation/bitbots_robocup_api/resource/bitbots_robocup_api similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/resource/bitbots_robocup_api rename to src/bitbots_simulation/bitbots_robocup_api/resource/bitbots_robocup_api diff --git a/bitbots_simulation/bitbots_robocup_api/scripts/start.sh b/src/bitbots_simulation/bitbots_robocup_api/scripts/start.sh similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/scripts/start.sh rename to src/bitbots_simulation/bitbots_robocup_api/scripts/start.sh diff --git a/bitbots_simulation/bitbots_robocup_api/setup.cfg b/src/bitbots_simulation/bitbots_robocup_api/setup.cfg similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/setup.cfg rename to src/bitbots_simulation/bitbots_robocup_api/setup.cfg diff --git a/bitbots_simulation/bitbots_robocup_api/setup.py b/src/bitbots_simulation/bitbots_robocup_api/setup.py similarity index 100% rename from bitbots_simulation/bitbots_robocup_api/setup.py rename to src/bitbots_simulation/bitbots_robocup_api/setup.py diff --git a/bitbots_simulation/bitbots_webots_sim/.gitignore b/src/bitbots_simulation/bitbots_webots_sim/.gitignore similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/.gitignore rename to src/bitbots_simulation/bitbots_webots_sim/.gitignore diff --git a/bitbots_simulation/bitbots_webots_sim/CMakeLists.txt b/src/bitbots_simulation/bitbots_webots_sim/CMakeLists.txt similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/CMakeLists.txt rename to src/bitbots_simulation/bitbots_webots_sim/CMakeLists.txt diff --git a/bitbots_simulation/bitbots_webots_sim/README.md b/src/bitbots_simulation/bitbots_webots_sim/README.md similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/README.md rename to src/bitbots_simulation/bitbots_webots_sim/README.md diff --git a/bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/__init__.py b/src/bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/__init__.py similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/__init__.py rename to src/bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/__init__.py diff --git a/bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/webots_robot_controller.py b/src/bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/webots_robot_controller.py similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/webots_robot_controller.py rename to src/bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/webots_robot_controller.py diff --git a/bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/webots_robot_supervisor_controller.py b/src/bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/webots_robot_supervisor_controller.py similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/webots_robot_supervisor_controller.py rename to src/bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/webots_robot_supervisor_controller.py diff --git a/bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/webots_supervisor_controller.py b/src/bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/webots_supervisor_controller.py similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/webots_supervisor_controller.py rename to src/bitbots_simulation/bitbots_webots_sim/bitbots_webots_sim/webots_supervisor_controller.py diff --git a/bitbots_simulation/bitbots_webots_sim/docs/_static/logo.png b/src/bitbots_simulation/bitbots_webots_sim/docs/_static/logo.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/docs/_static/logo.png rename to src/bitbots_simulation/bitbots_webots_sim/docs/_static/logo.png diff --git a/bitbots_simulation/bitbots_webots_sim/docs/conf.py b/src/bitbots_simulation/bitbots_webots_sim/docs/conf.py similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/docs/conf.py rename to src/bitbots_simulation/bitbots_webots_sim/docs/conf.py diff --git a/bitbots_simulation/bitbots_webots_sim/docs/index.rst b/src/bitbots_simulation/bitbots_webots_sim/docs/index.rst similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/docs/index.rst rename to src/bitbots_simulation/bitbots_webots_sim/docs/index.rst diff --git a/bitbots_simulation/bitbots_webots_sim/launch/fake_localization.launch b/src/bitbots_simulation/bitbots_webots_sim/launch/fake_localization.launch similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/launch/fake_localization.launch rename to src/bitbots_simulation/bitbots_webots_sim/launch/fake_localization.launch diff --git a/bitbots_simulation/bitbots_webots_sim/launch/imu_filter_sim.launch b/src/bitbots_simulation/bitbots_webots_sim/launch/imu_filter_sim.launch similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/launch/imu_filter_sim.launch rename to src/bitbots_simulation/bitbots_webots_sim/launch/imu_filter_sim.launch diff --git a/bitbots_simulation/bitbots_webots_sim/launch/simulation.launch b/src/bitbots_simulation/bitbots_webots_sim/launch/simulation.launch similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/launch/simulation.launch rename to src/bitbots_simulation/bitbots_webots_sim/launch/simulation.launch diff --git a/bitbots_simulation/bitbots_webots_sim/launch/single_robot_controller.launch b/src/bitbots_simulation/bitbots_webots_sim/launch/single_robot_controller.launch similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/launch/single_robot_controller.launch rename to src/bitbots_simulation/bitbots_webots_sim/launch/single_robot_controller.launch diff --git a/bitbots_simulation/bitbots_webots_sim/mypy.ini b/src/bitbots_simulation/bitbots_webots_sim/mypy.ini similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/mypy.ini rename to src/bitbots_simulation/bitbots_webots_sim/mypy.ini diff --git a/bitbots_simulation/bitbots_webots_sim/package.xml b/src/bitbots_simulation/bitbots_webots_sim/package.xml similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/package.xml rename to src/bitbots_simulation/bitbots_webots_sim/package.xml diff --git a/bitbots_simulation/bitbots_webots_sim/protos/FreeCamera.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/FreeCamera.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/FreeCamera.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/FreeCamera.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/RoboCupBackground.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/RoboCupBackground.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/RoboCupBackground.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/RoboCupBackground.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/RobocupGoal.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/RobocupGoal.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/RobocupGoal.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/RobocupGoal.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/RobocupSoccerField.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/RobocupSoccerField.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/RobocupSoccerField.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/RobocupSoccerField.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/RobocupTexturedSoccerBall.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/RobocupTexturedSoccerBall.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/RobocupTexturedSoccerBall.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/RobocupTexturedSoccerBall.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/ankle.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/ankle.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/ankle.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/ankle.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/baseplate_odroid_xu4_core.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/baseplate_odroid_xu4_core.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/baseplate_odroid_xu4_core.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/baseplate_odroid_xu4_core.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/basler_ace_gige_c-mount_v01.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/basler_ace_gige_c-mount_v01.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/basler_ace_gige_c-mount_v01.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/basler_ace_gige_c-mount_v01.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/battery.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/battery.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/battery.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/battery.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/battery_cage.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/battery_cage.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/battery_cage.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/battery_cage.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/battery_clip.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/battery_clip.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/battery_clip.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/battery_clip.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/camera_lower_basler_wolfgang_imu_v2.2.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/camera_lower_basler_wolfgang_imu_v2.2.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/camera_lower_basler_wolfgang_imu_v2.2.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/camera_lower_basler_wolfgang_imu_v2.2.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_left.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_left.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_left.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_left.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_right.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_right.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_right.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_right.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/connector_shoulder.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/connector_shoulder.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/connector_shoulder.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/connector_shoulder.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/core.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/core.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/core.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/core.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/dummy_speaker.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/dummy_speaker.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/dummy_speaker.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/dummy_speaker.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/flex_stollen.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/flex_stollen.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/flex_stollen.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/flex_stollen.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/foot_cover.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/foot_cover.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/foot_cover.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/foot_cover.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/foot_printed_left.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/foot_printed_left.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/foot_printed_left.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/foot_printed_left.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/foot_printed_right.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/foot_printed_right.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/foot_printed_right.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/foot_printed_right.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/hand.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/hand.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/hand.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/hand.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/hip_u_connector.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/hip_u_connector.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/hip_u_connector.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/hip_u_connector.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/imu_holder.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/imu_holder.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/imu_holder.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/imu_holder.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/knee_connector.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/knee_connector.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/knee_connector.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/knee_connector.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/knee_spacer.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/knee_spacer.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/knee_spacer.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/knee_spacer.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lense.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lense.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lense.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lense.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/load_cell.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/load_cell.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/load_cell.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/load_cell.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lower_arm.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lower_arm.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lower_arm.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lower_arm.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lower_leg.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lower_leg.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lower_leg.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lower_leg.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lower_leg_spacer.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lower_leg_spacer.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lower_leg_spacer.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/lower_leg_spacer.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/motor_connector.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/motor_connector.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/motor_connector.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/motor_connector.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/mx-106_body.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/mx-106_body.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/mx-106_body.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/mx-106_body.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/mx-64-body.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/mx-64-body.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/mx-64-body.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/mx-64-body.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_left_back.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_left_back.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_left_back.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_left_back.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_left_front.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_left_front.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_left_front.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_left_front.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_right_back.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_right_back.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_right_back.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_right_back.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_right_front.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_right_front.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_right_front.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_holder_right_front.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_main.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_main.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_main.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/nuc_main.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/sea_connector.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/sea_connector.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/sea_connector.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/sea_connector.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/sea_ninjaflex.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/sea_ninjaflex.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/sea_ninjaflex.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/sea_ninjaflex.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/shoulder_connector.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/shoulder_connector.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/shoulder_connector.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/shoulder_connector.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/speaker_holder.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/speaker_holder.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/speaker_holder.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/speaker_holder.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/spring_holder_lower.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/spring_holder_lower.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/spring_holder_lower.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/spring_holder_lower.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/spring_holder_upper.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/spring_holder_upper.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/spring_holder_upper.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/spring_holder_upper.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/springholder_bottom.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/springholder_bottom.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/springholder_bottom.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/springholder_bottom.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/springholder_new.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/springholder_new.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/springholder_new.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/springholder_new.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/thrustbearingholder.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/thrustbearingholder.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/thrustbearingholder.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/thrustbearingholder.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_bottom.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_bottom.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_bottom.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_bottom.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_bumper_left.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_bumper_left.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_bumper_left.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_bumper_left.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_bumper_right.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_bumper_right.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_bumper_right.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_bumper_right.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_top.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_top.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_top.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/torso_top.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_arm.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_arm.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_arm.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_arm.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_arm_spacer.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_arm_spacer.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_arm_spacer.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_arm_spacer.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_leg.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_leg.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_leg.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_leg.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_leg_spacer.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_leg_spacer.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_leg_spacer.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/upper_leg_spacer.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/xh-540.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/xh-540.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/xh-540.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/Wolfgang_meshes/xh-540.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_back.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_back.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_back.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_back.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_bottom.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_bottom.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_bottom.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_bottom.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_front.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_front.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_front.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_front.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_left.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_left.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_left.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_left.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_right.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_right.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_right.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_right.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_top.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_top.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_top.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/kiara_1_dawn_top.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_back.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_back.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_back.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_back.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_bottom.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_bottom.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_bottom.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_bottom.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_front.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_front.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_front.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_front.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_left.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_left.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_left.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_left.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_right.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_right.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_right.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_right.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_top.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_top.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_top.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/paul_lobe_haus_top.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_back.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_back.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_back.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_back.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_bottom.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_bottom.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_bottom.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_bottom.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_front.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_front.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_front.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_front.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_left.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_left.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_left.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_left.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_right.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_right.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_right.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_right.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_top.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_top.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_top.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sepulchral_chapel_rotunda_top.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_back.hdr b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_back.hdr similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_back.hdr rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_back.hdr diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_back.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_back.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_back.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_back.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_bottom.hdr b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_bottom.hdr similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_bottom.hdr rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_bottom.hdr diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_bottom.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_bottom.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_bottom.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_bottom.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_front.hdr b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_front.hdr similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_front.hdr rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_front.hdr diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_front.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_front.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_front.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_front.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_left.hdr b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_left.hdr similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_left.hdr rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_left.hdr diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_left.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_left.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_left.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_left.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_right.hdr b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_right.hdr similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_right.hdr rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_right.hdr diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_right.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_right.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_right.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_right.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_top.hdr b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_top.hdr similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_top.hdr rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_top.hdr diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_top.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_top.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_top.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/shanghai_riverside_top.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_back.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_back.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_back.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_back.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_back.hdr b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_back.hdr similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_back.hdr rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_back.hdr diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_back.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_back.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_back.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_back.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_bottom.hdr b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_bottom.hdr similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_bottom.hdr rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_bottom.hdr diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_bottom.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_bottom.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_bottom.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_bottom.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_front.hdr b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_front.hdr similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_front.hdr rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_front.hdr diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_front.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_front.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_front.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_front.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_left.hdr b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_left.hdr similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_left.hdr rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_left.hdr diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_left.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_left.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_left.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_left.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_right.hdr b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_right.hdr similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_right.hdr rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_right.hdr diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_right.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_right.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_right.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_dry_right.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_top.hdr b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_top.hdr similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_top.hdr rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_top.hdr diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_top.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_top.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_top.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/stadium_top.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_back.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_back.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_back.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_back.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_bottom.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_bottom.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_bottom.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_bottom.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_front.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_front.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_front.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_front.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_left.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_left.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_left.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_left.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_right.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_right.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_right.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_right.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_top.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_top.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_top.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/sunset_jhbcentral_top.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_back.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_back.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_back.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_back.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_bottom.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_bottom.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_bottom.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_bottom.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_front.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_front.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_front.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_front.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_left.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_left.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_left.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_left.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_right.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_right.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_right.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_right.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_top.png b/src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_top.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_top.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/backgrounds/ulmer_muenster_top.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/LICENSE b/src/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/LICENSE similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/ball_textures/LICENSE rename to src/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/LICENSE diff --git a/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/europass.jpg b/src/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/europass.jpg similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/ball_textures/europass.jpg rename to src/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/europass.jpg diff --git a/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/jabulani.jpg b/src/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/jabulani.jpg similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/ball_textures/jabulani.jpg rename to src/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/jabulani.jpg diff --git a/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/tango.jpg b/src/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/tango.jpg similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/ball_textures/tango.jpg rename to src/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/tango.jpg diff --git a/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/teamgeist.jpg b/src/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/teamgeist.jpg similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/ball_textures/teamgeist.jpg rename to src/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/teamgeist.jpg diff --git a/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/telstar.jpg b/src/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/telstar.jpg similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/ball_textures/telstar.jpg rename to src/bitbots_simulation/bitbots_webots_sim/protos/ball_textures/telstar.jpg diff --git a/bitbots_simulation/bitbots_webots_sim/protos/hl_supervisor/hl_supervisor.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/hl_supervisor/hl_supervisor.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/hl_supervisor/hl_supervisor.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/hl_supervisor/hl_supervisor.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/lighting/RoboCupMainLight.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/lighting/RoboCupMainLight.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/lighting/RoboCupMainLight.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/lighting/RoboCupMainLight.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/lighting/RoboCupOffLight.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/lighting/RoboCupOffLight.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/lighting/RoboCupOffLight.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/lighting/RoboCupOffLight.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/lighting/RoboCupTopLight.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/lighting/RoboCupTopLight.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/lighting/RoboCupTopLight.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/lighting/RoboCupTopLight.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/lighting/icons/RoboCupMainLight.png b/src/bitbots_simulation/bitbots_webots_sim/protos/lighting/icons/RoboCupMainLight.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/lighting/icons/RoboCupMainLight.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/lighting/icons/RoboCupMainLight.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/lighting/icons/RoboCupOffLight.png b/src/bitbots_simulation/bitbots_webots_sim/protos/lighting/icons/RoboCupOffLight.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/lighting/icons/RoboCupOffLight.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/lighting/icons/RoboCupOffLight.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/lighting/icons/RoboCupTopLight.png b/src/bitbots_simulation/bitbots_webots_sim/protos/lighting/icons/RoboCupTopLight.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/lighting/icons/RoboCupTopLight.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/lighting/icons/RoboCupTopLight.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/WolfgangOptimization.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/WolfgangOptimization.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/WolfgangOptimization.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/WolfgangOptimization.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/WolfgangRobocup.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/WolfgangRobocup.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/WolfgangRobocup.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/WolfgangRobocup.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_ankleMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_ankleMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_ankleMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_ankleMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_basler_ace_gige_c-mount_v01Mesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_basler_ace_gige_c-mount_v01Mesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_basler_ace_gige_c-mount_v01Mesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_basler_ace_gige_c-mount_v01Mesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_batteryMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_batteryMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_batteryMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_batteryMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_battery_cageMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_battery_cageMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_battery_cageMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_battery_cageMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_battery_clipMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_battery_clipMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_battery_clipMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_battery_clipMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_camera_lower_basler_wolfgang_imu_v2_2Mesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_camera_lower_basler_wolfgang_imu_v2_2Mesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_camera_lower_basler_wolfgang_imu_v2_2Mesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_camera_lower_basler_wolfgang_imu_v2_2Mesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_camera_side_basler_wolfgang_v2_2_leftMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_camera_side_basler_wolfgang_v2_2_leftMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_camera_side_basler_wolfgang_v2_2_leftMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_camera_side_basler_wolfgang_v2_2_leftMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_camera_side_basler_wolfgang_v2_2_rightMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_camera_side_basler_wolfgang_v2_2_rightMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_camera_side_basler_wolfgang_v2_2_rightMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_camera_side_basler_wolfgang_v2_2_rightMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_connector_shoulderMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_connector_shoulderMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_connector_shoulderMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_connector_shoulderMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_coreMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_coreMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_coreMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_coreMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_dummy_speakerMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_dummy_speakerMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_dummy_speakerMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_dummy_speakerMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_flex_stollenMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_flex_stollenMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_flex_stollenMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_flex_stollenMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_foot_coverMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_foot_coverMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_foot_coverMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_foot_coverMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_foot_printed_leftMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_foot_printed_leftMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_foot_printed_leftMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_foot_printed_leftMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_foot_printed_rightMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_foot_printed_rightMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_foot_printed_rightMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_foot_printed_rightMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_handMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_handMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_handMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_handMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_hip_u_connectorMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_hip_u_connectorMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_hip_u_connectorMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_hip_u_connectorMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_imu_holderMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_imu_holderMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_imu_holderMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_imu_holderMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_knee_connectorMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_knee_connectorMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_knee_connectorMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_knee_connectorMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_knee_spacerMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_knee_spacerMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_knee_spacerMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_knee_spacerMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lenseMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lenseMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lenseMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lenseMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_load_cellMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_load_cellMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_load_cellMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_load_cellMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lower_armMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lower_armMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lower_armMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lower_armMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lower_legMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lower_legMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lower_legMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lower_legMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lower_leg_spacerMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lower_leg_spacerMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lower_leg_spacerMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_lower_leg_spacerMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_motor_connectorMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_motor_connectorMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_motor_connectorMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_motor_connectorMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_mx-106_bodyMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_mx-106_bodyMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_mx-106_bodyMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_mx-106_bodyMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_mx-64-bodyMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_mx-64-bodyMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_mx-64-bodyMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_mx-64-bodyMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_left_backMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_left_backMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_left_backMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_left_backMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_left_frontMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_left_frontMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_left_frontMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_left_frontMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_right_backMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_right_backMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_right_backMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_right_backMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_right_frontMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_right_frontMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_right_frontMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_holder_right_frontMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_mainMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_mainMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_mainMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_nuc_mainMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_sea_connectorMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_sea_connectorMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_sea_connectorMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_sea_connectorMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_sea_ninjaflexMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_sea_ninjaflexMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_sea_ninjaflexMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_sea_ninjaflexMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_shoulder_connectorMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_shoulder_connectorMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_shoulder_connectorMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_shoulder_connectorMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_speaker_holderMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_speaker_holderMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_speaker_holderMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_speaker_holderMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_spring_holder_lowerMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_spring_holder_lowerMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_spring_holder_lowerMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_spring_holder_lowerMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_spring_holder_upperMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_spring_holder_upperMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_spring_holder_upperMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_spring_holder_upperMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_springholder_bottomMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_springholder_bottomMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_springholder_bottomMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_springholder_bottomMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_springholder_newMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_springholder_newMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_springholder_newMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_springholder_newMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_thrustbearingholderMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_thrustbearingholderMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_thrustbearingholderMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_thrustbearingholderMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_bottomMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_bottomMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_bottomMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_bottomMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_bumper_leftMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_bumper_leftMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_bumper_leftMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_bumper_leftMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_bumper_rightMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_bumper_rightMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_bumper_rightMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_bumper_rightMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_topMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_topMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_topMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_torso_topMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_armMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_armMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_armMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_armMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_arm_spacerMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_arm_spacerMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_arm_spacerMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_arm_spacerMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_legMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_legMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_legMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_legMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_leg_spacerMesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_leg_spacerMesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_leg_spacerMesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_upper_leg_spacerMesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_xh-540Mesh.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_xh-540Mesh.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_xh-540Mesh.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/Wolfgang_xh-540Mesh.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/ankle.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/ankle.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/ankle.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/ankle.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/baseplate_odroid_xu4_core.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/baseplate_odroid_xu4_core.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/baseplate_odroid_xu4_core.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/baseplate_odroid_xu4_core.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/basler_ace_gige_c-mount_v01.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/basler_ace_gige_c-mount_v01.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/basler_ace_gige_c-mount_v01.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/basler_ace_gige_c-mount_v01.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/battery.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/battery.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/battery.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/battery.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/battery_cage.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/battery_cage.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/battery_cage.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/battery_cage.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/battery_clip.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/battery_clip.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/battery_clip.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/battery_clip.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/camera_lower_basler_wolfgang_imu_v2.2.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/camera_lower_basler_wolfgang_imu_v2.2.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/camera_lower_basler_wolfgang_imu_v2.2.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/camera_lower_basler_wolfgang_imu_v2.2.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_left.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_left.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_left.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_left.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_right.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_right.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_right.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/camera_side_basler_wolfgang_v2.2_right.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/connector_shoulder.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/connector_shoulder.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/connector_shoulder.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/connector_shoulder.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/core.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/core.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/core.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/core.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/dummy_speaker.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/dummy_speaker.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/dummy_speaker.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/dummy_speaker.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/flex_stollen.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/flex_stollen.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/flex_stollen.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/flex_stollen.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/foot_cover.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/foot_cover.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/foot_cover.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/foot_cover.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/foot_printed_left.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/foot_printed_left.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/foot_printed_left.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/foot_printed_left.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/foot_printed_right.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/foot_printed_right.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/foot_printed_right.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/foot_printed_right.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/hand.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/hand.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/hand.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/hand.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/hip_u_connector.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/hip_u_connector.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/hip_u_connector.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/hip_u_connector.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/imu_holder.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/imu_holder.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/imu_holder.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/imu_holder.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/knee_connector.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/knee_connector.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/knee_connector.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/knee_connector.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/knee_spacer.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/knee_spacer.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/knee_spacer.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/knee_spacer.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lense.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lense.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lense.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lense.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/load_cell.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/load_cell.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/load_cell.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/load_cell.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lower_arm.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lower_arm.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lower_arm.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lower_arm.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lower_leg.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lower_leg.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lower_leg.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lower_leg.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lower_leg_spacer.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lower_leg_spacer.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lower_leg_spacer.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/lower_leg_spacer.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/motor_connector.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/motor_connector.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/motor_connector.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/motor_connector.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/mx-106_body.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/mx-106_body.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/mx-106_body.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/mx-106_body.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/mx-64-body.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/mx-64-body.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/mx-64-body.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/mx-64-body.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_left_back.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_left_back.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_left_back.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_left_back.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_left_front.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_left_front.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_left_front.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_left_front.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_right_back.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_right_back.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_right_back.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_right_back.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_right_front.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_right_front.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_right_front.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_holder_right_front.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_main.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_main.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_main.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/nuc_main.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/sea_connector.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/sea_connector.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/sea_connector.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/sea_connector.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/sea_ninjaflex.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/sea_ninjaflex.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/sea_ninjaflex.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/sea_ninjaflex.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/shoulder_connector.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/shoulder_connector.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/shoulder_connector.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/shoulder_connector.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/speaker_holder.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/speaker_holder.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/speaker_holder.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/speaker_holder.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/spring_holder_lower.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/spring_holder_lower.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/spring_holder_lower.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/spring_holder_lower.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/spring_holder_upper.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/spring_holder_upper.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/spring_holder_upper.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/spring_holder_upper.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/springholder_bottom.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/springholder_bottom.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/springholder_bottom.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/springholder_bottom.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/springholder_new.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/springholder_new.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/springholder_new.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/springholder_new.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/thrustbearingholder.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/thrustbearingholder.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/thrustbearingholder.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/thrustbearingholder.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_bottom.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_bottom.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_bottom.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_bottom.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_bumper_left.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_bumper_left.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_bumper_left.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_bumper_left.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_bumper_right.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_bumper_right.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_bumper_right.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_bumper_right.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_top.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_top.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_top.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/torso_top.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_arm.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_arm.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_arm.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_arm.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_arm_spacer.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_arm_spacer.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_arm_spacer.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_arm_spacer.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_leg.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_leg.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_leg.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_leg.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_leg_spacer.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_leg_spacer.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_leg_spacer.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/upper_leg_spacer.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/xh-540.stl b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/xh-540.stl similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/xh-540.stl rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_meshes/xh-540.stl diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangCarbonFiberAppearance.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangCarbonFiberAppearance.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangCarbonFiberAppearance.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangCarbonFiberAppearance.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangMarker.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangMarker.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangMarker.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangMarker.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangMetal.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangMetal.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangMetal.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangMetal.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangMotor.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangMotor.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangMotor.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangMotor.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangNUC.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangNUC.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangNUC.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangNUC.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangPaintedMetal.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangPaintedMetal.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangPaintedMetal.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangPaintedMetal.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangPlastic.proto b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangPlastic.proto similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangPlastic.proto rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/WolfgangPlastic.proto diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/carbon_fiber.jpg b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/carbon_fiber.jpg similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/carbon_fiber.jpg rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/carbon_fiber.jpg diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_0.png b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_0.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_0.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_0.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_1.png b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_1.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_1.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_1.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_2.png b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_2.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_2.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_2.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_3.png b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_3.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_3.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_3.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_4.png b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_4.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_4.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_4.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_5.png b/src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_5.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_5.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/robots/Wolfgang/Wolfgang_textures/number_5.png diff --git a/bitbots_simulation/bitbots_webots_sim/protos/textures/net.png b/src/bitbots_simulation/bitbots_webots_sim/protos/textures/net.png similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/protos/textures/net.png rename to src/bitbots_simulation/bitbots_webots_sim/protos/textures/net.png diff --git a/bitbots_simulation/bitbots_webots_sim/scripts/fix_urdf_for_webots.py b/src/bitbots_simulation/bitbots_webots_sim/scripts/fix_urdf_for_webots.py similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/scripts/fix_urdf_for_webots.py rename to src/bitbots_simulation/bitbots_webots_sim/scripts/fix_urdf_for_webots.py diff --git a/bitbots_simulation/bitbots_webots_sim/scripts/imu_lut_gen.py b/src/bitbots_simulation/bitbots_webots_sim/scripts/imu_lut_gen.py similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/scripts/imu_lut_gen.py rename to src/bitbots_simulation/bitbots_webots_sim/scripts/imu_lut_gen.py diff --git a/bitbots_simulation/bitbots_webots_sim/scripts/localization_faker.py b/src/bitbots_simulation/bitbots_webots_sim/scripts/localization_faker.py similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/scripts/localization_faker.py rename to src/bitbots_simulation/bitbots_webots_sim/scripts/localization_faker.py diff --git a/bitbots_simulation/bitbots_webots_sim/scripts/start_simulator.py b/src/bitbots_simulation/bitbots_webots_sim/scripts/start_simulator.py similarity index 97% rename from bitbots_simulation/bitbots_webots_sim/scripts/start_simulator.py rename to src/bitbots_simulation/bitbots_webots_sim/scripts/start_simulator.py index 2dd1d040e..77e2c3c0d 100755 --- a/bitbots_simulation/bitbots_webots_sim/scripts/start_simulator.py +++ b/src/bitbots_simulation/bitbots_webots_sim/scripts/start_simulator.py @@ -76,7 +76,7 @@ def run_simulation(self): executor = EventsExecutor() executor.add_node(node) - thread = threading.Thread(target=executor.spin, daemon=True) + thread = threading.Thread(target=executor.spin, args=(), daemon=True) thread.start() node.run_simulation() diff --git a/bitbots_simulation/bitbots_webots_sim/scripts/start_single.py b/src/bitbots_simulation/bitbots_webots_sim/scripts/start_single.py similarity index 97% rename from bitbots_simulation/bitbots_webots_sim/scripts/start_single.py rename to src/bitbots_simulation/bitbots_webots_sim/scripts/start_single.py index df15019c3..54a066587 100755 --- a/bitbots_simulation/bitbots_webots_sim/scripts/start_single.py +++ b/src/bitbots_simulation/bitbots_webots_sim/scripts/start_single.py @@ -64,7 +64,7 @@ def run(self): executor = EventsExecutor() executor.add_node(robot.node) - thread = threading.Thread(target=executor.spin, daemon=True) + thread = threading.Thread(target=executor.spin, args=(), daemon=True) thread.start() robot.run() diff --git a/bitbots_simulation/bitbots_webots_sim/scripts/start_webots_ros_supervisor.py b/src/bitbots_simulation/bitbots_webots_sim/scripts/start_webots_ros_supervisor.py similarity index 93% rename from bitbots_simulation/bitbots_webots_sim/scripts/start_webots_ros_supervisor.py rename to src/bitbots_simulation/bitbots_webots_sim/scripts/start_webots_ros_supervisor.py index 7e72d1850..2c2fababc 100755 --- a/bitbots_simulation/bitbots_webots_sim/scripts/start_webots_ros_supervisor.py +++ b/src/bitbots_simulation/bitbots_webots_sim/scripts/start_webots_ros_supervisor.py @@ -34,7 +34,7 @@ def run(self): executor = EventsExecutor() executor.add_node(supervisor.node) - thread = threading.Thread(target=executor.spin, daemon=True) + thread = threading.Thread(target=executor.spin, args=(), daemon=True) thread.start() supervisor.run() diff --git a/bitbots_simulation/bitbots_webots_sim/setup.py b/src/bitbots_simulation/bitbots_webots_sim/setup.py similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/setup.py rename to src/bitbots_simulation/bitbots_webots_sim/setup.py diff --git a/bitbots_simulation/bitbots_webots_sim/worlds/1_bot.wbt b/src/bitbots_simulation/bitbots_webots_sim/worlds/1_bot.wbt similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/worlds/1_bot.wbt rename to src/bitbots_simulation/bitbots_webots_sim/worlds/1_bot.wbt diff --git a/bitbots_simulation/bitbots_webots_sim/worlds/4_bots.wbt b/src/bitbots_simulation/bitbots_webots_sim/worlds/4_bots.wbt similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/worlds/4_bots.wbt rename to src/bitbots_simulation/bitbots_webots_sim/worlds/4_bots.wbt diff --git a/bitbots_simulation/bitbots_webots_sim/worlds/deep_quintic_wolfgang.wbt b/src/bitbots_simulation/bitbots_webots_sim/worlds/deep_quintic_wolfgang.wbt similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/worlds/deep_quintic_wolfgang.wbt rename to src/bitbots_simulation/bitbots_webots_sim/worlds/deep_quintic_wolfgang.wbt diff --git a/bitbots_simulation/bitbots_webots_sim/worlds/deep_quintic_wolfgang_fast.wbt b/src/bitbots_simulation/bitbots_webots_sim/worlds/deep_quintic_wolfgang_fast.wbt similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/worlds/deep_quintic_wolfgang_fast.wbt rename to src/bitbots_simulation/bitbots_webots_sim/worlds/deep_quintic_wolfgang_fast.wbt diff --git a/bitbots_simulation/bitbots_webots_sim/worlds/optimization_wolfgang.wbt b/src/bitbots_simulation/bitbots_webots_sim/worlds/optimization_wolfgang.wbt similarity index 100% rename from bitbots_simulation/bitbots_webots_sim/worlds/optimization_wolfgang.wbt rename to src/bitbots_simulation/bitbots_webots_sim/worlds/optimization_wolfgang.wbt diff --git a/bitbots_team_communication/bitbots_team_communication/CMakeLists.txt b/src/bitbots_team_communication/bitbots_team_communication/CMakeLists.txt similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/CMakeLists.txt rename to src/bitbots_team_communication/bitbots_team_communication/CMakeLists.txt diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/.clang-format b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/.clang-format new file mode 100644 index 000000000..e377d3096 --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/.clang-format @@ -0,0 +1,86 @@ +--- +# C++ files +Language: Cpp +BasedOnStyle: Google +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: true +AlignConsecutiveDeclarations: false +AlignEscapedNewlinesLeft: false +AlignOperands: true +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: true +AllowShortFunctionsOnASingleLine: Empty +AllowShortIfStatementsOnASingleLine: true +AllowShortLoopsOnASingleLine: false +AlwaysBreakTemplateDeclarations: true +BinPackArguments: false +BinPackParameters: false +BreakBeforeBinaryOperators: NonAssignment +BreakBeforeBraces: Custom +BraceWrapping: + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: false + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + BeforeCatch: true + BeforeElse: true + IndentBraces: false +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: true +BreakStringLiterals: true +ColumnLimit: 120 +ConstructorInitializerAllOnOneLineOrOnePerLine: true +Cpp11BracedListStyle: true +DerivePointerAlignment: false +IndentWidth: 4 +KeepEmptyLinesAtTheStartOfBlocks: true +MaxEmptyLinesToKeep: 2 +NamespaceIndentation: Inner +PointerAlignment: Left +ReflowComments: true +SortIncludes: true +SpaceAfterCStyleCast: true +SpaceBeforeAssignmentOperators: true +SpaceBeforeParens: ControlStatements +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 2 +SpacesInAngles: false +SpacesInCStyleCastParentheses: false +SpacesInContainerLiterals: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp11 +TabWidth: 4 +UseTab: Never + +--- +# Protocol buffers +Language: Proto +BasedOnStyle: Google +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: true +AlignConsecutiveDeclarations: true +AlignEscapedNewlinesLeft: false +AlignOperands: true +AlignTrailingComments: true +AllowShortBlocksOnASingleLine: false +ColumnLimit: 120 +IndentWidth: 4 +KeepEmptyLinesAtTheStartOfBlocks: true +MaxEmptyLinesToKeep: 2 +ReflowComments: true +SortIncludes: true +SpaceBeforeAssignmentOperators: true +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 2 +TabWidth: 4 +UseTab: Never +... diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/.gitignore b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/.gitignore new file mode 100644 index 000000000..dc84959d1 --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/.gitignore @@ -0,0 +1,2 @@ +build/ + diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/CMakeLists.txt b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/CMakeLists.txt new file mode 100644 index 000000000..a3205b295 --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/CMakeLists.txt @@ -0,0 +1,62 @@ +cmake_minimum_required(VERSION 3.0) +project(RobocupProtocol) + +# We need protobuf to generate the messages +find_package(Protobuf REQUIRED) + +function(COMPILE_PROTO proto_file output_dir return_var) + # Get the file without the extension + get_filename_component(file_we ${proto_file} NAME_WE) + + # Run the protocol buffer compiler on the builtin protocol buffers + add_custom_command( + OUTPUT "${output_dir}/${file_we}.pb.cc" "${output_dir}/${file_we}.pb.h" + COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} ARGS --cpp_out=${output_dir} + -I${CMAKE_CURRENT_SOURCE_DIR} ${proto_file} + DEPENDS ${proto_file} + COMMENT "Compiling protocol buffer ${proto_file}") + + set_source_files_properties( + "${output_dir}/${file_we}.pb" + "${output_dir}/${file_we}.proto" + "${output_dir}/${file_we}.pb.cc" + "${output_dir}/${file_we}.pb.h" + "${output_dir}/${file_we}.cpp" + "${output_dir}/${file_we}.py.cpp" + "${output_dir}/${file_we}.h" + PROPERTIES GENERATED TRUE + # Prevent Effective C++ and unused parameter error checks being + # performed on + # generated files. + COMPILE_FLAGS + "-Wno-unused-parameter -Wno-error=unused-parameter -Wno-error") + + set(${return_var} + "${output_dir}/${file_we}.pb.cc" "${output_dir}/${file_we}.pb.h" + PARENT_SCOPE) +endfunction(COMPILE_PROTO) + +# Build our protobuf classes +compile_proto("${CMAKE_CURRENT_SOURCE_DIR}/robocup.proto" + "${CMAKE_CURRENT_BINARY_DIR}" base_message) +compile_proto("${CMAKE_CURRENT_SOURCE_DIR}/robocup_extension.proto" + "${CMAKE_CURRENT_BINARY_DIR}" extended_message) + +message(STATUS ${base_message}) +message(STATUS ${extended_message}) + +add_executable(encode_base encode_base.cpp ${base_message}) +target_include_directories(encode_base PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) +target_link_libraries(encode_base protobuf::libprotobuf) + +add_executable(decode_base decode_base.cpp ${base_message}) +target_include_directories(decode_base PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) +target_link_libraries(decode_base protobuf::libprotobuf) + +add_executable(encode_extended encode_extended.cpp ${extended_message}) +target_include_directories(encode_extended PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) +target_link_libraries(encode_extended protobuf::libprotobuf) + +add_executable(decode_extended decode_extended.cpp ${extended_message}) +target_include_directories(decode_extended PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) +target_link_libraries(decode_extended protobuf::libprotobuf) diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/LICENSE.md b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/LICENSE.md new file mode 100644 index 000000000..ecf4eaab9 --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 NUbots + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/README.md b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/README.md new file mode 100644 index 000000000..1def2ca69 --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/README.md @@ -0,0 +1,40 @@ +# RobocupProtocol +Protobuf message protocol for the Robocup Humanoid league. + +This repository contains example protobuf messages and some code examples for encoding/decoding the different messages. + +## Files +```bash +RobocupProtocol/ +├── CMakeLists.txt # CMake project file +├── decode_base.cpp # Decode using the official message +├── decode_extended.cpp # Decode using the extended message +├── encode_base.cpp # Encode using the official message +├── encode_extended.cpp # Encode using the extended message +├── run_all.sh # Script to build code and then run all permutations +├── robocup.proto # The official message +├── robocup_extension.proto # The extended message +└── utils.hpp # Utility functions for interpreting message contents +``` + +## Compiling +```bash +mkdir build +cd build +cmake .. +make +``` + +## Running +There are four binaries that are built `encode_base`, `encode_extended`, `decode_base`, and `decode_extended`. + +`encode_base` will create a message using the official message protocol and save it to a file named `base_message.pb`. + +`encode_extended` will create a message using the extended message protocol and save it to a file named `extended_message.pb`. + +`decode_base` will take a file as an argument and will decode that file using the official message protocol and print it to the screen in a json format. + +`decode_extended` will take a file as an argument and will decode that file using the extended message protocol and print it to the screen in a json format. + +Alternatively, if you execute the `run_all.sh` script, it will compile the code and run all permutations of encoding and decoding. + diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/decode_base.cpp b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/decode_base.cpp new file mode 100644 index 000000000..e8a130da1 --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/decode_base.cpp @@ -0,0 +1,32 @@ +#include + +#include +#include +#include +#include +#include +#include + +#include "robocup.pb.h" +#include "utils.hpp" + +int main(int argc, char** argv) { + if (argc != 2) { + std::cout << "Usage: " << argv[0] << " " << std::endl; + return 0; + } + + std::string msg_file(argv[1]); + + // Open the extended message and parse it + std::ifstream ifs(msg_file, std::ifstream::binary); + + if (ifs.is_open()) { + // "Send" the message over the network and decode it + std::stringstream stream; + stream << ifs.rdbuf(); + parse_message(stream.str()); + } + + return 0; +} diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/decode_extended.cpp b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/decode_extended.cpp new file mode 100644 index 000000000..b720bf30c --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/decode_extended.cpp @@ -0,0 +1,32 @@ +#include + +#include +#include +#include +#include +#include +#include + +#include "robocup_extension.pb.h" +#include "utils.hpp" + +int main(int argc, char** argv) { + if (argc != 2) { + std::cout << "Usage: " << argv[0] << " " << std::endl; + return 0; + } + + std::string msg_file(argv[1]); + + // Open the extended message and parse it + std::ifstream ifs(msg_file, std::ifstream::binary); + + if (ifs.is_open()) { + // Decode a message and print it + std::stringstream stream; + stream << ifs.rdbuf(); + parse_message(stream.str()); + } + + return 0; +} diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/encode_base.cpp b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/encode_base.cpp new file mode 100644 index 000000000..6ac5242a0 --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/encode_base.cpp @@ -0,0 +1,136 @@ +#include + +#include +#include +#include +#include +#include + +#include "robocup.pb.h" +#include "utils.hpp" + +int main(void) { + // Create a new message which contains extensions + robocup::humanoid::Message msg; + + // Set the transmission timestamp + auto d = std::chrono::system_clock::now().time_since_epoch(); + auto seconds = std::chrono::duration_cast(d); + auto nanos = std::chrono::duration_cast(d - seconds); + msg.mutable_timestamp()->set_seconds(seconds.count()); + msg.mutable_timestamp()->set_nanos(nanos.count()); + + // Set player details + msg.mutable_current_pose()->set_player_id(3); + msg.mutable_current_pose()->set_team(robocup::humanoid::Team::BLUE); + msg.mutable_current_pose()->mutable_position()->set_x(1.0f); + msg.mutable_current_pose()->mutable_position()->set_y(3.0f); + msg.mutable_current_pose()->mutable_position()->set_z(M_PI / 3); + msg.mutable_current_pose()->mutable_covariance()->mutable_x()->set_x(1.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_x()->set_y(0.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_x()->set_z(0.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_y()->set_x(0.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_y()->set_y(1.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_y()->set_z(0.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_z()->set_x(0.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_z()->set_y(0.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_z()->set_z(1.0f); + + // Set ball details + msg.mutable_ball()->mutable_position()->set_x(2.0f); + msg.mutable_ball()->mutable_position()->set_y(3.0f); + msg.mutable_ball()->mutable_position()->set_z(1.0f); + msg.mutable_ball()->mutable_velocity()->set_x(0.5f); + msg.mutable_ball()->mutable_velocity()->set_y(0.5f); + msg.mutable_ball()->mutable_velocity()->set_z(-0.5f); + msg.mutable_ball()->mutable_covariance()->mutable_x()->set_x(1.0f); + msg.mutable_ball()->mutable_covariance()->mutable_x()->set_y(0.0f); + msg.mutable_ball()->mutable_covariance()->mutable_x()->set_z(0.0f); + msg.mutable_ball()->mutable_covariance()->mutable_y()->set_x(0.0f); + msg.mutable_ball()->mutable_covariance()->mutable_y()->set_y(1.0f); + msg.mutable_ball()->mutable_covariance()->mutable_y()->set_z(0.0f); + msg.mutable_ball()->mutable_covariance()->mutable_z()->set_x(0.0f); + msg.mutable_ball()->mutable_covariance()->mutable_z()->set_y(0.0f); + msg.mutable_ball()->mutable_covariance()->mutable_z()->set_z(1.0f); + + // Set walk command + msg.mutable_walk_command()->set_x(0.15f); + msg.mutable_walk_command()->set_y(0.15f); + msg.mutable_walk_command()->set_z(-0.05f); + + // Set target pose + msg.mutable_target_pose()->set_player_id(3); + msg.mutable_target_pose()->set_team(robocup::humanoid::Team::BLUE); + msg.mutable_target_pose()->mutable_position()->set_x(2.0f); + msg.mutable_target_pose()->mutable_position()->set_y(3.0f); + msg.mutable_target_pose()->mutable_position()->set_z(-M_PI / 3); + + // Set kick target + msg.mutable_kick_target()->set_x(4.5f); + msg.mutable_kick_target()->set_y(0.0f); + + // Set state + msg.set_state(robocup::humanoid::State::UNPENALISED); + + // Set some others details + robocup::humanoid::Robot* other = msg.add_others(); + other->set_player_id(2); + other->set_team(robocup::humanoid::Team::BLUE); + other->mutable_position()->set_x(1.0f); + other->mutable_position()->set_y(-3.0f); + other->mutable_position()->set_z(M_PI / 6); + other->mutable_covariance()->mutable_x()->set_x(1.0f); + other->mutable_covariance()->mutable_x()->set_y(0.0f); + other->mutable_covariance()->mutable_x()->set_z(0.0f); + other->mutable_covariance()->mutable_y()->set_x(0.0f); + other->mutable_covariance()->mutable_y()->set_y(1.0f); + other->mutable_covariance()->mutable_y()->set_z(0.0f); + other->mutable_covariance()->mutable_z()->set_x(0.0f); + other->mutable_covariance()->mutable_z()->set_y(0.0f); + other->mutable_covariance()->mutable_z()->set_z(1.0f); + + other = msg.add_others(); + other->set_player_id(1); + other->set_team(robocup::humanoid::Team::RED); + other->mutable_position()->set_x(4.5f); + other->mutable_position()->set_y(0.0f); + other->mutable_position()->set_z(M_PI); + other->mutable_covariance()->mutable_x()->set_x(1.0f); + other->mutable_covariance()->mutable_x()->set_y(0.0f); + other->mutable_covariance()->mutable_x()->set_z(0.0f); + other->mutable_covariance()->mutable_y()->set_x(0.0f); + other->mutable_covariance()->mutable_y()->set_y(1.0f); + other->mutable_covariance()->mutable_y()->set_z(0.0f); + other->mutable_covariance()->mutable_z()->set_x(0.0f); + other->mutable_covariance()->mutable_z()->set_y(0.0f); + other->mutable_covariance()->mutable_z()->set_z(1.0f); + + other = msg.add_others(); + other->set_player_id(0); + other->set_team(robocup::humanoid::Team::UNKNOWN_TEAM); + other->mutable_position()->set_x(4.0f); + other->mutable_position()->set_y(0.0f); + other->mutable_position()->set_z(M_PI); + other->mutable_covariance()->mutable_x()->set_x(1.0f); + other->mutable_covariance()->mutable_x()->set_y(0.0f); + other->mutable_covariance()->mutable_x()->set_z(0.0f); + other->mutable_covariance()->mutable_y()->set_x(0.0f); + other->mutable_covariance()->mutable_y()->set_y(1.0f); + other->mutable_covariance()->mutable_y()->set_z(0.0f); + other->mutable_covariance()->mutable_z()->set_x(0.0f); + other->mutable_covariance()->mutable_z()->set_y(0.0f); + other->mutable_covariance()->mutable_z()->set_z(1.0f); + + // ****************************** + // * Official message ends here * + // ****************************** + + // Dump serialised message to file + std::ofstream ofs("base_message.pb", std::ofstream::binary); + std::string string_msg; + msg.SerializeToString(&string_msg); + ofs.write(string_msg.data(), string_msg.size()); + ofs.close(); + + return 0; +} diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/encode_extended.cpp b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/encode_extended.cpp new file mode 100644 index 000000000..256bcffbb --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/encode_extended.cpp @@ -0,0 +1,139 @@ +#include + +#include +#include +#include +#include +#include + +#include "robocup_extension.pb.h" +#include "utils.hpp" + +int main(void) { + // Create a new message which contains extensions + robocup::humanoid::Message msg; + + // Set the transmission timestamp + auto d = std::chrono::system_clock::now().time_since_epoch(); + auto seconds = std::chrono::duration_cast(d); + auto nanos = std::chrono::duration_cast(d - seconds); + msg.mutable_timestamp()->set_seconds(seconds.count()); + msg.mutable_timestamp()->set_nanos(nanos.count()); + + // Set player details + msg.mutable_current_pose()->set_player_id(3); + msg.mutable_current_pose()->set_team(robocup::humanoid::Team::BLUE); + msg.mutable_current_pose()->mutable_position()->set_x(1.0f); + msg.mutable_current_pose()->mutable_position()->set_y(3.0f); + msg.mutable_current_pose()->mutable_position()->set_z(M_PI / 3); + msg.mutable_current_pose()->mutable_covariance()->mutable_x()->set_x(1.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_x()->set_y(0.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_x()->set_z(0.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_y()->set_x(0.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_y()->set_y(1.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_y()->set_z(0.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_z()->set_x(0.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_z()->set_y(0.0f); + msg.mutable_current_pose()->mutable_covariance()->mutable_z()->set_z(1.0f); + + // Set ball details + msg.mutable_ball()->mutable_position()->set_x(2.0f); + msg.mutable_ball()->mutable_position()->set_y(3.0f); + msg.mutable_ball()->mutable_position()->set_z(1.0f); + msg.mutable_ball()->mutable_velocity()->set_x(0.5f); + msg.mutable_ball()->mutable_velocity()->set_y(0.5f); + msg.mutable_ball()->mutable_velocity()->set_z(-0.5f); + msg.mutable_ball()->mutable_covariance()->mutable_x()->set_x(1.0f); + msg.mutable_ball()->mutable_covariance()->mutable_x()->set_y(0.0f); + msg.mutable_ball()->mutable_covariance()->mutable_x()->set_z(0.0f); + msg.mutable_ball()->mutable_covariance()->mutable_y()->set_x(0.0f); + msg.mutable_ball()->mutable_covariance()->mutable_y()->set_y(1.0f); + msg.mutable_ball()->mutable_covariance()->mutable_y()->set_z(0.0f); + msg.mutable_ball()->mutable_covariance()->mutable_z()->set_x(0.0f); + msg.mutable_ball()->mutable_covariance()->mutable_z()->set_y(0.0f); + msg.mutable_ball()->mutable_covariance()->mutable_z()->set_z(1.0f); + + // Set walk command + msg.mutable_walk_command()->set_x(0.15f); + msg.mutable_walk_command()->set_y(0.15f); + msg.mutable_walk_command()->set_z(-0.05f); + + // Set target pose + msg.mutable_target_pose()->set_player_id(3); + msg.mutable_target_pose()->set_team(robocup::humanoid::Team::BLUE); + msg.mutable_target_pose()->mutable_position()->set_x(2.0f); + msg.mutable_target_pose()->mutable_position()->set_y(3.0f); + msg.mutable_target_pose()->mutable_position()->set_z(-M_PI / 3); + + // Set kick target + msg.mutable_kick_target()->set_x(4.5f); + msg.mutable_kick_target()->set_y(0.0f); + + // Set state + msg.set_state(robocup::humanoid::State::UNPENALISED); + + // Set some others details + robocup::humanoid::Robot* other = msg.add_others(); + other->set_player_id(2); + other->set_team(robocup::humanoid::Team::BLUE); + other->mutable_position()->set_x(1.0f); + other->mutable_position()->set_y(-3.0f); + other->mutable_position()->set_z(M_PI / 6); + other->mutable_covariance()->mutable_x()->set_x(1.0f); + other->mutable_covariance()->mutable_x()->set_y(0.0f); + other->mutable_covariance()->mutable_x()->set_z(0.0f); + other->mutable_covariance()->mutable_y()->set_x(0.0f); + other->mutable_covariance()->mutable_y()->set_y(1.0f); + other->mutable_covariance()->mutable_y()->set_z(0.0f); + other->mutable_covariance()->mutable_z()->set_x(0.0f); + other->mutable_covariance()->mutable_z()->set_y(0.0f); + other->mutable_covariance()->mutable_z()->set_z(1.0f); + + other = msg.add_others(); + other->set_player_id(1); + other->set_team(robocup::humanoid::Team::RED); + other->mutable_position()->set_x(4.5f); + other->mutable_position()->set_y(0.0f); + other->mutable_position()->set_z(M_PI); + other->mutable_covariance()->mutable_x()->set_x(1.0f); + other->mutable_covariance()->mutable_x()->set_y(0.0f); + other->mutable_covariance()->mutable_x()->set_z(0.0f); + other->mutable_covariance()->mutable_y()->set_x(0.0f); + other->mutable_covariance()->mutable_y()->set_y(1.0f); + other->mutable_covariance()->mutable_y()->set_z(0.0f); + other->mutable_covariance()->mutable_z()->set_x(0.0f); + other->mutable_covariance()->mutable_z()->set_y(0.0f); + other->mutable_covariance()->mutable_z()->set_z(1.0f); + + other = msg.add_others(); + other->set_player_id(0); + other->set_team(robocup::humanoid::Team::UNKNOWN_TEAM); + other->mutable_position()->set_x(4.0f); + other->mutable_position()->set_y(0.0f); + other->mutable_position()->set_z(M_PI); + other->mutable_covariance()->mutable_x()->set_x(1.0f); + other->mutable_covariance()->mutable_x()->set_y(0.0f); + other->mutable_covariance()->mutable_x()->set_z(0.0f); + other->mutable_covariance()->mutable_y()->set_x(0.0f); + other->mutable_covariance()->mutable_y()->set_y(1.0f); + other->mutable_covariance()->mutable_y()->set_z(0.0f); + other->mutable_covariance()->mutable_z()->set_x(0.0f); + other->mutable_covariance()->mutable_z()->set_y(0.0f); + other->mutable_covariance()->mutable_z()->set_z(1.0f); + + // ****************************** + // * Official message ends here * + // ****************************** + + // Set max walking speed (an extension value) + msg.set_max_walking_speed(0.25f); + + // Dump serialised message to file + std::ofstream ofs("extended_message.pb", std::ofstream::binary); + std::string string_msg; + msg.SerializeToString(&string_msg); + ofs.write(string_msg.data(), string_msg.size()); + ofs.close(); + + return 0; +} diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/robocup.proto b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/robocup.proto new file mode 100644 index 000000000..5824ed626 --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/robocup.proto @@ -0,0 +1,109 @@ +syntax = "proto3"; + +package robocup.humanoid; + +import "google/protobuf/timestamp.proto"; + +/// A column vector of two floats +message fvec2 { + float x = 1; + float y = 2; +} + +/// A column vector of three floats +message fvec3 { + float x = 1; + float y = 2; + float z = 3; +} + +/// A matrix of three vectors +/// Specified as column vectors +message fmat3 { + fvec3 x = 1; + fvec3 y = 2; + fvec3 z = 3; +} + +/// The detected team of the robot +enum Team { + UNKNOWN_TEAM = 0; + BLUE = 1; + RED = 2; +} + +message Robot { + /// ID of the robot, 0 if not known + uint32 player_id = 1; + + /// The position of the robot on the field according to the following convention + /// x meters along the field with 0 at the centre of the field and positive towards opponent goals + /// y meters across the field with 0 at the centre of the field and positive to the left + /// θ orientation of the robot (anti-clockwise from the x axis from above the field) + fvec3 position = 2; + + /// The covariance measure of the robots [x, y, θ] values + /// If this is unavailable leave this unset + fmat3 covariance = 3; + + /// Robot team, if known + Team team = 4; +} + +message Ball { + /// The position of the ball on the field according to the following convention + /// x meters along the field with 0 at the centre of the field and positive towards opponent goals + /// y meters across the field with 0 at the centre of the field and positive to the left + /// z meters above the field with 0 at the surface of the field and positive up + fvec3 position = 1; + + /// The velocity of the ball + /// x m/s along the field with 0 at the centre of the field and positive towards opponent goals + /// y m/s across the field with 0 at the centre of the field and positive to the left + /// z m/s above the field with 0 at the surface of the field and positive up + /// Set to 0 if not available + fvec3 velocity = 2; + + /// The covariance measure of the balls [x, y, z] values + /// If this is unavailable leave this unset + fmat3 covariance = 3; +} + +/// The current playing state of the robot +enum State { + UNKNOWN_STATE = 0; + UNPENALISED = 1; + PENALISED = 2; +} + +message Message { + /// Timestamp of message creation + google.protobuf.Timestamp timestamp = 1; + + /// The robots current state + State state = 2; + + /// Position, orientation, and covariance of the player on the field + Robot current_pose = 3; + + /// The current walk speed of the robot in it's local [x, y, θ] coordinates + /// x and y in m/s and θ in rad/s + /// positive x being forwards, positive y being strafing to the left, and positive θ being anti-clockwise + fvec3 walk_command = 4; + + /// Position and orientation of the players target on the field specified + Robot target_pose = 5; + + /// Position that the robot is aiming to kick the ball to + /// If no kick is planned set to [0, 0] + /// Vector has origin on the ground between the robots feet + fvec2 kick_target = 6; + + /// Position, velocity, and covariance of the ball on the field + Ball ball = 7; + + /// Position, orientation, and covariance of detected robots on the field + repeated Robot others = 8; + + /// IDs 1-100 are reserved for official use +} diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/robocup_extension.proto b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/robocup_extension.proto new file mode 100644 index 000000000..57023ec2d --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/robocup_extension.proto @@ -0,0 +1,162 @@ +syntax = "proto3"; + +package robocup.humanoid; + +import "google/protobuf/timestamp.proto"; + +/// A column vector of two floats +message fvec2 { + float x = 1; + float y = 2; +} + +/// A column vector of three floats +message fvec3 { + float x = 1; + float y = 2; + float z = 3; +} + +/// A matrix of three vectors +/// Specified as column vectors +message fmat3 { + fvec3 x = 1; + fvec3 y = 2; + fvec3 z = 3; +} + +/// The detected team of the robot +enum Team { + UNKNOWN_TEAM = 0; + BLUE = 1; + RED = 2; +} + +message Robot { + /// ID of the robot, 0 if not known + uint32 player_id = 1; + + /// The position of the robot on the field according to the following convention + /// x meters along the field with 0 at the centre of the field and positive towards opponent goals + /// y meters across the field with 0 at the centre of the field and positive to the left + /// θ orientation of the robot (anti-clockwise from the x axis from above the field) + fvec3 position = 2; + + /// The covariance measure of the robots [x, y, θ] values + /// If this is unavailable leave this unset + fmat3 covariance = 3; + + /// Robot team, if known + Team team = 4; +} + +message Ball { + /// The position of the ball on the field according to the following convention + /// x meters along the field with 0 at the centre of the field and positive towards opponent goals + /// y meters across the field with 0 at the centre of the field and positive to the left + /// z meters above the field with 0 at the surface of the field and positive up + fvec3 position = 1; + + /// The velocity of the ball + /// x m/s along the field with 0 at the centre of the field and positive towards opponent goals + /// y m/s across the field with 0 at the centre of the field and positive to the left + /// z m/s above the field with 0 at the surface of the field and positive up + /// Set to 0 if not available + fvec3 velocity = 2; + + /// The covariance measure of the balls [x, y, z] values + /// If this is unavailable leave this unset + fmat3 covariance = 3; +} + +/// The current playing state of the robot +enum State { + UNKNOWN_STATE = 0; + UNPENALISED = 1; + PENALISED = 2; +} + +/// The role of the robot +enum Role { + ROLE_UNDEFINED = 0; + ROLE_IDLING=1; + ROLE_OTHER=2; + ROLE_STRIKER=3; + ROLE_SUPPORTER=4; + ROLE_DEFENDER=5; + ROLE_GOALIE=6; +} + +/// The current action of the robot +enum Action { + ACTION_UNDEFINED=0; + ACTION_POSITIONING=1; + ACTION_GOING_TO_BALL=2; + ACTION_TRYING_TO_SCORE=3; + ACTION_WAITING=4; + ACTION_KICKING=5; + ACTION_SEARCHING=6; + ACTION_LOCALIZING=7; +} + +/// The offensive strategy of the robot +enum OffensiveSide { + SIDE_UNDEFINED = 0; + SIDE_LEFT = 1; + SIDE_MIDDLE = 2; + SIDE_RIGHT = 3; +} + +message Message { + /// Timestamp of message creation + google.protobuf.Timestamp timestamp = 1; + + /// The robots current state + State state = 2; + + /// Position, orientation, and covariance of the player on the field + Robot current_pose = 3; + + /// The current walk speed of the robot in it's local [x, y, θ] coordinates + /// x and y in m/s and θ in rad/s + /// positive x being forwards, positive y being strafing to the left, and positive θ being anti-clockwise + fvec3 walk_command = 4; + + /// Position and orientation of the players target on the field specified + Robot target_pose = 5; + + /// Position that the robot is aiming to kick the ball to + /// If no kick is planned set to [0, 0] + /// Vector has origin on the ground between the robots feet + fvec2 kick_target = 6; + + /// Position, velocity, and covariance of the ball on the field + Ball ball = 7; + + /// Position, orientation, and covariance of detected robots on the field + repeated Robot others = 8; + + /// IDs 1-100 are reserved for official use + + /**************************** + * EXTENSIONS GO BELOW HERE * + ****************************/ + + /// Maximum walking speed of the robot + float max_walking_speed = 101; + + /// Time the robot needs to reach the ball; + float time_to_ball = 104; + + /// The role of the robot + Role role = 105; + + /// The current action of the robot + Action action = 106; + + /// The offensive strategy of the robot + OffensiveSide offensive_side = 107; + + /// Confidence values of the obstacles + repeated float other_robot_confidence = 108; +} diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/run_all.sh b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/run_all.sh new file mode 100755 index 000000000..a10d2c1fa --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/run_all.sh @@ -0,0 +1,26 @@ +#! /bin/bash + +mkdir -p build +cd build + +cmake .. +make + +# Encode base message and decode with the base message +echo "Encode base message and decode with the base message" +./encode_base && ./decode_base base_message.pb + +# Encode base message and decode with the extended message +echo "Encode base message and decode with the extended message" +./encode_base && ./decode_extended base_message.pb + +# Encode extended message and decode with the base message +echo "Encode extended message and decode with the base message" +./encode_extended && ./decode_base extended_message.pb + +# Encode extended message and decode with the base message +echo "Encode extended message and decode with the base message" +./encode_extended && ./decode_extended extended_message.pb + +cd .. + diff --git a/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/utils.hpp b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/utils.hpp new file mode 100644 index 000000000..0342c4d1f --- /dev/null +++ b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol/utils.hpp @@ -0,0 +1,59 @@ +#ifndef PROTOCOL_UTILS_HPP +#define PROTOCOL_UTILS_HPP + +#include +#include + +#include +#include +#include + +inline std::chrono::time_point convert_timestamp( + const ::google::protobuf::Timestamp& timestamp) { + return std::chrono::time_point(std::chrono::seconds(timestamp.seconds()) + + std::chrono::nanoseconds(timestamp.nanos())); +} + +template +std::string team_colour(const T& team) { + switch (team) { + case T::BLUE: return "BLUE"; + case T::RED: return "RED"; + default: return "UNKNOWN"; + } +} + +template +std::string state(const T& state) { + switch (state) { + case T::PENALISED: return "PENALISED"; + case T::UNPENALISED: return "UNPENALISED"; + default: return "UNKNOWN"; + } +} + +template +inline void print_message(const T& msg) { + ::google::protobuf::util::JsonPrintOptions options; + options.add_whitespace = true; + options.always_print_primitive_fields = true; + + std::string json_output; + ::google::protobuf::util::MessageToJsonString(msg, &json_output, options); + + std::cout << "Parsed Message:" << std::endl; + std::cout << json_output << std::endl; +} + +template +inline void parse_message(const std::string& string_msg) { + // Parse the message using the official protobuf message format + T msg; + + // Parse the received message, this will ignore any IDs that aren't defined in the official message + msg.ParseFromString(string_msg); + + print_message(msg); +} + +#endif // PROTOCOL_UTILS_HPP \ No newline at end of file diff --git a/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/__init__.py b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/__init__.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/__init__.py rename to src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/__init__.py diff --git a/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication.py b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication.py rename to src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication.py diff --git a/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/communication.py b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/communication.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/communication.py rename to src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/communication.py diff --git a/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/__init__.py b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/__init__.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/__init__.py rename to src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/__init__.py diff --git a/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/message_to_team_data_converter.py b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/message_to_team_data_converter.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/message_to_team_data_converter.py rename to src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/message_to_team_data_converter.py diff --git a/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/robocup_protocol_converter.py b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/robocup_protocol_converter.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/robocup_protocol_converter.py rename to src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/robocup_protocol_converter.py diff --git a/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/state_to_message_converter.py b/src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/state_to_message_converter.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/state_to_message_converter.py rename to src/bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/converter/state_to_message_converter.py diff --git a/bitbots_team_communication/bitbots_team_communication/config/team_comm_marker.rviz b/src/bitbots_team_communication/bitbots_team_communication/config/team_comm_marker.rviz similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/config/team_comm_marker.rviz rename to src/bitbots_team_communication/bitbots_team_communication/config/team_comm_marker.rviz diff --git a/bitbots_team_communication/bitbots_team_communication/config/team_communication_config.yaml b/src/bitbots_team_communication/bitbots_team_communication/config/team_communication_config.yaml similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/config/team_communication_config.yaml rename to src/bitbots_team_communication/bitbots_team_communication/config/team_communication_config.yaml diff --git a/bitbots_team_communication/bitbots_team_communication/docs/_static/logo.png b/src/bitbots_team_communication/bitbots_team_communication/docs/_static/logo.png similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/docs/_static/logo.png rename to src/bitbots_team_communication/bitbots_team_communication/docs/_static/logo.png diff --git a/bitbots_team_communication/bitbots_team_communication/docs/conf.py b/src/bitbots_team_communication/bitbots_team_communication/docs/conf.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/docs/conf.py rename to src/bitbots_team_communication/bitbots_team_communication/docs/conf.py diff --git a/bitbots_team_communication/bitbots_team_communication/docs/index.rst b/src/bitbots_team_communication/bitbots_team_communication/docs/index.rst similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/docs/index.rst rename to src/bitbots_team_communication/bitbots_team_communication/docs/index.rst diff --git a/bitbots_team_communication/bitbots_team_communication/launch/team_comm.launch b/src/bitbots_team_communication/bitbots_team_communication/launch/team_comm.launch similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/launch/team_comm.launch rename to src/bitbots_team_communication/bitbots_team_communication/launch/team_comm.launch diff --git a/bitbots_team_communication/bitbots_team_communication/launch/team_comm_standalone.launch b/src/bitbots_team_communication/bitbots_team_communication/launch/team_comm_standalone.launch similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/launch/team_comm_standalone.launch rename to src/bitbots_team_communication/bitbots_team_communication/launch/team_comm_standalone.launch diff --git a/bitbots_team_communication/bitbots_team_communication/launch/team_comm_test_marker.launch b/src/bitbots_team_communication/bitbots_team_communication/launch/team_comm_test_marker.launch similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/launch/team_comm_test_marker.launch rename to src/bitbots_team_communication/bitbots_team_communication/launch/team_comm_test_marker.launch diff --git a/bitbots_team_communication/bitbots_team_communication/mypy.ini b/src/bitbots_team_communication/bitbots_team_communication/mypy.ini similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/mypy.ini rename to src/bitbots_team_communication/bitbots_team_communication/mypy.ini diff --git a/bitbots_team_communication/bitbots_team_communication/package.xml b/src/bitbots_team_communication/bitbots_team_communication/package.xml similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/package.xml rename to src/bitbots_team_communication/bitbots_team_communication/package.xml diff --git a/bitbots_team_communication/bitbots_team_communication/scripts/show_team_comm.py b/src/bitbots_team_communication/bitbots_team_communication/scripts/show_team_comm.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/scripts/show_team_comm.py rename to src/bitbots_team_communication/bitbots_team_communication/scripts/show_team_comm.py diff --git a/bitbots_team_communication/bitbots_team_communication/scripts/team_comm.py b/src/bitbots_team_communication/bitbots_team_communication/scripts/team_comm.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/scripts/team_comm.py rename to src/bitbots_team_communication/bitbots_team_communication/scripts/team_comm.py diff --git a/bitbots_team_communication/bitbots_team_communication/scripts/team_comm_test_marker.py b/src/bitbots_team_communication/bitbots_team_communication/scripts/team_comm_test_marker.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/scripts/team_comm_test_marker.py rename to src/bitbots_team_communication/bitbots_team_communication/scripts/team_comm_test_marker.py diff --git a/bitbots_team_communication/bitbots_team_communication/scripts/test_team_comm.py b/src/bitbots_team_communication/bitbots_team_communication/scripts/test_team_comm.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/scripts/test_team_comm.py rename to src/bitbots_team_communication/bitbots_team_communication/scripts/test_team_comm.py diff --git a/bitbots_team_communication/bitbots_team_communication/scripts/tmux_testing_setup.zsh b/src/bitbots_team_communication/bitbots_team_communication/scripts/tmux_testing_setup.zsh similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/scripts/tmux_testing_setup.zsh rename to src/bitbots_team_communication/bitbots_team_communication/scripts/tmux_testing_setup.zsh diff --git a/bitbots_team_communication/bitbots_team_communication/setup.cfg b/src/bitbots_team_communication/bitbots_team_communication/setup.cfg similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/setup.cfg rename to src/bitbots_team_communication/bitbots_team_communication/setup.cfg diff --git a/bitbots_team_communication/bitbots_team_communication/setup.py b/src/bitbots_team_communication/bitbots_team_communication/setup.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/setup.py rename to src/bitbots_team_communication/bitbots_team_communication/setup.py diff --git a/bitbots_team_communication/bitbots_team_communication/test/__init__.py b/src/bitbots_team_communication/bitbots_team_communication/test/__init__.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/test/__init__.py rename to src/bitbots_team_communication/bitbots_team_communication/test/__init__.py diff --git a/bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_message_to_team_data_converter.ambr b/src/bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_message_to_team_data_converter.ambr similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_message_to_team_data_converter.ambr rename to src/bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_message_to_team_data_converter.ambr diff --git a/bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_robocup_protocol_converter.ambr b/src/bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_robocup_protocol_converter.ambr similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_robocup_protocol_converter.ambr rename to src/bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_robocup_protocol_converter.ambr diff --git a/bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_state_to_message_converter.ambr b/src/bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_state_to_message_converter.ambr similarity index 83% rename from bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_state_to_message_converter.ambr rename to src/bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_state_to_message_converter.ambr index 972bf4400..faca72f13 100644 --- a/bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_state_to_message_converter.ambr +++ b/src/bitbots_team_communication/bitbots_team_communication/test/converter/__snapshots__/test_state_to_message_converter.ambr @@ -13,19 +13,19 @@ } covariance { x { - x: 1.0 - y: 2.0 - z: 3.0 + x: 1 + y: 2 + z: 3 } y { - x: 4.0 - y: 5.0 - z: 6.0 + x: 4 + y: 5 + z: 6 } z { - x: 7.0 - y: 8.0 - z: 9.0 + x: 7 + y: 8 + z: 9 } } @@ -42,19 +42,19 @@ # name: test_convert_current_pose.1 ''' x { - x: 1.0 - y: 2.0 - z: 3.0 + x: 1 + y: 2 + z: 3 } y { - x: 4.0 - y: 5.0 - z: 6.0 + x: 4 + y: 5 + z: 6 } z { - x: 7.0 - y: 8.0 - z: 9.0 + x: 7 + y: 8 + z: 9 } ''' diff --git a/bitbots_team_communication/bitbots_team_communication/test/converter/test_message_to_team_data_converter.py b/src/bitbots_team_communication/bitbots_team_communication/test/converter/test_message_to_team_data_converter.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/test/converter/test_message_to_team_data_converter.py rename to src/bitbots_team_communication/bitbots_team_communication/test/converter/test_message_to_team_data_converter.py diff --git a/bitbots_team_communication/bitbots_team_communication/test/converter/test_robocup_protocol_converter.py b/src/bitbots_team_communication/bitbots_team_communication/test/converter/test_robocup_protocol_converter.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/test/converter/test_robocup_protocol_converter.py rename to src/bitbots_team_communication/bitbots_team_communication/test/converter/test_robocup_protocol_converter.py diff --git a/bitbots_team_communication/bitbots_team_communication/test/converter/test_state_to_message_converter.py b/src/bitbots_team_communication/bitbots_team_communication/test/converter/test_state_to_message_converter.py similarity index 100% rename from bitbots_team_communication/bitbots_team_communication/test/converter/test_state_to_message_converter.py rename to src/bitbots_team_communication/bitbots_team_communication/test/converter/test_state_to_message_converter.py diff --git a/bitbots_team_communication/bitbots_team_data_sim_rqt/bitbots_team_data_sim_rqt/__init__.py b/src/bitbots_team_communication/bitbots_team_data_sim_rqt/bitbots_team_data_sim_rqt/__init__.py similarity index 100% rename from bitbots_team_communication/bitbots_team_data_sim_rqt/bitbots_team_data_sim_rqt/__init__.py rename to src/bitbots_team_communication/bitbots_team_data_sim_rqt/bitbots_team_data_sim_rqt/__init__.py diff --git a/bitbots_team_communication/bitbots_team_data_sim_rqt/bitbots_team_data_sim_rqt/team_data_ui.py b/src/bitbots_team_communication/bitbots_team_data_sim_rqt/bitbots_team_data_sim_rqt/team_data_ui.py similarity index 100% rename from bitbots_team_communication/bitbots_team_data_sim_rqt/bitbots_team_data_sim_rqt/team_data_ui.py rename to src/bitbots_team_communication/bitbots_team_data_sim_rqt/bitbots_team_data_sim_rqt/team_data_ui.py diff --git a/bitbots_team_communication/bitbots_team_data_sim_rqt/package.xml b/src/bitbots_team_communication/bitbots_team_data_sim_rqt/package.xml similarity index 100% rename from bitbots_team_communication/bitbots_team_data_sim_rqt/package.xml rename to src/bitbots_team_communication/bitbots_team_data_sim_rqt/package.xml diff --git a/bitbots_team_communication/bitbots_team_data_sim_rqt/plugin.xml b/src/bitbots_team_communication/bitbots_team_data_sim_rqt/plugin.xml similarity index 100% rename from bitbots_team_communication/bitbots_team_data_sim_rqt/plugin.xml rename to src/bitbots_team_communication/bitbots_team_data_sim_rqt/plugin.xml diff --git a/bitbots_team_communication/bitbots_team_data_sim_rqt/resource/RobotTeamDataSimulator.ui b/src/bitbots_team_communication/bitbots_team_data_sim_rqt/resource/RobotTeamDataSimulator.ui similarity index 100% rename from bitbots_team_communication/bitbots_team_data_sim_rqt/resource/RobotTeamDataSimulator.ui rename to src/bitbots_team_communication/bitbots_team_data_sim_rqt/resource/RobotTeamDataSimulator.ui diff --git a/bitbots_team_communication/bitbots_team_data_sim_rqt/resource/bitbots_team_data_sim_rqt b/src/bitbots_team_communication/bitbots_team_data_sim_rqt/resource/bitbots_team_data_sim_rqt similarity index 100% rename from bitbots_team_communication/bitbots_team_data_sim_rqt/resource/bitbots_team_data_sim_rqt rename to src/bitbots_team_communication/bitbots_team_data_sim_rqt/resource/bitbots_team_data_sim_rqt diff --git a/bitbots_team_communication/bitbots_team_data_sim_rqt/setup.cfg b/src/bitbots_team_communication/bitbots_team_data_sim_rqt/setup.cfg similarity index 100% rename from bitbots_team_communication/bitbots_team_data_sim_rqt/setup.cfg rename to src/bitbots_team_communication/bitbots_team_data_sim_rqt/setup.cfg diff --git a/bitbots_team_communication/bitbots_team_data_sim_rqt/setup.py b/src/bitbots_team_communication/bitbots_team_data_sim_rqt/setup.py similarity index 100% rename from bitbots_team_communication/bitbots_team_data_sim_rqt/setup.py rename to src/bitbots_team_communication/bitbots_team_data_sim_rqt/setup.py diff --git a/bitbots_team_communication/bitbots_team_data_sim_rqt/test/mypy.ini b/src/bitbots_team_communication/bitbots_team_data_sim_rqt/test/mypy.ini similarity index 100% rename from bitbots_team_communication/bitbots_team_data_sim_rqt/test/mypy.ini rename to src/bitbots_team_communication/bitbots_team_data_sim_rqt/test/mypy.ini diff --git a/bitbots_team_communication/bitbots_team_data_sim_rqt/test/test_mypy.py b/src/bitbots_team_communication/bitbots_team_data_sim_rqt/test/test_mypy.py similarity index 100% rename from bitbots_team_communication/bitbots_team_data_sim_rqt/test/test_mypy.py rename to src/bitbots_team_communication/bitbots_team_data_sim_rqt/test/test_mypy.py diff --git a/bitbots_vision/README.md b/src/bitbots_vision/README.md similarity index 100% rename from bitbots_vision/README.md rename to src/bitbots_vision/README.md diff --git a/bitbots_vision/bitbots_vision/__init__.py b/src/bitbots_vision/bitbots_vision/__init__.py similarity index 100% rename from bitbots_vision/bitbots_vision/__init__.py rename to src/bitbots_vision/bitbots_vision/__init__.py diff --git a/bitbots_vision/bitbots_vision/params.py b/src/bitbots_vision/bitbots_vision/params.py similarity index 100% rename from bitbots_vision/bitbots_vision/params.py rename to src/bitbots_vision/bitbots_vision/params.py diff --git a/bitbots_vision/bitbots_vision/vision.py b/src/bitbots_vision/bitbots_vision/vision.py similarity index 95% rename from bitbots_vision/bitbots_vision/vision.py rename to src/bitbots_vision/bitbots_vision/vision.py index 9cc31131a..74dc60b4f 100755 --- a/bitbots_vision/bitbots_vision/vision.py +++ b/src/bitbots_vision/bitbots_vision/vision.py @@ -3,7 +3,6 @@ from typing import Optional import rclpy -from ament_index_python.packages import get_package_share_directory from cv_bridge import CvBridge from rcl_interfaces.msg import SetParametersResult from rclpy.experimental.events_executor import EventsExecutor @@ -39,10 +38,6 @@ def __init__(self) -> None: logger.debug(f"Entering {self.__class__.__name__} constructor") - self._package_path = get_package_share_directory("bitbots_vision") - - yoeo.YOEOObjectManager.set_package_directory(self._package_path) - self._config: dict = {} self._cv_bridge = CvBridge() diff --git a/bitbots_vision/bitbots_vision/vision_modules/__init__.py b/src/bitbots_vision/bitbots_vision/vision_modules/__init__.py similarity index 100% rename from bitbots_vision/bitbots_vision/vision_modules/__init__.py rename to src/bitbots_vision/bitbots_vision/vision_modules/__init__.py diff --git a/bitbots_vision/bitbots_vision/vision_modules/candidate.py b/src/bitbots_vision/bitbots_vision/vision_modules/candidate.py similarity index 100% rename from bitbots_vision/bitbots_vision/vision_modules/candidate.py rename to src/bitbots_vision/bitbots_vision/vision_modules/candidate.py diff --git a/bitbots_vision/bitbots_vision/vision_modules/debug.py b/src/bitbots_vision/bitbots_vision/vision_modules/debug.py similarity index 100% rename from bitbots_vision/bitbots_vision/vision_modules/debug.py rename to src/bitbots_vision/bitbots_vision/vision_modules/debug.py diff --git a/bitbots_vision/bitbots_vision/vision_modules/ros_utils.py b/src/bitbots_vision/bitbots_vision/vision_modules/ros_utils.py similarity index 100% rename from bitbots_vision/bitbots_vision/vision_modules/ros_utils.py rename to src/bitbots_vision/bitbots_vision/vision_modules/ros_utils.py diff --git a/bitbots_vision/bitbots_vision/vision_modules/yoeo/__init__.py b/src/bitbots_vision/bitbots_vision/vision_modules/yoeo/__init__.py similarity index 100% rename from bitbots_vision/bitbots_vision/vision_modules/yoeo/__init__.py rename to src/bitbots_vision/bitbots_vision/vision_modules/yoeo/__init__.py diff --git a/bitbots_vision/bitbots_vision/vision_modules/yoeo/model_config.py b/src/bitbots_vision/bitbots_vision/vision_modules/yoeo/model_config.py similarity index 100% rename from bitbots_vision/bitbots_vision/vision_modules/yoeo/model_config.py rename to src/bitbots_vision/bitbots_vision/vision_modules/yoeo/model_config.py diff --git a/bitbots_vision/bitbots_vision/vision_modules/yoeo/object_manager.py b/src/bitbots_vision/bitbots_vision/vision_modules/yoeo/object_manager.py similarity index 85% rename from bitbots_vision/bitbots_vision/vision_modules/yoeo/object_manager.py rename to src/bitbots_vision/bitbots_vision/vision_modules/yoeo/object_manager.py index 3aadfb974..caacbd1ff 100644 --- a/bitbots_vision/bitbots_vision/vision_modules/yoeo/object_manager.py +++ b/src/bitbots_vision/bitbots_vision/vision_modules/yoeo/object_manager.py @@ -1,4 +1,4 @@ -import os.path as osp +import os from typing import Optional import rclpy @@ -27,18 +27,8 @@ class YOEOObjectManager: _framework: str = "" _model_config: ModelConfig = ModelConfig() _model_path: str = "" - _package_directory: str = "" - _package_directory_set: bool = False _yoeo_instance: Optional[yoeo_handlers.IYOEOHandler] = None - @classmethod - def set_package_directory(cls, package_directory: str) -> None: - """ - Set the package directory. Required before first use in order to have the correct paths for the models. - """ - cls._package_directory = package_directory - cls._package_directory_set = True - @classmethod def get(cls) -> yoeo_handlers.IYOEOHandler: """ @@ -73,13 +63,18 @@ def is_team_color_detection_supported(cls) -> bool: @classmethod def configure(cls, config: dict) -> None: - if not cls._package_directory_set: - logger.error("Package directory not set!") - framework = config["yoeo_framework"] cls._verify_framework_parameter(framework) - model_path = cls._get_full_model_path(config["yoeo_model_path"]) + conda_prefix = os.environ.get("CONDA_PREFIX", "") + if not conda_prefix: + raise ValueError( + "CONDA_PREFIX environment variable not set! We now expect YOEO models to be shared as conda packages." + ) + + # Assemble model package name and look at its share directory + model_path = os.path.join(conda_prefix, "share", "bitbots_model_" + config["yoeo_model_path"]) + cls._verify_required_neural_network_files_exist(framework, model_path) cls._configure_yoeo_instance(config, framework, model_path) @@ -93,10 +88,6 @@ def _verify_framework_parameter(framework: str) -> None: if framework not in {"openvino", "onnx", "pytorch", "tvm"}: logger.error(f"Unknown neural network framework '{framework}'") - @classmethod - def _get_full_model_path(cls, model_path: str) -> str: - return osp.join(cls._package_directory, "models", model_path) - @classmethod def _verify_required_neural_network_files_exist(cls, framework: str, model_path: str) -> None: if not cls._model_files_exist(framework, model_path): diff --git a/bitbots_vision/bitbots_vision/vision_modules/yoeo/utils.py b/src/bitbots_vision/bitbots_vision/vision_modules/yoeo/utils.py similarity index 100% rename from bitbots_vision/bitbots_vision/vision_modules/yoeo/utils.py rename to src/bitbots_vision/bitbots_vision/vision_modules/yoeo/utils.py diff --git a/bitbots_vision/bitbots_vision/vision_modules/yoeo/vision_components.py b/src/bitbots_vision/bitbots_vision/vision_modules/yoeo/vision_components.py similarity index 100% rename from bitbots_vision/bitbots_vision/vision_modules/yoeo/vision_components.py rename to src/bitbots_vision/bitbots_vision/vision_modules/yoeo/vision_components.py diff --git a/bitbots_vision/bitbots_vision/vision_modules/yoeo/yoeo_handlers.py b/src/bitbots_vision/bitbots_vision/vision_modules/yoeo/yoeo_handlers.py similarity index 100% rename from bitbots_vision/bitbots_vision/vision_modules/yoeo/yoeo_handlers.py rename to src/bitbots_vision/bitbots_vision/vision_modules/yoeo/yoeo_handlers.py diff --git a/bitbots_vision/config/visionparams.yaml b/src/bitbots_vision/config/visionparams.yaml similarity index 100% rename from bitbots_vision/config/visionparams.yaml rename to src/bitbots_vision/config/visionparams.yaml diff --git a/bitbots_vision/config/visionparams_sim.yaml b/src/bitbots_vision/config/visionparams_sim.yaml similarity index 100% rename from bitbots_vision/config/visionparams_sim.yaml rename to src/bitbots_vision/config/visionparams_sim.yaml diff --git a/bitbots_vision/docs/_static/logo.png b/src/bitbots_vision/docs/_static/logo.png similarity index 100% rename from bitbots_vision/docs/_static/logo.png rename to src/bitbots_vision/docs/_static/logo.png diff --git a/bitbots_vision/docs/conf.py b/src/bitbots_vision/docs/conf.py similarity index 100% rename from bitbots_vision/docs/conf.py rename to src/bitbots_vision/docs/conf.py diff --git a/bitbots_vision/docs/index.rst b/src/bitbots_vision/docs/index.rst similarity index 100% rename from bitbots_vision/docs/index.rst rename to src/bitbots_vision/docs/index.rst diff --git a/bitbots_vision/docs/manual/tutorials/basler_camera_setting.rst b/src/bitbots_vision/docs/manual/tutorials/basler_camera_setting.rst similarity index 100% rename from bitbots_vision/docs/manual/tutorials/basler_camera_setting.rst rename to src/bitbots_vision/docs/manual/tutorials/basler_camera_setting.rst diff --git a/bitbots_vision/docs/manual/tutorials/train_yolo.rst b/src/bitbots_vision/docs/manual/tutorials/train_yolo.rst similarity index 100% rename from bitbots_vision/docs/manual/tutorials/train_yolo.rst rename to src/bitbots_vision/docs/manual/tutorials/train_yolo.rst diff --git a/bitbots_vision/docs/manual/tutorials/tvm.rst b/src/bitbots_vision/docs/manual/tutorials/tvm.rst similarity index 100% rename from bitbots_vision/docs/manual/tutorials/tvm.rst rename to src/bitbots_vision/docs/manual/tutorials/tvm.rst diff --git a/bitbots_vision/docs/manual/tutorials/yolo_open_vino.rst b/src/bitbots_vision/docs/manual/tutorials/yolo_open_vino.rst similarity index 100% rename from bitbots_vision/docs/manual/tutorials/yolo_open_vino.rst rename to src/bitbots_vision/docs/manual/tutorials/yolo_open_vino.rst diff --git a/bitbots_vision/docs/manual/yoeo_vision.rst b/src/bitbots_vision/docs/manual/yoeo_vision.rst similarity index 100% rename from bitbots_vision/docs/manual/yoeo_vision.rst rename to src/bitbots_vision/docs/manual/yoeo_vision.rst diff --git a/bitbots_vision/launch/vision.launch b/src/bitbots_vision/launch/vision.launch similarity index 100% rename from bitbots_vision/launch/vision.launch rename to src/bitbots_vision/launch/vision.launch diff --git a/bitbots_vision/package.xml b/src/bitbots_vision/package.xml similarity index 100% rename from bitbots_vision/package.xml rename to src/bitbots_vision/package.xml diff --git a/bitbots_vision/resource/bitbots_vision b/src/bitbots_vision/resource/bitbots_vision similarity index 100% rename from bitbots_vision/resource/bitbots_vision rename to src/bitbots_vision/resource/bitbots_vision diff --git a/bitbots_vision/rosdoc.yaml b/src/bitbots_vision/rosdoc.yaml similarity index 100% rename from bitbots_vision/rosdoc.yaml rename to src/bitbots_vision/rosdoc.yaml diff --git a/bitbots_vision/scripts/extract_from_rosbag.py b/src/bitbots_vision/scripts/extract_from_rosbag.py similarity index 100% rename from bitbots_vision/scripts/extract_from_rosbag.py rename to src/bitbots_vision/scripts/extract_from_rosbag.py diff --git a/bitbots_vision/scripts/imgclean.sh b/src/bitbots_vision/scripts/imgclean.sh similarity index 100% rename from bitbots_vision/scripts/imgclean.sh rename to src/bitbots_vision/scripts/imgclean.sh diff --git a/bitbots_vision/scripts/rosbag_remapper.py b/src/bitbots_vision/scripts/rosbag_remapper.py similarity index 100% rename from bitbots_vision/scripts/rosbag_remapper.py rename to src/bitbots_vision/scripts/rosbag_remapper.py diff --git a/bitbots_vision/setup.cfg b/src/bitbots_vision/setup.cfg similarity index 100% rename from bitbots_vision/setup.cfg rename to src/bitbots_vision/setup.cfg diff --git a/bitbots_vision/setup.py b/src/bitbots_vision/setup.py similarity index 100% rename from bitbots_vision/setup.py rename to src/bitbots_vision/setup.py diff --git a/bitbots_vision/test/mypy.ini b/src/bitbots_vision/test/mypy.ini similarity index 100% rename from bitbots_vision/test/mypy.ini rename to src/bitbots_vision/test/mypy.ini diff --git a/bitbots_vision/test/test_mypy.py b/src/bitbots_vision/test/test_mypy.py similarity index 100% rename from bitbots_vision/test/test_mypy.py rename to src/bitbots_vision/test/test_mypy.py diff --git a/bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/.gitignore b/src/bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/.gitignore similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/.gitignore rename to src/bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/.gitignore diff --git a/bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/__init__.py b/src/bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/__init__.py similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/__init__.py rename to src/bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/__init__.py diff --git a/bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/ball_filter.py b/src/bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/ball_filter.py similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/ball_filter.py rename to src/bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/ball_filter.py diff --git a/bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/ball_sim.py b/src/bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/ball_sim.py similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/ball_sim.py rename to src/bitbots_world_model/bitbots_ball_filter/bitbots_ball_filter/ball_sim.py diff --git a/bitbots_world_model/bitbots_ball_filter/config/ball_filter_parameters.yaml b/src/bitbots_world_model/bitbots_ball_filter/config/ball_filter_parameters.yaml similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/config/ball_filter_parameters.yaml rename to src/bitbots_world_model/bitbots_ball_filter/config/ball_filter_parameters.yaml diff --git a/bitbots_world_model/bitbots_ball_filter/config/config.rviz b/src/bitbots_world_model/bitbots_ball_filter/config/config.rviz similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/config/config.rviz rename to src/bitbots_world_model/bitbots_ball_filter/config/config.rviz diff --git a/bitbots_world_model/bitbots_ball_filter/launch/ball_filter.launch b/src/bitbots_world_model/bitbots_ball_filter/launch/ball_filter.launch similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/launch/ball_filter.launch rename to src/bitbots_world_model/bitbots_ball_filter/launch/ball_filter.launch diff --git a/bitbots_world_model/bitbots_ball_filter/package.xml b/src/bitbots_world_model/bitbots_ball_filter/package.xml similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/package.xml rename to src/bitbots_world_model/bitbots_ball_filter/package.xml diff --git a/bitbots_world_model/bitbots_ball_filter/resource/bitbots_ball_filter b/src/bitbots_world_model/bitbots_ball_filter/resource/bitbots_ball_filter similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/resource/bitbots_ball_filter rename to src/bitbots_world_model/bitbots_ball_filter/resource/bitbots_ball_filter diff --git a/bitbots_world_model/bitbots_ball_filter/setup.cfg b/src/bitbots_world_model/bitbots_ball_filter/setup.cfg similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/setup.cfg rename to src/bitbots_world_model/bitbots_ball_filter/setup.cfg diff --git a/bitbots_world_model/bitbots_ball_filter/setup.py b/src/bitbots_world_model/bitbots_ball_filter/setup.py similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/setup.py rename to src/bitbots_world_model/bitbots_ball_filter/setup.py diff --git a/bitbots_world_model/bitbots_ball_filter/test/mypy.ini b/src/bitbots_world_model/bitbots_ball_filter/test/mypy.ini similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/test/mypy.ini rename to src/bitbots_world_model/bitbots_ball_filter/test/mypy.ini diff --git a/bitbots_world_model/bitbots_ball_filter/test/test_mypy.py b/src/bitbots_world_model/bitbots_ball_filter/test/test_mypy.py similarity index 100% rename from bitbots_world_model/bitbots_ball_filter/test/test_mypy.py rename to src/bitbots_world_model/bitbots_ball_filter/test/test_mypy.py diff --git a/bitbots_world_model/bitbots_robot_filter/bitbots_robot_filter/__init__.py b/src/bitbots_world_model/bitbots_robot_filter/bitbots_robot_filter/__init__.py similarity index 100% rename from bitbots_world_model/bitbots_robot_filter/bitbots_robot_filter/__init__.py rename to src/bitbots_world_model/bitbots_robot_filter/bitbots_robot_filter/__init__.py diff --git a/bitbots_world_model/bitbots_robot_filter/bitbots_robot_filter/filter.py b/src/bitbots_world_model/bitbots_robot_filter/bitbots_robot_filter/filter.py similarity index 100% rename from bitbots_world_model/bitbots_robot_filter/bitbots_robot_filter/filter.py rename to src/bitbots_world_model/bitbots_robot_filter/bitbots_robot_filter/filter.py diff --git a/bitbots_world_model/bitbots_robot_filter/config/params.yaml b/src/bitbots_world_model/bitbots_robot_filter/config/params.yaml similarity index 100% rename from bitbots_world_model/bitbots_robot_filter/config/params.yaml rename to src/bitbots_world_model/bitbots_robot_filter/config/params.yaml diff --git a/bitbots_world_model/bitbots_robot_filter/launch/robot_filter.launch b/src/bitbots_world_model/bitbots_robot_filter/launch/robot_filter.launch similarity index 100% rename from bitbots_world_model/bitbots_robot_filter/launch/robot_filter.launch rename to src/bitbots_world_model/bitbots_robot_filter/launch/robot_filter.launch diff --git a/bitbots_world_model/bitbots_robot_filter/package.xml b/src/bitbots_world_model/bitbots_robot_filter/package.xml similarity index 100% rename from bitbots_world_model/bitbots_robot_filter/package.xml rename to src/bitbots_world_model/bitbots_robot_filter/package.xml diff --git a/bitbots_world_model/bitbots_robot_filter/resource/bitbots_robot_filter b/src/bitbots_world_model/bitbots_robot_filter/resource/bitbots_robot_filter similarity index 100% rename from bitbots_world_model/bitbots_robot_filter/resource/bitbots_robot_filter rename to src/bitbots_world_model/bitbots_robot_filter/resource/bitbots_robot_filter diff --git a/bitbots_world_model/bitbots_robot_filter/setup.cfg b/src/bitbots_world_model/bitbots_robot_filter/setup.cfg similarity index 100% rename from bitbots_world_model/bitbots_robot_filter/setup.cfg rename to src/bitbots_world_model/bitbots_robot_filter/setup.cfg diff --git a/bitbots_world_model/bitbots_robot_filter/setup.py b/src/bitbots_world_model/bitbots_robot_filter/setup.py similarity index 100% rename from bitbots_world_model/bitbots_robot_filter/setup.py rename to src/bitbots_world_model/bitbots_robot_filter/setup.py diff --git a/bitbots_world_model/bitbots_robot_filter/test/mypy.ini b/src/bitbots_world_model/bitbots_robot_filter/test/mypy.ini similarity index 100% rename from bitbots_world_model/bitbots_robot_filter/test/mypy.ini rename to src/bitbots_world_model/bitbots_robot_filter/test/mypy.ini diff --git a/bitbots_world_model/bitbots_robot_filter/test/test_copyright.py b/src/bitbots_world_model/bitbots_robot_filter/test/test_copyright.py similarity index 100% rename from bitbots_world_model/bitbots_robot_filter/test/test_copyright.py rename to src/bitbots_world_model/bitbots_robot_filter/test/test_copyright.py diff --git a/bitbots_world_model/bitbots_robot_filter/test/test_mypy.py b/src/bitbots_world_model/bitbots_robot_filter/test/test_mypy.py similarity index 100% rename from bitbots_world_model/bitbots_robot_filter/test/test_mypy.py rename to src/bitbots_world_model/bitbots_robot_filter/test/test_mypy.py diff --git a/sync_includes_wolfgang_nuc.yaml b/sync_includes_wolfgang_nuc.yaml index d4ec2808f..556556fab 100644 --- a/sync_includes_wolfgang_nuc.yaml +++ b/sync_includes_wolfgang_nuc.yaml @@ -1,68 +1,69 @@ include: - - bitbots_behavior: - - bitbots_blackboard - - bitbots_body_behavior - - bitbots_lowlevel: - - bitbots_buttons - - bitbots_ros_control - - bitbots_misc: - - bitbots_basler_camera - - bitbots_bringup - - bitbots_diagnostic - - bitbots_docs - - bitbots_extrinsic_calibration - - bitbots_ipm - - bitbots_parameter_blackboard - - bitbots_robot_description - - bitbots_teleop - - bitbots_tts - - bitbots_utils - - system_monitor - - bitbots_motion: - - bitbots_animation_rqt - - bitbots_animation_server - - bitbots_dynamic_kick - - bitbots_dynup - - bitbots_hcm - - bitbots_head_mover - - bitbots_moveit_bindings - - bitbots_quintic_walk - - bitbots_splines - - bitbots_msgs - - bitbots_navigation: - - bitbots_localization - - bitbots_localization_handler - - bitbots_odometry - - bitbots_path_planning - - bitbots_team_communication: - - bitbots_team_communication - - bitbots_team_data_sim_rqt - - bitbots_vision - - bitbots_robot: - - wolfgang_animations - - wolfgang_description - - wolfgang_moveit_config - - bitbots_world_model: - - bitbots_ball_filter - - bitbots_robot_filter - - lib: - - audio_common - - bio_ik - - bio_ik_msgs - - biped_interfaces - - bitbots_tf_buffer - - dynamic_stack_decider - - dynamixel-workbench - - DynamixelSDK - - game_controller_hl - - game_controller_hl_interfaces - - humanoid_base_footprint - - ipm - - particle_filter - - ros2_numpy - - ros2_python_extension - - soccer_ipm - - udp_bridge + - src: + - bitbots_behavior: + - bitbots_blackboard + - bitbots_body_behavior + - bitbots_lowlevel: + - bitbots_buttons + - bitbots_ros_control + - bitbots_misc: + - bitbots_basler_camera + - bitbots_bringup + - bitbots_diagnostic + - bitbots_docs + - bitbots_extrinsic_calibration + - bitbots_ipm + - bitbots_parameter_blackboard + - bitbots_robot_description + - bitbots_teleop + - bitbots_tts + - bitbots_utils + - system_monitor + - bitbots_motion: + - bitbots_animation_rqt + - bitbots_animation_server + - bitbots_dynamic_kick + - bitbots_dynup + - bitbots_hcm + - bitbots_head_mover + - bitbots_moveit_bindings + - bitbots_quintic_walk + - bitbots_splines + - bitbots_msgs + - bitbots_navigation: + - bitbots_localization + - bitbots_localization_handler + - bitbots_odometry + - bitbots_path_planning + - bitbots_team_communication: + - bitbots_team_communication + - bitbots_team_data_sim_rqt + - bitbots_vision + - bitbots_robot: + - wolfgang_animations + - wolfgang_description + - wolfgang_moveit_config + - bitbots_world_model: + - bitbots_ball_filter + - bitbots_robot_filter + - lib: + - audio_common + - bio_ik + - bio_ik_msgs + - biped_interfaces + - bitbots_tf_buffer + - dynamic_stack_decider + - dynamixel-workbench + - DynamixelSDK + - game_controller_hl + - game_controller_hl_interfaces + - humanoid_base_footprint + - ipm + - particle_filter + - ros2_numpy + - ros2_python_extension + - soccer_ipm + - udp_bridge - requirements - scripts exclude: diff --git a/workspace.repos b/workspace.repos deleted file mode 100644 index 672de0f73..000000000 --- a/workspace.repos +++ /dev/null @@ -1,77 +0,0 @@ -repositories: - bitbots_team_communication/bitbots_team_communication/bitbots_team_communication/RobocupProtocol: - type: git - url: git@github.com:bit-bots/RobocupProtocol.git - version: master - lib/audio_common: - type: git - url: git@github.com:bit-bots/audio_common.git - version: ros2 - lib/bio_ik: - type: git - url: git@github.com:bit-bots/bio_ik.git - version: ros2 - lib/bio_ik_msgs: - type: git - url: git@github.com:bit-bots/bio_ik_msgs.git - version: master - lib/bitbots_tf_buffer: - type: git - url: git@github.com:bit-bots/bitbots_tf_buffer.git - version: main - lib/biped_interfaces: - type: git - url: git@github.com:ros-sports/biped_interfaces.git - version: rolling - lib/dynamic_stack_decider: - type: git - url: git@github.com:bit-bots/dynamic_stack_decider.git - version: master - lib/DynamixelSDK: - type: git - url: git@github.com:bit-bots/DynamixelSDK.git - version: master - lib/dynamixel-workbench: - type: git - url: git@github.com:bit-bots/dynamixel-workbench.git - version: master - lib/game_controller_hl: - type: git - url: git@github.com:ros-sports/game_controller_hl.git - version: rolling - lib/hlvs_player: - type: git - url: git@github.com:ros-sports/hlvs_player.git - version: main - lib/humanoid_base_footprint: - type: git - url: git@github.com:ros-sports/humanoid_base_footprint.git - version: master - lib/ipm: - type: git - url: git@github.com:ros-sports/ipm.git - version: rolling - lib/particle_filter: - type: git - url: git@github.com:bit-bots/particle_filter.git - version: master - lib/ros2_numpy: - type: git - url: git@github.com:bit-bots/ros2_numpy.git - version: rolling - lib/ros2_python_extension: - type: git - url: git@github.com:bit-bots/ros2_python_extension.git - version: main - lib/soccer_field_map_generator: - type: git - url: git@github.com:ros-sports/soccer_field_map_generator.git - version: rolling - lib/soccer_ipm: - type: git - url: git@github.com:ros-sports/soccer_ipm.git - version: rolling - lib/udp_bridge: - type: git - url: git@github.com:bit-bots/udp_bridge.git - version: master