-
Notifications
You must be signed in to change notification settings - Fork 953
[RFC] Canonicalize python file structure #8699
Copy link
Copy link
Open
Labels
enhancementNot as big of a feature, but technically not a bug. Should be easy to fixNot as big of a feature, but technically not a bug. Should be easy to fixtriagedThis issue has been looked at a team member, and triaged and prioritized into an appropriate moduleThis issue has been looked at a team member, and triaged and prioritized into an appropriate module
Metadata
Metadata
Assignees
Labels
enhancementNot as big of a feature, but technically not a bug. Should be easy to fixNot as big of a feature, but technically not a bug. Should be easy to fixtriagedThis issue has been looked at a team member, and triaged and prioritized into an appropriate moduleThis issue has been looked at a team member, and triaged and prioritized into an appropriate module
Type
Projects
Status
Backlog
Status
Backlog
🚀 The feature, motivation and pitch
Blocking #2871
Context
Currently the file structure looks like this:
Problem
executorch/directory, we can't add code intoexecutorchroot module, we will have to do things likeimport executorch.exiretc. In the future we want to dofrom executorch import <top level API>setuptoolstries to map the module namespace to actual files, it will do the following mapping:'executorch/backens.apple': ['<path to local executorch repo>/executorch/backends/apple'].setuptoolscouldn't define a root levelexecutorchmodule as well because it only lookup folders underexecutorch/. SeeNAMESPACEsection in this generated code, instead we want this code.Proposal
Move all python code into
executorch/and use that as our root level module. Keep all native source files intact.This way we can build a self-contained
executorchmodule which works for editable mode.Migrations
If we go down this route, we will have to migrate python targets to
executorch/and change internal usage. I don't expect this to affect pip users since they will just do the samefrom executorch.exir import X.Alternatives
No response
Additional context
No response
RFC (Optional)
No response