{"id":25429488,"url":"https://github.com/spinframework/spin","last_synced_at":"2026-05-01T21:05:51.543Z","repository":{"id":37040352,"uuid":"423679664","full_name":"spinframework/spin","owner":"spinframework","description":"Spin is the open source developer tool for building and running serverless applications powered by WebAssembly.","archived":false,"fork":false,"pushed_at":"2026-04-27T11:54:11.000Z","size":34068,"stargazers_count":6388,"open_issues_count":286,"forks_count":303,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-04-27T13:24:25.687Z","etag":null,"topics":["serverless","spin","webassembly"],"latest_commit_sha":null,"homepage":"https://spinframework.dev","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/spinframework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE.md","maintainers":"MAINTAINERS.md","copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-11-02T02:17:06.000Z","updated_at":"2026-04-26T20:01:13.000Z","dependencies_parsed_at":"2026-01-13T04:08:39.541Z","dependency_job_id":null,"html_url":"https://github.com/spinframework/spin","commit_stats":{"total_commits":2627,"total_committers":85,"mean_commits":"30.905882352941177","dds":0.7898743814236772,"last_synced_commit":"2b4a98201da31b4384ca0a6a5fe4c25abe0b5199"},"previous_names":["spinframework/spin","fermyon/spin"],"tags_count":121,"template":false,"template_full_name":null,"purl":"pkg:github/spinframework/spin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinframework%2Fspin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinframework%2Fspin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinframework%2Fspin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinframework%2Fspin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spinframework","download_url":"https://codeload.github.com/spinframework/spin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spinframework%2Fspin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32512713,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"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":["serverless","spin","webassembly"],"created_at":"2025-02-17T02:01:39.566Z","updated_at":"2026-05-01T21:05:51.532Z","avatar_url":"https://github.com/spinframework.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./docs/static/image/logo-dark.png\"\u003e\n    \u003cimg alt=\"spin logo\" src=\"./docs/static/image/logo.png\" width=\"300\" height=\"128\"\u003e\n  \u003c/picture\u003e\n  \u003cp\u003eSpin is a framework for building, deploying, and running fast, secure, and composable cloud microservices with WebAssembly.\u003c/p\u003e\n      \u003ca href=\"https://github.com/spinframework/spin/actions/workflows/build.yml\"\u003e\u003cimg src=\"https://github.com/spinframework/spin/actions/workflows/build.yml/badge.svg\" alt=\"build status\" /\u003e\u003c/a\u003e\n      \u003ca href=\"https://cloud-native.slack.com/archives/C089NJ9G1V0\"\u003e\u003cimg alt=\"Slack\" src=\"https://img.shields.io/badge/slack-spin-green.svg?logo=slack\"\u003e\u003c/a\u003e\n      \u003ca href=\"https://www.bestpractices.dev/projects/10373\"\u003e\u003cimg src=\"https://www.bestpractices.dev/projects/10373/badge\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n## What is Spin?\n\nSpin is an open source framework for building and running fast, secure, and\ncomposable cloud microservices with WebAssembly. It aims to be the easiest way\nto get started with WebAssembly microservices, and takes advantage of the latest\ndevelopments in the\n[WebAssembly component model](https://github.com/WebAssembly/component-model)\nand [Wasmtime](https://wasmtime.dev/) runtime.\n\nSpin offers a simple CLI that helps you create, distribute, and execute\napplications, and in the next sections we will learn more about Spin\napplications and how to get started.\n\n## Getting started\n\nSee the [Install Spin](https://spinframework.dev/install) page of the [Spin documentation](https://spinframework.dev) for a detailed\nguide on installing and configuring Spin, but in short run the following commands:\n```bash\ncurl -fsSL https://spinframework.dev/downloads/install.sh | bash\nsudo mv ./spin /usr/local/bin/spin\n```\n\nAlternatively, you could [build Spin from source](https://spinframework.dev/contributing-spin).\n\nTo get started writing apps, follow the [quickstart guide](https://spinframework.dev/quickstart/),\nand then follow the\n[Rust](https://spinframework.dev/rust-components/), [JavaScript](https://spinframework.dev/javascript-components), [Python](https://spinframework.dev/python-components), or [Go](https://spinframework.dev/go-components/)\nlanguage guides, and the [guide on writing Spin applications](https://spinframework.dev/writing-apps/).\n\n## Language support\n\nWebAssembly is a language-agnostic runtime: you can build WebAssembly components from a variety of source languages. Spin SDKs are available for several languages, including:\n\n* JavaScript: https://github.com/spinframework/spin-js-sdk\n* Rust: https://crates.io/crates/spin-sdk\n* Go: https://pkg.go.dev/github.com/fermyon/spin/sdk/go/v2\n* Python: https://github.com/spinframework/spin-python-sdk\n* Zig: https://github.com/dasimmet/zig-spin (third party)\n* Moonbit: https://github.com/gmlewis/spin-moonbit-sdk (third party)\n\n\u003e The Spin framework team supports the JavaScript, Rust, Go, and Python SDKs. Other language integrations are supported by their authors, and we're grateful to them for their work!\n\n## Usage\n\nBelow is an example of using the `spin` CLI to create a new Spin application.  To run the example you will need to install the `wasm32-wasip2` target for Rust.\n\n```bash\n$ rustup target add wasm32-wasip2\n```\n\nFirst, run the `spin new` command to create a Spin application from a template.\n```bash\n# Create a new Spin application named 'hello-rust' based on the Rust http template, accepting all defaults\n$ spin new --accept-defaults -t http-rust hello-rust\n```\nRunning the `spin new` command created a `hello-rust` directory with all the necessary files for your application. Change to the `hello-rust` directory and build the application with `spin build`, then run it locally with `spin up`:\n\n```bash\n# Compile to Wasm by executing the `build` command.\n$ spin build\nExecuting the build command for component hello-rust: cargo build --target wasm32-wasip2 --release\n    Finished release [optimized] target(s) in 0.03s\nSuccessfully ran the build command for the Spin components.\n\n# Run the application locally.\n$ spin up\nLogging component stdio to \".spin/logs/\"\n\nServing http://127.0.0.1:3000\nAvailable Routes:\n  hello-rust: http://127.0.0.1:3000 (wildcard)\n```\n\nThat's it! Now that the application is running, use your browser or cURL in another shell to try it out:\n\n```bash\n# Send a request to the application.\n$ curl -i 127.0.0.1:3000\nHTTP/1.1 200 OK\ncontent-type: text/plain\ntransfer-encoding: chunked\ndate: Sun, 02 Mar 2025 20:09:11 GMT\n\nHello World!\n```\n\nYou can make the app do more by editting the `src/lib.rs` file in the `hello-rust` directory using your favorite editor or IDE. To learn more about writing Spin applications see [Writing Applications](https://spinframework.dev/writing-apps) in the Spin documentation.  To learn how to publish and distribute your application see the [Publishing and Distribution](https://spinframework.dev/distributing-apps) guide in the Spin documentation.\n\n## Language Support for Spin Features\n\nThe table below summarizes the [feature support](https://spinframework.dev/language-support-overview) in each of the language SDKs.\n\n| Feature | Rust SDK Supported? | TypeScript SDK Supported? | Python SDK Supported? | Tiny Go SDK Supported? | C# SDK Supported? |\n|-----|-----|-----|-----|-----|-----|\n| **Triggers** |\n| [HTTP](https://spinframework.dev/http-trigger) | Supported | Supported | Supported | Supported | Supported |\n| [Redis](https://spinframework.dev/redis-trigger) | Supported | Supported | Supported | Supported | Not Supported |\n| **APIs** |\n| [Outbound HTTP](https://spinframework.dev/rust-components.md#sending-outbound-http-requests) | Supported | Supported | Supported | Supported | Supported |\n| [Configuration Variables](https://spinframework.dev/variables) | Supported | Supported | Supported | Supported | Supported |\n| [Key Value Storage](https://spinframework.dev/kv-store-api-guide) | Supported | Supported | Supported | Supported | Not Supported |\n| [SQLite Storage](https://spinframework.dev/sqlite-api-guide) | Supported | Supported | Supported | Supported | Not Supported |\n| [MySQL](https://spinframework.dev/rdbms-storage#using-mysql-and-postgresql-from-applications) | Supported | Supported | Not Supported | Supported | Not Supported |\n| [PostgreSQL](https://spinframework.dev/rdbms-storage#using-mysql-and-postgresql-from-applications) | Supported | Supported | Not Supported | Supported | Supported |\n| [Outbound Redis](https://spinframework.dev/rust-components.md#storing-data-in-redis-from-rust-components) | Supported | Supported | Supported | Supported | Supported |\n| [Serverless AI](https://spinframework.dev/serverless-ai-api-guide) | Supported | Supported | Supported | Supported | Not Supported |\n| **Extensibility** |\n| [Authoring Custom Triggers](https://spinframework.dev/extending-and-embedding) | Supported | Not Supported | Not Supported | Not Supported | Not Supported |\n\n## Getting Involved and Contributing\n\nWe are delighted that you are interested in making Spin better! Thank you!\n\nEach Monday at 2:30pm UTC (odd weeks) and 9:00pm UTC (even weeks), we meet to discuss Spin issues, roadmap, and ideas in our Spin Project Meetings. Link to the meeting can be found in the Spin Project Meeting agenda below.\n\nThe [Spin Project Meeting agenda](https://docs.google.com/document/d/1EG392gb8Eg-1ZEPDy18pgFZvMMrdAEybpCSufFXoe00/edit?usp=sharing) is a public document. The document contains a rolling agenda with the date and time of each meeting, the Zoom link, and topics of discussion for the day. You will also find the meeting minutes for each meeting and the link to the recording. If you have something you would like to demo or discuss at the project meeting, we encourage you to add it to the agenda.\n\nYou can find the contributing guide [here](https://spinframework.dev/contributing-spin).\n\n## Stay in Touch\n\nFollow us on Twitter: [@spinframework](https://twitter.com/spinframework)\n\nYou can join the Spin community in the [Spin CNCF Slack channel](https://cloud-native.slack.com/archives/C089NJ9G1V0) where you can ask questions, get help, and show off the cool things you are doing with Spin!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspinframework%2Fspin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspinframework%2Fspin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspinframework%2Fspin/lists"}