Trouble with sending associative array parameter

I’m in Python, and the following requesting no attachments works fine:

import requests

session = requests.Session()
data = {"api.token": '[api-token]',
        "order": 'newest',
        "attachments": None}
url = 'https://bugs.aops.com/api/maniphest.search'

request = requests.Request('POST', url, data=data)
prepped = session.prepare_request(request)
response = session.send(prepped)
results = response.json()

When I try to request attachments like so:

import requests

session = requests.Session()
attachments = {"columns": True, "subscribers": True, "projects": True}
data = {"api.token": '[api-token]',
        "order": 'newest',
        "attachments": attachments}
url = 'https://bugs.aops.com/api/maniphest.search'

request = requests.Request('POST', url, data=data)
prepped = session.prepare_request(request)
response = session.send(prepped)
results = response.json()

I got error_code = ERR-CONDUIT-CODE and error_info = ‘Argument 2 passed to array_select_keys() must be of the type array, null given, called in /var/www/phabricator/phabricator/src/applications/search/engine/PhabricatorApplicationSearchEngine.php on line 1215 and defined’

Am I sending the wrong json object or sending it incorrectly or what?