Uploaded image for project: 'Motor'
  1. Motor
  2. MOTOR-1327

Hatch as Build Backend

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Unknown Unknown
    • 3.5
    • Affects Version/s: None
    • Component/s: None
    • None
    • Python Drivers

      Context

      Hatch is a modern, standards-compliant, user-friendly build and package maintenance tool. By adopting hatch we get:

      • Full support for pyproject.toml
      • Easier maintenance of wheel and sdist contents that respects VCS
      • A wide suite of plugins, including loading requirements from requirements files
      • A single interface for automated version bumping (hatch version and dist building hatch dist -t wheel.
      • A potential replacement for tox, using hatch environments.

      By adopting CMake we get:

      • A well-defined and supported build system
      • An explicit build file

      For now we can invoke Setuptools ourselves in a custom hatch build script. Once the CMake plugin for Hatch is complete, we can use CMake and that plugin instead.

      Definition of done

      Replace usage of setuptools with hatch.

      Pitfalls

      We need to ensure that the contents/behavior of our dists are not changing.

            Assignee:
            steve.silvester@mongodb.com Steve Silvester
            Reporter:
            steve.silvester@mongodb.com Steve Silvester
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: