calcpy
calcpy copied to clipboard
Terminal calculator and advanced math solver using Python, IPython and SymPy
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.