Skip to content

elaraproject/infinitum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Infinitum

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.

Why the name?

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.

Development instructions

First clone the repository on to your machine:

git clone https://codeberg.org/elaraproject/elara-symbolic-ui.git

Make 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/activate

Note: 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.

Recommended installation

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 poetry

Assuming you have Poetry installed, run the following command to resolve and install dependencies from the pyproject.toml file.

poetry install

Note: This is needed only on the first installation!

Afterwards, you can launch the app anytime by running:

poetry run streamlit run src/main.py

Alternative installation

If you don't want to use Poetry, it is also possible to install dependencies with just pip;

pip install -r requirements.txt

Then, 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=false

Running app in headless mode

By 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

Future Features

  • 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

Donate to Project Elara link

Contributors

About

Mirror of https://codeberg.org/elaraproject/elara-symbolic-ui/. DO NOT COMMIT TO THIS REPO.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages