This is a Desmos-like webapp that serves as a frontend to the Elara symbolic library, allowing using the library without any coding experience. Includes facilities for computing derivatives and integrals (both symbolically and numerically) as well as solving differential equations.
Currently the app is MIT-licensed, but if all contributors are willing, we would be more than happy to turn it into public-domain licensed software.
The name infinitum comes from Latin and means "infinity". The name was chosen because a large number of the (planned) functionalities of the app are calculus-based, such as solving differential equations. Historically, calculus was known as infinitesimal calculus, hence the origin of the name infinitum for the app.
Note: The name right now is TBD, we may keep it as this or switch to another name.
First clone the repository on to your machine:
git clone https://codeberg.org/elaraproject/elara-symbolic-ui.gitMake and activate a virtual environment (using conda is also fine):
python -m venv .venv/
# Activate a virtual env
# Linux/macOS
source .venv/bin/activate
# Windows powershell
source .venv/Scripts/Activate.ps1
# Git bash on Windows/Cygwin
source .venv/Scripts/activateNote: You will have to activate the virtual environment whenever you are developing the app.
There are now two ways to proceed; the recommended method, which uses Poetry, or an alternative method which doesn't use poetry.
We use the Poetry package manager for dependency management. To install poetry, the full instructions are in the Poetry docs. However, the basic installation can be done in two commands:
pip install pipx # only if you don't have pipx installed
pipx install poetryAssuming you have Poetry installed, run the following command to resolve and install dependencies from the pyproject.toml file.
poetry installNote: This is needed only on the first installation!
Afterwards, you can launch the app anytime by running:
poetry run streamlit run src/main.pyIf you don't want to use Poetry, it is also possible to install dependencies with just pip;
pip install -r requirements.txtThen, from the repo you have cloned, just run the following commands to launch the app:
python -m streamlit src/main.py
# if the above command doesn't work, run below command instead
python -m streamlit run src/main.py --global.developmentMode=falseBy default, the streamlit run command opens up the local web browser. This can be potentially intrusive and annoying if you want to use a browser other than your OS-set default browser. Instead, the following commands can be used to run in "headless mode", where streamlit will print the localhost web server address and allow you to open the webapp in the browser of your choice. This can be done by the following commands:
# with poetry
poetry run streamlit run src/main.py --server.headless true
# vanilla Python (without poetry)
streamlit run src/main.py --server.headless true- Create an interface capable of processing and solving differential equations input as LaTeX by users
- Add graphs of the differential equations so that the user can visualize the equation they have input

