Skip to main content

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.

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: 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

Metadata

Release files for tkreload 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tkreload 1.0.4
File Size Uploaded Provenance
tkreload-1.0.4.tar.gz 1.6 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tkreload 1.0.4
File Interpreter ABI Platform
tkreload-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / tkreload-1.0.4.tar.gz

Download URL tkreload-1.0.4.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
ccceedaee9c3df4fb1a5b4c17e566620b309b766d9ead80889357a44e3780b5d
BLAKE2b-256 checksum
How to use checksums
d0dc882efba3377891d84f209fee6b1cc0b14733449ece73112523b20320e490
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 21, 2024.

Transparency log

Release files / tkreload-1.0.4-py3-none-any.whl

Download URL tkreload-1.0.4-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b5b26bfd172b74223d99d75c6667c89182d67e7e97959f72a39f3837eb3f46cf
BLAKE2b-256 checksum
How to use checksums
92d39272c6cb7e27fb0b9f0fe8b40731e3cb095149b5751500a9ae89d2319c52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 21, 2024.

Transparency log

Security for tkreload 1.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for tkreload-1.0.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 21, 2024.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page