FOCS Calculator is a command line application designed for solving niche mathematical problems, specifically those encountered in discrete mathematics. This powerful tool allows you to see the works and steps behind your answer, giving you insight and unserstanding you may not have gotten from the class.
Installing FOCS Calculator is quite simple. There are very few requirements.
- Clone the repository locally onto your machine
- Open up your terminal and enter the command
python --version
. If you do not have at least version 3.9.6, or you do not have Python installed. Please update and install that now. - Navigate to the directory that you installed FOCS Calculator to, and run the command
pip install -r requirements.txt
- If pip install fails, run
pip install [package]
on all of the packages listed on requirements.txt. Ideally, you should be updated to the latest version of pip and the latest versions of those packages. Not being updated is unlikely to break something, but do so at your own risk.
- If pip install fails, run
- Finally, run the command
python main.py
and you should be good to go!
To create a new module, do the following:
- Create a new file in the modules folder, following the naming conventions of the other files
- Create two new classes in that file that inherit from the python abstract basic classes in abstractclasses.py
- A solver class inheriting from solver, that implements prompt_inputs
- A model class inheriting from solver_model, that implements solve
- Import your new classes into main.py
- Instantiate your solver class at the bottom of main.py, passing in the following arguments
- The name of your module
- Your module class
- Add your new instantiated module object into the arguments of main()
Follow Python's PEP8 standard found here Used python formatter black to format most of code, found here Used python linter flake8 to lint all of the codebase, foun here
This project makes use of code from the pylambdac python lambda calculus interpreter to power the lambda calculus module. This code is licensed using the Apache License 2.0. The proper attributions are present on each file, as ATTRIBUTIONS.md