[build-system]
requires = ['hatchling']
build-backend = 'hatchling.build'
[tool.hatch.build.targets.wheel]
packages = ['src/heimdall']
[tool.hatch.build.targets.sdist]
exclude = [
  '/tests', '/docs',
  '/coverage',
  '.pycodestyle',
  '.gitlab-ci.yml',
  'codemeta.json',
]
[tool.hatch.version]
path = 'src/heimdall/__init__.py'

[tool.coverage.run]
source = ['src/', ]
omit = ['tests/', ]
branch = true
[tool.coverage.html]
directory = 'coverage/'

[project]
name = "pyheimdall"
dynamic = ['version']
authors = [
  {name = "RĂ©gis Witz", email = "regis.witz@cnrs.fr"},
]
description = "High End Interoperability Module when Data is ALL over the place"
readme = 'README.rst'
keywords = ["hera", "databases", "interoperability", ]
license = {text = 'aGPL'}
classifiers = [  # https://pypi.org/classifiers/
  'Development Status :: 3 - Alpha',
  'Environment :: Console',
  'Programming Language :: Python :: 2',
  'Programming Language :: Python :: 3',
  'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)',
  'Operating System :: OS Independent',
  'Topic :: Database',
  'Topic :: Documentation',
  'Topic :: File Formats',
  'Topic :: Scientific/Engineering',
  'Topic :: Utilities',
]
dependencies = [
]

[project.optional-dependencies]
sql = ['mysql-connector-python', ]  # for mysql support, used by heimdal.connectors.mysql
yaml = ['pyyaml', ]  # for yaml support, used by heimdal.connectors.yaml
tests = [
    'pytest', 'coverage',  # parametrized + coverage
    'pyheimdall[sql,yaml]',  # optional features
    ]
pep_8 = ['pycodestyle', ]  # linter, to assert compliancy with PEP 8
doc = ['sphinx', 'sphinx-book-theme']
dev = [ 'pyheimdall[tests,pep_8,doc]', ]

[project.urls]
Homepage = 'https://gitlab.huma-num.fr/datasphere/heimdall/python/'
Issues = 'https://gitlab.huma-num.fr/datasphere/heimdall/python/-/issues'

# ... other project metadata fields as listed in:
#     https://packaging.python.org/en/latest/guides/writing-pyproject-toml/