При использовании расширения intersphinx для перекрестных ссылок на объекты из внешних пакетов Python ссылки могут быть довольно длинными, если модуль, в котором определен объект, вложен в несколько уровней глубиной.В частности, я работаю с библиотекой Sympy, что приводит к тому, что постоянно приходится набирать такие вещи, как :class:`sympy.core.symbol.Symbol`
повсюду.
Я знаю, что вы можете:
- Prepend a
~
символ для ссылки, чтобы ссылка отображалась только как «Символ» в сгенерированной документации. - Усекает путь от начала , оставляя точку в начале, как
.Symbol
, .symbol.Symbol
, .core.symbol.Symbol
и т. Д. - Просто используйте
Symbol
и рассчитывайте на Сфинкса, чтобы найти его, если я знаю, что не будет никаких конфликтов.
# 1 подходит для сгенерированной документации, но все еще очень многословен в исходных файлах.# 2 и # 3 короче, но пропускают самую важную часть, которая является фактическим корневым пакетом.
Есть ли способ сократить ссылки таким образом, чтобы удалить имена промежуточных модулей, но также сохранить пространство имен корневого пакета?Что-то вроде sympy.*.Symbol
или sympy::Symbol
?