semvec/pypi-packages huggingface dataset:
varst 1.6.0
Replace substitutions in rst files with variables.
License: MIT
Requires Python: >=3.9,<4.0
Keywords: rst,reST,reStructuredText,replace,substitution

==============================
varST(var ➡️ reStructuredText)
==============================

|PyPI version| |Github Actions| |pre-commit.ci status| |GitHub Workflow Status| |Documentation Status|

Replace substitutions in rst files with variables.

Getting Started
===============

cli
-------

   See |Quickstart Documentation Page|_.

.. code:: bash

   $ pip install varst
   $ varst -h  # --help

Github Actions
--------------

varST can be integrated with ``Github Actions``.
Please refer to this link_ and apply it to your own workflows.

Contributing
============

Contribution Guideline
----------------------

Please read the |contributing guidelines|_ to learn how to contribute to this project.

Reporting Issues
----------------

If you have any questions, suggestions, or bug reports, please feel free to report them to the issue.

Code of Conduct
---------------

This project is governed by the |code of conduct|_.

License
=======

`MIT
License <https://github.com/junghoon-vans/varst/blob/main/LICENSE>`__

.. |Quickstart Documentation Page| replace:: quickstart documentation
.. _Quickstart Documentation Page: https://varst.readthedocs.io/en/latest/index.html#quickstart

.. |PyPI version| image:: https://img.shields.io/pypi/v/varst
   :target: https://pypi.org/project/varst/
.. |Github Actions| image:: https://img.shields.io/badge/Actions-black?logo=github
   :target: https://github.com/marketplace/actions/rst-substitution
.. |pre-commit.ci status| image:: https://results.pre-commit.ci/badge/github/junghoon-vans/varst/main.svg
   :target: https://results.pre-commit.ci/latest/github/junghoon-vans/varst/main
.. |GitHub Workflow Status| image:: https://img.shields.io/github/actions/workflow/status/junghoon-vans/varst/python-publish.yml?branch=v1.6.0
.. |Documentation Status| image:: https://readthedocs.org/projects/varst/badge/?version=latest
    :target: https://varst.readthedocs.io/en/latest/?badge=latest

.. _link: https://github.com/marketplace/actions/rst-substitution

.. |contributing guidelines| replace:: contributing guidelines
.. _contributing guidelines: ./CONTRIBUTING.md
.. |code of conduct| replace:: Code of Conduct
.. _Code Of Conduct: ./CODE_OF_CONDUCT.md
clockpuncher 0.1.4
A hackable GUI time tracker designed to be easily modified for user-centric automation.
License: MIT
Requires Python: >=3.7,<4.0

# ClockPuncher

## Abstract

This is a small python utility app that is being designed for time-tracking. As the name suggests, this is trying to replace track.toggl.com for tracking my own work.

The end-goal is a local, open-source timer that is hackable and can automate specific tasks like uploading/submitting billable hours.

## Images
### 'Production' GUI for usage
![Productions View](repo_resources/clockpuncher.gif)
### Development GUI with logger and debugger windows
![Development View](./repo_resources/development_mode.png)

## Installation

The best way is to use [pipx](https://pipxproject.github.io/pipx/) and run `pipx install clockpuncher` or `pipx run clockpuncher`.

On install a folder will be created in `~/.local/Clockpuncher` to contain local data storage. It should contain a sqlite db called `timer.db` and possibly wal files. It's literally just a sqlite database, you can access, query, and adjust as you would with any other database. This might be slightly different depending on your OS.

You can delete this folder without issue, but you will lose all your stored data.

## Current Next Steps:
* [X] Integrate sqlite DB of timer sessions
* [X] Add inputs for specific task descriptions (text box)
* [ ] Add on-the-fly graph representations
  * [X] Task Breakdown
  * [ ] Total Hours (per task and total)
  * [ ] Total Billed (per task and total)
* [ ] Add report CSV output
* [ ] Add tests for main.py + gui module
* [X] Put on PyPI
* [X] Setup with pipx for app deployment
* [ ] Add user settings with persistent storage
* [ ] Add database back-up/cold-storage option

## Repo Structure

This repo follows a pretty standard layout with `main.py` being the GUI front-end + database composed together to make the stopwatch app itself.


### Outline:

* `clockpuncher/`  - contains all code required to run Clock Puncher
   * `main.py` - The main file that combines GUI, database, and application logic to make the above images
   * `database.py` - Contains the Database class that does CRUD operations for main.py
   * `models.py` - Dataclasses that represent rows in the Entries and Projects table
   * `platform_local_storage.py` - Local storage location constants for 
   * `data/` - Contains local data storage. In production it stores data in `data/timer.db`
   * `gui/` - All reusable GUI components
     * `base_gui.py` - Base GUI class with loggers and basic development/production switchers.
     * `dev_gui.py` - This holds quick GUI screens tossed together for development.
     * `entry_visualization.py` - Contains task_chart and entry_table components and their class definitions
      * `timer.py` - Contains Timer and Number GUI components that make up the clock display
   * `tests` - Test suite using Pytest + Hypothesis