wand.compat — Compatibility layer

This module provides several subtle things to support multiple Python versions (2.6, 2.7, 3.3+) and VM implementations (CPython, PyPy).

wand.compat.PY3 = True

(bool) Whether it is Python 3.x or not.

wand.compat.abc = <module 'collections.abc' from '/home/docs/checkouts/readthedocs.org/user_builds/wand/envs/0.6.1/lib/python3.7/collections/abc.py'>

(module) Module containing abstract base classes. collections in Python 2 and collections.abc in Python 3.

wand.compat.binary(string, var=None)

Makes string to str in Python 2. Makes string to bytes in Python 3.

Parameters:
  • string (bytes, str, unicode) – a string to cast it to binary_type
  • var (str) – an optional variable name to be used for error message
wand.compat.binary_type

alias of builtins.bytes

wand.compat.encode_filename(filename)

If filename is a text_type, encode it to binary_type according to filesystem’s default encoding.

Changed in version 0.5.3: Added support for PEP-519 https://github.com/emcconville/wand/pull/339

wand.compat.file_types

alias of io.RawIOBase

wand.compat.string_type

alias of builtins.str

wand.compat.text_type

alias of builtins.str

wand.compat.xrange

alias of builtins.range