This is an incredibly powerful calculator that is capable of many useful day-to-day functions.

Overview
Releases Contributors Stars

Description 💻

This is an incredibly powerful calculator that is capable of many useful day-to-day functions. Such functions include solving basic arithmetic, algebraic, chemistry conversions, and much more.

How To Use

Step 1: Make sure you have pip installed on your OS, you can do it by writing the following command on your terminal.

pip help

Step 2: If you don't have pip installed , you can install it using the following command.

python get-pip.py
or
python3 get-pip.py

Step 3: Check the pip version using :

pip -V

Step 4: Clone the repository by using

git clone https://github.com/JordanLeich/Ultimate-Calculator.git

Step 5: Install the requirements

pip install -r requirements.txt

Step 6: Run the project using
python3 main.py

Preview 💻

Preview

TODO List

  • Check out the issues page for this project here

Bug Reporting 🐞

  • Check out the issues page for this project here

Calculator

Comments
  • Add bitwise operations

    Add bitwise operations

    Adds the bitwise operations to calculator.py and updates the relevant menu. I've used f-strings which you seem to be purging. The warning you're getting is because you've enabled code compatability inspection, and f-strings aren't python 2 compatable. If you want to be able to run on python 2 I'll change them to .format but I can't understand why you would, and I expect that other parts of the code aren't compatible.

    opened by PeanutbutterWarrior 1
  • Old UI files

    Old UI files

    Sorry for deleting the files , I thought , they are useless as long as the calculator is getting updated eveyday , I thought made we will create a final GUI from scratch once the project. The first one was kinda Demo.

    opened by BadrBelkadi 1
  • Graphic User Interface

    Graphic User Interface

    Hi! I have created a simple GUI for the calculator using PYQT5 , it's not 100% done , 70% of the work is done , so what is working so far is the following ( Basic Arithmetics, Algebra, Stock Market, Time Converter, Credits (Takes you to the contributors page on github), Converters (Currency Converter so far and still need some work and apparently I have to update it with currency api) ) Please take some time and check it out , you can just run the main.py cd GUI python3 main.py

    opened by BadrBelkadi 1
  • Validated User Inputs.

    Validated User Inputs.

    calculator.py

    • Validate User Inputs
    • Cleaned up the if else
    • Continue Option after an operation

    This is the first time I'm participating in open source projects. Feedbacks (even if it's negative) would be greatly appreciated! Thanks and best Regards.

    opened by bot-coder05 1
  • Created Time Conversion functionality

    Created Time Conversion functionality

    I've finished the (basic) time conversion part of this calculator. It works by converting the users input into seconds and then dividing that to get years, days, minutes, so on. Definitely has the possibility of more output options but this is what I got working until now.

    Also fixed contributions.py since starting the program was impossible because it would open the page automatically and then quit the program.

    opened by ghost 1
  • Simplify unit conversions

    Simplify unit conversions

    I've changed how unit conversions work, removing almost all of the repetition between functions. Adding new conversions and new units is now much easier, only changing a single dictionary. Instructions for doing this are at the top of conversions/conversions.py::unit_converter(). I have left the cryptocurrency alone, as I expect that this could be updated to use an api, however this can be added easily.

    opened by PeanutbutterWarrior 0
  • Restructure program to avoid recursion

    Restructure program to avoid recursion

    I've changed a lot of the menus to now restart once an operation is done, rather than calling the function repeatably. Where appropriate, operations take you back to the previous menu. I've also added an Exit exception, which is called from anywhere, winds back to the main menu, is caught and then the program is cleanly exited.

    I've also added uses of repeat_input where I could, along with allowing it to take a function argument as an additional check on the input e.g. checking a number is greater than one. The function could still be improved to automatically convert the type (float to float, yes/no to boolean etc.)

    opened by PeanutbutterWarrior 0
  • API_KEY exception handled

    API_KEY exception handled

    File ~/Ultimate-Calculator/uis/currency_ui.py", line 89, in convert
    output = float(amount * get_currency("EUR_USD"))
    TypeError: get_currency() missing 1 required positional argument: 'api_key'
    
    opened by iam-shanmukha 0
  • Bug Reporting 🐞

    Bug Reporting 🐞

    Reporting Bugs ❗

    • If you find any bugs or issues while using this project, report the bug here and we will fix it as soon as possible. Active found bugs will be listed down below and will be removed if fixed.

    Known Bugs 🐛

    1. For developers of this project, if you run the project through any other file than main.py and you try to use the restart or quit option, you will raise an error. This error will likely be avoided since normal end-users will not see this error due to them running the project through main.py.
    2. Avoid using the GUI application while running the main.exe version since the GUI seems to be incompatible with how the main.exe file is created.
    bug 
    opened by JordanLeich 13
  • TODO List ❗

    TODO List ❗

    1. Add a GPA calculator.
    2. Add in the remaining calculators and converters that are missing from the GUI version.
    3. Add in some graphing functionality.
    4. Add any useful calculators or converters you can think of that have not already been implemented.

    Contributing ✍️

    • Here’s an easy and quick video guide for learning how to contribute via GitHub
    bug enhancement help wanted good first issue 
    opened by JordanLeich 14
