Skip to content

Switch to top-level Python packages #237

@kdmccormick

Description

@kdmccormick

Instead of:

  • xblock_pdf/
  • xblocks_contrib/
    • html/
    • problem/
    • etc.

We should move to:

  • src/
    • xblock_pdf/
    • xblock_html/
    • xblock_problem/
    • etc.

And the import roots will change:

  • Before: from xblock_contrib.problem import ProblemBlock
  • After: from xblock_problem import ProblemBlock

Why?

  • It matches the structure of xblocks-extra
  • It allows us to move xblocks into and out of xblocks-extra, xblocks-core, and other repositories without changing their import paths. It decouples their public API from our specific way of structuring the blocks, allowing us to keep the API stable as maintenance needs change and architectural decisions are made.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions