Skip to content
This repository was archived by the owner on May 4, 2026. It is now read-only.

synapse-dot/Flow

Repository files navigation

Flow

Flow is a small Python app to manage study sessions and pick the next task for you with a bit of randomness. It provides a simple Tkinter GUI and a lightweight session model that can be extended.

Features

  • Create and edit tasks with a completion metric and weight
  • Pick next task (uniform or weighted random)
  • Save / load sessions as JSON
  • Start random sessions from a provider and auto-advance when complete

Quickstart

  • Requirements: Python 3.8+ and Tkinter (on Linux install python3-tk)

  • Run the GUI:

    • Windows: run run.bat or python main_pyside.py
    • Linux/macOS: run ./run.sh or python3 main_pyside.py

PySide6 UI

This project now includes a modern PySide6 (Qt) frontend. The old Tkinter UI has been archived under legacy_tkinter/.

To run the PySide6 UI ensure PySide6 is installed and run python main_pyside.py.

  • Run unit tests:

    • python -m unittest discover -v

Development notes

  • The core model is in main.py (classes: Task, StudySession/Session).
  • The GUI is gui.py and uses backend.py (SessionProvider / SessionController).
  • Sessions are serialized to JSON via to_dict() / from_dict() helpers.

Packaging

This project has no external pip dependencies. If you want to package it, add a pyproject.toml or setup.cfg with an entry point pointing at gui:main.

License

This project is provided as-is for demonstration purposes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages