{"id":13880547,"url":"https://github.com/oxidize-rb/rb-sys","last_synced_at":"2025-07-16T17:30:36.980Z","repository":{"id":37453023,"uuid":"440364861","full_name":"oxidize-rb/rb-sys","owner":"oxidize-rb","description":"Easily build Ruby native extensions in Rust","archived":false,"fork":false,"pushed_at":"2025-07-13T18:13:43.000Z","size":5939,"stargazers_count":262,"open_issues_count":48,"forks_count":45,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-07-13T18:39:12.985Z","etag":null,"topics":["native-extensions","ruby","ruby-extension","rubygem","rust"],"latest_commit_sha":null,"homepage":"https://oxidize-rb.github.io/rb-sys/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oxidize-rb.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["ianks"]}},"created_at":"2021-12-21T02:20:54.000Z","updated_at":"2025-07-07T18:17:19.000Z","dependencies_parsed_at":"2022-07-10T16:17:17.612Z","dependency_job_id":"90a59bcf-5dd2-4412-81af-558da6ed8925","html_url":"https://github.com/oxidize-rb/rb-sys","commit_stats":{"total_commits":461,"total_committers":16,"mean_commits":28.8125,"dds":0.4338394793926247,"last_synced_commit":"304e89a6be94dd8e1a27a27ce95fd238ce735932"},"previous_names":[],"tags_count":132,"template":false,"template_full_name":null,"purl":"pkg:github/oxidize-rb/rb-sys","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxidize-rb%2Frb-sys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxidize-rb%2Frb-sys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxidize-rb%2Frb-sys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxidize-rb%2Frb-sys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oxidize-rb","download_url":"https://codeload.github.com/oxidize-rb/rb-sys/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxidize-rb%2Frb-sys/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265190787,"owners_count":23725232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["native-extensions","ruby","ruby-extension","rubygem","rust"],"created_at":"2024-08-06T08:03:09.307Z","updated_at":"2025-07-16T17:30:36.975Z","avatar_url":"https://github.com/oxidize-rb.png","language":"Rust","readme":"# rb-sys\n\n[![.github/workflows/ci.yml](https://github.com/oxidize-rb/rb-sys/actions/workflows/ci.yml/badge.svg)](https://github.com/oxidize-rb/rb-sys/actions/workflows/ci.yml)\n[![Join the discussion](https://img.shields.io/badge/slack-chat-blue.svg)](https://join.slack.com/t/oxidize-rb/shared_invite/zt-16zv5tqte-Vi7WfzxCesdo2TqF_RYBCw)\n![Crates.io](https://img.shields.io/crates/v/rb-sys?style=flat) ![Gem](https://img.shields.io/gem/v/rb_sys?style=flat)\n\nThe primary goal of `rb-sys` is to make building native Ruby extensions in Rust **easier** than it would be in C. If\nit's not easy, it's a bug.\n\n## Documentation\n\nFor comprehensive documentation, please refer to the [Ruby on Rust Book](https://oxidize-rb.github.io/rb-sys/), which\ncovers:\n\n- Getting started and quick start tutorials\n- Working with Ruby objects, classes, and modules\n- Memory management and safety\n- Cross-platform development\n- Testing and debugging\n- API reference for rb-sys crate and rb_sys gem\n\n## Components\n\n- **rb-sys crate**: Battle-tested Rust bindings for the Ruby C API\n- **rb_sys gem**: Simplifies compiling Rust code into Ruby extensions\n- **rb-sys-test-helpers**: Utilities for testing Ruby extensions from Rust\n- **rb-sys-dock**: Docker-based cross-compilation tooling\n\n## Supported Toolchains\n\n- Ruby: \u003c!-- toolchains .policy.minimum-supported-ruby-version --\u003e2.6\u003c!-- /toolchains --\u003e+\n- Rust: \u003c!-- toolchains .policy.minimum-supported-rust-version --\u003e1.65\u003c!-- /toolchains --\u003e+\n\n## Real-World Examples\n\n- [oxi-test](https://github.com/oxidize-rb/oxi-test) - Canonical example of rb-sys usage (minimal, tested,\n  cross-compiled)\n- [blake3-ruby](https://github.com/oxidize-rb/blake3-ruby) - Fast cryptographic hash function\n- [wasmtime-rb](https://github.com/bytecodealliance/wasmtime-rb) - WebAssembly runtime with rb-sys and Magnus\n- [lz4-ruby](https://github.com/yoshoku/lz4-ruby) - LZ4 compression library\n\n## Getting Help\n\n- Join the [Oxidize Ruby Slack](https://join.slack.com/t/oxidize-rb/shared_invite/zt-16zv5tqte-Vi7WfzxCesdo2TqF_RYBCw)\n  and post in the `#general` channel\n- [Open an issue](https://github.com/oxidize-rb/rb-sys/issues) on GitHub\n\n## Contributing\n\nSee the [CONTRIBUTING.md](./CONTRIBUTING.md) file for information about setting up a development environment.\n\n## License\n\nLicensed under either of:\n\n- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE))\n- MIT license ([LICENSE-MIT](LICENSE-MIT))\n\nat your option.\n","funding_links":["https://github.com/sponsors/ianks"],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxidize-rb%2Frb-sys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foxidize-rb%2Frb-sys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxidize-rb%2Frb-sys/lists"}