Releases(v6.3)
  • v6.3(Sep 5, 2021)

    v6.3 Patch Notes 🔢

    1. Certain areas for outputting results now have fixed formatting and coloring
    2. Readme now has improved formatting and instructions for installation
    3. Removed winsound as a requirement since this is preinstalled for those with python and windows
    Source code(tar.gz)
    Source code(zip)
  • v6.2(Jul 7, 2021)

    v6.2 Patch Notes 🔢

    1. A total of 9 new calculators have been added while others have been improved
    2. User input is improved and handled better now
    3. Tons of code has been tossed due to unused or unnecessary code and simplified functions being introduced
    Source code(tar.gz)
    Source code(zip)
  • v6.1(Jun 27, 2021)

    v6.1 Patch Notes ❗

    1. An executable version of this project has been created for those with windows and who do not have python installed on their system and still want to use this project. This can be found here.
    2. New icon has been added for the executable
    3. Winsound error has been fixed for macOS and Linux users
    4. API has been greatly improved for conversions and does not require key.json anymore
    5. File conversions have been sadly removed due to module errors while compiling the pyinstaller executable
    6. Donation options have been added for those who would like to support this project

    Contributions 🏅

    Special thanks to @PeanutbutterWarrior for all of the recent reworking, tweaks, and contributions for this past and current release!

    Source code(tar.gz)
    Source code(zip)
  • v6.0(Jun 22, 2021)

    v6.0 Patch Notes ❕

    1. API file has been greatly improved and now requires the user to validate their own key instead of just using a key priorly made by the developers
    2. Bitwise calculator and binary converter have been added
    3. Remade the arithmetic calculator to be capable of using brackets now
    4. Docstrings and comments have been added all-around to help newcomers find out what important sections of our code does
    5. Big changes to how most of the UI looks while running the program to reduce clutterness
    6. Huge improvements, tweaks, and removal of unnecessary code have been made to get rid of recursion problems
    Source code(tar.gz)
    Source code(zip)
  • v5.5(Jun 16, 2021)

    v5.5 Patch Notes ❗

    1. Lots of code has been cleaned up and optimized.
    2. Added a BMI (body mass index) calculator, video & audio converters, geometry calculator, and many reworks to how certain calculators/converters work.
    3. To help reduce clutter, all calculators, conversions, and modules have now been stored in their respective folders.
    4. User input validation has been greatly changed and improved using a separate tools.py file

    Biggest Contributor 😄

    @bot-coder05, reformatted almost every calculator and converter, helped enhance many calculators and created tools.py to improved user input validation.

    Source code(tar.gz)
    Source code(zip)
  • v5.0(Jun 12, 2021)

    v5.0 Patch Notes ❗

    1. Many brand new converters have been added to conversions.py such as speed, sound frequency, digital storage, and much more.
    2. Major changes have been made to our GUI applications such as dark mode, button shortcuts, small bug fixes, and better readability.
    3. Small tweaks and deletions of unused code have been made to all calculators and converters.
    4. GUI preview added to readme file along with other small changes.

    Biggest Contributors 🥇

    • Special thanks to BadrBelkadi & bot-coder05 for all of the incredible help, could not have gotten this far without you both! @BadrBelkadi @bot-coder05
    Source code(tar.gz)
    Source code(zip)
  • v4.0(Jun 7, 2021)

    v4.0 Patch Notes

    1. Many new calculators have been added such as finding midpoint, distance between two points, heads or tails game, random integer generator.
    2. GUI application has been completed and functions properly now.
    3. Many improvements to readability made by removing unused code and renaming ugly variables.
    4. Fixed some small errors and bugs with improved if statements and try and except statements.
    5. Small reworks to how certain calculators work along with replacing the old calculator.py file with a new and improved calculator that's allows for multiple numbers in one arithmetic problem.
    Source code(tar.gz)
    Source code(zip)
  • v3.5(Jun 4, 2021)

    v3.5 Patch Notes

    1. GUI application has been added and is still in progress.
    2. Fixed tons of spacing, formatting, and typos issues.
    3. Preview section has been added to the readme.md file.
    4. Added financial.py with a couple of useful calculators.
    5. API has been added and functions beautifully.
    6. Error handling has been greatly approved throughout multiple files.
    7. time conversions are now finished and work beautifully.
    Source code(tar.gz)
    Source code(zip)
  • v2.0(Jun 3, 2021)

    v2.0 Patch Notes

    1. Many fixes to errors and formatting thanks to contributors 😄
    2. Readme file has been greatly improved
    3. Many new functions and converters have been added and improved upon
    4. Added a requirements folder for those who want to easily install all the modules used in this project
    5. API has been added but is not yet finished, will be finished in the next major release
    Source code(tar.gz)
    Source code(zip)
  • v1.0(Jun 2, 2021)

    v1.0 Patch Notes

    1. This is considered the first major release though it not fully finished quite yet.
    2. Added algebra calculators and all chemistry calculators and conversions.
    3. Removed youtube URL converter due to GitHub and YouTube's legal policies to void a ban.
    4. Readme is about finalized currently and is likely to be left unchanged.
    Source code(tar.gz)
    Source code(zip)
