[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "pyLodStorage"
authors = [
  {name = "Wolfgang Fahl", email = "wf@bitplan.com"}
]
maintainers = [
  {name = "Wolfgang Fahl", email = "wf@bitplan.com"}
]
readme = "README.md"
license= "Apache-2.0"
dependencies = [
  "SPARQLWrapper>=2.0.0",
  #"SPARQLWrapper==1.8.5",
  # https://pypi.org/project/ratelimit/
  "ratelimit>=2.2.1",
  "PyYAML",
  "pandas",
  # beware of https://github.com/matplotlib/matplotlib/issues/26827
  "matplotlib>=3.8.2",
  "tabulate",
  "numpy",
  "jsonpickle==1.5.2",
  "pylatexenc~=2.10",
  "pygments",
  "dicttoxml2",
  # https://pypi.org/project/dataclasses-json/
  "dataclasses-json>=0.6.3",
  # https://pypi.org/project/dacite/
  "dacite>=1.8.1",
  # https://pypi.org/project/pyparsing/
  "pyparsing>=3.1.1",
  # https://github.com/un33k/python-slugify
  # https://pypi.org/project/python-slugify/
  "python-slugify>=8.0.1",
  # https://pypi.org/project/orjson/
  'orjson>=3.9.15',
  # https://pypi.org/project/sqlmodel/
  'sqlmodel>=0.0.16',
  # https://pypi.org/project/PyMySQL/
  'PyMySQL>=1.1.1',
  # https://pypi.org/project/requests/
  'requests>=2.31.0'
]
requires-python = ">=3.9"
classifiers=[
    "Programming Language :: Python",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12"
]
dynamic = ["version", "description"]

[tool.hatch.version]
path = "lodstorage/__init__.py"

[project.urls]
Home = "https://github.com/WolfgangFahl/pyLodStorage"
Documentation = "http://wiki.bitplan.com/index.php/PyLoDStorage"
Source = "https://github.com/WolfgangFahl/pyLodStorage/blob/master/lodstorage/sql.py"
IssueTracker = "https://github.com/WolfgangFahl/pyLodStorage/issues"

[project.optional-dependencies]
test = [
  "green",
]

[tool.hatch.build.targets.wheel]
only-include = ["lodstorage","sampledata"]

[tool.hatch.build.targets.wheel.sources]
"lodstorage" = "lodstorage"
"sampledata" = "sampledata"

[project.scripts]
sparqlquery = "lodstorage.querymain:mainSPARQL"
sqlquery = "lodstorage.querymain:mainSQL"
lodquery = "lodstorage.querymain:main"
