Description
Hi,
Thanks for scanpydoc, it looks great!
I found it via this sphinx issue which is closely related to the problem I'm facing - I'm trying to get Intersphinx links working with my type hints (using just autodoc_typehints = "description"
, docs here, not sphinx_autodoc_typehints
), but have issues with qualnames.
I basically want to just use the qualname_overrides
option that scanpydoc.elegant_typehints introduces (relevant code here and here).
If I try to use scanpydoc.elegant_typehints, I get an error because I'm not currently using 'sphinx_autodoc_typehints' (just autodoc_typehints = "description"
). I can't see what sphinx_autodoc_typehints
would add for me. I also don't particularly want the reformatting in elegant_typehints or the typle return type change.
However, scanpydoc is GPLv3 licensed, and my project (here if you're interested) is Apache v2 (and I don't have scope to change due to corporate policies).
My impression is that you're happy for scanpydoc to be used as a dependency in non-GPL downstream projects - since scanpy is BSD 3-Clause.
How would you feel about either:
-
Me opening PRs to add config options to switch off(/on) the different parts of elegant_typehints in the numbered list here, and relaxing the requirement on
sphinx_autodoc_typehints
. Then I can use scandocpy as a dependency, if I'm correct that you're happy for scanpydoc to be used as a python dependency of an Apache 2.0 project? -
Agreeing on a way I could extract and modify just the qualname_overrides part of the code:
Given your work on the MIT-licensed Sphinx, especially in this area (e.g. this pr related to the issue), I thought I would be cheeky, and ask whether you would consider (dual-)licensing (some of) scanpydoc under a license compatible with Apache v2 (Apache, MIT, BSD etc.)?
That way I could extract the relevant lines from scanpydoc just for qualname_overrides, and use them in my project (with attribution, license details etc.).
I realise that a licensing change is a big ask, and please feel free to say 'no, the project will remain GPLv3, license your project as GPLv3 if you want to use it'. I thought it was worth reaching out just in case, especially given your contributions to Sphinx previously.
This is also something where I feel like now I've seen your code implementing this fix, given the small-ish size of the fix, if I 'write the code from scratch myself', it's undoubtedly going to take inspiration and look like your code, so I feel like I wouldn't be able to do this under the license constraints, so this issue would be very hard for me to work around 😞. Of course, that's my problem, not yours.