A library that auto reloads your tkinter app whenever file changes are detected.
Project description
tkreload
is an open-source tool for automatically reloading terminal-based Python applications, saving developers valuable time.
Installation • Usage • Contributing • Testing • License
Problem Statement
Developers often lose significant time manually restarting terminal applications during development. This process can be tedious and time-consuming, especially when working on complex projects that require frequent updates and testing.
Time-Saving Analysis
Let’s assume that a developer restarts their terminal application approximately 15 times per day, and each reload takes 30 seconds. This adds up to 7.5 minutes daily or around 3.12 hours per month. Multiply that by the number of developers working on a project, and you quickly see how terminal reloading becomes a significant bottleneck in development productivity.
Solution: tkreload
tkreload solves this issue by providing an automatic reload mechanism for terminal-based Python applications, particularly those using Tkinter. It eliminates the need for manual restarts, saving developers hours of time and streamlining the debugging process.
Without tkreload
With tkreload
Getting Started
Prerequisites
- Python 3.9+
- pip
Installation
- Clone the repository:
git clone https://github.com/iamDyeus/tkreload.git
cd tkreload
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install the required dependencies:
pip install -r requirements.txt
- Install tkreload:
pip install .
Usage
To run the app with tkreload
, use the following command in your terminal:
tkreload your_app.py
Now, whenever you save changes to your script, tkreload will automatically reload your application.
Testing
Ensuring the functionality and reliability of tkreload is crucial. Follow these steps to run the test suite for the project:
- Install Testing Dependencies Before running the tests, install the required dependencies (e.g., pytest). You can do this by installing the packages listed in the requirements.txt file.
- Running Tests
Navigate to the root directory of the project (
tkreload
) and run the tests usingpytest
with the following command:
pytest .
Contributing
Contributions are welcome and greatly appreciated! Here's how you can contribute:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the Apache-2.0 License. See LICENSE
for more information.
Acknowledgments
- Inspired by the need for efficient development workflows
- Thanks to all contributors and supporters of this project
Star History
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.