diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c83295cff56e14ed885480285607bf0ce72150bc..7bb855f9bce0a915a594a31f81a820da44235e2c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,20 +4,22 @@ stages: before_script: - apt-get update --yes - - apt-get install --yes build-essential cmake libfmt-dev pybind11-dev graphviz python3-pyqt5 xvfb xdg-utils lcov + - apt-get install --yes build-essential cmake graphviz python3-pyqt5 xvfb xdg-utils lcov - python -m pip install --upgrade pip - python --version - pip install -r requirements.txt - - pip install -r requirements_doc.txt - - pip install -r requirements_test.txt - pip install $QT_API - - export PYTEST_QT_API=$QT_API - - export QT_API=$QT_API + - git fetch --tags # - export CXXFLAGS='--coverage' - - pip install -ve . + # Install without dependencies to make sure that requirements.txt is up-to-date + - pip install --no-deps -ve . # Move file, but should be handled by installation - mv _b_asic* b_asic - pip show b_asic + - export QT_API=$QT_API + # Install test dependencies + - pip install -r requirements_test.txt + - export PYTEST_QT_API=$QT_API .run-test: stage: test @@ -106,6 +108,7 @@ run-doc-test: image: python:3.10 stage: test script: + - pip install -r requirements_doc.txt - sphinx-build -b html docs_sphinx public pages: @@ -114,6 +117,7 @@ pages: stage: deploy image: python:3.10 script: + - pip install -r requirements_doc.txt - sphinx-build -b html docs_sphinx public artifacts: paths: diff --git a/README.md b/README.md index 2185be072b7a94570df8c42527bfc63fdef772f7..f0916018e17dc522f80809b7db001068c6d31456 100644 --- a/README.md +++ b/README.md @@ -15,19 +15,21 @@ How to build and debug the library during development. The following packages are required in order to build the library: - cmake 3.8+ -- gcc 7+/clang 7+/msvc 16+ +- gcc 7+/clang 7+/msvc 16+ (C++ 17 support) - fmtlib -- pybind11 2.3.0+ -- python 3.6+ -- Python: +- pybind11 2.10.1+ +- python 3.8+ +- Python (install with `pip install -r requirements_test.txt` or they will be installed as part of the + installation process): - graphviz - matplotlib - numpy - - pybind11 - - pyside2 - qtpy - - setuptools - - setuptools_scm +- Qt 5 or 6, with Python bindings, one of: + - pyside2 + - pyqt5 + - pyside6 + - pyqt6 To build a binary distribution, the following additional packages are required: diff --git a/pyproject.toml b/pyproject.toml index a574167fb9ec9366e3d0ec1c1c76c379c71f42a2..32d24b1ff9488d5b060506b653c9aebdc7fd3d3e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ license = { file = "LICENSE" } requires-python = ">=3.8" dependencies = [ "numpy", - "pybind11>=2.3.0", + "pybind11>=2.10.1", # "pyside2", "qtpy", "graphviz>=0.19", diff --git a/requirements.txt b/requirements.txt index 795bffa62efb30943cc75423f7d9a9d7efe047a7..f8730733106a2cbfa32aaa6555dd832fc5a5d3d3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ -setuptools_scm[toml]>=6.2 +# setuptools_scm[toml]>=6.2 numpy -pybind11>=2.3.0 +# pybind11>=2.10.1 # pyside2 qtpy graphviz>=0.19