Please note, that this project is obsolete, and is no longer maintained. No additional documentation will be released. No additional installation support will be provided.
Please note, that the artifacts of this project were used as a basis for several other projects. These new projects address, extend, enhance and fix any issues this project may have had. Please see the dedicated repositories for necessary information.
Item | Description |
---|---|
What is this? | A project, saved into git repository, hosted at GitHub website. |
What does it contain? |
|
Whom are they for? | For beginner python +Qt developers. |
What is the current project status? |
|
Why is it obsolete? | Because the complex multipurpose multi-license code, developed here, is more useful, when reorganized, simplified and split into several other independent projects. |
What is the purpose of this repository? | Host an educational archive with working code. |
Why is it named like that? | small and simple program name was inspired by the real-world dust:
big and complex program name was inspired by the word "grimoire":
|
■─host.pyw (demo app launcher)
■─sparkling (top-level namespace)
├─■ common (context-unaware helper classes, functions, usable anywhere)
├─■ contech (tools for ConTeXt word processor)
├─■ followindow (small and simple PyQt5 program)
├─■ grimoire (big and complex PyQt5 program)
├─■ host_app (source code of the demo app launcher)
├─■ neo4j (tools for Neo4J database)
└─■ path_eater (obsolete unused PyQt5 widget)
For the best experience, please use the specific version of the Spyder
python IDE. It can be installed via pip install spyder==5.5.6
command.
- Clone this repository in a directory of choice.
- Navigate to this directory.
- Follow this manual in order to:
- Create the virtual environment,
- Activate this virtual environment,
- Make the
Spyder
work in this virtual environment.
- Install the setuptools via the command
pip install setuptools
into this virtual environment. - Install the dependencies, listed in the
requirements.txt
, into this virtual environment. - In
Spyder
, open the menu option "Projects"->"New Project...", select "Existing directory", set "Location" to the dir of the cloned repository and click "Create". - Open the menu option "Tools"->"Preferences", select "Run", set "Working directory settings" to "The current working directory" option.
- Make sure that current working dir is the cloned repository dir.
After completing these instructions, the user will be able to use this repository to:
- Launch and exlore the
small and simple
part of the demo app. - Inspect the underlying abstract python tools.
In order to use the big and complex
part of this demo app, several additional steps must be completed:
- Install the Neo4J desktop server (click to open).
- Create a local database, user credentials, etc.
The event sequence is as follows:
- The user runs the
host.pyw
file (although it can be launched directly from the file explorer with the doubleclick, it is recommended to run it viaIDE
at least on the first try — this way the developer will be able to see if any depencencies have failed to set up correctly). - The
small and simple
program is automatically started. - The user may use this
small and simple program
to launch thebig and complex program
. - The user actually uses the
small and simple program
to launch thebig and complex program
. - The user explores the
big and complex program
to their leisure. - The user decides to modify something.
- ???
- Profit (for me, hopefully).
At any point in time the developer can access the small system tray icon
that looks as follows: . Right-clickling it will open a dedicated context menu with some default 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 |
In order to launch it from the small and simple program
, hover the grey pixel and swipe down while holding the right mouse button.
On the first ever launch, the following file will be created and opened automatically: data/grimoire/neo4j_settings.yaml
. The user is expected to provide valid server credentials.
After this, 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.
More information could be found at the following links:
[Dev Info] Dust (click to open) — detailed information regarding the small and simple program
and its future.
[Dev Info] Grimoire (click to open) — detailed information regarding the big and complex program
and its future.
The actual licenses are available at the beginning of each source code file; superficial overview:
- Abstract python tools for general python development are generally subject to 0BSD.
- Abstract python tools for
PyQt5
are generally subject to GPL v3. - Abstract python tools for
Neo4J
are generally subject to GPL v3. - Abstract python tools for
ConTeXt
are generally subject to 0BSD. - The
PyQt5
demo app is generally subject to GPL v3.
Any other file is implied to be subject to 0BSD.