Skip to main content

No project description provided

Project description

Latest PyPI version Travis CI AppVeyor CI Codecov Supported Python versions License

binary provides a bug-free and easy way to convert between and within binary (IEC) and decimal (SI) units.

Installation

binary is distributed on PyPI as a universal wheel and is available on Linux/macOS and Windows and supports Python 2.7/3.5+ and PyPy.

$ pip install binary

Examples

Let’s import what we need:

>>> from binary import BinaryUnits, DecimalUnits, convert_units

Basic conversion:

>>> convert_units(1536, BinaryUnits.KB, BinaryUnits.MB)
(1.5, 'MiB')

How much actual storage your new hard drive has:

>>> convert_units(4, DecimalUnits.TB, BinaryUnits.TB)
(3.637978807091713, 'TiB')

Human readable:

>>> amount, unit = convert_units(kubernetes_ingest_bytes_per_second)
>>> 'Incoming traffic: {:.2f} {}/s'.format(amount, unit)
'Incoming traffic: 24.77 GiB/s'

Usage

Just a single function!

convert_units(n, unit=BYTE, to=None, si=False, exact=False)

Converts between and within binary and decimal units. If no unit is specified, n is assumed to already be in bytes. If no to is specified, n will be converted to the highest unit possible. If no unit nor to is specified, the output will be binary units unless si is True. If exact is True. the calculations will use decimal.Decimal.

  • Parameters
    • n (int or float) - The number of units.
    • unit - The unit n represents. See types.
    • to - The unit to convert to. See types.
    • si (bool) - Assume SI units when no unit nor to is specified.
    • exact (bool) - Use decimal.Decimal for calculations.

Types

Although the string representations for binary units end in iB, the attributes do not for ease of use.

Type Short Long
BinaryUnits B BYTE
BinaryUnits KB KIBIBYTE
BinaryUnits MB MEBIBYTE
BinaryUnits GB GIBIBYTE
BinaryUnits TB TEBIBYTE
BinaryUnits PB PEBIBYTE
BinaryUnits EB EXBIBYTE
BinaryUnits ZB ZEBIBYTE
BinaryUnits YB YOBIBYTE
DecimalUnits B BYTE
DecimalUnits KB KILOBYTE
DecimalUnits MB MEGABYTE
DecimalUnits GB GIGABYTE
DecimalUnits TB TERABYTE
DecimalUnits PB PETABYTE
DecimalUnits EB EXABYTE
DecimalUnits ZB ZETTABYTE
DecimalUnits YB YOTTABYTE

License

binary is distributed under the terms of both

at your option.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

binary-1.0.0.tar.gz (10.7 kB view hashes)

Uploaded source

Built Distribution

binary-1.0.0-py2.py3-none-any.whl (9.2 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page