Skip to content

Commit 6525df7

Browse files
committed
Get ready for release 1.1.0rc1
1 parent ffa2de1 commit 6525df7

File tree

9 files changed

+133
-41
lines changed

9 files changed

+133
-41
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ mathics/doc/tex/mathics-*.asy
3131
mathics/doc/tex/mathics-*.eps
3232
mathics/doc/tex/mathics-*.pdf
3333
mathics/doc/tex/mathics-*.dvi
34+
mathics/doc/tex/mathics-*.tex
3435
mathics/doc/tex/mathics.aux
3536
mathics/doc/tex/mathics.dvi
3637
mathics/doc/tex/mathics.fdb_latexmk

CHANGES.rst

+35-24
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
CHANGES
22
=======
33

4-
1.1
5-
---
4+
1.1.0 rc1
5+
---------
66

77
Package Updates
88
+++++++++++++++
99

1010
All major packages that Mathics needs have been updated for more recent
1111
releases. Specifically These include:
1212

13-
- Python: Python 3.6-3.8 is now supported.
14-
- sympy 1.6.2
13+
- Python: Python 3.6-3.9 are now supported.
1514
- cython >= 0.15.1
1615
- Django 3.1.x
17-
16+
- mpmath => 1.1.0
17+
- sympy 1.6.2
1818

1919
New features (50+ builtins):
2020
++++++++++++++++++++++++++++
@@ -57,7 +57,7 @@ Ehancements and Bug fixes:
5757
+++++++++++++++++++++++++++
5858

5959
- speed up leading-blank patterns #625, #933
60-
- support for iteration over Sequence objects in Table, Sum, and Product
60+
- support for iteration over Sequence objects in Table, Sum, and Product
6161
- fixes for option handling
6262
- fixes for ``Manipulate[x,{x,{a,b}}]``
6363
- fixes rule -> rule case for ``Nearest``
@@ -106,17 +106,17 @@ Backward incompatablities:
106106

107107
- Support for Python 3.5 and earlier, and in particular Python 2.7,
108108
has dropped
109-
- The `graphs` module (for Graphs) has been pulled until Mathics
109+
- The ``graphs`` module (for Graphs) has been pulled until Mathics
110110
supports pymathics and graphics using networkx better. It will
111111
reappear as a pymathics module.
112-
- The `natlang` (for Natural Language processing) has also been
112+
- The ``natlang`` (for Natural Language processing) has also been
113113
pulled. The problem here too is that the pymathics mechanism needs
114114
a small amount of work to make it scalable, and in 1.0 these were
115-
hard coded. Also, both this module and `graphs` pulled in some
115+
hard coded. Also, both this module and ``graphs`` pulled in some
116116
potentially hard-to-satisfy non-Python dependencies such as
117117
matplotlib, or NLP libraries, and word lists. All of this made
118118
installation of mathics harder, and the import of these libraries,
119-
`natlang` in particular took some time. All of this points to having
119+
``natlang`` in particular took some time. All of this points to having
120120
these live in their own repositories and get imported on laziliy on
121121
demand
122122

@@ -125,7 +125,8 @@ Backward incompatablities:
125125
1.0
126126
---
127127

128-
New features:
128+
New features
129+
++++++++++++
129130

130131
- ``LinearModelFit`` #592
131132
- ``EasterSunday`` #590
@@ -212,7 +213,8 @@ New features:
212213
- ``StringExpression`` #339
213214
- Legacy file functions #338
214215

215-
Bug fixes:
216+
Bug fixes
217+
++++++++++
216218

217219
- Nested ``Module`` #591, #584
218220
- Python2 Import bug #565
@@ -242,12 +244,13 @@ Bug fixes:
242244
- Fix ``Begin``/``BeginPackage`` leaking user-visible symbols #352
243245
- Fix ``TableForm`` and ``Dimensions`` with an empty list #343
244246
- Trailing slash bug #337
245-
- Global system bug #336
247+
- ``Global`` system bug #336
246248
- ``Null`` comparison bug #371
247-
- ``CompoundExpression`` ``Out[n]`` assignment bug #335 fixes #331
249+
- ``CompoundExpression`` and ``Out[n]`` assignment bug #335 fixes #331
248250
- load unevaluated cells #332
249251

250-
Performance improvements:
252+
Performance improvements
253+
++++++++++++++++++++++++
251254

252255
- Large expression formatting with ``$OutputSizeLimit`` #581
253256
- Faster terminal output #579
@@ -275,7 +278,8 @@ Performance improvements:
275278
0.9
276279
---
277280

278-
New features:
281+
New features
282+
++++++++++++
279283

280284
- Improved syntax error messages #329
281285
- SVD, LeastSquares, PseudoInverse #258, #321
@@ -314,28 +318,32 @@ Bug fixes:
314318
0.8
315319
---
316320

