Python Package Layout
August 15, 2026 ยท View on GitHub
This reference defines the distribution and import names for the Python Harness. The naming rule applies to project-owned source, tests, documentation, and dynamically loaded backend plugin examples.
Names
- The Python distribution name is
deepseek-harness-python. - The import root is
harness. - Project-owned Python source lives under
python/harness/. - Public modules use the
harness.cordis,harness.agent,harness.plugins, andharness.bridgenamespaces.
Distribution metadata and Python imports serve different consumers, so the distribution name does not determine the import root. Packaging discovery includes only harness and its subpackages from the python/ project.
Import behavior
All project-owned imports and generated backend plugin fixtures must use harness. The package does not expose a deepseek_harness compatibility module because this pre-release project has no external compatibility promise.
An environment synchronized from this repository must resolve import harness to python/harness/__init__.py. Importing deepseek_harness must raise ModuleNotFoundError.
Failure handling
Packaging, tests, and plugin loading fail normally when code imports an unavailable module. The runtime must not alias, redirect, or silently accept deepseek_harness.
Acceptance criteria
- The built and editable distributions expose
harnessand its public subpackages. - Production source and plugin fixtures contain no
deepseek_harnessimport orsrc/package path. - The unit suite, Ruff, strict Pyright, and bytecode compilation pass with the specified layout.
- A clean runtime imports
harnessand rejectsdeepseek_harness.
Exclusions
This change does not rename the distribution, repository, plugin manifest fields, or TypeScript packages. It does not add compatibility aliases or change runtime behavior beyond Python module resolution.