Notes about code¶
eduvpn.util.thread_helper(lambda: func(arg='arg') to schedule long running actions from the UI (main) thread.
GLib.idle_add(lambda: func(arg='arg') to schedule UI updates back on the main thread.
Never call GTK functions directly from the background thread.
eduvpn.actions are the entrypoints to the application and are triggered from the main menu or a VPN status
eduvpn.steps contains all the various steps in the application flow.
eduvpn.remote contains all remote requests.
`eduvpn.other_nm is a fork of the python NetworkManager wrapper.
How to make a release¶
- Determine version number (for example 1.0.2)
- Compose a list of changes (check issue tracker)
- Make sure the test suite runs with python3
- Set version number in
- add changes to CHANGES.md
- Press release button on github. List all changes here also
- Check if github actions builds.
- Do a manual wheel upload using twine:
$ rm dist/* $ python setup.py bdist_wheel sdist $ twine upload dist/*
- Build packages to the COPR repository:
on copr -> builds -> new build -> scm. clone URL: https://github.com/eduvpn/python-eduvpn-client Committish: branch or tag spec file: eduvpn.spec Build for all supported/configured platforms at the moment they are centos8, fedora 33 and fedora 34.
- Update the debian package using the eduVPN Debian meta files.