Giter VIP home page Giter VIP logo

calcpy's Introduction

CalcPy

Terminal calculator and advanced math solver using Python, IPython and SymPy.

Usage

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 x y_1 is a sympy symbol
  • Symbolic variables assumptions are uniform, symbols(x, real=True) would change all occurencase of x to 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 by calcpy.units_prefixes=True)
  • Implicit lambda f(a,b):=a**2+b**2
  • Latex input diff($\frac{1,x}$) (latex output with latex(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?

SymPy:

  • 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.

IPython:

  • Get last result with _, get specific cell _12 (Out[12] works too)
  • func_name? show docs for func_name
  • who/who_ls see all defined variables
  • Prompt history with up/down, search with ctrl+r
  • Autocomplete with tab
  • Edit code on editor with %edit func_name

Python:

  • 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 with calcpy.caret_power), ~ bitwise not, >>/<< right/left shift.

Contributing

Feel free to open an issue for bugs/features, send a pull request or star.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.