CalcuPy ๐Ÿ“š Create console-based calculators in a few lines of code.

Overview

CalcuPy ๐Ÿ“š

Create console-based calculators in a few lines of code.

๐Ÿ“Œ Installation

pip install calcupy

๐Ÿ“Œ Usage

from calcupy import Calculator

calculator = Calculator()
calculator.start()

๐Ÿ“Œ Calculator parameters

Calculator have four parameters:

Calculator(number_variables, function_variables, title, bullet)

๐Ÿ“ number_variables:

GRAVITY = 9.8
SPEED = 20

number_variables = {"g": GRAVITY, "v": SPEED}
calculator = Calculator(number_variables)
calculator.start()

If we run the calculator:

$ g
9.8

$ v
20

$ v + g * 0.01
20.098

๐Ÿ“ function_variables:

def factorial(n):
    if n == 0 or n == 1:
        return 1
    return n * factorial(n - 1)


def y(x1, x2):
    return (x1 + 2) * x2


function_variables = {"y": y, "fac": factorial}
calculator = Calculator(None, function_variables)
calculator.start()

If we run the calculator:

$ fac(4)
24

$ y(2.4, 5.1)
22.44

$ fac(3) + y(2.4, 5.1)
28.44

๐Ÿ“ Basic example:

def foo(x, y):
    return x * y ** 2


title = "MY CALCULATOR"
bullet = "->"
number_variables = {"x": 2, "y": 3}
function_variables = {"foo": foo}
calculator = Calculator(number_variables, function_variables, title, bullet)
calculator.start()

If we run the calculator:

MY CALCULATOR

-> foo(2, 3)
18

-> foo(x, y) * 2
36

-> x / 8 * y
0.75

๐Ÿ“Œ Commands

๐Ÿ“ ADD

Description:

ADD command let you dynamically add new numeric variables.

Syntax:

add identifier expression

Example:

$ add x 4

$ add y 3

$ x * y
12

You can also assign an arithmetic expression to a variable. This expression is solved and the result is stored in the specified identifier.

$ add x sqrt(5) * tan(8 * 2) / 5

$ x
0.1344468258787234

๐Ÿ“ REMOVE

Description:

REMOVE command let you dynamically remove numeric variables.

Syntax:

remove identifier

Example:

$ add x 4.2

$ x
4.2

$ remove x

$ x
Error: 'NoneType' object is not subscriptable
Owner
Dylan Tintenfich
:books: Systems engineering student at Universidad Tecnolรณgica Nacional Mendoza.
Dylan Tintenfich
Humane command line arguments parser. Now with maintenance, typehints, and complete test coverage.

docopt-ng creates magic command-line interfaces CHANGELOG New in version 0.7.2: Complete MyPy typehints - ZERO errors. Required refactoring class impl

Jazzband 108 Dec 27, 2022
Typer, build great CLIs. Easy to code. Based on Python type hints.

Typer, build great CLIs. Easy to code. Based on Python type hints. Documentation: https://typer.tiangolo.com Source Code: https://github.com/tiangolo/

Sebastiรกn Ramรญrez 10.1k Jan 02, 2023
emoji terminal output for Python

Emoji Emoji for Python. This project was inspired by kyokomi. Example The entire set of Emoji codes as defined by the unicode consortium is supported

Taehoon Kim 1.6k Jan 02, 2023
plotting in the terminal

bashplotlib plotting in the terminal what is it? bashplotlib is a python package and command line tool for making basic plots in the terminal. It's a

Greg Lamp 1.7k Jan 02, 2023
Terminalcmd - a Python library which can help you to make your own terminal program with high-intellegence instruments

Terminalcmd - a Python library which can help you to make your own terminal program with high-intellegence instruments, that will make your code clear and readable.

Dallas 0 Jun 19, 2022
A minimal and ridiculously good looking command-line-interface toolkit

Proper CLI Proper CLI is a Python package for creating beautiful, composable, and ridiculously good looking command-line-user-interfaces without havin

Juan-Pablo Scaletti 2 Dec 22, 2022
A fast, stateless http slash commands framework for scale. Built by the Crunchy bot team.

Roid ๐Ÿค– A fast, stateless http slash commands framework for scale. Built by the Crunchy bot team. ๐Ÿš€ Installation You can install roid in it's default

Harrison Burt 7 Aug 09, 2022
A module for parsing and processing commands.

cmdtools A module for parsing and processing commands. Installation pip install --upgrade cmdtools-py install latest commit from GitHub pip install g

1 Aug 14, 2022
Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.

Python Fire Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object. Python Fire is a s

Google 23.6k Dec 31, 2022
Cement is an advanced Application Framework for Python, with a primary focus on CLI

Cement Framework Cement is an advanced Application Framework for Python, with a primary focus on Command Line Interfaces (CLI). Its goal is to introdu

Data Folk Labs, LLC 1.1k Dec 31, 2022
Command line animations based on the state of the system

shell-emotions Command line animations based on the state of the system for Linux or Windows 10 The ascii animations were created using a modified ver

Simon Malave 63 Nov 12, 2022
sane is a command runner made simple.

sane is a command runner made simple.

Miguel M. 22 Jan 03, 2023
CalcuPy ๐Ÿ“š Create console-based calculators in a few lines of code.

CalcuPy ๐Ÿ“š Create console-based calculators in a few lines of code. ๐Ÿ“Œ Installation pip install calcupy ๐Ÿ“Œ Usage from calcupy import Calculator calc

Dylan Tintenfich 7 Dec 01, 2021
Python library that measures the width of unicode strings rendered to a terminal

Introduction This library is mainly for CLI programs that carefully produce output for Terminals, or make pretend to be an emulator. Problem Statement

Jeff Quast 305 Dec 25, 2022
Python and tab completion, better together.

argcomplete - Bash tab completion for argparse Tab complete all the things! Argcomplete provides easy, extensible command line tab completion of argum

Andrey Kislyuk 1.1k Jan 08, 2023
A thin, practical wrapper around terminal capabilities in Python

Blessings Coding with Blessings looks like this... from blessings import Terminal t = Terminal() print(t.bold('Hi there!')) print(t.bold_red_on_brig

Erik Rose 1.4k Jan 07, 2023
A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables.

ConfigArgParse Overview Applications with more than a handful of user-settable options are best configured through a combination of command line args,

634 Dec 22, 2022
Python Command-line Application Tools

Clint: Python Command-line Interface Tools Clint is a module filled with a set of awesome tools for developing commandline applications. C ommand L in

Kenneth Reitz Archive 82 Dec 28, 2022
Cleo allows you to create beautiful and testable command-line interfaces.

Cleo Create beautiful and testable command-line interfaces. Cleo is mostly a higher level wrapper for CliKit, so a lot of the components and utilities

Sรฉbastien Eustace 984 Jan 02, 2023
Python library to build pretty command line user prompts โœจEasy to use multi-select lists, confirmations, free text prompts ...

Questionary โœจ Questionary is a Python library for effortlessly building pretty command line interfaces โœจ Features Installation Usage Documentation Sup

Tom Bocklisch 990 Jan 01, 2023