Note: This project is archived and no longer maintained. No additional documentation or installation support will be provided.
The components of this project have been used as a foundation for several newer projects that address, extend, and enhance parts of its functionality. Please refer to their respective repositories for newer information.
This readme document was optimised with AI.
Homepage for "Dust" | Homepage for "Grimoire"
Item | Description |
---|---|
What is this? | A GitHub repository containing Python tools and two-in-one demo applications. |
Contents | - Abstract Python tools - Demo GUI applications: - "Dust" (small and simple). - "Grimoire" (large and complex). |
Target Audience | Beginner Python and Qt developers |
Project Status | ✔️ Functional and archived 😴 No longer maintained |
Purpose | Educational archive with working code examples |
Name Origin | - "Dust" refers to its small, floating nature (see followindow ).- "Grimoire" refers to its ugly, complex, metadata-rich nature. |
■ host.pyw (demo application launcher)
■ sparkling (main package)
├─■ common (general-purpose helper classes and functions)
├─■ contech (ConTeXt word processor tools)
├─■ followindow (Dust program - simple PyQt5 application)
├─■ grimoire (Grimoire program - complex PyQt5 application)
├─■ host_app (launcher source code)
├─■ neo4j (Neo4J database tools)
└─■ path_eater (deprecated PyQt5 widget)
This project is best used with Visual Studio Code (VS Code).
- Clone this repository
- Open the folder in VS Code
- Set up Python environment:
- Create virtual environment:
python -m venv .virtual_env
- Select the interpreter: VS Code Command Palette → "Python: Select Interpreter" → Enter path
- Create virtual environment:
- Install dependencies:
pip install setuptools pip install -r requirements.txt
For the basic features (Dust program), this is all you need.
For the advanced features (Grimoire program), also:
- Install Neo4J Desktop Server
- Set up a local database with appropriate credentials
- Run
host.pyw
through VS Code (recommended for first run to catch any setup issues) - The Dust program starts automatically
- Use Dust to launch Grimoire when needed
- Explore both applications' features
A system tray icon () provides access to the program. Right-click for available actions.
Function | Usage |
---|---|
|
If the video does not render, please see docs/followindow_errors.mp4 |
|
If the video does not render, please see docs/followindow_help.mp4 |
To launch: In Dust, hover over the grey pixel and swipe down with the right mouse button.
First launch:
- Creates and opens
data/grimoire/neo4j_settings.yaml
- Enter your Neo4J server credentials
On the subsequent launches, the grimoire/pyqt5/MainWindow.py
widget will be shown.
Function | Usage |
---|---|
|
If the video does not render, please see docs/grimoire_new_playlist.mp4 |
|
If the video does not render, please see docs/grimoire_edit_multiple_simple.mp4 |
|
If the video does not render, please see docs/grimoire_edit_complex.mp4 |
|
|
This is a highly experimental GUI demo app that allowed the developer to learn the basics of the Qt
library via python. Additionally, it acted as a stress-test for the underlying abstract python tools, software project structure and project management approaches.
License details are provided in each source file. Overview:
- General Python tools: 0BSD
- PyQt5-related tools: GPL v3
- Neo4J tools: GPL v3
- ConTeXt tools: 0BSD
- Demo applications: GPL v3
- All other files: implied 0BSD