No project description provided
Project description
binary provides a bug-free and easy way to convert between and within binary (IEC) and decimal (SI) units.
Installation
$ 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
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.
Changelog
Important changes are emphasized.
1.0.2
Perform floor division when explicitly converting to bytes
Support negative values
1.0.1
Fix syntax warning on newer versions of Python
1.0.0
Initial release
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
Built Distribution
File details
Details for the file binary-1.0.2.tar.gz
.
File metadata
- Download URL: binary-1.0.2.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
a6ba0af9579098b18dd2ec0b08bd409d8a5c4e5e5a301104b053ad40137264a8
|
|
MD5 |
94e657740b5cf5e5fcdaf973e1d1c330
|
|
BLAKE2b-256 |
bed66ec8a59124533f66e8873eaf6cb2ecbc75c37629aa33c80d2d6338a9eddf
|
Provenance
The following attestation bundles were made for binary-1.0.2.tar.gz
:
Publisher:
build.yml
on ofek/binary
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
binary-1.0.2.tar.gz
-
Subject digest:
a6ba0af9579098b18dd2ec0b08bd409d8a5c4e5e5a301104b053ad40137264a8
- Sigstore transparency entry: 235092940
- Sigstore integration time:
-
Permalink:
ofek/binary@5a924cc7b106d1c1ba338088c61663e1f762d534
-
Branch / Tag:
refs/tags/v1.0.2
- Owner: https://github.com/ofek
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
build.yml@5a924cc7b106d1c1ba338088c61663e1f762d534
-
Trigger Event:
push
-
Statement type:
File details
Details for the file binary-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: binary-1.0.2-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
e79bba085cddfb9d3beefe138464506d2ef0c0f5f68c69e27fc9f82d4ac85470
|
|
MD5 |
a504dd2f8b2a68412f6ca68f0437b72d
|
|
BLAKE2b-256 |
3dc4482b01ffc8a7b7a1a99497fa46d3fca315219b8ddd8f5e595044b7e0ff18
|
Provenance
The following attestation bundles were made for binary-1.0.2-py3-none-any.whl
:
Publisher:
build.yml
on ofek/binary
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
binary-1.0.2-py3-none-any.whl
-
Subject digest:
e79bba085cddfb9d3beefe138464506d2ef0c0f5f68c69e27fc9f82d4ac85470
- Sigstore transparency entry: 235092941
- Sigstore integration time:
-
Permalink:
ofek/binary@5a924cc7b106d1c1ba338088c61663e1f762d534
-
Branch / Tag:
refs/tags/v1.0.2
- Owner: https://github.com/ofek
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
build.yml@5a924cc7b106d1c1ba338088c61663e1f762d534
-
Trigger Event:
push
-
Statement type: