Getting started with reading this source code. The source is mainly divided into four parts:
- Exception Classes: These are very basic exception classes derived from runtime_error exception. There are two types of exception thrown from subprocess library: OSError and CalledProcessError
- Popen Class This is the main class the users will deal with. It provides with all the API's to deal with processes.
- Util namespace It includes some helper functions to split/join a string, reading from file descriptors, waiting on a process, fcntl options on file descriptors etc.
- Detail namespace This includes some metaprogramming and helper classes.