Fix coordinate alteration issue in XYImageItem: return copies of X/Y … #119
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
| # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
| # Inspired from https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#github-actions | |
| name: Build, install and test with PyQt5 | |
| on: | |
| push: | |
| branches: [ "master", "develop" ] | |
| pull_request: | |
| branches: [ "master", "develop" ] | |
| jobs: | |
| build: | |
| env: | |
| DISPLAY: ':99.0' | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.9", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| sudo apt install libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 x11-utils | |
| /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1920x1200x24 -ac +extension GLX | |
| python -m pip install --upgrade pip | |
| python -m pip install ruff pytest | |
| pip install PyQt5 setuptools numpy Cython | |
| python setup.py build_ext --inplace | |
| if [ "${{ github.ref_name }}" = "develop" ]; then | |
| pip uninstall -y guidata PythonQwt | |
| cd .. | |
| git clone --depth 1 --branch develop https://github.com/PlotPyStack/guidata.git | |
| git clone --depth 1 https://github.com/PlotPyStack/PythonQwt.git | |
| cd PlotPy | |
| pip install -e ../guidata | |
| pip install -e ../PythonQwt | |
| # Install tomli for TOML parsing (safe if already present) | |
| pip install tomli | |
| # Extract dependencies and save to file, then install | |
| python -c "import tomli; f=open('pyproject.toml','rb'); data=tomli.load(f); deps=[d for d in data['project']['dependencies'] if not any(p in d for p in ['guidata', 'PythonQwt'])]; open('deps.txt','w').write('\n'.join(deps))" | |
| pip install -r deps.txt | |
| # Install PlotPy without dependencies | |
| pip install --no-deps . | |
| else | |
| # Install from PyPI normally for main branch | |
| pip install .[test] | |
| fi | |
| - name: Lint with Ruff | |
| run: ruff check --output-format=github plotpy | |
| - name: Test with pytest | |
| run: | | |
| pytest |