python attribute value radix in sphinx












0















Given a class like this:



from enum import IntEnum
class T(IntEnum):
a = 0x10
b = 0x20


When documenting the attributes of this class, is it possible to have Sphinx document the enumerations with the hexadecimal representation instead of the default decimal?



edit



I have tried using autodoc-process-signature and this works except that attribute references break and I can no longer cross reference attributes anymore.



I am using it like this:



def attribute_hex_render(app, what, name, obj, options, signature, return_annotation):
if 'TestObject.' in name and what == 'attribute':
return f" = {obj:#06x}", return_annotation
return signature, return_annotation #no-op

def setup(app):
# -- Document attributes in hex
app.connect('autodoc-process-signature', attribute_hex_render)









share|improve this question

























  • Are you using autoattribute?

    – mzjn
    Nov 25 '18 at 14:03











  • No, or at least I don't think so. I have sphinx.ext.autodoc in my list of extensions in my conf.py. I then use sphinx-apidoc to automatically document the various python files I have in my project. I have all the documentation for the various enumerations generated just as I want them. The only thing thats missing is that the radix is how I'd like it.

    – Gregory Kuhn
    Nov 25 '18 at 19:10











  • You could use autoattribute with the annotation option. See stackoverflow.com/a/20079303/407651 and stackoverflow.com/a/14503035/407651

    – mzjn
    Nov 29 '18 at 16:53
















0















Given a class like this:



from enum import IntEnum
class T(IntEnum):
a = 0x10
b = 0x20


When documenting the attributes of this class, is it possible to have Sphinx document the enumerations with the hexadecimal representation instead of the default decimal?



edit



I have tried using autodoc-process-signature and this works except that attribute references break and I can no longer cross reference attributes anymore.



I am using it like this:



def attribute_hex_render(app, what, name, obj, options, signature, return_annotation):
if 'TestObject.' in name and what == 'attribute':
return f" = {obj:#06x}", return_annotation
return signature, return_annotation #no-op

def setup(app):
# -- Document attributes in hex
app.connect('autodoc-process-signature', attribute_hex_render)









share|improve this question

























  • Are you using autoattribute?

    – mzjn
    Nov 25 '18 at 14:03











  • No, or at least I don't think so. I have sphinx.ext.autodoc in my list of extensions in my conf.py. I then use sphinx-apidoc to automatically document the various python files I have in my project. I have all the documentation for the various enumerations generated just as I want them. The only thing thats missing is that the radix is how I'd like it.

    – Gregory Kuhn
    Nov 25 '18 at 19:10











  • You could use autoattribute with the annotation option. See stackoverflow.com/a/20079303/407651 and stackoverflow.com/a/14503035/407651

    – mzjn
    Nov 29 '18 at 16:53














0












0








0








Given a class like this:



from enum import IntEnum
class T(IntEnum):
a = 0x10
b = 0x20


When documenting the attributes of this class, is it possible to have Sphinx document the enumerations with the hexadecimal representation instead of the default decimal?



edit



I have tried using autodoc-process-signature and this works except that attribute references break and I can no longer cross reference attributes anymore.



I am using it like this:



def attribute_hex_render(app, what, name, obj, options, signature, return_annotation):
if 'TestObject.' in name and what == 'attribute':
return f" = {obj:#06x}", return_annotation
return signature, return_annotation #no-op

def setup(app):
# -- Document attributes in hex
app.connect('autodoc-process-signature', attribute_hex_render)









share|improve this question
















Given a class like this:



from enum import IntEnum
class T(IntEnum):
a = 0x10
b = 0x20


When documenting the attributes of this class, is it possible to have Sphinx document the enumerations with the hexadecimal representation instead of the default decimal?



edit



I have tried using autodoc-process-signature and this works except that attribute references break and I can no longer cross reference attributes anymore.



I am using it like this:



def attribute_hex_render(app, what, name, obj, options, signature, return_annotation):
if 'TestObject.' in name and what == 'attribute':
return f" = {obj:#06x}", return_annotation
return signature, return_annotation #no-op

def setup(app):
# -- Document attributes in hex
app.connect('autodoc-process-signature', attribute_hex_render)






python-sphinx






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 1 '18 at 10:38







Gregory Kuhn

















asked Nov 25 '18 at 12:44









Gregory KuhnGregory Kuhn

650818




650818













  • Are you using autoattribute?

    – mzjn
    Nov 25 '18 at 14:03











  • No, or at least I don't think so. I have sphinx.ext.autodoc in my list of extensions in my conf.py. I then use sphinx-apidoc to automatically document the various python files I have in my project. I have all the documentation for the various enumerations generated just as I want them. The only thing thats missing is that the radix is how I'd like it.

    – Gregory Kuhn
    Nov 25 '18 at 19:10











  • You could use autoattribute with the annotation option. See stackoverflow.com/a/20079303/407651 and stackoverflow.com/a/14503035/407651

    – mzjn
    Nov 29 '18 at 16:53



















  • Are you using autoattribute?

    – mzjn
    Nov 25 '18 at 14:03











  • No, or at least I don't think so. I have sphinx.ext.autodoc in my list of extensions in my conf.py. I then use sphinx-apidoc to automatically document the various python files I have in my project. I have all the documentation for the various enumerations generated just as I want them. The only thing thats missing is that the radix is how I'd like it.

    – Gregory Kuhn
    Nov 25 '18 at 19:10











  • You could use autoattribute with the annotation option. See stackoverflow.com/a/20079303/407651 and stackoverflow.com/a/14503035/407651

    – mzjn
    Nov 29 '18 at 16:53

















Are you using autoattribute?

– mzjn
Nov 25 '18 at 14:03





Are you using autoattribute?

– mzjn
Nov 25 '18 at 14:03













No, or at least I don't think so. I have sphinx.ext.autodoc in my list of extensions in my conf.py. I then use sphinx-apidoc to automatically document the various python files I have in my project. I have all the documentation for the various enumerations generated just as I want them. The only thing thats missing is that the radix is how I'd like it.

– Gregory Kuhn
Nov 25 '18 at 19:10





No, or at least I don't think so. I have sphinx.ext.autodoc in my list of extensions in my conf.py. I then use sphinx-apidoc to automatically document the various python files I have in my project. I have all the documentation for the various enumerations generated just as I want them. The only thing thats missing is that the radix is how I'd like it.

– Gregory Kuhn
Nov 25 '18 at 19:10













You could use autoattribute with the annotation option. See stackoverflow.com/a/20079303/407651 and stackoverflow.com/a/14503035/407651

– mzjn
Nov 29 '18 at 16:53





You could use autoattribute with the annotation option. See stackoverflow.com/a/20079303/407651 and stackoverflow.com/a/14503035/407651

– mzjn
Nov 29 '18 at 16:53












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53467557%2fpython-attribute-value-radix-in-sphinx%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53467557%2fpython-attribute-value-radix-in-sphinx%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Wiesbaden

Marschland

Dieringhausen