# certbot.compat package

Compatibility layer to run certbot both on Linux and Windows.

This package contains all logic that needs to be implemented specifically for Linux and for Windows. Then the rest of certbot code relies on this module to be platform agnostic.

## Submodules

- certbot.compat.filesystem module
  - `chmod()`
  - `umask()`
  - `temp_umask()`
  - `copy_ownership_and_apply_mode()`
  - `copy_ownership_and_mode()`
  - `check_mode()`
  - `check_owner()`
  - `check_permissions()`
  - `open()`
  - `makedirs()`
  - `mkdir()`
  - `replace()`
  - `realpath()`
  - `readlink()`
  - `is_executable()`
  - `has_world_permissions()`
  - `compute_private_key_mode()`
  - `has_same_ownership()`
  - `has_min_permissions()`
- certbot.compat.misc module
  - `raise_for_non_administrative_windows_rights()`
  - `prepare_virtual_console()`
  - `readline_with_timeout()`
  - `get_default_folder()`
  - `underscores_for_unsupported_characters_in_path()`
  - `execute_command_status()`
- certbot.compat.os module
  - `access()`
  - `chmod()`
  - `chown()`
  - `fstat()`
  - `mkdir()`
  - `open()`
  - `rename()`
  - `replace()`
  - `stat()`
  - `umask()`
  - `makedirs()`