Estilo de codificação (PEP8) - “dunders” no nível do módulo

Definição de "Dunder" (DoublesobPonto):http://www.urbandictionary.com/define.php?term=Dunder

Eu tenho uma pergunta de acordo com a colocação dos "dunders" no nível do módulo (como__all__, __version__, __author__ etc.) no código Python.

A pergunta veio à minha mente durante a leituraPEP8 e vendoesta Pergunta de estouro de pilha.

A resposta aceita diz:

__author__ é uma "variável" global e, portanto, deve aparecer abaixo das importações.

Mas na seção PEP8Nomes de dunder no nível do módulo Eu li o seguinte:

"Dunders" no nível do módulo (ou seja, nomes com dois sublinhados iniciais e dois finais), como__all__ , __author__ , __version__ , etc. devem ser colocados após a documentação do módulo, mas antes de quaisquer instruções de importação, exceto de__future__ importações. O Python exige que as importações futuras apareçam no módulo antes de qualquer outro código, exceto as doutrinas.

Os autores também fornecem um exemplo de código:

"""This is the example module.

This module does stuff.
"""

from __future__ import barry_as_FLUFL

__all__ = ['a', 'b', 'c']
__version__ = '0.1'
__author__ = 'Cardinal Biggles'

import os
import sys

Mas quando eu coloco o acima no PyCharm, vejo este aviso (também veja a captura de tela):

PEP8: importação no nível do módulo não está no topo do arquivo

Pergunta: Qual é a maneira / local correto para armazenar essas variáveis com sublinhado duplo?

questionAnswers(1)

yourAnswerToTheQuestion