Code Monkey home page Code Monkey logo

ontrack's Introduction

OnTrack

OnTrack is a time management app built with Python. It keeps track of the active time of various windows.

At the moment, OnTrack is only supported on Windows operating systems.

Dependencies

  • Python >3.12 (might work on lower versions, but 3.12 is the active development version)
  • tkinter: usually comes bundled with modern Python installations
  • Pip modules: pygetwindow, pyyaml, keyboard, tkcalendar, pillow, matplotlib, ttkwidgets, requests
  • For building: The pyinstaller pip module

Getting started

Once you have all of the dependencies installed, simply run py ontrack.py to start the application.

Building

To build into the final distribution, run py -m PyInstaller --onefile --noconsole ontrack.py. Ensure you have the pyinstaller pip module installed.

In some cases, since this program tracks active windows, using --noconsole can trigger virus threat protection actions, consider omitting that option if this is the case.

Documentation on the tkcalendar module states that there may be issues with PyInstaller and the babel.numbers hidden import. Refer to the tkcalendar HowTos - PyInstaller section to fix this issue if a problem arises during building.

The recommended safe command is: py -m PyInstaller --onefile --hidden-import babel.numbers ontrack.py

For the purpose of auto updates, the build must not have a _internal folder, as this would poorly interact with the _internal folder required by the auto-updating script. This could be solved by allowing the auto-updater to have a different internal folder name.

Auto updating

The self_update executable should fetch the latest_stable data from VERSION_DATA and update the ontrack executable with anything it needs.

To build the self_update.py script, use py -m PyInstaller self_update.py

Similarly to the --noconsole option for ontrack.py, attempting to build this with --onefile causes it to be flagged as a virus. This seems to be caused by the requests to github it makes internally. If compiled with a separate _internal folder, this will contain a certificate which prevents it from being false-flagged.

ontrack's People

Contributors

enderdoom77 avatar mgomezdev1 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.