{"id":13433168,"url":"https://github.com/tessel/project","last_synced_at":"2026-01-18T21:03:33.496Z","repository":{"id":29672832,"uuid":"33215100","full_name":"tessel/project","owner":"tessel","description":"The open source Tessel Project. Start here!","archived":false,"fork":false,"pushed_at":"2023-08-30T20:44:34.000Z","size":340,"stargazers_count":347,"open_issues_count":29,"forks_count":70,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-03-17T10:42:49.730Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://tessel.io/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tessel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSES.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-03-31T23:10:03.000Z","updated_at":"2025-02-01T21:06:25.000Z","dependencies_parsed_at":"2022-09-03T18:22:54.736Z","dependency_job_id":"cfd290c2-1aa0-474e-b14c-4db04ec37730","html_url":"https://github.com/tessel/project","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tessel/project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessel%2Fproject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessel%2Fproject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessel%2Fproject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessel%2Fproject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tessel","download_url":"https://codeload.github.com/tessel/project/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessel%2Fproject/sbom","scorecard":{"id":874942,"data":{"date":"2025-08-11","repo":{"name":"github.com/tessel/project","commit":"a4eb49aa68133967ca0d0b917fc12b85cec2fb9c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Code-Review","score":7,"reason":"Found 10/13 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSES.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-24T05:37:13.620Z","repository_id":29672832,"created_at":"2025-08-24T05:37:13.620Z","updated_at":"2025-08-24T05:37:13.620Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28550497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T20:59:07.572Z","status":"ssl_error","status_checked_at":"2026-01-18T20:59:02.799Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-07-31T02:01:21.945Z","updated_at":"2026-01-18T21:03:33.480Z","avatar_url":"https://github.com/tessel.png","language":null,"readme":"# \u003cimg src=\"https://cloud.githubusercontent.com/assets/80639/7736468/c78ac686-fef8-11e4-9931-cc3ef8fd37a0.png\" width=\"600\" alt=\"The Tessel Project\"\u003e\n\n[![Code of Conduct](https://img.shields.io/badge/%E2%9D%A4-code%20of%20conduct-blue.svg?style=flat)](https://github.com/tessel/project/blob/master/CONDUCT.md) [![](https://slackin.tessel.io/badge.svg)](https://slackin.tessel.io/)\n\n## What is this project?\nTessel is a completely open source and community-driven IoT and robotics development platform. It encompasses development boards, hardware module add-ons, and the software that runs on them.\n\nOne common misconception is that we're a company. We're not! We're just a collection of (unpaid) people who find it worthwhile to spend our time building towards the Tessel Project [mission](MISSION.md).\n\n### Important announcement\nWhile this project has seen quieter days in terms of maintenance, we're excited to see new contributors like you keeping the spirit alive. Even though it might not receive regular updates, the fact that your tessel is still functioning is a testament to the quality of this project.\n\n### Maintenance status?\nPlease note that Project is currently an unmaintained open source project. While we may not be able to provide timely support or actively address issues, we encourage you to explore, experiment, and make the most of what's already here.\n\n### Working with the Code\nFeel free to tinker with the codebase, propose improvements, or even fix issues that you come across. Your contributions are immensely valuable, and we hope you can help breathe new life into this project.\n\n### What is this Tessel Project all about?\nTessel is about designing intuitive and accessible hardware development experiences around the open web. Feel free to read more about our [mission](MISSION.md) and [governance model](GOVERNANCE.md). Please also read and adhere to our [code of conduct](https://github.com/tessel/project/blob/master/CONDUCT.md).\n\n### What can I find in this repo?\nThis repository is for the organization and governance of the Tessel project as a whole. For code, see the [Tessel GitHub organization](https://github.com/tessel).\n\nFor an introduction to the project's organization and key repos, check out the [Technical Overview](https://tessel.gitbooks.io/t2-docs/content/Debugging/Technical_Overview.html)\n\n# How can I get involved with the Tessel Project?\n\n## Quickest start\n\nFind an issue tagged [\"contribution-starter\"](https://github.com/issues?q=is%3Aopen+is%3Aissue+label%3Acontribution-starter+user%3Atessel) and start working!\n\n## Quick start\n\n1. Read the [Technical Overview](https://tessel.gitbooks.io/t2-docs/content/Debugging/Technical_Overview.html) to see if any particular area of the project strikes your fancy.\n\n\n## The (slightly) longer version\n\nBy contributing to Tessel, you'll be a valued member of a passionate, diverse team and one of the pioneers of the burgeoning connected devices space. Here are some ways in which you can get involved:\n\n* Submit code or patches for [Tessel modules and tools](https://github.com/tessel)\n* [Discuss the Tessel Project's goals and governance](https://github.com/tessel/project/issues)\n\nLearn more about how we [collaborate using Github](CONTRIBUTING.md):\n\n* [Feature Requests](CONTRIBUTING.md#feature-requests)\n* [Bug Reports](CONTRIBUTING.md#bug-reports)\n* [Pull Requests](CONTRIBUTING.md#pull-requests)\n* [Issue Triage](CONTRIBUTING.md#issue-triage)\n\nAll contributors are expected to follow our [Code of Conduct](CONDUCT.md).\n\n# Read more\n\n* [Contribution Guide](CONTRIBUTING.md)\n* [Mission](MISSION.md) of the Tessel Project\n* [Code of Conduct](CONDUCT.md) for the Tessel community\n* [Governance Structure](GOVERNANCE.md) and [Membership](TEAM.md) of the Steering Committee\n* [Meeting Notes](meetings/)\n\n# Contribute\n\nTessel is in part funded by contributions through [Open Collective](https://opencollective.com/tessel).\n\n## Backers\n\nSupport us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/tessel#backer)]\n\n\u003ca href=\"https://opencollective.com/tessel/backer/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/9/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/10/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/10/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/11/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/11/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/12/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/12/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/13/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/13/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/14/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/14/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/15/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/15/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/16/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/16/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/17/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/17/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/18/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/18/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/19/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/19/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/20/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/20/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/21/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/21/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/22/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/22/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/23/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/23/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/24/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/24/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/25/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/25/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/26/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/26/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/27/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/27/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/28/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/28/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/backer/29/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/backer/29/avatar.svg\"\u003e\u003c/a\u003e\n\n## Sponsors\n\nBecome a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/tessel#sponsor)]\n\n\u003ca href=\"https://opencollective.com/tessel/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/10/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/10/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/11/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/11/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/12/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/12/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/13/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/13/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/14/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/14/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/15/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/15/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/16/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/16/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/17/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/17/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/18/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/18/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/19/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/19/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/20/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/20/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/21/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/21/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/22/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/22/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/23/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/23/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/24/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/24/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/25/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/25/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/26/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/26/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/27/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/27/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/28/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/28/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/tessel/sponsor/29/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/tessel/sponsor/29/avatar.svg\"\u003e\u003c/a\u003e\n","funding_links":["https://opencollective.com/tessel","https://opencollective.com/tessel/backer/0/website","https://opencollective.com/tessel/backer/1/website","https://opencollective.com/tessel/backer/2/website","https://opencollective.com/tessel/backer/3/website","https://opencollective.com/tessel/backer/4/website","https://opencollective.com/tessel/backer/5/website","https://opencollective.com/tessel/backer/6/website","https://opencollective.com/tessel/backer/7/website","https://opencollective.com/tessel/backer/8/website","https://opencollective.com/tessel/backer/9/website","https://opencollective.com/tessel/backer/10/website","https://opencollective.com/tessel/backer/11/website","https://opencollective.com/tessel/backer/12/website","https://opencollective.com/tessel/backer/13/website","https://opencollective.com/tessel/backer/14/website","https://opencollective.com/tessel/backer/15/website","https://opencollective.com/tessel/backer/16/website","https://opencollective.com/tessel/backer/17/website","https://opencollective.com/tessel/backer/18/website","https://opencollective.com/tessel/backer/19/website","https://opencollective.com/tessel/backer/20/website","https://opencollective.com/tessel/backer/21/website","https://opencollective.com/tessel/backer/22/website","https://opencollective.com/tessel/backer/23/website","https://opencollective.com/tessel/backer/24/website","https://opencollective.com/tessel/backer/25/website","https://opencollective.com/tessel/backer/26/website","https://opencollective.com/tessel/backer/27/website","https://opencollective.com/tessel/backer/28/website","https://opencollective.com/tessel/backer/29/website"],"categories":["Others","IoT 笔记"],"sub_categories":["开发平台"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftessel%2Fproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftessel%2Fproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftessel%2Fproject/lists"}