Como implementar corretamente o protocolo de mapeamento em Python?

Eu estou usando python-spidermonkey, que internamente usa PyMapping_Check para identificar se o objeto que está sendo usado como um global (em rt.new_context (global)) implementa o protocolo de mapeamento. (Este é basicamente um dicionário passado para python-spidermonkey para que o javascript tenha acesso limitado a variáveis ​​python.)

Não há nenhuma definição oficial que eu possa encontrar do protocolo de mapeamento em Python, então eu tenho usado tentativa e erro para determinar o que está nele. Existe uma referência oficial?

questionAnswers(1)

yourAnswerToTheQuestion