tkreload
is an open-source tool for automatically reloading terminal-based Python applications, saving developers valuable time.
Installation • Usage • Contributing • Testing • License
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.
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.
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.
- Python 3.7+
- pip
- 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 .
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.
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 .
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
Distributed under the Apache-2.0 License. See LICENSE
for more information.
- Inspired by the need for efficient development workflows
- Thanks to all contributors and supporters of this project