{"id":14967237,"url":"https://github.com/brianpugh/micropython-native-module-template","last_synced_at":"2026-02-03T12:01:08.456Z","repository":{"id":247297735,"uuid":"825454254","full_name":"BrianPugh/micropython-native-module-template","owner":"BrianPugh","description":"Template for creating Micropython native module libraries with pre-built binaries","archived":false,"fork":false,"pushed_at":"2024-07-07T21:21:25.000Z","size":26,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-09T16:43:04.501Z","etag":null,"topics":["micropython","module","native","native-module","optimization","pre-built","template"],"latest_commit_sha":null,"homepage":"","language":"Python","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/BrianPugh.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}},"created_at":"2024-07-07T20:20:43.000Z","updated_at":"2024-08-29T19:00:27.000Z","dependencies_parsed_at":"2024-07-07T23:32:33.095Z","dependency_job_id":null,"html_url":"https://github.com/BrianPugh/micropython-native-module-template","commit_stats":null,"previous_names":["brianpugh/micropython-native-module-template"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrianPugh%2Fmicropython-native-module-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrianPugh%2Fmicropython-native-module-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrianPugh%2Fmicropython-native-module-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrianPugh%2Fmicropython-native-module-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BrianPugh","download_url":"https://codeload.github.com/BrianPugh/micropython-native-module-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238191490,"owners_count":19431435,"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":["micropython","module","native","native-module","optimization","pre-built","template"],"created_at":"2024-09-24T13:37:41.010Z","updated_at":"2026-02-03T12:01:02.565Z","avatar_url":"https://github.com/BrianPugh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"A template to quickly get you creating an open-source native-module micropython library with linting and CI to automatically build binaries.\n\n# Usage\n\nTo use this template, click the green \"Use this template\" button in the github web interface.\nThen run:\n\n```bash\ngit clone YOUR_REPO\n# then cd into your local repo, and run:\n./bootstrap\n```\n\nAnd follow the on-screen prompts. ``bootstrap`` uses some git data (like detecting your username and repository name), so cloning the repo generated from the template is necessary.\n\nGeneral sanity checks and best practices are performed on provided responses. To disable these, run with the ``--no-verify`` flag:\n\n```bash\n./bootstrap --no-verify\n```\n\nThe resulting repository will contain a terse [FNV1a32](http://www.isthe.com/chongo/tech/comp/fnv) hash-function implementation, demonstrating various native-module features.\n\nPlease reference the [official micropython native-module examples](https://github.com/micropython/micropython/tree/master/examples/natmod) for more documentation.\n\n# Compatibility\n\nThis template's `bootstrap` functionality only works on MacOS/Linux/WSL, it *will not work natively on windows*.\n\n# Features\n* GitHub Actions to build \u0026 test native modules.\n   * Prebuilt binaries will be automatically uploaded to the release page on semver tag (`vX.Y.Z`).\n   * Go to your repo's github settings, go under `Actions\u003eGeneral\u003eWorkflow permissions` and check the radiobox for `Read and write permissions`.\n* [Pre-commit](https://pre-commit.com) for various sanity checks.\n* Preconfigured `Makefile` to automatically add python and C sources.\n* Unix-port unit testing (with dev dependencies handled by [Belay](https://github.com/BrianPugh/belay)).\n* A benchmark starter-script for measuring native module performance on a real micropython microcontroller board.\n\n# Reference\nIf you find this in the git history of a project and you like the structure, visit\nthis template at https://github.com/BrianPugh/micropython-native-module-template .\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrianpugh%2Fmicropython-native-module-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrianpugh%2Fmicropython-native-module-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrianpugh%2Fmicropython-native-module-template/lists"}