Skip to main content

Pypi Installs Latest Version Supported Python Versions

Mathics3 is a general-purpose computer algebra system (CAS). It is an open-source alternative to Mathematica. It is free, both in the sense of “freedom” and in the sense of “free beer”.

Mathics3 consists of several separable components so that those pieces that are desired can be used without the burden of dependencies of the other parts.

For example, if you are interested in just running a command-line interface, you might not be interested in having Django and what that entails, and vice versa. If you are just interested in the computational library, there is no need for either the Web parts or the command-line library parts.

But what if you want both the command-line interface, the Web interface, all of the Mathics3 Modules, and whatever else there is to offer?

That’s what this repository is about. Here we have a PyPI installable package that pulls in the various components and offers commands:

  • mathics3-code-tokenize utility to show how an input stream is tokenized by Mathics3, similar to CodeParser`CodeTokenize.

  • mathics3-code-parse utility to show how an input stream is tokenized by Mathics3, similar to CodeParser`CodeParse.

  • mathics3script to run the command-line interface,

  • mathics3server to run the Django-Web server,

  • dmathics3script and dmathicsserver, which runs the docker version of these,

  • dmathics3doc which runs a PDF viewer, evince, which can view the generated reference manual in PDF.

  • dmathics3doccopy which copies the generated reference PDF manual out of the container and into the host filesystem.

This repository also contains the Dockerfiles used to create the mathicsorg/mathics docker images.

That image is a combination of:

It is likely that in the future more components will be added, so stay tuned…

Installing

From pre-built artificats:

The easier ways to install are to use Python pip and docker

To install from Python pip:

pip install Mathics3-omnibus

To install the Docker image, run:

docker pull mathicsorg/mathics

See https://hub.docker.com/r/mathicsorg/mathics for more information on how to use it after installing

From GitHub:

Beware that there is always a bit of churn in the code base. So what is in GitHub in the master right branch might not line up with all the changes across all the repositories.

Either before a release or right after a release, things generally match up, though.

I won’t repeat how to install Python in developer mode, build a Python package, or create a Docker image. For that, use whatever generic help mechanism you use for helping with these generic kinds of tasks.

However, Python PIP, pyproject.toml is an important file to consult. And for Docker, the file is docker/Dockerfile.

Docker-specific items

By default, we use a SQLite database that has examples that you can load and use. This data comes from mathics-omnibus/django-db/mathics.sqlite.

Since this is tied to the Docker image, any changes made won’t survive across restarting the Docker image.

If you would like to save your own, you can set the environment variable MATHICS_DJANGO_DB_PATH. Here is an example:

$ MATHICS_DJANGO_DB_PATH=/home/ubunutu/.local/var/Mathics3/mathics.sqlite
MATHICS_DJANGO_DB_PATH=/home/ubunutu/.local/var/Mathics3/mathics.sqlite^J-(../mathics-omnibus/script/dmathicsserver:5):  -[2,0, 0]
DOCKER=docker
-(../mathics-omnibus/script/dmathicsserver:6):  -[2,0, 0]
MATHICS_DJANGO_DB=mathics.sqlite
-(../mathics-omnibus/script/dmathicsserver:7):  -[2,0, 0]
MATHICS_DJANGO_DB_PATH=/home/ubunutu/.local/var/Mathics3/mathics.sqlite
-(../mathics-omnibus/script/dmathicsserver:9):  -[2,0, 0]
docker run -it --name mathics-web --rm --env=DISPLAY --env MATHICS_DJANGO_DB_PATH=/home/ubunutu/.local/var/Mathics3/mathics.sqlite --workdir=/app --volume=/src/external-vcs/github/Mathics3/mathics-django:/app --volume=/tmp/.X11-unix:/tmp/.X11-unix:rw -p 8000:8000 -v /tmp:/usr/src/app/data mathicsorg/mathics --mode ui

~~~~ app/data has been mounted to /usr/src/app/data ~~~~
~~~~ SQLite data (worksheets, user info) will be stored in /usr/src/app/data/mathics django/mathics.sqlite ~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 warning: database file /home/ubuntu/.local/var/Mathics3/mathics.sqlite not found

 Migrating database /home/ubuntu/.local/var/Mathics3/mathics.sqlite
 Operations to perform:
   Apply all migrations: auth, contenttypes, sessions, sites, web
 Running migrations:

In the above, when it says mathics.sqlite not found an empty one is created. The real location of it outside of the container is in /tmp/mathics-django/mathics.sqlite.

Release files for mathics3-omnibus 10.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mathics3-omnibus 10.0.0
File Size Uploaded
mathics3_omnibus-10.0.0.tar.gz 23.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mathics3-omnibus 10.0.0
File Interpreter ABI Platform
mathics3_omnibus-10.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 51.2 kB

Release files / mathics3_omnibus-10.0.0.tar.gz

Download URL mathics3_omnibus-10.0.0.tar.gz
Size 23.2 kB
Tags Source
SHA-256 checksum
How to use checksums
9ae2c9c1dc1dc2e258f5ea0c5df0486db44e8fc7128186549c6fe48338524b35
BLAKE2b-256 checksum
How to use checksums
7446f1d8c59dbfd88d45f471ab13f1a4c0c13dcb4b5d650846c5b116bdf4d533
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / mathics3_omnibus-10.0.0-py3-none-any.whl

Download URL mathics3_omnibus-10.0.0-py3-none-any.whl
Size 28.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
338c8c24713738c4d47036c32f882fc7759deffe0db701e4771c91f815d2e9f7
BLAKE2b-256 checksum
How to use checksums
11b70c2973efa84c36a3227fed2574d72bafe40523ae8746431a60797254e819
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

10.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page