calcpy
calcpy copied to clipboard
Terminal calculator and advanced math solver using Python, IPython and SymPy
trafficstars
CalcPy
Terminal calculator and advanced math solver using Python, IPython and SymPy.
Usage
Examples · Try online
Installation
Prerequisites - Python
pip install git+https://github.com/idanpa/calcpy
(no git? use pip install https://github.com/idanpa/calcpy/archive/main.zip)
Android installation
Features
- Display both symbolic and numeric solutions
- Integers displayed as decimal, hex and binary
- Evaluation preview while typing
- Currency conversion
10USD(calcpy.base_currency='EUR'to change base currency) (by ECB) ?suffix provides some basic analysis of expression (similar to WolframAlpha)
((1,2),(3,4))?,x**2+1?,234?- Automatic symbolic variables, anything like
xy_1is a sympy symbol - Symbolic variables assumptions are uniform,
symbols(x, real=True)would change all occurencase ofxto be real - Implicit multiplication (
2x,(x+1)(x-1)are valid) - Nested tuples are matrices
((1,2),(3,4))**2 - All variables and functions are restored between sessions (delete using
del) - Datetime calculations
d"yesterday at 9 am" - d"1990-1-30 9:20"(by dateparser) - Sizes
KB,MB,GB,TB(e.g.4MB-32KB) - Unit prefixes
G,M,k,m,u,n,p(4G/3.2n, enable bycalcpy.units_prefixes=True) - Implicit lambda
f(a,b):=a**2+b**2 - Latex input
diff($\frac{1,x}$)(latex output withlatex(1/x)) - Copy to clipboard
copy(_)would copy last result - Custom user startup (for imports, etc.)
edit_user_startup() - Persistent configuration, see options with
calcpy?
- All the elementary (and non-elementry) math functions and constants -
ln,sin,e,pietc. - Calculus, algebra, plotting -
diff,integrate,limit,Sum,solve,plot,plot_implicitetc.
- Get last result with
_, get specific cell_12(Out[12]works too) func_name?show docs for func_namewho/who_lssee all defined variables- Prompt history with
up/down, search withctrl+r - Autocomplete with
tab - Edit code on editor with
%edit func_name
- All the basic arithmetic
+,-,*,/,**or^ - Binary and hex input
0b1101,0xafe1 - Scientific notation
2.12e-6 - Programmer operations
//integer division,%modulo,&bitwise AND,|bitwise OR,^^bitwise XOR (on calcpy^is exponentiation, disable withcalcpy.caret_power),~bitwise not,>>/<<right/left shift.
Contributing
Feel free to open an issue for bugs/features, send a pull request or star.