317-
New features:
321+
New features
322+
+++++++++++++
318323

319324
- Improvements to 3D Plotting, see #238
320325
- Enable MathJax menu, see #236
321326
- Improvements to documentation
322327

323-
Dependency Updates:
328+
Dependency Updates
329+
++++++++++++++++++
324330

325331
- upgrade to sympy 0.7.6
326332
- upgrade to ply3.6 (new parsetab format, see #246)
327333
- upgrade to mpmath 0.19
328334

329-
Bug Fixes:
335+
Bug Fixes
336+
+++++++++
330337

331338
- IntegerDigits[0]
332339

333340

334341

335342
0.7
336-
---
343+
+++
337344

338-
New features:
345+
New features
346+
++++++++++++
339347

340348
- Readline tab completion
341349
- automatic database initialisation
@@ -344,7 +352,8 @@ New features:
344352
- More tests and documentation for ``Sequence``
345353
- Context support
346354

347-
Bugs fixed:
355+
Bugs fixed
356+
++++++++++
348357

349358
- Fix unevaluated index handling (issue #217)
350359
- Fix ``Solve`` treating one solution equal to 1 as a tautology (issue
@@ -363,7 +372,8 @@ Bugs fixed:
363372
0.6
364373
---
365374

366-
New features:
375+
New features
376+
++++++++++++
367377

368378
- ElementData using data from Wikipedia
369379
- added Switch
@@ -387,7 +397,8 @@ New features:
387397
- Use interruptingcow to limit evaluation time
388398
- Character Code functions
389399

390-
Bugs fixed:
400+
Bugs fixed
401+
++++++++++
391402

392403
- Fix divide-by-zero with zero-length plot range
393404
- Fix mathicsserver exception on startup with Django 1.6 (issues #194,

MANIFEST.in

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
include README.rst
22
include CHANGES.rst
33
include ChangeLog
4-
include COPYING
4+
include COPYING.txt
55
include FUTURE.rst
66
include Makefile
7-
include test/Makefile
8-
recursive-include mathics
9-
recursive-include xdis *.py
10-
recursive-exclude __pycache__
7+
include mathics/Makefile
8+
include mathics/Makefile
9+
recursive-include mathics *.py
1110
recursive-include test *.py

README.rst

+19
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,21 @@ Mathics is a general-purpose computer algebra system (CAS). It is an open-source
77

88
The home page of Mathics is https://mathics.org.
99

10+
11+
ScreenShots
12+
-----------
13+
14+
mathicsscript: a text interface
15+
+++++++++++++++++++++++++++++++
16+
17+
|mathicsscript|
18+
19+
mathicsserver: a Django-based Web interface
20+
+++++++++++++++++++++++++++++++++++++++++++
21+
22+
|mathicssserver|
23+
24+
1025
Installing and Running
1126
----------------------
1227

@@ -23,6 +38,10 @@ Please feel encouraged to contribute to Mathics! Create your own fork, make the
2338
.. _Travis: https://travis-ci.org/mathics/Mathics
2439
.. |PyPI| image:: https://img.shields.io/pypi/v/Mathics
2540
.. _PyPI: https://pypi.org/project/Mathics/
41+
.. |mathicsscript| image:: https://mathics.org/screenshots/mathicsscript.png
42+
.. |mathicssserver| image:: https://mathics.org/screenshots/mathicsserver.png
43+
44+
2645

2746
License
2847
-------

admin-tools/make-dist.sh

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/bin/bash
2+
PACKAGE=mathics
3+
4+
# FIXME put some of the below in a common routine
5+
function finish {
6+
cd $owd
7+
}
8+
9+
cd $(dirname ${BASH_SOURCE[0]})
10+
owd=$(pwd)
11+
trap finish EXIT
12+
13+
if ! source ./pyenv-versions ; then
14+
exit $?
15+
fi
16+
17+
18+
cd ..
19+
source $PACKAGE/version.py
20+
echo $__version__
21+
22+
for pyversion in $PYVERSIONS; do
23+
if ! pyenv local $pyversion ; then
24+
exit $?
25+
fi
26+
# pip bdist_egg create too-general wheels. So
27+
# we narrow that by moving the generated wheel.
28+
29+
# Pick out first two number of version, e.g. 3.7.9 -> 37
30+
first_two=$(echo $pyversion | cut -d'.' -f 1-2 | sed -e 's/\.//')
31+
rm -fr build
32+
python setup.py bdist_egg
33+
python setup.py bdist_wheel
34+
python setup.py bdist_wheel --universal
35+
mv -v dist/${PACKAGE}-$VERSION-{py2.py3,py$first_two}-none-any.whl
36+
done
37+
38+
python ./setup.py sdist

admin-tools/pyenv-versions

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# -*- shell-script -*-
2+
# Sets PYVERSIONS to be pyenv versions that
3+
# we can use in the master branch.
4+
if [[ $0 == ${BASH_SOURCE[0]} ]] ; then
5+
echo "This script should be *sourced* rather than run directly through bash"
6+
exit 1
7+
fi
8+
export PYVERSIONS='3.6.12 3.7.9 3.8.6 3.9.0'

mathics/builtin/evaluation.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -469,14 +469,10 @@ class Quit(Builtin):
469469
"""
470470

471471
rules = {"Exit[n___]":"Quit[n]", }
472-
472+
473473
def apply(self, evaluation, n):
474474
'%(name)s[n___]'
475475
exitcode = 0
476476
if isinstance(n, Integer):
477477
exitcode =(n.get_int_value())
478478
raise SystemExit(exitcode)
479-
480-
481-
482-

mathics/version.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,7 @@
22
# -*- coding: utf-8 -*-
33

44

5-
__version__ = '1.1.dev0'
5+
# This file is suitable for sourcing inside POSIX shell as
6+
# well as importing into Python. That's why there is no
7+
# space around "=" below.
8+
__version__="1.1.0rc1" # noqa

setup.py

+23-6
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"""
2727

2828
import sys
29+
import os.path as osp
2930
import platform
3031
from setuptools import setup, Command, Extension
3132

@@ -34,9 +35,22 @@
3435
print("Mathics does not support Python %d.%d" % sys.version_info[:2])
3536
sys.exit(-1)
3637

38+
def get_srcdir():
39+
filename = osp.normcase(osp.dirname(osp.abspath(__file__)))
40+
return osp.realpath(filename)
41+
42+
43+
def read(*rnames):
44+
return open(osp.join(get_srcdir(), *rnames)).read()
45+
46+
3747
# stores __version__ in the current namespace
3848
exec(compile(open("mathics/version.py").read(), "mathics/version.py", "exec"))
3949

50+
# Get/set VERSION and long_description from files
51+
long_description = read("README.rst") + "\n"
52+
53+
4054
is_PyPy = platform.python_implementation() == "PyPy"
4155

4256
INSTALL_REQUIRES = []
@@ -70,13 +84,14 @@
7084
"django >= 3.0, < 3.2",
7185
"mpmath>=1.1.0",
7286
"numpy",
73-
"palettable", # For bar charts, and portable, no-proprietary color palletes
87+
"palettable", # For bar charts, and portable, no-proprietary color palletes
7488
"pint",
7589
"python-dateutil",
7690
"llvmlite",
7791
"requests",
7892
]
7993

94+
8095
def subdirs(root, file="*.*", depth=10):
8196
for k in range(depth):
8297
yield root + "*/" * k + file
@@ -112,7 +127,7 @@ def run(self):
112127

113128
database_file = settings["DATABASES"]["default"]["NAME"]
114129
print("Creating data directory %s" % settings["DATA_DIR"])
115-
if not os.path.exists(settings["DATA_DIR"]):
130+
if not osp.exists(settings["DATA_DIR"]):
116131
os.makedirs(settings["DATA_DIR"])
117132
print("Creating database %s" % database_file)
118133
try:
@@ -180,14 +195,16 @@ def run(self):
180195
"mathics.web",
181196
"mathics.web.templatetags",
182197
"mathics.web.migrations",
183-
"pymathics.testpymathicsmodule"
198+
"pymathics.testpymathicsmodule",
184199
],
185200
install_requires=INSTALL_REQUIRES,
186201
dependency_links=DEPENDENCY_LINKS,
187202
package_data={
188203
"mathics": [
189204
"data/*.csv",
190205
"data/ExampleData/*",
206+
"doc/xml/data",
207+
"doc/tex/data",
191208
"autoload/formats/*/Import.m",
192209
"autoload/formats/*/Export.m",
193210
"packages/*/*.m",
@@ -219,11 +236,12 @@ def run(self):
219236
"mathicsscript = mathics.script:main",
220237
],
221238
},
239+
long_description=long_description,
240+
long_description_content_type="text/x-rst",
222241
# don't pack Mathics in egg because of media files, etc.
223242
zip_safe=False,
224243
# metadata for upload to PyPI
225-
author="Angus Griffith",
226-
author_email="[email protected]",
244+
maintainer="Mathics Group",
227245
description="A general-purpose computer algebra system.",
228246
license="GPL",
229247
url="https://mathics.org/",
@@ -234,7 +252,6 @@ def run(self):
234252
"Intended Audience :: Science/Research",
235253
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
236254
"Programming Language :: Python",
237-
238255
"Programming Language :: Python :: 3.6",
239256
"Programming Language :: Python :: 3.7",
240257
"Programming Language :: Python :: 3.8",

0 commit comments

Comments
 (0)