Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

mitsuhiko/python-unio

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

unIO!

  unio is a Python module that tries to set an end to all unicode
  problems.  What it does is providing explicit access to binary and unicode
  data for both Python 2 and 3 that work exactly the same on both systems and
  considerably better than the builtin defaults.

What it gives you:

  * explicit access to stdin/stdout/stderr in both binary and text mode
  * improved file open functions that work the same on 2.x and 3.x that
    handle all encodings for you and come with sensible defaults
  * helper functions to deal with all of the crazy Python 3 unicode
    encoding edge cases

Basic API:

unio.TextIO:
  gives the most appropriate in-memory text io (accepts only unicode)
unio.BytesIO:
  gives the most appropriate in-memory bytes io (accepts only bytes)
unio.NativeIO:
  gives the most appropriate in-memory IO for the system.  That's bytes
  only on Python 3 and bytes + unicode within reason on Python 2.

unio.get_binary_stdin()
unio.get_binary_stdout()
unio.get_binary_stderr()
  Does what the name says, on all platforms.

unio.get_text_stdin()
unio.get_text_stdout()
unio.get_text_stderr()
  Returns a standard stream wrapped in a way that it yields unicode data.
  It will do that in the most appropriate encoding and intelligently fix
  some broken environments to utf-8.  You can also force the encoding to
  be something of your choice this way.

unio.capture_stdout()
  Captures stdout (and optionally stderr) in a bytes io and provides some
  fixes for Python 3 limitations on flushing.

unio.get_binary_argv()
  Returns a copy of sys.argv fixed up to bytes on all versions of Python.

unio.binary_env
  A byte version of os.environ on all python envs.

unio.open()
  Intelligently opens a file in binary or text mode, by following sane
  default encodings and the same behavior on 2.x and 3.x.  The default
  encoding for text files is utf-8 or utf-8-sig based on the mode.  No
  magic environment defaults.

unio.is_ascii_encoding()
  Checks if a given encoding is ascii or not.

unio.get_filesystem_encoding()
  Like sys.getdefaultencoding() but will intelligently assume utf-8 in
  situations where it assumes a broken environment.

About

Unbreaks Unicode on Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.