Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,12 @@ jobs:
with:
python-version: '3.13'
cache: 'pip' # caching pip dependencies
cache-dependency-path: 'requirements-dev.txt'
- name: Install Galatea with dependencies
run: |
pip install -r requirements-dev.txt .
pip install uv
- name: Sphinx build
run: |
sphinx-build docs/source _build
uv run --frozen --group=docs --no-dev sphinx-build docs/source _build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
if: github.event_name == 'workflow_dispatch' && github.event.inputs.deploy == 'true'
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/tox_matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-2019]
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ['3.10', '3.11', '3.12', '3.13']
frontend: ["", "PySide6"]
fail-fast: false
Expand All @@ -24,8 +24,7 @@ jobs:
sudo apt-get install freeglut3-dev
- name: Install requirements
run: |
pip install wheel uv
uv pip install --system -r requirements-dev.txt tox-uv
pip install uv
- uses: actions/github-script@v6
id: tox-env
with:
Expand All @@ -38,7 +37,7 @@ jobs:
return "py${{matrix.python-version}}".replace('.','') + "-${{matrix.frontend}}"
result-encoding: string
- name: Run tox
run: tox -e ${{ steps.tox-env.outputs.result }}
run: uv run --only-group=tox-uv tox --runner uv-venv-lock-runner -e ${{ steps.tox-env.outputs.result }}
env:
UV_EXTRA_INDEX_URL: ${{vars.PIP_EXTRA_INDEX_URL}}
UV_INDEX_STRATEGY: "unsafe-best-match"
Expand Down
28 changes: 0 additions & 28 deletions CMakeLists.txt

This file was deleted.

10 changes: 0 additions & 10 deletions CTestConfig.cmake

This file was deleted.

