GitHub - byrencheema/airstats: A menu bar system monitor for macOS. CPU, memory, GPU, network, disk, battery and thermals at 0.046% CPU. · GitHub
/" data-turbo-transient="true" />
Skip to content
Search/
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
byrencheema
airstats
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Latest commit
History<br>87 Commits<br>87 Commits
Folders and files<br>NameNameLast commit message<br>Last commit date<br>.github/workflows
.github/workflows
Resources
Resources
Scripts
Scripts
Sources
Sources
Tests/AirStatKitTests
Tests/AirStatKitTests
docs
docs
.gitignore
.gitignore
CONTRIBUTING.md
CONTRIBUTING.md
LICENSE
LICENSE
Package.resolved
Package.resolved
Package.swift
Package.swift
README.md
README.md
View all files
Repository files navigation
AirStats
AirStats is a system monitor for the Mac menu bar. It reads CPU, memory, GPU, network,<br>disk, battery, temperature, process and host statistics from the kernel and shows them in<br>three places: the menu bar itself, a panel that drops down when you click the status item,<br>and a floating overlay you can leave on your desktop.
It is built to be genuinely light. A menu bar monitor runs all day, every day, so AirStats<br>holds a few megabytes and a fraction of a percent of one core rather than the tens of<br>megabytes its peers take. It has no Dock icon, and reads the system through Mach, IOKit,<br>sysctl and CoreWLAN.
Requirements
macOS 14 or later
Apple silicon or Intel
Install
Download it from airstats.app, open the dmg and drag the app to<br>Applications. It is signed and notarized, so it opens with no warning.
Or with Homebrew:
brew install --cask byrencheema/tap/airstats
AirStats updates itself with Sparkle. It asks airstats.app<br>once a week whether a newer version exists, and installs one only when you say so. Both of<br>those can be turned off in General settings.
Build from source
You need the Swift 6 toolchain that ships with Xcode 16.
Scripts/build.sh release<br>cp -R .build/arm64-apple-macosx/release/AirStats.app /Applications/<br>open /Applications/AirStats.app
Scripts/build.sh wraps the SwiftPM binary in a .app bundle, copies Sparkle.framework<br>into Contents/Frameworks, and signs it ad hoc. macOS grants a status item only to a<br>signed bundle with LSUIElement set. Run the script with no argument for a debug build.
An ad-hoc signature is enough to run a build you made yourself, and not enough to travel:<br>macOS refuses an ad-hoc bundle that arrived over the internet. Scripts/release.sh is what<br>produces the download above, signing with a Developer ID certificate and stapling Apple's<br>notarization ticket to the .dmg.
Source layout
Path<br>What lives there
Sources/AirStatKit<br>Collectors, the sampling engine, settings, formatting. No UI.
Sources/AirStatUI<br>Menu bar drawing, panel, overlay, settings window, charts, design system.
Sources/AirStats<br>The executable, app delegate, and the probe and render commands.
Tests/AirStatKitTests<br>Contract tests for the collectors, plus settings and formatting.
Scripts/build.sh<br>Builds the binary and assembles the .app.
Scripts/release.sh<br>Signs, notarizes and packages the .dmg that ships.
Scripts/appcast.py<br>Writes a release into the appcast Sparkle reads.
Scripts/benchmark.py<br>Samples the menu bar monitors on your Mac over one shared window.
AirStatKit never imports SwiftUI or AppKit, which is what lets the tests and the probe<br>run in a windowless process.
Contributing
CONTRIBUTING.md has the checks to run before a pull request and the<br>house rules.
License
MIT. See LICENSE.
About<br>A menu bar system monitor for macOS. CPU, memory, GPU, network, disk, battery and thermals at 0.046% CPU.<br>airstats.app<br>Topics<br>appkitmacosmenu-barswiftswiftuisystem-monitor<br>Resources<br>Readme<br>MIT license<br>Contributing<br>Contributing<br>Activity<br>Stars<br>4 stars<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report repository
Releases
Packages
Contributors
Languages
You can’t perform that action at this time.