Skip to content

I want to use just the qualname_overrides functionality of elegant_typehints within having sphinx_autodoc_typehints installed #64

Closed
@EFord36

Description

@EFord36

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:

  1. 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?

  2. 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.

Metadata

Metadata

Assignees

No one assigned

    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