diff --git a/.github/workflows/osx.yaml b/.github/workflows/osx.yaml index 293ab52aa..c64b5c13f 100644 --- a/.github/workflows/osx.yaml +++ b/.github/workflows/osx.yaml @@ -25,7 +25,8 @@ jobs: python -m pip install --upgrade pip LLVM_CONFIG=/usr/local/Cellar/llvm@11/11.1.0/bin/llvm-config pip install llvmlite # Can comment out when next Mathics is released - python -m pip install -e git://github.com/mathics/Mathics#egg=Mathics3[full] + # python -m pip install -e git://github.com/mathics/Mathics#egg=Mathics3[full] + pip install Mathics3[full] npm install pip install -e .[full] - name: Install Mathics Django diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 100584317..8b00079a5 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -23,7 +23,8 @@ jobs: sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev remake nodejs npm python -m pip install --upgrade pip # Can comment out when next Mathics is released - python -m pip install -e git://github.com/mathics/Mathics#egg=Mathics3[full] + # python -m pip install -e git://github.com/mathics/Mathics#egg=Mathics3[full] + pip install Mathics3[full] npm install pip install -e .[full] - name: Install Mathics Django diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 41c0691e9..8bb0fa010 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -26,7 +26,8 @@ jobs: choco install llvm nodejs set LLVM_DIR="C:\Program Files\LLVM" # Can comment out when next Mathics is released - python -m pip install -e git://github.com/mathics/Mathics#egg=Mathics3[full] + # python -m pip install -e git://github.com/mathics/Mathics#egg=Mathics3[full] + pip install Mathics3[full] pip install -e .[full] - name: Install Mathics Django run: | diff --git a/CHANGES.rst b/CHANGES.rst index 4c73ff71e..f2c052ec2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,6 +1,69 @@ CHANGES ======= +4.0.0 +----- + +The main thrust behind this API-breaking release is to be able to +support a protocol for Graphics3D. + +It new Graphics3D protocol is currently expressed in JSON. There is an +independent `threejs-based module +`_ +to implement this. Tiago Cavalcante Trindade is responsible for this +code. + +Previously, this Javascript code and library was embedded into this +code base. By separating the two, this library can be used more easily +outside of Django. And the library has gotten considerably better in +terms of being tested and documented. + +The other main API-breaking change is more decentralization of the +Mathics Documentation. A lot more work needs to go on here, and so +there will be one or two more API breaking releases. After this +release, the documentation code will be split off into its own git +repository. + +Enhancements +++++++++++++ + +* a Graphics3D protocol, mentioned above, has been started +* ``mathics_django.setting`` has been gone over to simplify. +* The "about" page now includes the Python version as well as the + mathics-threejs-backend version +* Some Image Gallery examples have been added. Some of the examples + have been reordered to put the slower examples towards the end. +* Much of the Javascript code that remains after pulling out the + Graphics3D code has been modernized. +* Use of the "scriptaculous" library has been reduced. It will be + eliminated totally in a future release. + + +Documentation +............. + +* Document data used in producing HTML-rendered documents is now + stored in both the user space, where it can be extended, and in the + package install space -- which is useful when there is no user-space + data. +* Code duplication used in creating documentation has been reduced. It + will be moved more completely out in a future release +* Summary text for various built-in functions has been started. These + summaries are visible in Mathics Django when lists links are given + in Chapters, Guide Sections, or Sections. See the online + documentation of ``Associations`` for an example of a list with + additional summary information. + +Regressions ++++++++++++ + +* Some of the test output for buitins inside a guide sections is not + automatically rendered. See the on-line documentation for ``Binarize`` for + an example of this. +* Density plot rendered in Mathics Django do not render as nice since we no longer + use the secret protocol handshake hack. We may fix this in a future release + + 3.2.0 ----- diff --git a/admin-tools/make-dist.sh b/admin-tools/make-dist.sh index add26f032..4ef465e98 100755 --- a/admin-tools/make-dist.sh +++ b/admin-tools/make-dist.sh @@ -20,13 +20,13 @@ source mathics_django/version.py echo $__version__ cp -v ${HOME}/.local/var/mathics/doc_html_data.pcl mathics_django/doc/ -# for pyversion in $PYVERSIONS; do -# if ! pyenv local $pyversion ; then -# exit $? -# fi -# rm -fr build -# python setup.py bdist_egg -# python setup.py bdist_wheel -# done +for pyversion in $PYVERSIONS; do + if ! pyenv local $pyversion ; then + exit $? + fi + rm -fr build + python setup.py bdist_egg + python setup.py bdist_wheel +done python ./setup.py sdist diff --git a/admin-tools/pyenv-versions b/admin-tools/pyenv-versions index c410e71fd..dd4d1163a 100644 --- a/admin-tools/pyenv-versions +++ b/admin-tools/pyenv-versions @@ -5,4 +5,4 @@ if [[ $0 == ${BASH_SOURCE[0]} ]] ; then echo "This script should be *sourced* rather than run directly through bash" exit 1 fi -export PYVERSIONS='3.6.14 3.7.11 3.8.11 3.9.6' +export PYVERSIONS='3.6.14 3.8.11 pyston-2.3 pypy3.7-7.3.5 3.9.6 3.7.11' diff --git a/mathics_django/server.py b/mathics_django/server.py index d206c3ada..a88c86fc9 100755 --- a/mathics_django/server.py +++ b/mathics_django/server.py @@ -14,7 +14,7 @@ from mathics_django import server_version_string, license_string from mathics_django import settings as mathics_settings # Prevents UnboundLocalError from mathics_django.version import __version__ as django_frontend_version -from mathics.setting import DATA_DIR +from mathics.settings import DATA_DIR def check_database(): diff --git a/mathics_django/version.py b/mathics_django/version.py index 4b37293db..751bf8a00 100644 --- a/mathics_django/version.py +++ b/mathics_django/version.py @@ -4,4 +4,4 @@ # well as importing into Python. That's why there is no # space around "=" below. # fmt: off -__version__="4.0.0.dev0" # noqa +__version__="4.0.0" # noqa diff --git a/requirements-full.txt b/requirements-full.txt index 16b88e0ba..402f8a9fa 100644 --- a/requirements-full.txt +++ b/requirements-full.txt @@ -1,2 +1,2 @@ # Optional packages which add functionality or speed things up -ujson \ No newline at end of file +ujson diff --git a/setup.cfg b/setup.cfg index 11e9ec40e..ddb7da9ed 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,2 +1,2 @@ [metadata] -description-file = README.rst \ No newline at end of file +description_file = README.rst