22requires = [" poetry-core>=1.8.1,<2" ]
33build-backend = " poetry.core.masonry.api"
44
5+ [project ]
6+ name = " pyshacl"
7+ # Black and Ruff both now read target-version from [project.requires-python]
8+ requires-python = " >=3.8.1"
9+
510[tool .poetry ]
611name = " pyshacl"
7- version = " 0.24.1 "
12+ version = " 0.25.0 "
813# Don't forget to change the version number in __init__.py, Dockerfile, and CITATION.cff along with this one
914description = " Python SHACL Validator"
1015license = " Apache-2.0"
@@ -24,11 +29,11 @@ classifiers = [
2429 " Programming Language :: Python :: Implementation :: PyPy" ,
2530 " Programming Language :: Python :: 3" ,
2631 " Programming Language :: Python :: 3 :: Only" ,
27- " Programming Language :: Python :: 3.7" ,
2832 " Programming Language :: Python :: 3.8" ,
2933 " Programming Language :: Python :: 3.9" ,
3034 " Programming Language :: Python :: 3.10" ,
3135 " Programming Language :: Python :: 3.11" ,
36+ " Programming Language :: Python :: 3.12" ,
3237 " Topic :: Software Development :: Libraries :: Python Modules" ,
3338 " Operating System :: OS Independent"
3439]
@@ -54,26 +59,24 @@ include = [
5459]
5560
5661[tool .poetry .dependencies ]
57- python = " ^3.7.0" # Compatible python versions must be declared here
58- rdflib = [
59- {version =" >=6.3.2,<8.0" , python = " >=3.8.1" },
60- {version =" >=6.2.0,<=6.3.2" , python = " <3.8.1" }
61- ]
62+ python = " ^3.8.1" # Poetry doesn't read from [project.requires-python]
63+ # Note, 3.8.0 is not supported, only 3.8.1 or above. See:
64+ # https://github.com/RDFLib/rdflib/blob/3bee979cd0e5b6efc57296b4fc43dd8ede8cf375/CHANGELOG.md?plain=1#L53
65+ rdflib = {version =" >=6.3.2,<8.0" , python = " >=3.8.1" }
6266html5lib = " >=1.1,<2"
6367owlrl = " >=6.0.2,<7"
6468prettytable = [
65- {version =" >=3.5.0,<3.8.0" , python = " <3.8" },
6669 {version =" >=3.5.0" , python = " >=3.8,<3.12" },
6770 {version =" >=3.7.0" , python = " >=3.12" }
6871]
6972packaging = " >=21.3"
70- importlib-metadata = {version =" 4.13 " , python = " <3.11 " }
73+ importlib-metadata = {version =" >6 " , python = " <3.12 " }
7174pyduktape2 = {version =" ^0.4.6" , optional =true }
7275sanic = {version =" >=22.12, <23" , optional =true } # For the HTTP service
7376sanic-ext = {version =" >=23.3, <23.6" , optional =true } # For the HTTP service
7477sanic-cors = {version =" 2.2.0" , optional =true } # For the HTTP service
75- ruff = {version =" ^0.0.267 " , optional =true }
76- black = {version =" 23.3 .0" , optional =true }
78+ ruff = {version =" ^0.1.5 " , optional =true }
79+ black = {version =" 23.11 .0" , optional =true }
7780mypy = [
7881 {version =" >=0.812,<0.900" , optional =true , python = " <3.10" },
7982 {version =" >=0.900,<0.1000" , optional =true , python = " >=3.10" }
@@ -87,7 +90,8 @@ pytest-cov = {version="^2.8.1", optional=true}
8790pytest = " ^7.2"
8891coverage = {version =" >6,<7,!=6.0.*,!=6.1,!=6.1.1" , optional =true }
8992pytest-cov = {version =" ^2.8.1" , optional =true }
90- ruff = {version =" ^0.0.267" , optional =true }
93+ ruff = {version =" ^0.1.5" , optional =true }
94+ black = {version =" 23.11.0" , optional =true }
9195mypy = [
9296 {version =" >=0.812,<0.900" , optional =true , python = " <3.10" },
9397 {version =" >=0.900,<0.1000" , optional =true , python = " >=3.10" }
@@ -113,10 +117,9 @@ from = {format = "poetry", path = "pyproject.toml"}
113117to = {format = " setuppy" , path = " setup.py" }
114118
115119[tool .black ]
116- required-version = " 23.3 .0"
120+ required-version = " 23.11 .0"
117121line-length = " 119"
118122skip-string-normalization = true
119- target-version = [' py37' ]
120123include = ' \.pyi?$'
121124exclude = '''
122125(
@@ -184,9 +187,6 @@ line-length = 119
184187# Allow unused variables when underscore-prefixed.
185188dummy-variable-rgx = " ^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
186189
187- # Assume Python 3.10.
188- target-version = " py37"
189-
190190[tool .ruff .mccabe ]
191191# Unlike Flake8, default to a complexity level of 10.
192192max-complexity = 10
@@ -204,7 +204,7 @@ testpaths = [
204204legacy_tox_ini = """
205205[tox]
206206skipsdist = true
207- envlist = py38, py39, py310, py311, lint, type-checking
207+ envlist = py38, py39, py310, py311, py312, lint, type-checking
208208toxworkdir={env:TOX_WORK_DIR:.tox}
209209
210210[testenv]
0 commit comments