calmsize

Fork from hurry.filesize, A simple Python library for human readable file sizes (or anything sized in bytes).


Keywords
file, size, bytes
License
ZPL-2.1
Install
pip install calmsize==0.1.3

Documentation

calmsize

Build Status PyPI PyPI download month

NOTICE

I forked the repo from source file downloaded from pip hurry.filesize. That simple library is very useful when debugging memory issues, but unfortunately out-of-maintainance since 2009, so I decided to fork the great work of Martijn Faassen, Startifact.

Intro

calmsize a simple Python library that can take a number of bytes and returns a human-readable string with the size in it, in kilobytes (K), megabytes (M), etc.

The default system it uses is "traditional", where multipliers of 1024 increase the unit size::

>>> from calmsize import size, ByteSize
>>> size(1024)
'1K'
>>> size(-1024)
'-1K'
>>> '{:.2f}'.format(size(-1024))
'-1.00K'

An alternative, slightly more verbose system::

>>> from calmsize import alternative
>>> size(1, system=alternative)
'1 byte'
>>> size(10, system=alternative)
'10 bytes'
>>> size(1024, system=alternative)
'1 KB'

A verbose system::

>>> from calmsize import verbose
>>> size(10, system=verbose)
'10 bytes'
>>> size(1024, system=verbose)
'1 kilobyte'
>>> size(2000, system=verbose)
'1 kilobyte'
>>> size(3000, system=verbose)
'2 kilobytes'
>>> size(1024 * 1024, system=verbose)
'1 megabyte'
>>> size(1024 * 1024 * 3, system=verbose)
'3 megabytes'

You can also use the SI system, where multipliers of 1000 increase the unit size::

>>> from calmsize import si
>>> size(1000, system=si)
'1K'