json.dump() ignores its 'default' option when serializing dictionary keys
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
Research direction
Start with the json.dump() and encoder implementation, then review the linked PR gh-119984 and the proposed json-default-dict-keys.diff and json-default-tests.diff files. Check how dictionary keys are serialized in both the default and C implementations. Done means the default option is honored for dictionary keys and regression coverage passes for both paths.
Written by the indexing model from the issue text.
Description
| BPO | 18820 |
|---|---|
| Nosy | @rhettinger, @etrepum, @pitrou, @ezio-melotti, @tifv, @berkerpeksag, @serhiy-storchaka, @iritkatriel |
| Files |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee = None
closed_at = None
created_at = <Date 2013-08-23.10:30:29.980>
labels = ['type-bug', 'library', '3.9', '3.10', '3.11']
title = "json.dump() ignores its 'default' option when serializing dictionary keys"
updated_at = <Date 2022-03-13.20:16:36.622>
user = 'https://github.com/tifv'
bugs.python.org fields:
activity = <Date 2022-03-13.20:16:36.622>
actor = 'iritkatriel'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Library (Lib)']
creation = <Date 2013-08-23.10:30:29.980>
creator = 'july'
dependencies = []
files = ['31437', '31450']
hgrepos = []
issue_num = 18820
keywords = ['patch']
message_count = 8.0
messages = ['195957', '195958', '196022', '196036', '263013', '263019', '263025', '415093']
nosy_count = 11.0
nosy_names = ['rhettinger', 'bob.ippolito', 'pitrou', 'ezio.melotti', 'cvrebert', 'july', 'docs@python', 'berker.peksag', 'serhiy.storchaka', 'Erwin Mayer', 'iritkatriel']
pr_nums = []
priority = 'normal'
resolution = None
stage = 'patch review'
status = 'open'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue18820'
versions = ['Python 3.9', 'Python 3.10', 'Python 3.11']
Linked PRs
- gh-119984
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 36k
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 558
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from python/cpython
-
docs pending
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
stdlib type-feature
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
stdlib type-feature
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
build type-bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
stdlib topic-email type-feature
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100