Document how the app works
- 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