Skip to main content

Bitcalc

Description

A command line utility and module for quick conversion and comparison of bit/byte values

Installation

You can easily install bitcalc into your Python 3+ environment's site-packages from PyPi with pip:

pip install bitcalc

Or install the latest version of the repository with pip:

pip install git+https://github.com/miliarch/bitcalc.git

Once installed, the main bitcalc program interface can be invoked by issuing bitcalc commands in your terminal of choice.

Consider using virtualenv to create an isolated Python environment for your project. It makes managing Python environments a lot easier (less clutter/conflict in system Python's site-packages).

If you'd rather not use pip to install bitcalc, you can simply clone this repository and copy the bitcalc module into your project directory.

Help

usage: bitcalc [-h] [-b {2,10}] [-d DURATION] [-r RATE] [-a] count label [target_labels [target_labels ...]]

Bitcalc - A command line utility for quick conversion and comparison of bit/byte values

positional arguments:
  count                 specify bit/byte count (numeric)
  label                 specify short unit label of count
  target_labels         specify target short unit label conversion target(s)

                         short unit labels:
                          ambiguous: [b|B] (handled as base-2 by default)
                          base-2: [Kib|KiB|Mib|MiB|Gib|GiB|Tib|TiB|Pib|PiB]
                          base-10: [kb|kB|Mb|MB|Gb|GB|Tb|TB|Pb|PB]

optional arguments:
  -h, --help            show this help message and exit
  -b {2,10}, --base {2,10}
                        specify base for ambiguous unit labels
  -d DURATION, --duration DURATION
                        specify duration for conversion to rate (y:w:d:h:m:s)
                         format examples: [1:30:20|42|3:12:37:15]
                         requires: target_labels specified (first used)
  -r RATE, --rate RATE  specify rate for conversion to duration (e.g.: 10/s)
                         requires: target_labels specified (first used)
  -a, --alt             print alternate table (both base-2 and base-10 units)

For more information about IEC and SI notation, see Ubuntu Units Policy.

Usage and Output Examples

$ bitcalc 5 GiB B KiB MiB

Value: 5 Gibibytes (GiB)
+-------------------+------------------------+
| (lbl) Unit Label  |                  Value |
+-------------------+------------------------+
|   (B) Bytes       |             5368709120 |
| (KiB) Kibibytes   |                5242880 |
| (MiB) Mebibytes   |                   5120 |
+-------------------+------------------------+

$ bitcalc 5 GiB

Value: 5 Gibibytes (GiB)
+-------------------+------------------------+
| (lbl) Unit Label  |                  Value |
+-------------------+------------------------+
|   (b) Bits        |            42949672960 |
|   (B) Bytes       |             5368709120 |
| (Kib) Kibibits    |               41943040 |
| (KiB) Kibibytes   |                5242880 |
| (Mib) Mebibits    |                  40960 |
| (MiB) Mebibytes   |                   5120 |
| (Gib) Gibibits    |                     40 |
| (GiB) Gibibytes   |                      5 |
| (Tib) Tebibits    |              0.0390625 |
| (TiB) Tebibytes   |             0.00488281 |
| (Pib) Pebibits    |             0.00003815 |
| (PiB) Pebibytes   |             0.00000477 |
+-------------------+------------------------+

$ bitcalc 5 GiB --alt

Value: 5 Gibibytes (GiB)
+-------------------------+-------------------------+
|          Value (base-2) |         Value (base-10) |
+-------------------------+-------------------------+
|         42949672960 b   |          42949672960 b  |
|          5368709120 B   |           5368709120 B  |
|            41943040 Kib |          42949672.96 kb |
|             5242880 KiB |           5368709.12 kB |
|               40960 Mib |            42949.673 Mb |
|                5120 MiB |             5368.709 MB |
|                  40 Gib |                42.95 Gb |
|                   5 GiB |                5.369 GB |
|           0.0390625 Tib |           0.04294967 Tb |
|          0.00488281 TiB |           0.00536871 TB |
|          0.00003815 Pib |           0.00004295 Pb |
|          0.00000477 PiB |           0.00000537 PB |
+-------------------------+-------------------------+

$ bitcalc 5 GiB MiB --duration 10:35

Value: 5 Gibibytes (GiB)
Duration: 0:10:35
Data rate: 8.063 MiB/s

$ bitcalc 5 TiB MiB --rate 37/s

Value: 5 Tebibytes (TiB)
Duration: 1 day, 15:21:39
Data rate: 37 MiB/s

Version History / Change Log

  • 2019-12-21 - v1.4 - Implemented data rate and duration handling (does not yet account for overhead)
  • 2019-11-23 - v1.3 - Pinned to Python 3+
  • 2019-11-23 - v1.2 - Name simplification and re-write; support of targeted conversion and output of combo value output (base-2 and base-10); introduction of setup.py for pip installation and modular import
  • 2019-02-16 - v1.1 - Refactoring and general improvements
  • 2016-09-14 - v1.0 - First functional release

About

This is a little project that's been in the works for a while. Frequently dealing with storage/filesystem management, I found that I'd often need to convert between different bit and byte values. Most of the time, I'd just head over to Matisse's Bit Calculator, as it suited my needs perfectly. Over time this became a bit cumbersome, and I sought to find a locally executable equivalent. I didn't find one, so I built one!

Release files for bitcalc 1.7

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

Source distribution (sdist)

Source distribution for bitcalc 1.7
File Size Uploaded
bitcalc-1.7.tar.gz 11.4 kB Details

Built distribution (wheel)

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

Total release size: 21.9 kB

Release files / bitcalc-1.7.tar.gz

Download URL bitcalc-1.7.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
01f52055382a87df5ac9d03697be1c029d580a9b66c6061fb1d55820ac44504d
BLAKE2b-256 checksum
How to use checksums
3fc45361764b568c437718b424241601626e319fa4a3dac5f5ad6efd18446050
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.4

Release files / bitcalc-1.7-py3-none-any.whl

Download URL bitcalc-1.7-py3-none-any.whl
Size 10.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7db652a20909de87db9c436d4b0fd566caf9d3719cd3620f9d50faab0bbba67d
BLAKE2b-256 checksum
How to use checksums
b3df093ffd3fc317170289fe6fc8b57416c4a61a1a3863674cede7b31082dbb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.4

Release history Release notifications | RSS feed

This release

1.7 This release

2 release files

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