{"id":18103948,"url":"https://github.com/dearblue/ruby-extzstd","last_synced_at":"2026-03-01T02:05:52.940Z","repository":{"id":56845272,"uuid":"84313224","full_name":"dearblue/ruby-extzstd","owner":"dearblue","description":"ruby bindings for Zstd (Zstandard)","archived":false,"fork":false,"pushed_at":"2024-05-11T13:03:13.000Z","size":449,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-01T09:24:39.567Z","etag":null,"topics":["ruby","zstandard","zstd"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dearblue.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.ja.md","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2017-03-08T11:30:45.000Z","updated_at":"2024-05-11T12:59:39.000Z","dependencies_parsed_at":"2024-05-11T14:02:14.105Z","dependency_job_id":null,"html_url":"https://github.com/dearblue/ruby-extzstd","commit_stats":{"total_commits":58,"total_committers":2,"mean_commits":29.0,"dds":"0.24137931034482762","last_synced_commit":"06507e98051d373cf8f109d6d4485e6a5e9190f1"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/dearblue/ruby-extzstd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dearblue%2Fruby-extzstd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dearblue%2Fruby-extzstd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dearblue%2Fruby-extzstd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dearblue%2Fruby-extzstd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dearblue","download_url":"https://codeload.github.com/dearblue/ruby-extzstd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dearblue%2Fruby-extzstd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29958424,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T01:47:18.291Z","status":"online","status_checked_at":"2026-03-01T02:00:07.437Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ruby","zstandard","zstd"],"created_at":"2024-10-31T22:13:35.928Z","updated_at":"2026-03-01T02:05:52.917Z","avatar_url":"https://github.com/dearblue.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# extzstd - ruby bindings for Zstd (Zstandard)\n\nThis is unofficial ruby bindings for the data compression library\n[Zstd (Zstandard)](https://github.com/facebook/zstd).\n\n\"extzstd\" is supported decompression with the legacy formats (zstd-0.1 - 0.7).\n\n  - [HISTORY (in Japanese)](HISTORY.ja.md)\n  - [Quick reference](QUICKREF.md)\n\n\n## HOW TO USE\n\n### basic usage (simply encode/decode)\n\n``` ruby\n# First, load library\nrequire \"extzstd\"\n\n# Prepair data\nsource = \"sample data...\" * 50\n\n# simply compression\nencdata = Zstd.encode(source)\nputs \"encdata.bytesize=#{encdata.bytesize}\"\n\n# simply decompression\ndecdata = Zstd.decode(encdata)\nputs \"decdata.bytesize=#{decdata.bytesize}\"\n\n# Comparison source and decoded data\np source == decdata # =\u003e true\n```\n\n### Streaming compression (with block)\n\n``` ruby\noutport = StringIO.new(\"\")\nZstd.encode(outport) do |encoder|\n  encoder.write \"abcdefg\\n\"\n  encoder \u003c\u003c \"hijklmn\\n\"\n  encoder.write \"opqrstu\\n\"\n  encoder \u003c\u003c \"vwxyz\\n\"\nend\n```\n\n### Streaming compression (without block and write to file)\n\n``` ruby\nfile = File.open(\"sample.zst\", \"wb\")\nencoder = Zstd.encode(file)\n\nencoder.write \"abcdefg\\n\"\nencoder \u003c\u003c \"hijklmn\\n\"\nencoder.write \"opqrstu\\n\"\nencoder \u003c\u003c \"vwxyz\\n\"\n\nencoder.close\nfile.close\n```\n\n### Streaming decompression (with block and read from file)\n\n``` ruby\nFile.open(\"sample.zst\", \"rb\") do |file|\n  Zstd.decode(file) do |decoder|\n    p decoder.read(8)  # =\u003e \"abcdefg\\n\"\n    p decoder.read(1)  # =\u003e \"h\"\n    p decoder.read(2)  # =\u003e \"ij\"\n    p decoder.read     # =\u003e \"klmn\\nopqrstu\\nvwxyz\\n\"\n  end\nend\n```\n\n\n## Support `Ractor` (Ruby3 feature)\n\nRuby3 の `Ractor` に対応しています。\n\n```ruby\nrequire \"extzstd\"\n\nusing Zstd\n\np Ractor.new {\n  Ractor.yield (\"abcdefg\" * 9).to_zstd, move: true\n}.take\n```\n\n## Specification\n\n  - package name: extzstd\n  - project page: \u003chttps://github.com/dearblue/ruby-extzstd\u003e\n  - version: 0.4\n  - product quality: TECHNICAL PREVIEW, UNSTABLE\n  - license: [2 clause BSD License](LICENSE)\n  - author: dearblue\n  - support ruby: ruby-2.5+\n  - dependency ruby gems: (none)\n  - dependency library: (none)\n  - bundled external C library (git submodules):\n      - [zstd-1.5.6](https://github.com/facebook/zstd/blob/v1.5.6)\n        under dual licensed ([3 clause BSD License](https://github.com/facebook/zstd/blob/v1.5.6/LICENSE)\n        or [GNU General Public License, version 2](https://github.com/facebook/zstd/blob/v1.5.6/COPYING))\n        by [facebook](https://github.com/facebook)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdearblue%2Fruby-extzstd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdearblue%2Fruby-extzstd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdearblue%2Fruby-extzstd/lists"}