https://github.com/brianpugh/micropython-native-module-template

Template for creating Micropython native module libraries with pre-built binaries

https://github.com/brianpugh/micropython-native-module-template

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords

micropython module native native-module optimization pre-built template
Last synced: 5 months ago · JSON representation

Repository

Template for creating Micropython native module libraries with pre-built binaries

Basic Info
  • Host: GitHub
  • Owner: BrianPugh
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 25.4 KB
Statistics
  • Stars: 4
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
micropython module native native-module optimization pre-built template
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

A template to quickly get you creating an open-source native-module micropython library with linting and CI to automatically build binaries.

Usage

To use this template, click the green "Use this template" button in the github web interface. Then run:

```bash git clone YOUR_REPO

then cd into your local repo, and run:

./bootstrap ```

And 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.

General sanity checks and best practices are performed on provided responses. To disable these, run with the --no-verify flag:

bash ./bootstrap --no-verify

The resulting repository will contain a terse FNV1a32 hash-function implementation, demonstrating various native-module features.

Please reference the official micropython native-module examples for more documentation.

Compatibility

This template's bootstrap functionality only works on MacOS/Linux/WSL, it will not work natively on windows.

Features

  • GitHub Actions to build & test native modules.
    • Prebuilt binaries will be automatically uploaded to the release page on semver tag (vX.Y.Z).
    • Go to your repo's github settings, go under Actions>General>Workflow permissions and check the radiobox for Read and write permissions.
  • Pre-commit for various sanity checks.
  • Preconfigured Makefile to automatically add python and C sources.
  • Unix-port unit testing (with dev dependencies handled by Belay).
  • A benchmark starter-script for measuring native module performance on a real micropython microcontroller board.

Reference

If you find this in the git history of a project and you like the structure, visit this template at https://github.com/BrianPugh/micropython-native-module-template .

Owner

  • Name: Brian Pugh
  • Login: BrianPugh
  • Kind: user
  • Location: Washington D.C.

Deep Learning Scientist and blockchain enthusiast

GitHub Events

Total
Last Year

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 1
  • Total Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Brian Pugh b****7@g****m 1

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/mpy_native_module.yaml actions
  • BrianPugh/install-micropython v2 composite
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
  • carlosperate/arm-none-eabi-gcc-action v1.8.1 composite
  • softprops/action-gh-release v2 composite
pyproject.toml pypi