Skip to content

[Feature]: Support namespace packaging #1471

@kvklink

Description

@kvklink

Contact Details

No response

What should we build?

Convert the package definition of the orchestrator module into something that supports namespace packages

Namespace packages are a mechanism for splitting a single Python package across multiple directories on disk.

This will enable the development and packaging of extra modules outside of orchestrator-core like orchestrator-optical.
With it, we can have:

  1. uv add orchestrator-core
  2. uv add orchestrator-optical
  3. from orchestrator.optical.products import OpticalProduct
  4. Profit

Implementation

For the implementation of this feature, relevant docs in this section of PEP 420. It comes down to removing the __init__.py from the orchestrator main module. Flit should readily support implicit namespace packages like here.

Relevant pseudo code

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureRequest for new featuretriageIssue that need to be triaged

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions