{"id":13416494,"url":"https://github.com/tildeio/helix","last_synced_at":"2025-09-27T10:32:04.545Z","repository":{"id":45814500,"uuid":"45665561","full_name":"tildeio/helix","owner":"tildeio","description":"Native Ruby extensions without fear","archived":true,"fork":false,"pushed_at":"2020-10-23T22:27:48.000Z","size":1449,"stargazers_count":1980,"open_issues_count":41,"forks_count":60,"subscribers_count":60,"default_branch":"master","last_synced_at":"2024-09-21T17:54:19.353Z","etag":null,"topics":["helix","ruby","rust"],"latest_commit_sha":null,"homepage":"https://usehelix.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tildeio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-06T07:06:36.000Z","updated_at":"2024-09-06T20:41:32.000Z","dependencies_parsed_at":"2022-09-21T22:20:31.901Z","dependency_job_id":null,"html_url":"https://github.com/tildeio/helix","commit_stats":null,"previous_names":["rustbridge/helix"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tildeio%2Fhelix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tildeio%2Fhelix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tildeio%2Fhelix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tildeio%2Fhelix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tildeio","download_url":"https://codeload.github.com/tildeio/helix/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219871985,"owners_count":16554477,"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":["helix","ruby","rust"],"created_at":"2024-07-30T21:00:59.703Z","updated_at":"2025-09-27T10:31:59.225Z","avatar_url":"https://github.com/tildeio.png","language":"Rust","funding_links":[],"categories":["Rust","Development tools","开发工具 Development tools","开发工具"],"sub_categories":["FFI","FFI FFI","示例 FFI"],"readme":"[![Travis Build Status](https://travis-ci.org/tildeio/helix.svg?branch=master)](https://travis-ci.org/tildeio/helix)\n[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/tildeio/helix?branch=master\u0026svg=true)](https://ci.appveyor.com/project/wagenet/helix)\n\n# ~~Helix~~\n\n\u003e :warning: **Deprecated** :warning:\n\u003e\n\u003e Sadly, we have made the decision to deprecate this project. While we had\n\u003e hoped to bootstrap the project to a point where it could flourish as a\n\u003e community project, unfortunately we ran into a number of roadblocks along the\n\u003e way, along with the need for significant architectural overhaul. While these\n\u003e issues are solvable on a technical level, doing so correctly requires more\n\u003e resources than we have been able to provide and progress has stalled.\n\u003e\n\u003e One of our goals was also to integrate our own Skylight agent with Helix,\n\u003e aligning the company's priorities with the project. While the Skylight agent\n\u003e is still written in Rust with a thin layer of C bindings (which is the part\n\u003e Helix would replace), we were not able to get the project to the point where\n\u003e we felt comfortable running it on our customer's servers. We did not identify\n\u003e any specific blockers that would prevent us from doing this, but ultimate, we\n\u003e did not have the necessary time and resources to realize this.\n\u003e\n\u003e Since we are a small team, it is unlikely that we will be able to provide the\n\u003e necessary investment in the foreseeable future to achieve our ambitions for\n\u003e the project. At this point, we believe it is in everyone's best interest to\n\u003e formally deprecate the project, accurately reflecting its effective state.\n\u003e Meanwhile, others in the Ruby and Rust communities have continued to explore\n\u003e in the adjacent research areas. Some of them have made great progress and\n\u003e brought new ideas and innovations to the table. We look forward to seeing\n\u003e these new ideas come to fruition and fill the void we are leaving.\n\nHelix allows you to write Ruby classes in Rust without having to write the glue code yourself.\n\n```rust\nruby! {\n    class Console {\n        def log(string: String) {\n            println!(\"LOG: {}\", string);\n        }\n    }\n}\n```\n\n```shell\n$ rake build\n$ bundle exec irb\n\u003e\u003e require \"console\"\n\u003e\u003e Console.log(\"I'm in your Rust\")\nLOG: I'm in your Rust\n =\u003e nil\n```\n\n## Why Helix?\n\nRead the [*Introducing Helix*](http://blog.skylight.io/introducing-helix/) blog post for a quick introduction to the project!\n\n## Getting Started\n\nhttps://usehelix.com/getting_started\n\n## Demos\n\nhttps://usehelix.com/demos\n\n## Roadmap\n\nhttps://usehelix.com/roadmap\n\n## Compatibility\n\nHelix has been tested with the following, though other combinations may also work.\n\n* cargo 0.18.0 (fe7b0cdcf 2017-04-24)\n* rustc 1.17.0 (56124baa9 2017-04-24)\n* ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]\n* Bundler version 1.14.6\n\n## Contributing\n\nIf you'd like to experiment with Helix, you can start with some of the examples in this repository.\n\nClone and download the Helix repository:\n```shell\n$ git clone https://github.com/tildeio/helix\n$ cd helix\n```\n\nNavigate to the console example folder and bundle your `Gemfile`:\n```shell\n$ cd examples/console\n$ bundle install\n```\n\nRun `rake irb` to build and start irb:\n```shell\n$ bundle exec rake irb\n```\n\nTry running some of the methods defined in `examples/console/src/lib.rs`:\n```shell\n\u003e c = Console.new\nConsole { helix: VALUE(0x7fdacc19a6a0) }\n =\u003e\n\u003e c.hello\nhello\n =\u003e nil\n\u003e c.loglog('hello', 'world')\nhello world\n =\u003e nil\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftildeio%2Fhelix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftildeio%2Fhelix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftildeio%2Fhelix/lists"}