python / python/cpython

Better/complete documentation of sys.stdin/stdout/stderr default behavior

Open
#92,298 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

docs
Dominant language
Python
Stars
77.2k
Forks
36k
PR merge metrics
PR metrics pending

Description

See https://docs.python.org/3/library/sys.html?highlight=stdin#sys.stdin
The default behavior of sys.stdin/stdout/stderr is not fully documented (e.g. the default newline mode, depending on OS), and the current existing documentation is a lot more difficult to understand than it would need to be, referring to internal c-api settings instead of explaining in clear language what is going.

Given how important this information is and given that the behavior of sys.stdin/out/err is surprisingly DIFFERENT from what the default would be if open with default settings would be used, making the documentation more complete and easier to understand would be rather important. The number of questions on stackoverlow (partly with incorrect or hard to verify answers) about this is a good indicator of how confusing and important this matter is.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the sys.stdin, sys.stdout, and sys.stderr section at the linked Python documentation page, then compare its description with the behavior of open using default settings across operating systems. The work is done when the default newline behavior and other relevant differences are explained clearly and accurately without relying on internal C API terminology.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.