Functions for decomposing nonnegative integers according to various unit scales and also parsing support for values written in scales.
Latest release 20200718: Use str.isalpha to recognise "unit" words instead of string.ascii_letters (uses new cs.lex.get_chars "callable gochars" mode).
Presupplied scales:
BINARY_BYTES_SCALE: Binary units of (B)ytes, KiB, MiB, GiB etc.DECIMAL_BYTES_SCALE: Decimal units of (B)ytes, KB, MB, GB etc.DECIMAL_SCALE: Unit suffixes K, M, G etc.TIME_SCALE: Units of (s)econds, (m)inutes, (h)ours, (d)ays and (w)eeks.UNSCALED_SCALE: no units
Function combine(components, scale)
Combine a sequence of value components as from human() into an integer.
Function geek_bytes(n)
Decompose a nonnegative integer n into counts by unit
from BINARY_BYTES_SCALE.
Function human(n, scale)
Decompose a nonnegative integer n into counts by unit from scale.
Parameters:
n: a nonnegative integer.scale: a sequence of(factor,unit)where factor is the size factor to the following scale item andunitis the designator of the unit.
Function human_bytes(n)
Decompose a nonnegative integer n into counts by unit
from DECIMAL_BYTES_SCALE.
Function human_time(n, scale=None)
Decompose a nonnegative integer n into counts by unit
from TIME_SCALE.
Function multiparse(s, scales, offset=0)
Parse an integer followed by an optional scale and return computed value. Returns the parsed value and the new offset.
Parameters:
s: the string to parse.scales: an iterable of scale arrays of (factor, unit_name).offset: starting position for parse.
Function parse(s, scale, offset=0)
Parse an integer followed by an optional scale and return computed value. Returns the parsed value and the new offset.
Parameters:
s: the string to parse.scale: a scale array of (factor, unit_name).offset: starting position for parse.
Function transcribe(n, scale, max_parts=None, skip_zero=False, sep='')
Transcribe a nonnegative integer n against scale.
Parameters:
n: a nonnegative integer.scale: a sequence of (factor, unit) where factor is the size factor to the follow scale andunitis the designator of the unit.max_parts: the maximum number of components to transcribe.skip_zero: omit components of value 0.sep: separator between words, default:''.
Function transcribe_bytes_geek(n, max_parts=1, **kw)
Transcribe a nonnegative integer n against BINARY_BYTES_SCALE.
Function transcribe_bytes_human(n, max_parts=1, **kw)
Transcribe a nonnegative integer n against DECIMAL_BYTES_SCALE.
Function transcribe_time(n, max_parts=3, **kw)
Transcribe a nonnegative integer n against TIME_SCALE.
Release Log
Release 20200718: Use str.isalpha to recognise "unit" words instead of string.ascii_letters (uses new cs.lex.get_chars "callable gochars" mode).
Release 20200626: transcribe: use "%.1f" to format the count if it is not == int(count) ==> a float-with-fraction.
Release 20200613: New UNSCALED_SCALE for no units.
Release 20190220: Dependency fix.
Release 20181228: Initial PyPI release.
Metadata
Release files for cs-units 20200718
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cs.units-20200718.tar.gz | 4.4 kB | Without provenance | Details for cs.units-20200718.tar.gz |
Release files / cs.units-20200718.tar.gz
| Download URL | cs.units-20200718.tar.gz |
|---|---|
| Size | 4.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
73c0902d01c671e88e92b9b528aa00918672aa085ed1ab2a854c5ff18da76651
|
|
BLAKE2b-256 checksum How to use checksums |
247868f98d12cdde7195decb80034cd06cfba61251d3b82e724a35a0f05a8f61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3
|
Security for cs-units 20200718
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.