From 4bfc79059cbf56f2fbfce929a08c4cd69a09522e Mon Sep 17 00:00:00 2001 From: Steven Clontz Date: Mon, 13 Jan 2025 10:50:26 -0600 Subject: [PATCH 1/3] Update .gitignore to not track venv directory --- templates/.gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/.gitignore b/templates/.gitignore index 0096a4e5..371a12a7 100644 --- a/templates/.gitignore +++ b/templates/.gitignore @@ -90,6 +90,8 @@ bh_unicode_properties.cache # https://packagecontrol.io/packages/sublime-github GitHub.sublime-settings +# Don't track common virtual environment directories +venv/ # Don't include Dropbox settings and caches .dropbox From 0af0dd16d3fbc68c253f0f7ffe4ee3b156ad7bad Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Mon, 13 Jan 2025 14:41:19 -0700 Subject: [PATCH 2/3] improve deploy help (#896) * improve deploy help * update requirements * update test action * revert to old ubuntu for builds --- .github/workflows/tests.yml | 10 +++--- CHANGELOG.md | 4 +++ poetry.lock | 63 ++++++++++++++++++++++++++----------- pretext/utils.py | 10 +++--- pyproject.toml | 3 +- 5 files changed, 61 insertions(+), 29 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 50abe6da..c49dfd8f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,13 +14,15 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + - name: report python version + run: python --version - name: Install linters and formatters run: python -m pip install flake8 black mypy - name: Install poetry run: python -m pip install poetry - name: Initialize project run: | - python -m poetry install --all-extras + python -m poetry install python -m poetry run python scripts/fetch_core.py - name: Check formatting with black run: python -m poetry run black --check --diff $(git ls-files "*.py") @@ -36,7 +38,7 @@ jobs: matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] poetry-version: ["1.8.4"] - os: [ubuntu-latest, windows-latest] + os: [ubuntu-22.04, windows-latest] exclude: - os: windows-latest python-version: "3.8" @@ -60,8 +62,8 @@ jobs: - name: Install apt packages (Linux with python 3.12 only) if: runner.os == 'Linux' && matrix.python-version == '3.12' run: | - sudo apt update - sudo apt install -y --no-install-recommends texlive texlive-science texlive-xetex ghostscript pdf2svg texlive-fonts-extra sagemath + sudo apt-get update + sudo apt-get install -y --no-install-recommends texlive texlive-science texlive-xetex ghostscript pdf2svg texlive-fonts-extra sagemath - name: Install poetry ${{ matrix.poetry-version }} diff --git a/CHANGELOG.md b/CHANGELOG.md index a824f686..099b940e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ Instructions: Add a subsection under `[Unreleased]` for additions, fixes, change ## [Unreleased] +### Changed + +- Improved help when deploy fails. + ## [2.11.4] - 2025-01-11 Includes updates to core through commit: [42236bf](https://github.com/PreTeXtBook/pretext/commit/42236bf454d9e3f98bc25f0bb5186029710f17f7) diff --git a/poetry.lock b/poetry.lock index fa66c586..e57d3af6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "annotated-types" @@ -2121,26 +2121,51 @@ reference = "pypi-public" [[package]] name = "pycairo" -version = "1.26.1" +version = "1.26.0" description = "Python interface for cairo" optional = true python-versions = ">=3.8" files = [ - {file = "pycairo-1.26.1-cp310-cp310-win32.whl", hash = "sha256:b93b9e3072826a346f1f79cb1becc403d1ba4a3971cad61d144db0fe6dcb6be8"}, - {file = "pycairo-1.26.1-cp310-cp310-win_amd64.whl", hash = "sha256:acfc76924ed668d8fea50f6cc6097b9a57ef6cd3dc3f2fa20814380d639a6dd2"}, - {file = "pycairo-1.26.1-cp310-cp310-win_arm64.whl", hash = "sha256:067191315c3b4d09cad1ec57cdb8fc1d72e2574e89389c268a94f22d4fa98b5f"}, - {file = "pycairo-1.26.1-cp311-cp311-win32.whl", hash = "sha256:56a29623aa7b4adbde5024c61ff001455b5a3def79e512742ea45ab36c3fe24b"}, - {file = "pycairo-1.26.1-cp311-cp311-win_amd64.whl", hash = "sha256:8d2889e03a095de5da9e68a589b691a3ada09d60ef18b5fc1b1b99f2a7794297"}, - {file = "pycairo-1.26.1-cp311-cp311-win_arm64.whl", hash = "sha256:7a307111de345304ed8eadd7f81ebd7fb1fc711224aa314a4e8e33af7dfa3d27"}, - {file = "pycairo-1.26.1-cp312-cp312-win32.whl", hash = "sha256:5cc1808e9e30ccd0f4d84ba7700db5aab5673f8b6b901760369ebb88a0823436"}, - {file = "pycairo-1.26.1-cp312-cp312-win_amd64.whl", hash = "sha256:36131a726f568b2dbc5e78ff50fbaa379e69db00614d46d66b1e4289caf9b1ce"}, - {file = "pycairo-1.26.1-cp312-cp312-win_arm64.whl", hash = "sha256:5577b51543ea4c283c15f436d891e9eaf6fd43fe74882adb032fba2c271f3fe9"}, - {file = "pycairo-1.26.1-cp38-cp38-win32.whl", hash = "sha256:27ec7b42c58af35dc11352881262dce4254378b0f11be0959d1c13edb4539d2c"}, - {file = "pycairo-1.26.1-cp38-cp38-win_amd64.whl", hash = "sha256:27357994d277b3fd10a45e9ef58f80a4cb5e3291fe76c5edd58d2d06335eb8e7"}, - {file = "pycairo-1.26.1-cp39-cp39-win32.whl", hash = "sha256:e68300d1c2196d1d34de3432885ae9ff78e10426fa16f765742a11c6f8fe0a71"}, - {file = "pycairo-1.26.1-cp39-cp39-win_amd64.whl", hash = "sha256:ce049930e294c29b53c68dcaab3df97cc5de7eb1d3d8e8a9f5c77e7164cd6e85"}, - {file = "pycairo-1.26.1-cp39-cp39-win_arm64.whl", hash = "sha256:22e1db531d4ed3167a98f0ea165bfa2a30df9d6eb22361c38158c031065999a4"}, - {file = "pycairo-1.26.1.tar.gz", hash = "sha256:a11b999ce55b798dbf13516ab038e0ce8b6ec299b208d7c4e767a6f7e68e8430"}, + {file = "pycairo-1.26.0-cp310-cp310-win32.whl", hash = "sha256:696ba8024d2827e66e088a6e05a3b0aea30d289476bcb2ca47c9670d40900a50"}, + {file = "pycairo-1.26.0-cp310-cp310-win_amd64.whl", hash = "sha256:b6690a00fb225c19f42d76660e676aba7ae7cb18f3632cb02bce7f0d9b9c3800"}, + {file = "pycairo-1.26.0-cp310-cp310-win_arm64.whl", hash = "sha256:1d54e28170a5e790269d9db4c195cca5152ff018ba7e330d0ed05d86ccc2ea7d"}, + {file = "pycairo-1.26.0-cp311-cp311-win32.whl", hash = "sha256:5986b8da3e7de7ab931d7ad527938df38f75d3a3bdea2b515c786c5ca2c5093c"}, + {file = "pycairo-1.26.0-cp311-cp311-win_amd64.whl", hash = "sha256:d374d9ec6d2f791bf57105d87a9028db1ef2b687848f64a524e447033eae7229"}, + {file = "pycairo-1.26.0-cp311-cp311-win_arm64.whl", hash = "sha256:20a31af89d92ffd5fc60c08e65ff649f16e18621a14a40dbdb049fc74942d7a9"}, + {file = "pycairo-1.26.0-cp312-cp312-win32.whl", hash = "sha256:d63929ab5a2f890a333f2f2f51de9f1c9fe20d1bddc982c2ca577b737448d72f"}, + {file = "pycairo-1.26.0-cp312-cp312-win_amd64.whl", hash = "sha256:8616408ae93de4824a3777ec532ea75643e4bf74e49d601062c0b1788180c962"}, + {file = "pycairo-1.26.0-cp312-cp312-win_arm64.whl", hash = "sha256:a611e4d82ad8470138bb46d465d47e8db826d9d80b6a520ccd83ee007f2073e4"}, + {file = "pycairo-1.26.0-cp38-cp38-win32.whl", hash = "sha256:675578bc6d62d15ff8669f264783efc9c8c73e3a6f564b294a70fb45a2f78667"}, + {file = "pycairo-1.26.0-cp38-cp38-win_amd64.whl", hash = "sha256:aac447b423b33b64119ecdd1ffebf9163b07f5401c5da50c707197efdd1c918a"}, + {file = "pycairo-1.26.0-cp39-cp39-win32.whl", hash = "sha256:9fa51168010e2dfb45499df071fca2d921893f724646f3454951000a7ad0cabb"}, + {file = "pycairo-1.26.0-cp39-cp39-win_amd64.whl", hash = "sha256:3e4e18ea03122e60abe3eb611e2849859cc950083ff85d8369328eadf3df63f5"}, + {file = "pycairo-1.26.0-cp39-cp39-win_arm64.whl", hash = "sha256:a8f3b567ba2ad55624a809823ccf75aff8d768c20216cb5888365f6fc695c1d2"}, + {file = "pycairo-1.26.0.tar.gz", hash = "sha256:2dddd0a874fbddb21e14acd9b955881ee1dc6e63b9c549a192d613a907f9cbeb"}, +] + +[package.source] +type = "legacy" +url = "https://pypi.org/simple" +reference = "pypi-public" + +[[package]] +name = "pycairo" +version = "1.27.0" +description = "Python interface for cairo" +optional = true +python-versions = ">=3.9" +files = [ + {file = "pycairo-1.27.0-cp310-cp310-win32.whl", hash = "sha256:e20f431244634cf244ab6b4c3a2e540e65746eed1324573cf291981c3e65fc05"}, + {file = "pycairo-1.27.0-cp310-cp310-win_amd64.whl", hash = "sha256:03bf570e3919901572987bc69237b648fe0de242439980be3e606b396e3318c9"}, + {file = "pycairo-1.27.0-cp311-cp311-win32.whl", hash = "sha256:9a9b79f92a434dae65c34c830bb9abdbd92654195e73d52663cbe45af1ad14b2"}, + {file = "pycairo-1.27.0-cp311-cp311-win_amd64.whl", hash = "sha256:d40a6d80b15dacb3672dc454df4bc4ab3988c6b3f36353b24a255dc59a1c8aea"}, + {file = "pycairo-1.27.0-cp312-cp312-win32.whl", hash = "sha256:e2239b9bb6c05edae5f3be97128e85147a155465e644f4d98ea0ceac7afc04ee"}, + {file = "pycairo-1.27.0-cp312-cp312-win_amd64.whl", hash = "sha256:27cb4d3a80e3b9990af552818515a8e466e0317063a6e61585533f1a86f1b7d5"}, + {file = "pycairo-1.27.0-cp313-cp313-win32.whl", hash = "sha256:01505c138a313df2469f812405963532fc2511fb9bca9bdc8e0ab94c55d1ced8"}, + {file = "pycairo-1.27.0-cp313-cp313-win_amd64.whl", hash = "sha256:b0349d744c068b6644ae23da6ada111c8a8a7e323b56cbce3707cba5bdb474cc"}, + {file = "pycairo-1.27.0-cp39-cp39-win32.whl", hash = "sha256:f9ca8430751f1fdcd3f072377560c9e15608b9a42d61375469db853566993c9b"}, + {file = "pycairo-1.27.0-cp39-cp39-win_amd64.whl", hash = "sha256:1b1321652a6e27c4de3069709b1cae22aed2707fd8c5e889c04a95669228af2a"}, + {file = "pycairo-1.27.0.tar.gz", hash = "sha256:5cb21e7a00a2afcafea7f14390235be33497a2cce53a98a19389492a60628430"}, ] [package.source] @@ -3639,9 +3664,9 @@ reference = "pypi-public" [extras] homepage = ["pelican"] -prefigure = ["prefig"] +prefigure = ["prefig", "pycairo", "pycairo"] [metadata] lock-version = "2.0" python-versions = "^3.8.5" -content-hash = "5b28c72393dfd4cd7aeeca918882ed4cc7fda2c5f9ee8a735d82f50df7cd0897" +content-hash = "7d5491bc7e137c3d8b5be051dc79f1316cea7ffa473086cb16c4a4c5348615ef" diff --git a/pretext/utils.py b/pretext/utils.py index 6b8bd8b1..54415898 100644 --- a/pretext/utils.py +++ b/pretext/utils.py @@ -729,16 +729,16 @@ def publish_to_ghpages(directory: Path, update_source: bool) -> None: ) log.info("") log.info( - "If you haven't already, configure SSH with GitHub by following instructions at:" + "Make sure you have set up authentication for GitHub. For more information, visit:" ) + log.info(" https://docs.github.com/en/authentication") log.info( - " https://docs.github.com/en/authentication/connecting-to-github-with-ssh" + "Make sure you can push changes, either from the command line or in VS Code. Then try to deploy again." ) - log.info("Then try to deploy again.") log.info("") - log.info(f"If `{origin.url}` doesn't match your GitHub repository,") + log.info(f"(If `{origin.url}` doesn't match your GitHub repository,") log.info( - "use `git remote remove origin` on the command line then try to deploy again." + "use `git remote remove origin` on the command line then try to deploy again.)" ) log.info("") log.error("Deploy was unsuccessful.") diff --git a/pyproject.toml b/pyproject.toml index 78199937..bf2406e0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,6 +45,7 @@ plastex = "^3" jinja2 = "^3" pelican = { extras = ["markdown"], version = "^4.10", optional = true } prefig = { extras = ["pycairo"], version = "^0.2.10", optional = true } +pycairo = [{version = ">=1.20, <=1.26", python = "3.8", optional = true}, {version = "^1.20", python = ">=3.9", optional = true}] # Development dependencies # ------------------------ @@ -68,7 +69,7 @@ pep8-naming = "^0.14.1" [tool.poetry.extras] homepage = ["pelican"] -prefigure = ["prefig"] +prefigure = ["prefig", "pycairo"] [tool.poetry.scripts] pretext = 'pretext.cli:main' From 54095b893b9f17306ad08069843b355e58ff63a5 Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Tue, 14 Jan 2025 07:18:46 -0700 Subject: [PATCH 3/3] update workflow to use container for deep test (#901) * update test workflow: deep-tests uses ubuntu-22.04 until we can figure out how to make sage available. --- .github/workflows/tests.yml | 59 +++++++++++++++++++++++++++++------ poetry.lock | 61 +++++++++++-------------------------- pyproject.toml | 4 +-- tests/test_cli.py | 2 +- 4 files changed, 71 insertions(+), 55 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c49dfd8f..af766ec5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -31,14 +31,55 @@ jobs: - name: Check types run: python -m poetry run mypy --install-types --non-interactive - tests: + deep-test: + needs: format-and-types + runs-on: ubuntu-22.04 + #container: oscarlevin/pretext:full + + steps: + - uses: actions/checkout@v3 + + - name: Report Python version + run: python --version + + - name: Install apt packages (Linux with python 3.12 only) + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends texlive texlive-science texlive-xetex ghostscript pdf2svg texlive-fonts-extra sagemath python3-pip + + - name: Install poetry 1.8.4 + run: | + python -m pip install --upgrade pip + python -m pip install poetry==1.8.4 + + - name: View poetry --help + run: poetry --help + + - name: Install dependencies + shell: bash + run: | + python -m poetry install --all-extras + python -m poetry run python scripts/fetch_core.py + + - name: Ensure dependencies are present + run: | + echo "manually installing pelican; poetry does not seem to do this correctly." + python -m poetry run pip install pelican + python -m poetry run pelican --version + + - name: Test with pytest + run: | + python -m poetry run pytest -v --cov + + + broad-tests: needs: format-and-types strategy: fail-fast: true matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] poetry-version: ["1.8.4"] - os: [ubuntu-22.04, windows-latest] + os: [ubuntu-latest, windows-latest] exclude: - os: windows-latest python-version: "3.8" @@ -48,6 +89,8 @@ jobs: python-version: "3.10" - os: windows-latest python-version: "3.11" + - os: ubuntu-latest + python-version: "3.12" runs-on: ${{ matrix.os }} @@ -59,13 +102,6 @@ jobs: with: python-version: ${{ matrix.python-version }} - - name: Install apt packages (Linux with python 3.12 only) - if: runner.os == 'Linux' && matrix.python-version == '3.12' - run: | - sudo apt-get update - sudo apt-get install -y --no-install-recommends texlive texlive-science texlive-xetex ghostscript pdf2svg texlive-fonts-extra sagemath - - - name: Install poetry ${{ matrix.poetry-version }} run: | python -m ensurepip @@ -75,6 +111,10 @@ jobs: - name: View poetry --help run: poetry --help + - name: Install build dependencies if on Linux + if: runner.os == 'Linux' + run: sudo apt-get -y install libcairo2-dev pkg-config python3-dev + - name: Install dependencies shell: bash run: | @@ -91,6 +131,7 @@ jobs: run: | python -m poetry run pytest -v --cov + schema: runs-on: ubuntu-latest steps: diff --git a/poetry.lock b/poetry.lock index e57d3af6..7510daf0 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2121,51 +2121,26 @@ reference = "pypi-public" [[package]] name = "pycairo" -version = "1.26.0" +version = "1.26.1" description = "Python interface for cairo" optional = true python-versions = ">=3.8" files = [ - {file = "pycairo-1.26.0-cp310-cp310-win32.whl", hash = "sha256:696ba8024d2827e66e088a6e05a3b0aea30d289476bcb2ca47c9670d40900a50"}, - {file = "pycairo-1.26.0-cp310-cp310-win_amd64.whl", hash = "sha256:b6690a00fb225c19f42d76660e676aba7ae7cb18f3632cb02bce7f0d9b9c3800"}, - {file = "pycairo-1.26.0-cp310-cp310-win_arm64.whl", hash = "sha256:1d54e28170a5e790269d9db4c195cca5152ff018ba7e330d0ed05d86ccc2ea7d"}, - {file = "pycairo-1.26.0-cp311-cp311-win32.whl", hash = "sha256:5986b8da3e7de7ab931d7ad527938df38f75d3a3bdea2b515c786c5ca2c5093c"}, - {file = "pycairo-1.26.0-cp311-cp311-win_amd64.whl", hash = "sha256:d374d9ec6d2f791bf57105d87a9028db1ef2b687848f64a524e447033eae7229"}, - {file = "pycairo-1.26.0-cp311-cp311-win_arm64.whl", hash = "sha256:20a31af89d92ffd5fc60c08e65ff649f16e18621a14a40dbdb049fc74942d7a9"}, - {file = "pycairo-1.26.0-cp312-cp312-win32.whl", hash = "sha256:d63929ab5a2f890a333f2f2f51de9f1c9fe20d1bddc982c2ca577b737448d72f"}, - {file = "pycairo-1.26.0-cp312-cp312-win_amd64.whl", hash = "sha256:8616408ae93de4824a3777ec532ea75643e4bf74e49d601062c0b1788180c962"}, - {file = "pycairo-1.26.0-cp312-cp312-win_arm64.whl", hash = "sha256:a611e4d82ad8470138bb46d465d47e8db826d9d80b6a520ccd83ee007f2073e4"}, - {file = "pycairo-1.26.0-cp38-cp38-win32.whl", hash = "sha256:675578bc6d62d15ff8669f264783efc9c8c73e3a6f564b294a70fb45a2f78667"}, - {file = "pycairo-1.26.0-cp38-cp38-win_amd64.whl", hash = "sha256:aac447b423b33b64119ecdd1ffebf9163b07f5401c5da50c707197efdd1c918a"}, - {file = "pycairo-1.26.0-cp39-cp39-win32.whl", hash = "sha256:9fa51168010e2dfb45499df071fca2d921893f724646f3454951000a7ad0cabb"}, - {file = "pycairo-1.26.0-cp39-cp39-win_amd64.whl", hash = "sha256:3e4e18ea03122e60abe3eb611e2849859cc950083ff85d8369328eadf3df63f5"}, - {file = "pycairo-1.26.0-cp39-cp39-win_arm64.whl", hash = "sha256:a8f3b567ba2ad55624a809823ccf75aff8d768c20216cb5888365f6fc695c1d2"}, - {file = "pycairo-1.26.0.tar.gz", hash = "sha256:2dddd0a874fbddb21e14acd9b955881ee1dc6e63b9c549a192d613a907f9cbeb"}, -] - -[package.source] -type = "legacy" -url = "https://pypi.org/simple" -reference = "pypi-public" - -[[package]] -name = "pycairo" -version = "1.27.0" -description = "Python interface for cairo" -optional = true -python-versions = ">=3.9" -files = [ - {file = "pycairo-1.27.0-cp310-cp310-win32.whl", hash = "sha256:e20f431244634cf244ab6b4c3a2e540e65746eed1324573cf291981c3e65fc05"}, - {file = "pycairo-1.27.0-cp310-cp310-win_amd64.whl", hash = "sha256:03bf570e3919901572987bc69237b648fe0de242439980be3e606b396e3318c9"}, - {file = "pycairo-1.27.0-cp311-cp311-win32.whl", hash = "sha256:9a9b79f92a434dae65c34c830bb9abdbd92654195e73d52663cbe45af1ad14b2"}, - {file = "pycairo-1.27.0-cp311-cp311-win_amd64.whl", hash = "sha256:d40a6d80b15dacb3672dc454df4bc4ab3988c6b3f36353b24a255dc59a1c8aea"}, - {file = "pycairo-1.27.0-cp312-cp312-win32.whl", hash = "sha256:e2239b9bb6c05edae5f3be97128e85147a155465e644f4d98ea0ceac7afc04ee"}, - {file = "pycairo-1.27.0-cp312-cp312-win_amd64.whl", hash = "sha256:27cb4d3a80e3b9990af552818515a8e466e0317063a6e61585533f1a86f1b7d5"}, - {file = "pycairo-1.27.0-cp313-cp313-win32.whl", hash = "sha256:01505c138a313df2469f812405963532fc2511fb9bca9bdc8e0ab94c55d1ced8"}, - {file = "pycairo-1.27.0-cp313-cp313-win_amd64.whl", hash = "sha256:b0349d744c068b6644ae23da6ada111c8a8a7e323b56cbce3707cba5bdb474cc"}, - {file = "pycairo-1.27.0-cp39-cp39-win32.whl", hash = "sha256:f9ca8430751f1fdcd3f072377560c9e15608b9a42d61375469db853566993c9b"}, - {file = "pycairo-1.27.0-cp39-cp39-win_amd64.whl", hash = "sha256:1b1321652a6e27c4de3069709b1cae22aed2707fd8c5e889c04a95669228af2a"}, - {file = "pycairo-1.27.0.tar.gz", hash = "sha256:5cb21e7a00a2afcafea7f14390235be33497a2cce53a98a19389492a60628430"}, + {file = "pycairo-1.26.1-cp310-cp310-win32.whl", hash = "sha256:b93b9e3072826a346f1f79cb1becc403d1ba4a3971cad61d144db0fe6dcb6be8"}, + {file = "pycairo-1.26.1-cp310-cp310-win_amd64.whl", hash = "sha256:acfc76924ed668d8fea50f6cc6097b9a57ef6cd3dc3f2fa20814380d639a6dd2"}, + {file = "pycairo-1.26.1-cp310-cp310-win_arm64.whl", hash = "sha256:067191315c3b4d09cad1ec57cdb8fc1d72e2574e89389c268a94f22d4fa98b5f"}, + {file = "pycairo-1.26.1-cp311-cp311-win32.whl", hash = "sha256:56a29623aa7b4adbde5024c61ff001455b5a3def79e512742ea45ab36c3fe24b"}, + {file = "pycairo-1.26.1-cp311-cp311-win_amd64.whl", hash = "sha256:8d2889e03a095de5da9e68a589b691a3ada09d60ef18b5fc1b1b99f2a7794297"}, + {file = "pycairo-1.26.1-cp311-cp311-win_arm64.whl", hash = "sha256:7a307111de345304ed8eadd7f81ebd7fb1fc711224aa314a4e8e33af7dfa3d27"}, + {file = "pycairo-1.26.1-cp312-cp312-win32.whl", hash = "sha256:5cc1808e9e30ccd0f4d84ba7700db5aab5673f8b6b901760369ebb88a0823436"}, + {file = "pycairo-1.26.1-cp312-cp312-win_amd64.whl", hash = "sha256:36131a726f568b2dbc5e78ff50fbaa379e69db00614d46d66b1e4289caf9b1ce"}, + {file = "pycairo-1.26.1-cp312-cp312-win_arm64.whl", hash = "sha256:5577b51543ea4c283c15f436d891e9eaf6fd43fe74882adb032fba2c271f3fe9"}, + {file = "pycairo-1.26.1-cp38-cp38-win32.whl", hash = "sha256:27ec7b42c58af35dc11352881262dce4254378b0f11be0959d1c13edb4539d2c"}, + {file = "pycairo-1.26.1-cp38-cp38-win_amd64.whl", hash = "sha256:27357994d277b3fd10a45e9ef58f80a4cb5e3291fe76c5edd58d2d06335eb8e7"}, + {file = "pycairo-1.26.1-cp39-cp39-win32.whl", hash = "sha256:e68300d1c2196d1d34de3432885ae9ff78e10426fa16f765742a11c6f8fe0a71"}, + {file = "pycairo-1.26.1-cp39-cp39-win_amd64.whl", hash = "sha256:ce049930e294c29b53c68dcaab3df97cc5de7eb1d3d8e8a9f5c77e7164cd6e85"}, + {file = "pycairo-1.26.1-cp39-cp39-win_arm64.whl", hash = "sha256:22e1db531d4ed3167a98f0ea165bfa2a30df9d6eb22361c38158c031065999a4"}, + {file = "pycairo-1.26.1.tar.gz", hash = "sha256:a11b999ce55b798dbf13516ab038e0ce8b6ec299b208d7c4e767a6f7e68e8430"}, ] [package.source] @@ -3664,9 +3639,9 @@ reference = "pypi-public" [extras] homepage = ["pelican"] -prefigure = ["prefig", "pycairo", "pycairo"] +prefigure = ["prefig"] [metadata] lock-version = "2.0" python-versions = "^3.8.5" -content-hash = "7d5491bc7e137c3d8b5be051dc79f1316cea7ffa473086cb16c4a4c5348615ef" +content-hash = "5b28c72393dfd4cd7aeeca918882ed4cc7fda2c5f9ee8a735d82f50df7cd0897" diff --git a/pyproject.toml b/pyproject.toml index bf2406e0..6837f62d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,7 +45,7 @@ plastex = "^3" jinja2 = "^3" pelican = { extras = ["markdown"], version = "^4.10", optional = true } prefig = { extras = ["pycairo"], version = "^0.2.10", optional = true } -pycairo = [{version = ">=1.20, <=1.26", python = "3.8", optional = true}, {version = "^1.20", python = ">=3.9", optional = true}] + # Development dependencies # ------------------------ @@ -69,7 +69,7 @@ pep8-naming = "^0.14.1" [tool.poetry.extras] homepage = ["pelican"] -prefigure = ["prefig", "pycairo"] +prefigure = ["prefig"] [tool.poetry.scripts] pretext = 'pretext.cli:main' diff --git a/tests/test_cli.py b/tests/test_cli.py index 7e69a683..f921f690 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -223,7 +223,7 @@ def test_custom_xsl(tmp_path: Path, script_runner: ScriptRunner) -> None: assert (custom_path / "output" / "test2").exists() -@pytest.mark.skip(reason="secondary webwork server not currently available") +# @pytest.mark.skip(reason="secondary webwork server not currently available") def test_custom_webwork_server(tmp_path: Path, script_runner: ScriptRunner) -> None: custom_path = tmp_path / "custom" shutil.copytree(EXAMPLES_DIR / "projects" / "custom-wwserver", custom_path)