2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
include LICENSE README.rst requirements.txt requirements-dev.txt tox.ini
include LICENSE README.rst uv.lock tox.ini
include .pylintrc
include speedwagon/logo.png
include speedwagon/favicon.ico
Expand Down
2 changes: 2 additions & 0 deletions ci/docker/python/linux/jenkins/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
FROM ghcr.io/astral-sh/uv:latest AS uv_builder
FROM python:latest
RUN --mount=type=bind,source=./ci/docker/python/linux/jenkins/apt-packages.txt,target=/tmp/apt-packages.txt\
--mount=type=cache,target=/var/cache/apt \
apt-get update && \
< /tmp/apt-packages.txt xargs apt-get install -yqq --no-install-recommends && \
rm -rf /var/lib/apt/lists/*
COPY --from=uv_builder /uv /uvx /bin/
47 changes: 14 additions & 33 deletions docs/source/speedwagon_development.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,65 +16,45 @@ Setup Development Environment
Receiving objects: 100% (17958/17958), 5.44 MiB | 7.54 MiB/s, done.
Resolving deltas: 100% (12225/12225), done.

2) Change you current path to the cloned repository and create a virtual environment
2) Change you current path to the cloned repository and create a development environment with uv

.. code-block:: shell-session

developerUser@MYDEVMACHINE ~ % cd Speedwagon
developerUser@MYDEVMACHINE Speedwagon % python3 -m venv venv
developerUser@MYDEVMACHINE Speedwagon % uv sync

3) Activate virtual environment

.. code-block:: doscon
:caption: On **Windows using standard console** (aka cmd.exe) use the activate.bat script:

c:\Users\developerUser\Speedwagon> venv\Scripts\activate.bat
c:\Users\developerUser\Speedwagon> .venv\Scripts\activate.bat

.. code-block:: pwsh-session
:caption: On **Windows using Powershell** use the activate.PS1 script:

PS c:\Users\developerUser\Speedwagon> venv\Scripts\activate.PS1
PS c:\Users\developerUser\Speedwagon> .venv\Scripts\activate.PS1

.. code-block:: shell-session
:caption: On **Mac or Linux**:

developerUser@MYDEVMACHINE Speedwagon % source venv/bin/activate
developerUser@MYDEVMACHINE Speedwagon % source .venv/bin/activate

4) Install development dependencies in *requirements-dev.txt*

.. code-block:: shell-session

(venv) developerUser@MYDEVMACHINE Speedwagon % pip install -r requirements-dev.txt
Ignoring backports-tarfile: markers 'python_full_version < "3.12"' don't match your environment
Ignoring exceptiongroup: markers 'python_full_version < "3.11"' don't match your environment
Ignoring jeepney: markers 'sys_platform == "linux"' don't match your environment
Ignoring pywin32-ctypes: markers 'sys_platform == "win32"' don't match your environment
Ignoring secretstorage: markers 'sys_platform == "linux"' don't match your environment
Ignoring tomli: markers 'python_full_version < "3.11"' don't match your environment
Collecting alabaster==0.7.16 (from -r requirements-dev.txt (line 3))
Downloading alabaster-0.7.16-py3-none-any.whl.metadata (2.9 kB)
Collecting argcomplete==3.5.1 (from -r requirements-dev.txt (line 5))
Downloading argcomplete-3.5.1-py3-none-any.whl.metadata (16 kB)
Collecting astroid==3.3.5 (from -r requirements-dev.txt (line 7))
Downloading astroid-3.3.5-py3-none-any.whl.metadata (4.5 kB)

...

Installing collected packages: wcwidth, snowballstemmer, pyvirtualdisplay, nh3, docopt, distlib, zipp, urllib3, typing-extensions, types-pyyaml, tomlkit, termcolor, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, six, shiboken6, ruff, rfc3986, pyyaml, pyqt-distutils, pyproject-hooks, pygments, pyflakes, pydocstyle, pycparser, pycodestyle, propcache, prompt-toolkit, pluggy, platformdirs, pkginfo, packaging, nodeenv, mypy-extensions, multidict, more-itertools, mdurl, mccabe, markupsafe, lxml, jaraco-context, isort, iniconfig, importlib-resources, imagesize, idna, identify, filelock, docutils, dill, decli, coverage, colorama, charset-normalizer, chardet, cfgv, certifi, cachetools, bcrypt, babel, attrs, astroid, argcomplete, alabaster, yarl, virtualenv, types-requests, requests, readme-renderer, questionary, pytest, pyside6-essentials, pyproject-api, pylint, mypy, markdown-it-py, jinja2, jaraco-functools, jaraco-classes, importlib-metadata, flake8, cffi, build, tox, sphinx, rich, requests-toolbelt, pytest-xvfb, pytest-qt, pytest-mock, pyside6-addons, pynacl, pre-commit, keyring, flake8-bugbear, cryptography, commitizen, twine, sphinx-argparse, pyside6, paramiko
Successfully installed alabaster-0.7.16 argcomplete-3.5.1 astroid-3.3.5 attrs-24.2.0 babel-2.16.0 bcrypt-4.2.1 build-1.2.2.post1 cachetools-5.5.0 certifi-2024.8.30 cffi-1.17.1 cfgv-3.4.0 chardet-5.2.0 charset-normalizer-3.4.0 colorama-0.4.6 commitizen-3.31.0 coverage-7.6.8 cryptography-43.0.3 decli-0.6.2 dill-0.3.9 distlib-0.3.9 docopt-0.6.2 docutils-0.21.2 filelock-3.16.1 flake8-7.1.1 flake8-bugbear-24.10.31 identify-2.6.2 idna-3.10 imagesize-1.4.1 importlib-metadata-8.5.0 importlib-resources-6.4.5 iniconfig-2.0.0 isort-5.13.2 jaraco-classes-3.4.0 jaraco-context-6.0.1 jaraco-functools-4.1.0 jinja2-3.1.4 keyring-25.5.0 lxml-5.3.0 markdown-it-py-3.0.0 markupsafe-3.0.2 mccabe-0.7.0 mdurl-0.1.2 more-itertools-10.5.0 multidict-6.1.0 mypy-1.13.0 mypy-extensions-1.0.0 nh3-0.2.18 nodeenv-1.9.1 packaging-24.2 paramiko-3.5.0 pkginfo-1.10.0 platformdirs-4.3.6 pluggy-1.5.0 pre-commit-4.0.1 prompt-toolkit-3.0.36 propcache-0.2.0 pycodestyle-2.12.1 pycparser-2.22 pydocstyle-6.3.0 pyflakes-3.2.0 pygments-2.18.0 pylint-3.3.1 pynacl-1.5.0 pyproject-api-1.8.0 pyproject-hooks-1.2.0 pyqt-distutils-0.7.3 pyside6-6.8.0.2 pyside6-addons-6.8.0.2 pyside6-essentials-6.8.0.2 pytest-8.3.3 pytest-mock-3.14.0 pytest-qt-4.4.0 pytest-xvfb-3.0.0 pyvirtualdisplay-3.0 pyyaml-6.0.2 questionary-2.0.1 readme-renderer-44.0 requests-2.32.3 requests-toolbelt-1.0.0 rfc3986-2.0.0 rich-13.9.4 ruff-0.8.0 shiboken6-6.8.0.2 six-1.16.0 snowballstemmer-2.2.0 sphinx-7.4.7 sphinx-argparse-0.4.0 sphinxcontrib-applehelp-2.0.0 sphinxcontrib-devhelp-2.0.0 sphinxcontrib-htmlhelp-2.1.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-2.0.0 sphinxcontrib-serializinghtml-2.0.0 termcolor-2.5.0 tomlkit-0.13.2 tox-4.23.2 twine-5.1.1 types-pyyaml-6.0.12.20240917 types-requests-2.32.0.20241016 typing-extensions-4.12.2 urllib3-2.2.3 virtualenv-20.27.1 wcwidth-0.2.13 yarl-1.18.0 zipp-3.21.0

How to Build Wheel from Source
------------------------------

.. note::

This method requires uv to be installed.

How to Build Wheel from Source
------------------------------

1) Clone/download the speedwagon repository
2) Install build package (ideally in a virtual environment)
3) Type the following command:
python -m build
2) Type the following command:
uv build

This generates a .whl file which can be installed using pip.
This generates a .whl file which can be installed using pip or uv.


Generate a Release
Expand All @@ -83,7 +63,8 @@ Generate a Release
Use `commitizen <https://commitizen-tools.github.io/commitizen/>`_ to keep version information consistent.

.. note::
commitizen is included in requirements-dev.txt
commitizen is not included in the development environment, so you will need to install it separately. You can do
this with pip, uv or another package manager.

For a beta release use the command ``cz bump --prerelease beta`` with the ``--prerelease-offset=`` flag

Expand Down
12 changes: 0 additions & 12 deletions packaging/CPackConfig.cmake.in

This file was deleted.

58 changes: 0 additions & 58 deletions packaging/Speedwagon.spec

This file was deleted.

47 changes: 0 additions & 47 deletions packaging/cmake/ci.cmake

This file was deleted.

29 changes: 0 additions & 29 deletions packaging/cmake/ci.cmake.in

This file was deleted.

15 changes: 0 additions & 15 deletions packaging/cmake/docs.wxs

This file was deleted.

32 changes: 0 additions & 32 deletions packaging/cmake/jenkins.cmake

This file was deleted.

Loading
Loading