Skip to main content

Logo

cli-calc

test codecov Python Version

pypi github release pypi downloads

DEV

Powerful yet easy command line calculator.

Introduction

Please note: Using plain python at the command line already does provide a pretty decent calculator:

$ python
Python 3.8.5 (default, Aug  2 2020, 16:00:15)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 2**10
1024
>>> _ / 10
102.4
>>> import math
>>> math.pi
3.141592653589793
>>> math.sin(math.pi / 2)
1.0
>>> exit()

[ Read more about Python as a Calculator. ]

But not all is straight forward. For example, if you want to calculate sin(pi/2):

  • First you need to import math,
  • and then use it with math.sin( math.pi / 2 ).

But there must be a better way! And there is...

cli-calc

$ cli-calc
hex, int, float, : INPUT
0x0, 0, 0.0, : 2**10
2**10
0x400, 1024, 1024.0, : _ / 10
1024.0/10
0x66, 102, 102.4, : pi
pi
0x3, 3, 3.141592653589793, : sin(pi / 2)
sin(pi/2)
0x1, 1, 1.0, : q
$

Batteries included:

  • cli-calc adds the standard math library to the mix, as well as cmath and others.
  • Provides convenience functions for formatted output, like fractions and IEEE 754.
  • Supports line input from files and Unix pipes.
  • And some more... :-)

More examples

$ cli-calc
hex, int, float, : INPUT
0x0, 0, 0.0, : cos(pi/2)
cos(pi/2)
0x0, 0, 6.123233995736766e-17, : 0xFF ^ 0b10
0xFF^0b10
0xfd, 253, 253.0, : 2**8-1
2**8-1
0xff, 255, 255.0, : log(e)
log(e)
0x1, 1, 1.0, : comb(49,6)
comb(49,6)
0xd56048, 13983816, 13983816.0, : factorial(42)
factorial(42)
0x3c1581d491b28f523c23abdf35b689c908000000000, 1405006117752879898543142606244511569936384000000000, 1.40500611775288e+51, : random()
random()
0x0, 0, 0.24958817003921918, : cmath.phase(complex(-1.0, 0.0))
cmath.phase(complex(-1.0,0.0))
0x3, 3, 3.141592653589793, : q
$

Included Math Libraries

Ready to use out of the box:

Installation

pip install cli-calc

Configuration

For convenience, add a shell script in ~/bin:

cd ~/bin
vi cli-calc

with the following lines:

Note: Please adjust the path!

path=~/path/to/your/cli-calc/
cd $path
python3 -m cli_calc

Make it executable:

chmod a+x cli-calc

then use it anywhere. :-)

echo "7+8" | cli-calc
cat foo.bar | cli-calc
cli-calc

Help

cli-calc
h
--------------------------------------------------

    cli-calc 0.3.1: Powerful yet easy command line calculator.

    INPUT:
    "q" for quit, "h" for help

    "_" for last float value
    "_int_" for last int value

    "sin(pi/2)" for sinus, ...

    "pi", "tau" and "e" for pi, tau and Euler

    "+f" to add display for fraction, "-f" to suppress display for fraction
        Other letters are:
        he(x), (o)ctal, (b)inary, (i)nteger,
        (f)raction, (t)ruth, i(e)ee, ieee_bi(n), f(r)om_ieee
        "float" is always visible

    Also try "cos(pi/2)", "0xFF ^ 0b10", "2**8-1", "factorial(42)", "help(math)"

    See https://docs.python.org/3/library/math.html, use without "math."
        https://www.w3schools.com/python/python_operators.asp
        https://github.com/cruisen/cli-calc

    (c) 2022-2022 Nikolai von Krusenstiern, License: MIT
    
--------------------------------------------------
hex, int, float, : INPUT

Warning

  • Use of eval is evil. However precautions are taken.

Pull Request

PR's are Welcome!

License

MIT

Credits

This project was generated with wemake-python-package. Current template version is: d06993f12e3ffad79652a2aec86189dee92d94dd. See what is updated since then.

Metadata

Release files for cli-calc 0.3.8

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

Source distribution (sdist)

Source distribution for cli-calc 0.3.8
File Size Uploaded
cli-calc-0.3.8.tar.gz 15.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cli-calc 0.3.8
File Interpreter ABI Platform
cli_calc-0.3.8-py3-none-any.whl Python 3 none any Details

Total release size: 31.6 kB

Release files / cli-calc-0.3.8.tar.gz

Download URL cli-calc-0.3.8.tar.gz
Size 15.1 kB
Tags Source
SHA-256 checksum
How to use checksums
48a56b86d8867fb7d538312e5654a2c682e1bb717de8ef5441464e270b515fb9
BLAKE2b-256 checksum
How to use checksums
02d10f961b61e8bd69deb5c4edc313a91b6588b760166a21beddfe19793fe239
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.9.7 Darwin/18.6.0

Release files / cli_calc-0.3.8-py3-none-any.whl

Download URL cli_calc-0.3.8-py3-none-any.whl
Size 16.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f95a440666d88955ebf6aeb90322d830bdae0c38180ec14e2f4f255b926ad791
BLAKE2b-256 checksum
How to use checksums
d22caeb12042d4abe10c4c5673942d8d7b2f0c5606e650b3c62d92d6c6cf3e73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.9.7 Darwin/18.6.0

Release history Release notifications | RSS feed

This release

0.3.8 This release

2 release files

0.3.3

2 release files

0.3.1

2 release files

0.2.27

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.13

2 release files

0.2.12

2 release files

0.2.11

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

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

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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