From d7241ca90823577f9608a7b1bf4b8c7181741f01 Mon Sep 17 00:00:00 2001 From: Ashley Sommer Date: Fri, 1 Nov 2024 16:39:22 +1000 Subject: [PATCH] Remove Python 3.8 support, bump OWL-RL to newest version. --- .github/workflows/ci.yml | 1 - .gitignore | 3 +- .travis.yml | 56 ------------------------------------ poetry.lock | 61 ++++++++++++++++++---------------------- pyproject.toml | 14 ++++----- 5 files changed, 36 insertions(+), 99 deletions(-) delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5c0add7..fed572f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,6 @@ jobs: strategy: matrix: python-version: - - '3.8' - '3.9' - '3.10' - '3.11' diff --git a/.gitignore b/.gitignore index f014b56..094f526 100644 --- a/.gitignore +++ b/.gitignore @@ -416,7 +416,8 @@ celerybeat-schedule # Environments .env .venv/ -.venv38/ +.venv39/ +.venv311/ env/ venv/ ENV/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2524441..0000000 --- a/.travis.yml +++ /dev/null @@ -1,56 +0,0 @@ -sudo: false -language: python -dist: bionic -cache: - directories: - - $HOME/.cache/pip -matrix: - include: - - env: TOX_ENV=py37 - python: 3.7 - name: "Python 3.7" - - env: TOX_ENV=py38 - python: 3.8 - name: "Python 3.8" - - env: TOX_ENV=py39 - python: 3.9 - name: "Python 3.9" - - env: TOX_ENV=py310 - python: 3.10 - name: "Python 3.10" - - env: TOX_ENV=type-checking - python: 3.7 - name: "Python 3.7 Type checks" - - env: TOX_ENV=type-checking - python: 3.8 - name: "Python 3.8 Type checks" - - env: TOX_ENV=type-checking - python: 3.9 - name: "Python 3.9 Type checks" - - env: TOX_ENV=type-checking - python: 3.10 - name: "Python 3.10 Type checks" - - env: TOX_ENV=lint - python: 3.7 - name: "Python 3.7 Linter checks" - - -install: - - pip3 install --upgrade pip "poetry>=1.1.0" tox -script: travis_retry tox -e $TOX_ENV -before_deploy: - - poetry build -deploy: - provider: pypi - user: ashleysommer - skip_cleanup: true #Need skip cleanup because we build the artifacts in before_deploy - password: - secure: lq8L1Rc6jJW6URaZcmu5YOa9z8MqQkCiIxfivZlYBjbCkZLenU4/Hc7bK/ORVg+TPJZiyrfxobStFp1cX460zgQRw+3OW8f7whtRmj0qxLq9SF9szpORLrDcvSzHV/xU8GF6xAyJ83VS5UWC2TiA4yHIQyi7YkLYh9zdC370xkXMwKLQ+G2Bmqx5Y84h1wKYtpNU6RdrZiwcBTZEvZdWaoEjw5gZsd5wW8RmWDewS2SE2P6m7FXZwShB9XRGKkeC+UAXzDkp9DpZa94PQTktwXaM2yRo5Y2t1N2BBKzTT72ikFv/xr8vov157z0pdcOiEx7Xkd7Dov1fsy00KZ7If+opMgIWHaw/UnC5jwzILTAubBuFopV+SNJnLZ1EMMPsINpJF7eecj0/OoC+bEu/5Oxk8BeFO1UOoXZ4aOlzzDU6TpXP/0ULyoRtskc2UpXETRH2rapam41tbDX0JuXlfrrOFkPrB9O4jNMrm+6e9ldorGkpzKHKzZvOjp2WykMjiPzFk7GIordK96jmctwiEWG2N0HayLGsgdyT8YrhHatCZk51HZ+Jhk05zrmfPQqa+MhskIpcPfplei/sUcMD3TCN8Qw5mhyZPTbC6m/a6E3+wqw++Wos4ZMwcp71BiChdcIb/XhjG6oy/JHYV3Bth4ZuyRN1vnVzm4VDmdb5b2c= - on: - tags: true - python: 3.7 - condition: $DEPLOY = true - branch: release - distributions: "sdist bdist_wheel" - skip_existing: true - diff --git a/poetry.lock b/poetry.lock index 551d29d..c8759dd 100644 --- a/poetry.lock +++ b/poetry.lock @@ -159,22 +159,16 @@ files = [ test = ["pytest (>=6)"] [[package]] -name = "html5lib-modern" -version = "1.2" +name = "html5rdf" +version = "1.2.1" description = "HTML parser based on the WHATWG HTML specification" optional = false python-versions = ">=3.8" files = [ - {file = "html5lib_modern-1.2-py2.py3-none-any.whl", hash = "sha256:3458b6e31525ede4fcaac0ff42d9eeb5efaf755473768103cb56e0275caa8d99"}, - {file = "html5lib_modern-1.2.tar.gz", hash = "sha256:1fadbfc27ea955431270e4e79a4a4c290ba11c3a3098a95cc22dc73e312a1768"}, + {file = "html5rdf-1.2.1-py2.py3-none-any.whl", hash = "sha256:1f519121bc366af3e485310dc8041d2e86e5173c1a320fac3dc9d2604069b83e"}, + {file = "html5rdf-1.2.1.tar.gz", hash = "sha256:ace9b420ce52995bb4f05e7425eedf19e433c981dfe7a831ab391e2fa2e1a195"}, ] -[package.extras] -all = ["chardet (>=2.2.1)", "genshi (>=0.7.1)", "lxml (>=3.4.0)"] -chardet = ["chardet (>=2.2.1)"] -genshi = ["genshi (>=0.7.1)"] -lxml = ["lxml (>=3.4.0)"] - [[package]] name = "httptools" version = "0.6.4" @@ -491,17 +485,17 @@ files = [ [[package]] name = "owlrl" -version = "6.0.2" -description = "OWL-RL and RDFS based RDF Closure inferencing for Python" +version = "7.1.2" +description = "A simple implementation of the OWL2 RL Profile, as well as a basic RDFS inference, on top of RDFLib. Based mechanical forward chaining." optional = false -python-versions = "*" +python-versions = "<4.0,>=3.8" files = [ - {file = "owlrl-6.0.2-py3-none-any.whl", hash = "sha256:57eca06b221edbbc682376c8d42e2ddffc99f61e82c0da02e26735592f08bacc"}, - {file = "owlrl-6.0.2.tar.gz", hash = "sha256:904e3310ff4df15101475776693d2427d1f8244ee9a6a9f9e13c3c57fae90b74"}, + {file = "owlrl-7.1.2-py3-none-any.whl", hash = "sha256:b4234191d1981ee7c551fa203cc0d21470c38e624e6795f3ecac55651dab26b1"}, + {file = "owlrl-7.1.2.tar.gz", hash = "sha256:966136f303f08f3eb190f6631c31a03b1bc5744d6c15189d7fb638a563ee61d2"}, ] [package.dependencies] -rdflib = ">=6.0.2" +rdflib = ">=7.1.1" [[package]] name = "packaging" @@ -558,13 +552,13 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "prettytable" -version = "3.11.0" +version = "3.12.0" description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "prettytable-3.11.0-py3-none-any.whl", hash = "sha256:aa17083feb6c71da11a68b2c213b04675c4af4ce9c541762632ca3f2cb3546dd"}, - {file = "prettytable-3.11.0.tar.gz", hash = "sha256:7e23ca1e68bbfd06ba8de98bf553bf3493264c96d5e8a615c0471025deeba722"}, + {file = "prettytable-3.12.0-py3-none-any.whl", hash = "sha256:77ca0ad1c435b6e363d7e8623d7cc4fcf2cf15513bf77a1c1b2e814930ac57cc"}, + {file = "prettytable-3.12.0.tar.gz", hash = "sha256:f04b3e1ba35747ac86e96ec33e3bb9748ce08e254dc2a1c6253945901beec804"}, ] [package.dependencies] @@ -650,13 +644,13 @@ files = [ [[package]] name = "pyparsing" -version = "3.1.4" +version = "3.2.0" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false -python-versions = ">=3.6.8" +python-versions = ">=3.9" files = [ - {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, - {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, + {file = "pyparsing-3.2.0-py3-none-any.whl", hash = "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84"}, + {file = "pyparsing-3.2.0.tar.gz", hash = "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c"}, ] [package.extras] @@ -767,22 +761,23 @@ files = [ [[package]] name = "rdflib" -version = "7.1.0" +version = "7.1.1" description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information." optional = false python-versions = "<4.0.0,>=3.8.1" files = [ - {file = "rdflib-7.1.0-py3-none-any.whl", hash = "sha256:240c25c6e1b573ffa67aed23aae128e253c443c15291c9a01d8d392ea80c05b6"}, - {file = "rdflib-7.1.0.tar.gz", hash = "sha256:a29a8fccebd3d3a5f1b7e88d92dace1c89829018c7d29a6114fff4449c188b3b"}, + {file = "rdflib-7.1.1-py3-none-any.whl", hash = "sha256:e590fa9a2c34ba33a667818b5a84be3fb8a4d85868f8038f17912ec84f912a25"}, + {file = "rdflib-7.1.1.tar.gz", hash = "sha256:164de86bd3564558802ca983d84f6616a4a1a420c7a17a8152f5016076b2913e"}, ] [package.dependencies] -html5lib-modern = ">=1.2,<2.0" +html5rdf = {version = ">=1.2,<2", optional = true, markers = "extra == \"html\""} isodate = {version = ">=0.7.2,<1.0.0", markers = "python_version < \"3.11\""} pyparsing = ">=2.1.0,<4" [package.extras] berkeleydb = ["berkeleydb (>=18.1.0,<19.0.0)"] +html = ["html5rdf (>=1.2,<2)"] lxml = ["lxml (>=4.3,<6.0)"] networkx = ["networkx (>=2,<4)"] orjson = ["orjson (>=3.9.14,<4)"] @@ -948,13 +943,13 @@ files = [ [[package]] name = "types-setuptools" -version = "75.2.0.20241019" +version = "75.2.0.20241025" description = "Typing stubs for setuptools" optional = true python-versions = ">=3.8" files = [ - {file = "types-setuptools-75.2.0.20241019.tar.gz", hash = "sha256:86ea31b5f6df2c6b8f2dc8ae3f72b213607f62549b6fa2ed5866e5299f968694"}, - {file = "types_setuptools-75.2.0.20241019-py3-none-any.whl", hash = "sha256:2e48ff3acd4919471e80d5e3f049cce5c177e108d5d36d2d4cee3fa4d4104258"}, + {file = "types-setuptools-75.2.0.20241025.tar.gz", hash = "sha256:2949913a518d5285ce00a3b7d88961c80a6e72ffb8f3da0a3f5650ea533bd45e"}, + {file = "types_setuptools-75.2.0.20241025-py3-none-any.whl", hash = "sha256:6721ac0f1a620321e2ccd87a9a747c4a383dc381f78d894ce37f2455b45fcf1c"}, ] [[package]] @@ -1240,5 +1235,5 @@ js = ["pyduktape2"] [metadata] lock-version = "2.0" -python-versions = "^3.8.1" -content-hash = "f8e7c569e4bed2f45ff09fa9c1ce34a0d68f2179971375266fa13508886372d1" +python-versions = ">=3.9,<4" +content-hash = "e8ab08d3d98a3bb0c30c9bf0e5ea4471658ce21ba038910317558b95af9c80ad" diff --git a/pyproject.toml b/pyproject.toml index 463c762..030e03a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "poetry.core.masonry.api" [project] name = "pyshacl" # Black and Ruff both now read target-version from [project.requires-python] -requires-python = ">=3.8.1" +requires-python = ">=3.9" [tool.poetry] name = "pyshacl" @@ -60,11 +60,10 @@ include = [ ] [tool.poetry.dependencies] -python = "^3.8.1" # Poetry doesn't read from [project.requires-python] -# Note, 3.8.0 is not supported, only 3.8.1 or above. See: -# https://github.com/RDFLib/rdflib/blob/3bee979cd0e5b6efc57296b4fc43dd8ede8cf375/CHANGELOG.md?plain=1#L53 -rdflib = {version=">=6.3.2,<8.0", python = ">=3.8.1", extras=["html"]} -owlrl = ">=6.0.2,<7" +# The <4 is reauired for compatiblity with OWL-RL that requdires Python <4 +python = ">=3.9,<4" # Poetry doesn't read from [project.requires-python] +rdflib = {version=">=7.1.1,<8.0", extras=["html"]} +owlrl = ">=7.1.2,<8" prettytable = [ {version=">=3.5.0", python = ">=3.8,<3.12"}, {version=">=3.7.0", python = ">=3.12"} @@ -206,7 +205,7 @@ testpaths = [ legacy_tox_ini = """ [tox] skipsdist = true -envlist = py38, py39, py310, py311, py312, lint, type-checking +envlist = py39, py310, py311, py312, lint, type-checking toxworkdir={env:TOX_WORK_DIR:.tox} [testenv] @@ -259,6 +258,5 @@ python = 3.11 = py311 3.10 = py310 3.9 = py39 - 3.8 = py38 """