content: [build-system]
  build-backend = "hatchling.build"
  requires = ["hatchling>=1.27.0", "hatch-fancy-pypi-readme"]
  
  [project]
  authors = [
    {name = "Marek Sebera", email = "marek.sebera@gmail.com"}
  ]
  classifiers = [
    "Development Status :: 3 - Alpha",
    "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
    "Environment :: Console",
    "Topic :: Communications :: Ham Radio",
    "Operating System :: POSIX :: Linux",
    "Typing :: Typed",
    "Framework :: Pytest",
    "Intended Audience :: Telecommunications Industry",
    "Natural Language :: English",
    "Programming Language :: Python :: 3.8"
  ]
  dependencies = [
    "dmr-kaitai>=1.1.1",
    "bitarray>=2.9.2",
    "numpy>=1.24.4",  # 1.24.4 is latest release compatible with Python 3.8.x branch
    "scapy>=2.5.0",
    "asyncio>=3.4.3",
    "puresnmp>=2.0.0.post1"
  ]
  description = "DMR PDUs, elements, FEC and CRC library, including proprietary DMR protocols of Hytera and Motorola"
  dynamic = ["readme"]
  keywords = [
    "dmr",
    "etsi",
    "ham",
    "mmdvm",
    "homebrew",
    "radio",
    "hytera",
    "motorola"
  ]
  license = {text = "AGPL-3.0"}
  name = "ok-dmrlib"
  requires-python = ">=3.8"
  version = "0.8.0"
  
  [project.optional-dependencies]
  pre-commit = ["pre-commit>=3.0.0"]
  test = [
    "pytest>=8.1.1",
    "pytest-cov>=5.0.0",
    "pytest-asyncio>=0.23.6",
    "crc>=7.0.0",
    "coverage>=7.4.0"
  ]
  
  [project.scripts]
  dmrlib-dmr-burst = "okdmr.dmrlib.tools.dmrlib_tool:DmrlibTool.burst"
  dmrlib-dmr-csbk = "okdmr.dmrlib.tools.dmrlib_tool:DmrlibTool.csbk"
  dmrlib-dmr-full-lc = "okdmr.dmrlib.tools.dmrlib_tool:DmrlibTool.full_lc"
  dmrlib-dmr-header = "okdmr.dmrlib.tools.dmrlib_tool:DmrlibTool.header"
  dmrlib-dmr-ipudp = "okdmr.dmrlib.tools.dmrlib_tool:DmrlibTool.ipudp"
  dmrlib-dmr-voiceburst = "okdmr.dmrlib.tools.dmrlib_tool:DmrlibTool.voiceburst"
  dmrlib-dsd-fme = "okdmr.dmrlib.tools.dmrlib_tool:DmrlibTool.dsdfme"
  dmrlib-hrnp-connect = "okdmr.dmrlib.tools.hrnp_client:HRNPClient.run"
  dmrlib-hytera-hdap = "okdmr.dmrlib.tools.hytera_tool:HyteraTool.hdap"
  dmrlib-hytera-hrnp = "okdmr.dmrlib.tools.hytera_tool:HyteraTool.hrnp"
  dmrlib-hytera-hstrp = "okdmr.dmrlib.tools.hytera_tool:HyteraTool.hstrp"
  dmrlib-hytera-ipsc = "okdmr.dmrlib.tools.hytera_tool:HyteraTool.ipsc"
  dmrlib-hytera-lp = "okdmr.dmrlib.tools.hytera_tool:HyteraTool.lp"
  dmrlib-hytera-rcp = "okdmr.dmrlib.tools.hytera_tool:HyteraTool.rcp"
  dmrlib-hytera-rrs = "okdmr.dmrlib.tools.hytera_tool:HyteraTool.rrs"
  dmrlib-hytera-tmp = "okdmr.dmrlib.tools.hytera_tool:HyteraTool.tmp"
  dmrlib-pcap-tool = "okdmr.dmrlib.tools.pcap_tool:PcapTool.main"
  
  [project.urls]
  repository = "https://github.com/OK-DMR/ok-dmrlib"
  
  [tool.coverage.report]
  exclude_lines = [
    "if __name__ == .__main__.:",
    "pass",
    "continue",
    "traceback.print_exc()",
    "raise KeyError",
    "raise ValueError"
  ]
  precision = 2
  
  [tool.coverage.run]
  # branch is currently broken see: https://github.com/nedbat/coveragepy/issues/1530
  branch = false
  source = ["okdrm.dmrlib"]
  
  [tool.hatch.build.targets.sdist]
  exclude = [
    ".gitignore",
    "/.gitignore",
    ".gitkeep",
    "/okdmr/tests",
    "/.github"
  ]
  include = [
    "/README.md",
    "/okdmr",
    "/Makefile",
    "/.yamllint",
    "/.pre-commit-config.yaml",
    "/setup.py"
  ]
  
  [tool.hatch.build.targets.wheel]
  packages = ["/okdmr"]
  
  [tool.hatch.metadata.hooks.fancy-pypi-readme]
  content-type = "text/markdown"
  fragments = [
    {path = "README.md"}
  ]
  
  [tool.isort]
  profile = "black"
  
  [tool.pytest.ini_options]
  asyncio_default_fixture_loop_scope = "function"
  asyncio_mode = "strict"
  filterwarnings = [
    'ignore:Unknown config option:pytest.PytestConfigWarning'
  ]
  