A library that auto reloads your tkinter app whenever file changes are detected.
Project description
tkreload
| Automated Tkinter App Reloading for a Smoother Development Workflow
Effortlessly reload Tkinter-based Python applications in the terminal, saving valuable development time.
Installation • Usage • Features • Testing • Contributing • License
🚀 Problem Statement
For developers, frequent manual restarts of terminal applications during development can add up quickly, especially in complex Tkinter projects that require regular updates. tkreload
provides a solution to this by automating the reload process, resulting in significant time savings.
⏳ Estimated Time Saved with tkreload
Imagine restarting your terminal application 15 times daily, with each reload taking 30 seconds. That’s approximately 7.5 minutes daily or about 3 hours per month. tkreload
helps avoid this productivity drain.
🔍 Solution Overview
tkreload
automates reloading for terminal-based Python applications, designed specifically for Tkinter. By eliminating the need for manual restarts, it streamlines the development process, saving developers valuable time and enhancing productivity.
Without tkreload:
With tkreload:
🛠️ Getting Started
Prerequisites
- Python 3.9+
- pip for dependency management
Installation
1. Clone the Repository
git clone https://github.com/iamDyeus/tkreload.git
cd tkreload
2. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install tkreload (in editable mode):
pip install -e.[test]
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.
🌟 Features
- Automatic Reloading: Automatically restarts Tkinter apps upon file changes.
- Command-Based Control:
H
: View help commandsR
: Restart the applicationA
: Toggle auto-reloadCtrl + C
: Exit the application
- Real-Time Feedback: Uses
rich
for styled console feedback and progress indicators.
Testing
To verify tkreload functionality, follow these steps:
1.Install Testing Dependencies: Make sure all testing libraries are installed as per the requirements.txt file.
2.Run Tests Using Pytest
pytest -v
This will run the test suite and confirm tkreload is working as expected.
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.
Source Distribution
Built Distribution
File details
Details for the file tkreload-1.0.4.tar.gz
.
File metadata
- Download URL: tkreload-1.0.4.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccceedaee9c3df4fb1a5b4c17e566620b309b766d9ead80889357a44e3780b5d |
|
MD5 | 047a634a9e76fbc565e54fc2bcc97d9d |
|
BLAKE2b-256 | d0dc882efba3377891d84f209fee6b1cc0b14733449ece73112523b20320e490 |
Provenance
The following attestation bundles were made for tkreload-1.0.4.tar.gz
:
Publisher:
publish.yaml
on iamDyeus/tkreload
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
tkreload-1.0.4.tar.gz
- Subject digest:
ccceedaee9c3df4fb1a5b4c17e566620b309b766d9ead80889357a44e3780b5d
- Sigstore transparency entry: 150420977
- Sigstore integration time:
- Predicate type:
File details
Details for the file tkreload-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: tkreload-1.0.4-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5b26bfd172b74223d99d75c6667c89182d67e7e97959f72a39f3837eb3f46cf |
|
MD5 | ec34767dc21c3afb875985d7d2f6ffdc |
|
BLAKE2b-256 | 92d39272c6cb7e27fb0b9f0fe8b40731e3cb095149b5751500a9ae89d2319c52 |
Provenance
The following attestation bundles were made for tkreload-1.0.4-py3-none-any.whl
:
Publisher:
publish.yaml
on iamDyeus/tkreload
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
tkreload-1.0.4-py3-none-any.whl
- Subject digest:
b5b26bfd172b74223d99d75c6667c89182d67e7e97959f72a39f3837eb3f46cf
- Sigstore transparency entry: 150420978
- Sigstore integration time:
- Predicate type: