{"id":30587512,"url":"https://github.com/mytechnotalent/warp","last_synced_at":"2025-08-29T12:40:39.464Z","repository":{"id":295682551,"uuid":"990896320","full_name":"mytechnotalent/WARP","owner":"mytechnotalent","description":"WARP (WebAssembly Application Runtime using Packages) is a Rust-first toolkit for building modular WebAssembly components with WIT and cargo component. It enables fast, portable development of composable WASM apps.","archived":false,"fork":false,"pushed_at":"2025-05-26T20:26:17.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-26T21:25:04.913Z","etag":null,"topics":["abi","application-binary-interface","component","components","rust","wasm","wasm-bindgen","wasmtime","web","webassembly","webassembly-component","webassembly-component-model","webassembly-components","webassembly-demo","webassembly-lang","webassembly-runtime","webassembly-tutorial","wit"],"latest_commit_sha":null,"homepage":"","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/mytechnotalent.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-05-26T20:10:19.000Z","updated_at":"2025-05-26T20:33:01.000Z","dependencies_parsed_at":"2025-05-26T21:25:17.018Z","dependency_job_id":"eb6ea424-8614-4638-9604-501a081017a4","html_url":"https://github.com/mytechnotalent/WARP","commit_stats":null,"previous_names":["mytechnotalent/warp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mytechnotalent/WARP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mytechnotalent%2FWARP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mytechnotalent%2FWARP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mytechnotalent%2FWARP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mytechnotalent%2FWARP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mytechnotalent","download_url":"https://codeload.github.com/mytechnotalent/WARP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mytechnotalent%2FWARP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272687639,"owners_count":24976556,"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","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"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":["abi","application-binary-interface","component","components","rust","wasm","wasm-bindgen","wasmtime","web","webassembly","webassembly-component","webassembly-component-model","webassembly-components","webassembly-demo","webassembly-lang","webassembly-runtime","webassembly-tutorial","wit"],"created_at":"2025-08-29T12:40:38.093Z","updated_at":"2025-08-29T12:40:39.433Z","avatar_url":"https://github.com/mytechnotalent.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WARP\nWARP (WebAssembly Application Runtime using Packages) is a Rust-first toolkit for building modular WebAssembly components with WIT and cargo component. It enables fast, portable development of composable WASM apps.\n\n\u003cbr\u003e\n\n## Purpose\nWARP empowers developers to build portable, composable WebAssembly applications by leveraging the Component Model, WIT interfaces, and Rust as a first-class implementation language. The goal is to simplify the creation of modular Wasm components that communicate through clearly defined interfaces—eliminating the need for unsafe pointer manipulation or runtime glue.\n\nAt the core of WARP is the idea that components should be reusable, language-agnostic units of logic. Each component defines and/or consumes interfaces using WIT (WebAssembly Interface Types), which describe functions, records, enums, and resources in a language-neutral format. These interfaces are grouped into worlds, which represent a complete set of expected imports and exports for a component. Projects are organized into packages, which are versioned collections of WIT definitions and implementations.\n\nWARP streamlines the development process using cargo component for scaffolding, binding generation, and building, and wasmtime for running and composing components. By following the WARP structure, developers can create scalable applications with strong interface contracts and the flexibility to mix and match components from different packages, languages, or runtimes—all with Rust at the helm.\n\n\u003cbr\u003e\n\n## Install\n```bash\n./scaffold-component.sh\n```\n\n\u003cbr\u003e\n\n## Code `src/lib.rs`\n```rust\n#[allow(warnings)]\nmod bindings;\n\nuse bindings::Guest;\n\nstruct Component;\n\nimpl Guest for Component {\n    /// Say hello!\n    fn hello_world() -\u003e String {\n        \"Hello, World!\".to_string()\n    }\n}\n\nbindings::export!(Component with_types_in bindings);\n```\n\n## Code `wit/world.wit`\n```\npackage component:hello-world;\n\n/// An example world for the component to target.\nworld example {\n    export hello-world: func() -\u003e string;\n}\n```\n\n\u003cbr\u003e\n\n## License\n[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmytechnotalent%2Fwarp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmytechnotalent%2Fwarp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmytechnotalent%2Fwarp/lists"}