Вы можете использовать рекурсивную функцию, чтобы сгладить параметры от диктата до пар ключ-значение в формате в квадратных скобках, который требуется API:
def params(name, parameters):
def flatten(d):
for k, v in d.items():
if isinstance(v, dict):
for s, i in flatten(v):
yield '[%s]%s' % (k, s), i
else:
yield '[%s]' % k, v
return {name + k: v for k, v in flatten(parameters)}
parameters = {
'per_page': 10,
'browse': 1,
'page': 1,
'fields': {
'description': 0,
'sections': 0
}
}
response = requests.get(
'https://api.wordpress.org/plugins/info/1.1/',
{'action': 'query_plugins', **params('request', parameters)}
)