Como o SWIG quebra um mapa <string, string> em Pytho

Estou usando o SWIG 2.0 para criar um wrapper Python para uma biblioteca C ++. Um método possui um argumento do tipo "const std :: map &". Felizmente, o SWIG gera um invólucro para ele, mas não consigo descobrir como invocar o método. Se eu passar, por exemplo, {"a": "b"} para esse argumento, recebo o erro "NotImplementedError: número ou tipo errado de argumentos para a função sobrecarregada".

Eu olhei para o arquivo .cxx gerado na esperança de esclarecer, mas não o fez. Aqui está o código que processa esse argumento:

res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_std__mapT_std__string_std__string_t,  0  | 0);
if (!SWIG_IsOK(res4)) {
  SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "new_Context" "', argument " "4"" of type '" "std::map< std::string,std::string > const &""'"); 
}

Sabe claramente que o argumento existe e que deve ser algo que é convertido em um mapa. Mas não consigo descobrir o que realmente quer que eu aceite.

questionAnswers(2)

yourAnswerToTheQuestion