Skip to content

Instantly share code, notes, and snippets.

@njh
Created June 21, 2024 09:02
Show Gist options
  • Save njh/d4c8a61bdf7b3df7ee6cd0ac4e8432f2 to your computer and use it in GitHub Desktop.
Save njh/d4c8a61bdf7b3df7ee6cd0ac4e8432f2 to your computer and use it in GitHub Desktop.
Homebrew formula for meshtastic CLI
class Meshtastic < Formula
include Language::Python::Virtualenv
desc "Python CLI client for use with Meshtastic devices"
homepage "https://meshtastic.org/"
url "https://files.pythonhosted.org/packages/9c/0b/ba9a21a0580b5da8c7cb67b6a6da5862092dad5eb8be9c942781572b0de7/meshtastic-2.3.11.tar.gz"
sha256 "66d2b71fd0b007cf479763a237aa07043518683e1affe440104c8dbe1676133e"
license "Apache-2.0"
head "https://github.com/meshtastic/python.git", branch: "master"
depends_on "python-packaging"
depends_on "python-tabulate"
depends_on "python@3.12"
depends_on "pyyaml"
resource "protobuf" do
url "https://files.pythonhosted.org/packages/20/5f/00d891817d4031bbf4e846a99834bf949a76714c10a726833aa184176772/protobuf-5.27.1.tar.gz"
sha256 "df5e5b8e39b7d1c25b186ffdf9f44f40f810bbcc9d2b71d9d3156fee5a9adf15"
end
resource "pyserial" do
url "https://files.pythonhosted.org/packages/1e/7d/ae3f0a63f41e4d2f6cb66a5b57197850f919f59e558159a4dd3a818f5082/pyserial-3.5.tar.gz"
sha256 "3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb"
end
resource "dotmap" do
url "https://files.pythonhosted.org/packages/bc/68/c186606e4f2bf731abd18044ea201e70c3c244bf468f41368820d197fca5/dotmap-1.3.30.tar.gz"
sha256 "5821a7933f075fb47563417c0e92e0b7c031158b4c9a6a7e56163479b658b368"
end
resource "timeago" do
url "https://files.pythonhosted.org/packages/8c/d3/2d4152ea477223a1d10be0f33551341f5e3758a67f8bf831835c3722c350/timeago-1.0.15.tar.gz"
sha256 "cfce420d82892af6b2439d0f69eeb3e876bbeddab6670c3c88ebf7676407bf4c"
end
resource "pypubsub" do
url "https://github.com/schollii/pypubsub/archive/refs/tags/v4.0.3.tar.gz"
sha256 "0df83daa1cb0021bab858ff6812d836c9712dea59a5172be1888bb554c3a89a2"
end
resource "pyqrcode" do
url "https://files.pythonhosted.org/packages/37/61/f07226075c347897937d4086ef8e55f0a62ae535e28069884ac68d979316/PyQRCode-1.2.1.tar.gz"
sha256 "fdbf7634733e56b72e27f9bce46e4550b75a3a2c420414035cae9d9d26b234d5"
end
resource "bleak" do
url "https://files.pythonhosted.org/packages/03/76/733131e2935f4fcdc7a0dd47cbc5090e12d578297804fb0482575db43f3c/bleak-0.22.2.tar.gz"
sha256 "09010c0f4bd843e7dcaa1652e1bfb2450ce690da08d4c6163f0723aaa986e9fe"
end
resource "wcwidth" do
url "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz"
sha256 "72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"
end
resource "requests" do
url "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz"
sha256 "55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"
end
def install
virtualenv_install_with_resources
end
test do
system bin/"meshtastic", "--version"
system bin/"meshtastic", "--support"
end
end
# pyserial ✅
# protobuf>=5.26.0 ✅
# dotmap ✅
# timeago ✅ - old version
# pypubsub ✅
# tabulate ✅ (brew dependency)
# requests ✅
# pyyaml ✅ (brew dependency)
# bleak ✅
# pyqrcode ✅
# packaging ✅ (brew dependency)
# pytap2 - used for creating tunnel on Linux only
# pexpect - What is this used for?
# webencodings - What is this used for?
# pyparsing - ??
# twine - used for testing?
# autopep8 - code formatting tool
# pylint- static code analyser
# pytest - test framework
# pytest-cov - test coverage tool
# hypothesis - testing
# pdoc3 - Auto-generate API documentation for Python projects.
# mypy - type checking
# mypy-protobuf - type checking
# markdown - used by pandoc?
# types-protobuf>=5.26.0 - used by type-checking tools like mypy
# types-tabulate - used by type-checking tools like mypy
# types-requests - used by type-checking tools like mypy
# types-setuptools - used by type-checking tools like mypy
# types-PyYAML - used by type-checking tools like mypy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment