Skip to main content

A library that auto reloads your tkinter app whenever file changes are detected.

Project description

TkReload-Logo

Static Badge Static Badge GitHub last commit

tkreload | Automated Tkinter App Reloading for a Smoother Development Workflow

Effortlessly reload Tkinter-based Python applications in the terminal, saving valuable development time.

InstallationUsageFeaturesTestingContributingLicense


🚀 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: Without tkreload

With 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`
  1. 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 commands
    • R: Restart the application
    • A: Toggle auto-reload
    • Ctrl + 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:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

COMMUNISM

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

Star History Chart

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

tkreload-1.0.4.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

tkreload-1.0.4-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

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

Hashes for tkreload-1.0.4.tar.gz
Algorithm Hash digest
SHA256 ccceedaee9c3df4fb1a5b4c17e566620b309b766d9ead80889357a44e3780b5d
MD5 047a634a9e76fbc565e54fc2bcc97d9d
BLAKE2b-256 d0dc882efba3377891d84f209fee6b1cc0b14733449ece73112523b20320e490

See more details on using hashes here.

Provenance

The following attestation bundles were made for tkreload-1.0.4.tar.gz:

Publisher: publish.yaml on iamDyeus/tkreload

Attestations:

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

Hashes for tkreload-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b5b26bfd172b74223d99d75c6667c89182d67e7e97959f72a39f3837eb3f46cf
MD5 ec34767dc21c3afb875985d7d2f6ffdc
BLAKE2b-256 92d39272c6cb7e27fb0b9f0fe8b40731e3cb095149b5751500a9ae89d2319c52

See more details on using hashes here.

Provenance

The following attestation bundles were made for tkreload-1.0.4-py3-none-any.whl:

Publisher: publish.yaml on iamDyeus/tkreload

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page