onnx/ir-py

Efficient in-memory representation for ONNX, in Python

Hosted by LF AI & Data Foundation · part of Linux Foundation

View on GitHub ↗Jump to charts ↓

onnx/ir-py has 50+ stars and 20+ forks on GitHub, is written in Python, and was last pushed on Oct 12, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 29 minutes ago
Added to GitGenius on October 15th, 2026
Created on May 14th, 2025
Open Issues & Pull Requests: 26 (+0)
GitHub issues: Enabled
Number of forks: 22
Total Stargazers: 50 (+0)
Total Subscribers: 6 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.5 hours
Mean response time: 28.5 days
90th percentile: 82.9 days
Tracked items: 66

Maintainer activity

4 people did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 18, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits. How this is counted.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 12
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 364 days
Stale 30+ days: 11
Stale 90+ days: 11

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 2
Events in 7 days: 2

Top labels

  • contribution welcome (11)
  • good first issue (10)
  • module: passes (9)
  • module: api (5)
  • enhancement (4)
  • bug (3)
  • module: core (3)
  • module: docs (2)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

ir-py is an in-memory intermediate representation for ONNX that enables efficient graph construction, analysis, and transformation in Python.

The tool addresses the need for performant manipulation of ONNX computation graphs without the overhead of protobuf serialization during editing. It provides a unified interface for working with ONNX models, supporting the full ONNX specification and even allowing loading of technically invalid models for repair. The approach uses memory-mapped external tensors and zero-copy access to tensor data, eliminating size limitations while maintaining a low memory footprint. Graph traversal and value information access are designed to be straightforward, and the implementation supports concurrent iteration and mutation through a linked-list-based node container.

Developers should choose this tool when working on graph transformation pipelines, model optimization, or analysis tasks where repeated serialization and deserialization would create bottlenecks. It suits projects involving large language models or other scenarios requiring substantial graph manipulation. The tool decouples from protobuf once a model is loaded into the IR representation, removing that dependency from the runtime environment. The Pythonic API design maps intuitively to ONNX protobuf concepts while providing familiar patterns for Python developers.

The project maintains active development with regular commits addressing bug fixes and feature improvements. Pull requests receive timely review and integration. The codebase is well-organized with clear separation of concerns across modules handling protocols, core entities, type definitions, naming authority, internal data structures, and metadata storage. Documentation is actively maintained alongside code changes, with examples and API references kept current.