What happened?
`docstring-to-markdown` is LGPL-2.1-or-later, an ASF Category X license, and cannot ship in an Apache binary distribution. It is a core runtime dependency of `python-lsp-server`, which is declared directly in `amber/requirements.txt` as `python-lsp-server[all]==1.12.0` and `python-lsp-server[websockets]==1.12.0`.
Unlike `pylint` / `rope`, `docstring-to-markdown` is not optional — it cannot be disabled via extras selection.
How to reproduce?
```
pip install python-lsp-server==1.12.0
pip show docstring-to-markdown
```
Version
1.1.0-incubating (Pre-release/Master)
Commit Hash (Optional)
ef66364
Proposed fix
Evaluate whether `python-lsp-server` can be replaced with an alternative language server that does not drag LGPL runtime dependencies (e.g., `pyright-python`, or packaging the LSP in a separate non-redistributed image). If `python-lsp-server` stays, `docstring-to-markdown` blocks ASF binary redistribution.
Was this authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Claude Opus 4.7)
What happened?
`docstring-to-markdown` is LGPL-2.1-or-later, an ASF Category X license, and cannot ship in an Apache binary distribution. It is a core runtime dependency of `python-lsp-server`, which is declared directly in `amber/requirements.txt` as `python-lsp-server[all]==1.12.0` and `python-lsp-server[websockets]==1.12.0`.
Unlike `pylint` / `rope`, `docstring-to-markdown` is not optional — it cannot be disabled via extras selection.
How to reproduce?
```
pip install python-lsp-server==1.12.0
pip show docstring-to-markdown
```
Version
1.1.0-incubating (Pre-release/Master)
Commit Hash (Optional)
ef66364
Proposed fix
Evaluate whether `python-lsp-server` can be replaced with an alternative language server that does not drag LGPL runtime dependencies (e.g., `pyright-python`, or packaging the LSP in a separate non-redistributed image). If `python-lsp-server` stays, `docstring-to-markdown` blocks ASF binary redistribution.
Was this authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Claude Opus 4.7)