SkillAgentSearch skills...

OdbDesign

A free open source cross-platform C++ library for parsing ODB++ Design archives, accessing their data, and building net list product models. Exposed via a REST API packaged inside of a Docker image.

Install / Use

/learn @nam20485/OdbDesign

README

OdbDesign

A free open source cross-platform C++ library for parsing ODB++ Design archives, accessing their data, and building net list product models. Exposed via a REST API packaged inside of a Docker image.

UPDATE: LICENSE HAS CHANGED TO AGPL V3.0. This is a non-permissive open source license that is not suitable for use in closed-source applications. Please contact me to obtain a license suitable for closed-source uses.

Skip to Build and Running Instructions

Sounds great! Now how do I build and run it?

Run

Build

Documentation for the currently-released version of the source code is available here.

Need Help?

Feel free to message me in the project's Gitter chat room: odbdesign:gitter.im

You can also create an issue: https://github.com/nam20485/OdbDesign/issues

Or you can start a discussion: https://github.com/nam20485/OdbDesign/discussions

  • Use the button below to schedule a video call on Google.
<html> <p> <!-- Google Calendar Appointment Scheduling begin --> <link href="https://calendar.google.com/calendar/scheduling-button-script.css" rel="stylesheet"> <script src="https://calendar.google.com/calendar/scheduling-button-script.js" async></script> </p> <script> (function() { var target = document.currentScript; window.addEventListener('load', function() { calendar.schedulingButton.load({ url: 'https://calendar.google.com/calendar/appointments/schedules/AcZssZ3_P9bK4nYHmGvxLD6VuCEb4OR_n5jjNqds9-tE5MWGEl7Xx-WkrFQjAqC81DZhHdj3kRbZvyHy?gv=true', color: '#0B8043', label: "Schedule Video Call for Support or Discussion", target, }); }); })(); </script> <!-- end Google Calendar Appointment Scheduling --> </html>

You can use this to get help or support, discuss any issues with integration into your system, or consulting inquiries.

Key Features

OdbDesign ODB++ parser is differentiated from other offerings by these key features:

  1. Performance
  2. Cross-Platform Flexibility
  3. Expertise
  4. Security

Performance

OdbDesign is implemented in C++ and is designed and optimized to be fast. Unlike higher-level languages that use interpreters or virtual machines, that means it is compiled into native code for your machine, whether your platform is Windows, Linux, or Mac.

The parser is also multi-threaded to take advantage of modern multi-core CPUs.

Cross-Platform Flexibility

The library itself can run directly on all major platforms (i.e. Windows, Linux, and Mac) and also exposes a REST API so that parsed data can be accessed from any application or programming language that can connect to a REST API. The REST API and library are also exposed via a Docker image that can be run on any platform that supports Docker.

Both options support running the parser on a different machine than the one running the application that needs the parsed data. This allows the parser to be run on a high-performance server or workstation while the application that needs the data runs on a low-power device like a Raspberry Pi, mobile device, or the web.

Expertise

The maintainer has well over a decade of experience in the PCB Manufacturing and hardware industry. Specifically he has worked on the development of ODB++ parsing and viewer applications for some of the established key players in the industry. Time spent working under the designer of the ODB++ specification has given him a unique perspective on the ODB++ format and how it is used in the industry. This experience is also leveraged to make the parser as fast and efficient as possible.

Security

All code, dependency packages, and Docker images are scanned for security vulnerabilities, using extended security scanning rule profiles (these are more secure than the default base scanning rule profiles).

The project has earned a high score on the OpenSSF Security Scorecard. Details can be seen in the Project Security section below.

It is built using the latest available version of the C++ standard and is compiled with the latest available compiler versions. The parser is also built using the latest available versions of all of its dependencies and is regularly updated to use the latest versions of those dependencies as they are released.

These checks are run against all branches starting with development, so there is no chance of a security vulnerability being introduced into the main and release branches. Docker's Scout Suite is used to scan the Docker image for security vulnerabilities, and GitHub's CodeQL is used to scan the code for security vulnerabilities.

Overview

Current Implementation State

The diagram describes the current state of parser implementation and data availability. Green color describes areas of the ODB++ archive file that are implemented and have their data available for use. ~~Red color describes areas that are not parsed so their data is not yet available.~~ All areas of the file are now parsed, and have their data available for use.

ODB++ file hierarchy implementation state diagram

Project Security

OpenSSF Security Scorecard

OpenSSF Security Scorecard assesses open source projects for security risks through a series of automated checks.

OpenSSF Scorecard

The majority of tested projects have a much lower score, so OdbDesign's 7.8 score represents a remarkably high level of security.

CI/CD Build

Branches

development

| Step | Status | |-----------------------------|---------| | Build | CMake Build Multi-Platform | | Docker Image | Docker Publish | | Docker Security Scan | Docker Scout Scan | | Dependency Review Scan | Dependency Review | | Upload SBOM | SBOM Generate and Submit |

main

| Step | Status | |-----------------------------|----------| | Build | CMake Build Multi-Platform | | Docker Image | Docker Publish | | Docker Security Scan | Docker Scout Scan | | Dependency Review Scan | Dependency Review | | Upload SBOM | SBOM Generate and Submit |

release

| Step | Status | |-----------------------------|----------| | Build | CMake Build Multi-Platform | | Docker Image | Docker Publish | | Docker Security Scan | Docker Scout Scan | | Dependency Review Scan | Dependency Review | | Upload SBOM | SBOM Generate and Submit |

Architecture

The OdbDesign parser is built as a C++ shared library on all three platforms. An executable running the server links to the library and provi

Related Skills

View on GitHub
GitHub Stars73
CategoryDevelopment
Updated17d ago
Forks31

Languages

C++

Security Score

100/100

Audited on Mar 7, 2026

No findings