Skip to main content

onshape-robotics-toolkit

License codecov DOI Docs PyPI Downloads

Header

The onshape-robotics-toolkit is a feature-rich Python library that significantly extends the capabilities of Onshape's web-based CAD platform. The library provides a comprehensive API for automating robot design tasks, including solid model manipulation, robot assembly management, graph-based visualizations, and exporting CAD assemblies to URDF files for simulation and control. Intended as a resource for the robotics community, this library leverages Onshape's REST API to facilitate advanced workflows that bridge CAD design and robotics applications.

  This library was inspired by onshape-to-robot, a tool renowned for its streamlined approach to URDF generation. While onshape-to-robot library focuses on predefined workflows and design-time considerations, the onshape-robotics-toolkit library offers greater flexibility. It provides access to nearly all of Onshape's REST API calls, enabling headless manipulation, detailed analysis, and seamless export of CAD assemblies. Users can programmatically edit variable studios, generate graph-based visualizations, and export URDF files tailored to their specific needs—all without being restricted by rigid workflows or naming conventions. By removing these constraints, the onshape-robotics-toolkit library empowers the robotics and CAD communities to create custom solutions for algorithmic design, optimization, and automation.

 

Key Features of onshape-robotics-toolkit

The onshape-robotics-toolkit library is designed for users seeking a scalable, versatile API that empowers innovative robot design and control workflows. By integrating Onshape into algorithmic processes such as design optimization and automation, it unlocks the full potential of Onshape's cloud-based CAD system, fostering creativity and efficiency in robotics and beyond.

 

Feature onshape-robotics-toolkit onshape-to-robot
Workflow Flexibility ✅ Open-ended and customizable ❌ Predefined and rigid
Design-Time Considerations ✅ None ❌ Requires specific naming conventions
Custom URDF Workflow ✅ Supports any assembly ❌ Limited by design rules
Variable Studio Editing ✅ Yes ❌ No
Ease of Setup ❌ Moderate (requires python coding) ✅ Easy (no coding required)
Headless Integration ✅ Yes (e.g., optimization) ❌ No out-of-the-box support
Access to Full Onshape API ✅ Yes ❌ Limited
Graph Visualization and Analysis ✅ Supports graph generation ❌ Not supported

Prerequisites

Before you begin, ensure you have the following:

Note: Before using this tool (including making API calls or using it for research), ensure you have read and comply with Onshape's Terms of Use and be aware of Onshape's API limits and usage policies to avoid exceeding rate limits.

Installation

You can install onshape-robotics-toolkit using pip, which is the easiest way to install it and is the recommended method for most users.

pip install onshape-robotics-toolkit

If you want to install from source, you'll need to install uv and git first. Then, you can clone the repository and install the package.

git clone https://github.com/neurobionics/onshape-robotics-toolkit.git
cd onshape-robotics-toolkit
uv sync

Documentation

The documentation is available at https://neurobionics.github.io/onshape-robotics-toolkit/. It is generated using mkdocs and mkdocs-material and hosted on GitHub Pages.

Acknowledgements

This repository was created to facilitate an internal project at the RAI Institute; it was developed by Senthur Ayyappan and Elliott Rouse. We'd also like to acknowledge considerable support and guidance from Ben Bokser, Daniel Gonzalez, Surya Singh, Sangbae Kim, and Stelian Coros at the AI Institute.

Contributing

If you're interested in contributing to the project, please read the contributing guidelines to get started. All contributions are welcome!

License

This project is licensed under the Apache 2.0 License. For more information, please refer to the license file.

References

Metadata

Release files for onshape-robotics-toolkit 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for onshape-robotics-toolkit 0.6.0
File Size Uploaded Provenance Actions
onshape_robotics_toolkit-0.6.0.tar.gz 12.9 MB Without provenance Details for onshape_robotics_toolkit-0.6.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for onshape-robotics-toolkit 0.6.0
File Interpreter ABI Platform Actions
onshape_robotics_toolkit-0.6.0-py3-none-any.whl Python 3 none any Details for onshape_robotics_toolkit-0.6.0-py3-none-any.whl

Total release size: 13.0 MB

Release files / onshape_robotics_toolkit-0.6.0.tar.gz

Download URL onshape_robotics_toolkit-0.6.0.tar.gz
Size 12.9 MB
Tags Source
SHA-256 checksum
How to use checksums
02499f6a08672511322d185d70db379f8900c82a3a03e888492d3f1dc73e2713
BLAKE2b-256 checksum
How to use checksums
3fa45e1c4b0b105d3970d8310d3f901f9621617f9200f5b3f285a542b21a0be4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / onshape_robotics_toolkit-0.6.0-py3-none-any.whl

Download URL onshape_robotics_toolkit-0.6.0-py3-none-any.whl
Size 109.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
689c23a4b74680a471b5b086cc998de1ddccc57364cb015a53ad7f5e8ff20406
BLAKE2b-256 checksum
How to use checksums
5c9f9d607fa4618678e50582be0587f9fa57568a03a1f01daa057118df41553d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for onshape-robotics-toolkit 0.6.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page