content: [build-system]
  requires = [
      "hatchling",
      "hatch-requirements-txt",
      "hatch-vcs",
  ]
  build-backend = "hatchling.build"
  
  [project]
  name = "mpremote"
  description = "Tool for interacting remotely with MicroPython devices"
  readme = "README.md"
  authors = [
      {name = "Damien George", email = "damien@micropython.org"},
  ]
  urls = {Homepage = "https://github.com/micropython/micropython"}
  keywords = [
      "hardware",
      "micropython",
  ]
  license = {text = "MIT"}
  classifiers = [
      "Intended Audience :: Developers",
      "License :: OSI Approved :: MIT License",
      "Operating System :: OS Independent",
      "Programming Language :: Python :: 3",
      "Topic :: Software Development :: Embedded Systems",
      "Topic :: System :: Hardware",
  ]
  requires-python = ">=3.4"
  dynamic = ["dependencies", "version"]
  
  [project.scripts]
  mpremote = "mpremote.main:main"
  
  [tool.hatch.metadata.hooks.requirements_txt]
  files = ["requirements.txt"]
  
  # This will be PEP-440 normalised into either:
  # mpremote-X.Y.Z (on vX.Y.Z release tag)
  # mpremote-X.Y.Zrc0 (on vX.Y.Z-preview tag, i.e. first commit in the cycle)
  # mpremote-X.Y.Zrc0.postN+gHASH (N commits past vX.Y.Z-preview tag)
  # mpremote-X.Y.Zrc0.postN+gHASH.dDATE (N commits past vX.Y.Z-preview tag, dirty)
  [tool.hatch.version]
  source = "vcs"
  tag-pattern = "(?P<version>v(\\d+).(\\d+).(\\d+)(-preview)?)"
  raw-options = { root = "../..", version_scheme = "post-release" }
  
  [tool.hatch.build]
  packages = ["mpremote"]
  
  [tool.hatch.build.targets.sdist.force-include]
  "requirements.txt" = "requirements.txt"
  