Development
Open Data Editor is written in PySide6, the official Python module from the Qt for Python project, which provides access to the complete Qt 6.9+ framework.
You can refer to the Official Documentation to learn more about it. (And it’s a handy documentation to bookmark!)
Prerequisites
We are using 3.13. To start working on the project you need the following dependencies in your machine:
Python 3.13
python3.13-dev (For PyInstaller)
Environment
As common practice with all python project, you should create a Virtual Environment (using your favorite tool!) to install all the requirements.
If using Python’s default virtual env you can execute:
python -m venv venv
source venv/bin/activate
Makefile
The project provides a Makefile
with some usefull commands.
make help
Note
All make commands that executes python commands (like make start
or make install
) requires a manually activated virtualenv to run.
Installation
To start working on the project install the dependencies:
make install
Make install will also cd into the
portal
folder and install all the dependencies for the astro project.
Codebase
To work on the application:
make start
Documentation
Documentation is written with Sphinx (in the docs
directory). The source files are in the docs/source/
directory. To locally build the documentation you can execute:
make docs
It will be automatically published on CloudFlare when merged to the main
branch with previews available for pull requests.
Making a release
To make a release follow the following checklist:
Check with the PO that
main
branch is code complete.Check that the distributables built on main are working by installing them in your machine.
Sometimes PyInstaller cannot compile new dependencies and the application will fail at runtime.
Create a New Github Release with a new tag.
Fill in the Release notes.
Create the Release.
Wait until the Github Action for the new tag finishes and then upload the distributable files to the new Release.
Notify the Communications Team to make the announcement and changes to the OKFN’s Website.