CalcPy
Calculator and advanced math solver in the comfort of your terminal by Python, IPython and SymPy.
Usage
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 (control size with
calcpy.bitwidth
) - Evaluation preview while typing
- Currency conversion
10USD
(calcpy.base_currency='EUR'
to change base currency) ?
prefix would provide some basic analysis of expression (similar to WolframAlpha)
?((1,2),(3,4))
,?x**2+1
,?234
- Implicit multiplication (
2x
,(x+1)(x-1)
are valid) - 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"
(using dateparser) - Unit prefixes
G
,M
,k
,m
,u
,n
,p
,KB
,MB
,GB
,TB
(so4MB-32KB
or4G/3.2n
are valid) - Implicit lambda
f(a,b):=a**2+b**2
- Latex input
plot($\frac{1,x}$)
(latex output withlatex(1/x)
) - Copy to clipboard
copy(Out[12])
- Automatic symbols, anything like
x
y_1
would become sympy symbol - 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
,pi
etc. - Calculus, algebra, plotting -
diff
,integrate
,limit
,Sum
,solve
,plot
,plot_implicit
etc.
- Get last result with
_
, get specific cell_12
(Out[12]
works too) func_name?
show docs for func_namewho
/who_ls
see 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^
- Complex numbers
1+2i
, binary0b1101
, hex0xafe1
, scientific notation2.12e-6
- Programmer:
0b10
binary input,0x1F
hexadecimal input,//
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.