ashwinvis / ashwinvis/caeroc

Document how the app works

Open
#11 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
35
Forks
10
PR merge metrics
No merged PRs in 30d

Description

The app was built on Qt4, and later upgraded to Qt5 rather seamlessly. I can explain what goes on and ideally it should have been documented somewhere. The call tree goes like this

1. terminal command:

https://github.com/ashwinvis/caeroc/blob/0ae3f21bd9ac2b496e1338e3cf53fc4ee2131983/pyproject.toml#L33

2. launches the app

https://github.com/ashwinvis/caeroc/blob/0ae3f21bd9ac2b496e1338e3cf53fc4ee2131983/src/caeroc/cli.py#L5-L12

3. via this launch function
https://github.com/ashwinvis/caeroc/blob/0ae3f21bd9ac2b496e1338e3cf53fc4ee2131983/src/caeroc/__init__.py#L34-L37

4. via the run method
https://github.com/ashwinvis/caeroc/blob/0ae3f21bd9ac2b496e1338e3cf53fc4ee2131983/src/caeroc/gui/__init__.py#L11-L21

The `run` method initializes the app. The class `CalcApp` merely exists to swap between PyQt5 or PySide2, based on what is installed.

All user interactions are channeled through the methods in `runtime.py` which are decorated with `@Slot`.

P.S.: not important, but a development detail. The UI is designed using Qt Designer which let's one save it as an XML file, named `base.ui` here. Running a small script called `configure` provided in the same directory produces from `base.ui`, the files `base_pyqt.py` & `base_pyside2.py` which is the equivalent Python code for PyQt and PySide2 respectively.

_Originally posted by @ashwinvis in https://github.com/ashwinvis/caeroc/issues/10#issuecomment-2648048509_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the terminal entry in pyproject.toml and trace the documented path through src/caeroc/cli.py, src/caeroc/__init__.py, src/caeroc/gui/__init__.py, and runtime.py. Review base.ui and the configure script for the UI-generation detail. Done means the application startup flow, backend selection, user-interaction routing, and UI generation process are documented for future contributors.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.