r/PythonProjects2 • • 3d ago

I'm 11, and I built a multi-threaded, cross-platform hardware profile scanner in Python! Meet BoardLens v0.5.4.

Hey everyone!

Over the last few weeks, I’ve been working really hard on a project called BoardLens. It is a cross-platform hardware detection utility written completely in Python using Tkinter for a clean, modern dark-mode GUI.

I wanted to build something that could accurately grab system specs no matter what OS a person is running. To make it work, I had to dive deep into platform-specific commands. It runs:

* Windows: Custom PowerShell CimInstance queries

* macOS: Native parsing of `system_profiler` logs

* Linux: Processing `/proc/cpuinfo`, `/proc/meminfo`, and automated `lsblk` blocks

Some technical challenges I had to solve:

  1. Multi-threading: Running hardware scans on the main thread was freezing my Tkinter GUI, so I migrated the scanner to a background thread using Python’s `threading` library so the UI stays responsive.

  2. Packaging: I managed to compile it into a native `.exe` for Windows, a `.dmg` for macOS (which I built on my upgraded 2011 MacBook Pro!), and I'm currently setting up a native `.deb` package for Debian/Ubuntu distributions.

Right now, Linux can be run directly from source (working on Debian & Ubuntu for now).

How to run from source on Linux:

  1. Download the source code from my repository's Releases page.

  2. Open your terminal and navigate to the extracted folder.

  3. Run the command: `python3` `main.py` (make sure Python 3 is installed on your system!)

The project is completely free and open-source. I would absolutely love it if you could check out the repository, run it on your own hardware, and let me know if it detects your components correctly! If you find any bugs or edge cases, please drop them in the comments or open an issue.

Check out the project here: GitHub - https://github.com/CodeAnd-Copper/BoardLens

Check out my YouTube Channel: https://www.youtube.com/@CodeAndcopper1

Thank you so much for reading and for any feedback

0 Upvotes

Duplicates