Owner
Jordan Leich
Computer Science student at Macomb Community College. Seeking a Bachelor's Degree at Oakland University in Computer Science.
Jordan Leich
Non-Autoregressive Translation with Layer-Wise Prediction and Deep Supervision

Deeply Supervised, Layer-wise Prediction-aware (DSLP) Transformer for Non-autoregressive Neural Machine Translation

Chenyang Huang 37 Jan 04, 2023
A python gui program to generate reddit text to speech videos from the id of any post.

Reddit text to speech generator A python gui program to generate reddit text to speech videos from the id of any post. Current functionality Generate

Aadvik 17 Dec 19, 2022
Semantic search for quotes.

squote A semantic search engine that takes some input text and returns some (questionably) relevant (questionably) famous quotes. Built with: bert-as-

cjwallace 11 Jun 25, 2022
A natural language modeling framework based on PyTorch

Overview PyText is a deep-learning based NLP modeling framework built on PyTorch. PyText addresses the often-conflicting requirements of enabling rapi

Facebook Research 6.4k Dec 27, 2022
A high-level Python library for Quantum Natural Language Processing

lambeq About lambeq is a toolkit for quantum natural language processing (QNLP). Documentation: https://cqcl.github.io/lambeq/ Getting started Prerequ

Cambridge Quantum 315 Jan 01, 2023
A Python script that compares files in directories

compare-files A Python script that compares files in different directories, this is similar to the command filecmp.cmp(f1, f2). I made this script in

