Skip to main content

A Collection Mathics components to provide the full Mathics3 experience

Project description

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 as in “freedom” and as in “free beer”.

Mathics3 consists of a number of 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 command-line interface, Web interface, all of the Pymathics libraries and whatever else there is to offer?

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

  • mathics3-tokens utility to show how an input stream is tokenized by Mathics3

  • mathicsscript to run the command-line interface,

  • mathicsserver to run the Django-Web server,

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

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

  • dmathicsdoccopy which copies the 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…

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=/usr/src/app/data/mathics-django/mathics.sqlite ../mathics-omnibus/script/dmathicsserver
MATHICS_DJANGO_DB_PATH=/usr/src/app/data/mathics-django/mathics.sqlite ../mathics-omnibus/script/dmathicsserver^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=/usr/src/app/data/mathics-django/mathics.sqlite
-(../mathics-omnibus/script/dmathicsserver:9):  -[2,0, 0]
docker run -it --name mathics-web --rm --env=DISPLAY --env MATHICS_DJANGO_DB_PATH=/usr/src/app/data/mathics-django/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 /usr/src/app/data/mathics-django/mathics.sqlite not found

 Migrating database /usr/src/app/data/mathics-django/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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mathics_omnibus-8.0.0.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

Mathics_omnibus-8.0.0-py2.py3-none-any.whl (25.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file mathics_omnibus-8.0.0.tar.gz.

File metadata

  • Download URL: mathics_omnibus-8.0.0.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for mathics_omnibus-8.0.0.tar.gz
Algorithm Hash digest
SHA256 f3dc17d483c1d31a4d2957accc5e696de5df23e3528fed05fdb5751983a442cd
MD5 e7aa2aa5a5db9a50df5c62fb0f237193
BLAKE2b-256 4729d5343adeb65461829d2d4aa0f29cccefb32d450dfde38653525da857e926

See more details on using hashes here.

File details

Details for the file Mathics_omnibus-8.0.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for Mathics_omnibus-8.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1290edf153ee823b078517f9e4638b91d9f615ee13e26058bbb9c1fcf569f6e5
MD5 c02d4dbd869463edc6fe75bb6eb7bc6f
BLAKE2b-256 30a8e639113c20a87c173c902c939c7a09123196a08a0dcb4bcafecb306b983d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page