{"id":29470022,"url":"https://github.com/zuki-dev/zuki","last_synced_at":"2025-07-14T12:02:28.994Z","repository":{"id":303378945,"uuid":"1015317941","full_name":"zuki-dev/zuki","owner":"zuki-dev","description":"High-performance async runtime for Zig — fast, cross-platform, and zero-cost by design","archived":false,"fork":false,"pushed_at":"2025-07-07T10:19:47.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-07T10:26:28.655Z","etag":null,"topics":["async","concurrency","event-loop","runtime","zig","zuki"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zuki-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"zenodo":null}},"created_at":"2025-07-07T10:19:46.000Z","updated_at":"2025-07-07T10:22:03.000Z","dependencies_parsed_at":"2025-07-07T10:26:35.967Z","dependency_job_id":"2def4905-2ad8-4dea-8e45-b6d90cbc5886","html_url":"https://github.com/zuki-dev/zuki","commit_stats":null,"previous_names":["zuki-dev/zuki"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zuki-dev/zuki","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zuki-dev%2Fzuki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zuki-dev%2Fzuki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zuki-dev%2Fzuki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zuki-dev%2Fzuki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zuki-dev","download_url":"https://codeload.github.com/zuki-dev/zuki/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zuki-dev%2Fzuki/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265288496,"owners_count":23741194,"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":["async","concurrency","event-loop","runtime","zig","zuki"],"created_at":"2025-07-14T12:01:17.951Z","updated_at":"2025-07-14T12:02:28.977Z","avatar_url":"https://github.com/zuki-dev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# zuki\nHigh-performance async runtime for Zig — fast, cross-platform, and zero-cost by design\n\n## ⚠️ EARLY DEVELOPMENT NOTICE ⚠️\n\n**This project is in early development and is not ready for production use!**\n\nZuki is currently being actively developed, and APIs may change frequently without warning. Use at your own risk.\n\n## Features\n\n- Task-based asynchronous execution\n- Future/Poll pattern similar to Rust's async model\n- Waker-based task notification system\n- Priority-based task scheduling\n- Single-threaded executor (multi-threaded coming soon)\n\n## Waker System\n\nThe Zuki waker system is designed to efficiently manage asynchronous task execution. When a task is polled and returns `Pending`, it's moved to a pending queue. The waker mechanism allows the task to signal when it's ready to make progress again.\n\nKey components:\n\n1. **Waker**: A struct that contains a function pointer and data pointer for waking tasks\n2. **Context**: Passed to futures during polling, contains the waker\n3. **WakerData**: Links tasks to their executor for re-scheduling\n\nWhen a future signals it's ready (e.g., I/O completes, timer expires), it calls `waker.wake()`, which moves the task from the pending queue back to the ready queue.\n\n## Roadmap to MVP (0.1.0)\n\nThe following features are planned for the initial 0.1.0 release:\n\n**Foundation (Complete):**\n- [x] Task abstraction with priority scheduling\n- [x] Future/Poll pattern for asynchronous operations\n- [x] Waker mechanism for task notifications\n- [x] Single-threaded executor\n\n**High-Level APIs:**\n- [ ] Runtime abstraction for easier usage\n- [ ] Built-in delay/timeout futures\n- [ ] Simplified task spawning\n- [ ] Basic I/O operations (file, network)\n\n**Advanced Features:**\n- [ ] Cancellation support\n- [ ] Task joining and combining\n- [ ] Error handling patterns\n- [ ] Complete documentation and examples\n\n## Running the Examples\n\nAll examples can be built with:\n\n```bash\nzig build ex\n```\n\n### Running Tests\n\nThe project includes a comprehensive test suite covering all async runtime components:\n\n```bash\nzig build test\n```\n\nThis runs **47 tests** across 5 test files:\n- `test_poll.zig` - Poll system and state management\n- `test_waker.zig` - Waker mechanism and callbacks  \n- `test_task.zig` - Task abstraction and lifecycle\n- `test_executor.zig` - Single-threaded executor\n- `test_integration.zig` - End-to-end async coordination\n\nSee [TESTING.md](TESTING.md) for detailed test documentation.\n\n### Low-Level Executor Test\n\n```bash\nzig build executor_test\n```\n\nThis is a **low-level example** that demonstrates the foundational APIs:\n- Manual task creation and spawning\n- Direct executor management\n- Explicit polling and waker usage\n\n### Clean Async Example (Future Vision)\n\n```bash\nzig build clean_async\n```\n\nThis shows a **higher-level API** that's planned for future releases:\n- Simplified runtime management\n- Cleaner task spawning\n- Built-in delay primitives\n\n**Note**: The current examples are verbose because we're at the foundational layer. Higher-level APIs like `async/await` syntax and built-in I/O primitives will make usage much more ergonomic.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzuki-dev%2Fzuki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzuki-dev%2Fzuki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzuki-dev%2Fzuki/lists"}