Colvin 1 Oct 15, 2021
Use Tensorflow2.7.0 Build OpenAI'GPT-2

TF2_GPT-2 Use Tensorflow2.7.0 Build OpenAI'GPT-2 使用最新tensorflow2.7.0构建openai官方的GPT-2 NLP模型 优点 使用无监督技术 拥有大量词汇量 可实现续写(堪比“xx梦续写”) 实现对话后续将应用于FloatTech的Bot

Watermelon 9 Sep 13, 2022
Must-read papers on improving efficiency for pre-trained language models.

Must-read papers on improving efficiency for pre-trained language models.

Tobias Lee 89 Jan 03, 2023
Library for fast text representation and classification.

fastText fastText is a library for efficient learning of word representations and sentence classification. Table of contents Resources Models Suppleme

Facebook Research 24.1k Jan 05, 2023
Maix Speech AI lib, including ASR, chat, TTS etc.

Maix-Speech 中文 | English Brief Now only support Chinese, See 中文 Build Clone code by: git clone https://github.com/sipeed/Maix-Speech Compile x86x64 c

Sipeed 267 Dec 25, 2022
Sequence model architectures from scratch in PyTorch

This repository implements a variety of sequence model architectures from scratch in PyTorch. Effort has been put to make the code well structured so that it can serve as learning material. The train

Brando Koch 11 Mar 28, 2022
Unifying Cross-Lingual Semantic Role Labeling with Heterogeneous Linguistic Resources (NAACL-2021).

Unifying Cross-Lingual Semantic Role Labeling with Heterogeneous Linguistic Resources Description This is the repository for the paper Unifying Cross-

Sapienza NLP group 16 Sep 09, 2022
Neural building blocks for speaker diarization: speech activity detection, speaker change detection, overlapped speech detection, speaker embedding

⚠️ Checkout develop branch to see what is coming in pyannote.audio 2.0: a much smaller and cleaner codebase Python-first API (the good old pyannote-au

pyannote 2.2k Jan 09, 2023
Deal or No Deal? End-to-End Learning for Negotiation Dialogues

Introduction This is a PyTorch implementation of the following research papers: (1) Hierarchical Text Generation and Planning for Strategic Dialogue (

Facebook Research 1.4k Dec 29, 2022
Translation to python of Chris Sims' optimization function

pycsminwel This is a locol minimization algorithm. Uses a quasi-Newton method with BFGS update of the estimated inverse hessian. It is robust against

Gustavo Amarante 1 Mar 21, 2022
Training code of Spatial Time Memory Network. Semi-supervised video object segmentation.

Training-code-of-STM This repository fully reproduces Space-Time Memory Networks Performance on Davis17 val set&Weights backbone training stage traini

haochen wang 128 Dec 11, 2022
🗣️ NALP is a library that covers Natural Adversarial Language Processing.

NALP: Natural Adversarial Language Processing Welcome to NALP. Have you ever wanted to create natural text from raw sources? If yes, NALP is for you!

Gustavo Rosa 21 Aug 12, 2022
IndoBERTweet is the first large-scale pretrained model for Indonesian Twitter. Published at EMNLP 2021 (main conference)

IndoBERTweet 🐦 🇮🇩 1. Paper Fajri Koto, Jey Han Lau, and Timothy Baldwin. IndoBERTweet: A Pretrained Language Model for Indonesian Twitter with Effe

IndoLEM 40 Nov 30, 2022
AI Assistant for Building Reliable, High-performing and Fair Multilingual NLP Systems

AI Assistant for Building Reliable, High-performing and Fair Multilingual NLP Systems

Microsoft 37 Nov 29, 2022
Create a semantic search engine with a neural network (i.e. BERT) whose knowledge base can be updated

Create a semantic search engine with a neural network (i.e. BERT) whose knowledge base can be updated. This engine can later be used for downstream tasks in NLP such as Q&A, summarization, generation

Diego 1 Mar 20, 2022