Skip to content

Is a macOS application designed to test your internet connection speed using Python. The program provides a convenient interface for measuring download, upload, and ping speeds, and also supports retesting and viewing test history.

License

Notifications You must be signed in to change notification settings

AlexTkDev/macOS_application_speedtest_for_python

Repository files navigation

🚀 Internet Speed Test for macOS

A modern, beautiful, and fast macOS app to check your internet speed! Powered by Python, with a dark UI, smooth animations, and instant results.


✨ Features

  • One-click Speed Test — Check your download, upload, and ping in seconds
  • 🌙 Modern Dark UI — Stylish, easy on the eyes (ttkbootstrap)
  • 🔔 Toast Notifications — Instant feedback for test results and errors
  • 📊 History & Graphs — View, export, and plot your speed test history
  • 🖥️ Network Info — See your active network adapter details
  • 📝 Logging — All actions are logged for easy troubleshooting
  • 🧪 Fully Tested — 100% passing unit tests, CI-ready

🛠️ Installation

Requirements:

  • macOS 10.14+
  • Python 3.8+ (with Tkinter)
# Clone the repo git clone https://github.com/AlexTkDev/macOS_application_speedtest_for_python.git cd macOS_application_speedtest_for_python python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt

▶️ Usage

Run the app:

python main.py

Or build a native .app:

pyinstaller main.spec open dist/Alex_SpeedTest.app

🧩 Project Structure

macOS_application_speedtest_for_python/ ├── speedtest_app/ # Main package │ ├── alexs_speedtest.py # Main app (async, threads) │ ├── network_adapter_information.py │ ├── test_history.py │ ├── gui/ │ ├── utils/ │ └── tests/ ├── main.py # Entry point ├── main.spec # PyInstaller config ├── requirements.txt # Dependencies ├── setup.py # Installer ├── README.md # Docs 

💡 How It Works

  1. Click Start Speed Test — everything runs in the background, UI stays responsive
  2. See your results instantly, repeat as needed
  3. View/export your test history, plot interactive graphs
  4. All network info and history are fetched asynchronously
  5. Toasts notify you of completion or errors

🐞 Troubleshooting

  • App won't open? Try:
    xattr -dr com.apple.quarantine dist/Alex_SpeedTest.app dist/Alex_SpeedTest.app/Contents/MacOS/alexs_speedtest
  • Missing Tkinter? Reinstall Python with Tk support
  • More help: check ~/Documents/SpeedTest_Logs/speedtest_log.log

🧪 Tests

python -m unittest discover

📄 License

MIT — see LICENSE


🤝 Contributing

PRs welcome! See CONTRIBUTING in the repo.


💬 Contact

Questions or ideas? Open an issue or reach out on GitHub

About

Is a macOS application designed to test your internet connection speed using Python. The program provides a convenient interface for measuring download, upload, and ping speeds, and also supports retesting and viewing test history.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages