Skip to main content

k3num

Action-CI Documentation Status Package

Convert number to human readable format in a string.

k3num is a component of pykit3 project: a python3 toolkit set.

k3num convert numbers(or numbers in dict or list) to human readable format in string::

>>> readable(103425)
'101.0K'
>>> readable({ 'total': 10240, 'progress': [1, 1024*2.1, 1024*3.2], })
{'total': '10K', 'progress': ['1', '2.10K', '3.20K']}
>>> parsenum('5.2K')
5324.8
>>> parsenum('10%')
0.1

Attributes: value_to_unit(dict): map of int to unit, e.g.: 1024 -> "K", 1024² -> "M".

    Usage::

        >>> value_to_unit[1024**2]
        'M'

        >>> unit_to_value['K']
        1024

unit_to_value(dict): reverse map of `value_to_unit`.

k3num.Hex provides hex integer with arithmatic support.

Different ways to create a 4-byte crc32 hex str::

>>> Hex(0x0102, 4)
'00000102'
>>> Hex(0x0102, 'crc32')
'00000102'
>>> Hex.crc32(0x0102)
'00000102'
>>> Hex('00000102', 'crc32')
'00000102'
>>> Hex.crc32('00000102')
'00000102'

Create with a tuple of prefix and a filling byte::

>>> Hex(('12', 1), 'crc32')
'12010101'

Arithmetic operations::

>>> Hex(0x0102, 'crc32') + 1
'00000103'
>>> Hex(0x0102, 'crc32') * 2
'00000204'
>>> Hex(0x0102, 'crc32') - 1000000
'00000000'
>>> Hex(0x0102, 'crc32') * 1000000000
'ffffffff'

Iterate over sha1 space with a specific step::

>>> Hex.sha1(0) + Hex.sha1(('10', 0))
'1000000000000000000000000000000000000000'
>>> Hex.sha1(0) + Hex.sha1(('10', 0)) * 2
'2000000000000000000000000000000000000000'

Install

pip install k3num

Synopsis

>>> readable(103425)
'101.0K'
>>> readable({ 'total': 10240, 'progress': [1, 1024*2.1, 1024*3.2], })
{'total': '10K', 'progress': ['1', '2.10K', '3.20K']}
>>> parsenum('5.2K')
5324.8
>>> parsenum('10%')
0.1
>>> value_to_unit[1024**2]
'M'
>>> unit_to_value['K']
1024
>>> Hex(0x0102, 4)
'00000102'
>>> Hex(0x0102, 'crc32')
'00000102'
>>> Hex.crc32(0x0102)
'00000102'
>>> Hex('00000102', 'crc32')
'00000102'
>>> Hex.crc32('00000102')
'00000102'
>>> Hex(('12', 1), 'crc32')
'12010101'
>>> Hex(0x0102, 'crc32') + 1
'00000103'
>>> Hex(0x0102, 'crc32') * 2
'00000204'
>>> Hex(0x0102, 'crc32') - 1000000
'00000000'
>>> Hex(0x0102, 'crc32') * 1000000000
'ffffffff'
>>> Hex.sha1(0) + Hex.sha1(('10', 0))
'1000000000000000000000000000000000000000'
>>> Hex.sha1(0) + Hex.sha1(('10', 0)) * 2
'2000000000000000000000000000000000000000'

Author

Zhang Yanpo (张炎泼) drdr.xp@gmail.com

Copyright and License

The MIT License (MIT)

Copyright (c) 2015 Zhang Yanpo (张炎泼) drdr.xp@gmail.com

Metadata

Release files for k3num 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for k3num 0.1.11
File Size Uploaded
k3num-0.1.11.tar.gz 9.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for k3num 0.1.11
File Interpreter ABI Platform
k3num-0.1.11-py3-none-any.whl Python 3 none any Details

Total release size: 17.0 kB

Release files / k3num-0.1.11.tar.gz

Download URL k3num-0.1.11.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0a13c5a4b87f646230b6eed18f47b85e4049c9ae7bda055521f8d9e07d02ff93
BLAKE2b-256 checksum
How to use checksums
4def4b5c6033c10e07b93fe0c4c7c6451d5e4ea3f92489f983b9889eb318bf6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / k3num-0.1.11-py3-none-any.whl

Download URL k3num-0.1.11-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7b3ead52445dbcc68deb279036b66edc92ca879a9b44e58079606c1bd05d1600
BLAKE2b-256 checksum
How to use checksums
d9184a1546f7c7e3fcf1c0141ae5aeefe6b7ba549f617e035a3bae3e8fcf1186
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release history Release notifications | RSS feed

0.1.14

2 release files

This release

0.1.11 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

1 release file

0.1.3

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page