Document IMAP4.append() message type and optional arguments
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 35.9k
- PR merge metrics
- PR metrics pending
Description
The IMAP4.append() documentation currently says only:
Append message to named mailbox.
It now documents the flags argument, but the remaining argument behavior is still easier to discover from Lib/imaplib.py than from the library docs.
In the implementation:
mailboxis treated as optional in practice: a false value is replaced with'INBOX'.flagsanddate_timemay beNone, in which case they are omitted from the command.messageis not optional. It is passed toMapCRLF.sub(CRLF, message), whereMapCRLFis a bytes regular expression, somessagemust be a bytes-like object. Passing astrraisesTypeErrorbefore the command is sent.
The method docstring already hints at this by saying "All args except 'message' can be None", but that detail is not in Doc/library/imaplib.rst.
This is related to the broader documentation issue in #68215, but this issue is intentionally narrower: clarify the public documentation for IMAP4.append() only.
Suggested documentation scope:
- State that message must be a bytes-like object.
- State which arguments may be
None. - Clarify that
mailbox=None(or another false value) usesINBOX. - Clarify that
date_time=Noneomits the internal date argument.
This should stay separate from the existing CR/LF-normalization behavior tracked in #49680.
Linked PRs
- gh-149964
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.
Research direction
Open Doc/library/imaplib.rst and locate the public documentation for IMAP4.append(). Update it to cover the bytes-like message requirement, which arguments may be None, false mailbox values defaulting to INBOX, and date_time=None omitting the internal date argument; the linked PR indicates this work is already underway.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100