Hello community,
here is the log from the commit of package python-uncertainties for openSUSE:Factory checked in at 2018-10-31 13:15:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-uncertainties (Old)
and /work/SRC/openSUSE:Factory/.python-uncertainties.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-uncertainties"
Wed Oct 31 13:15:52 2018 rev:4 rq:645470 version:3.0.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-uncertainties/python-uncertainties.changes 2018-09-07 15:41:48.806381211 +0200
+++ /work/SRC/openSUSE:Factory/.python-uncertainties.new/python-uncertainties.changes 2018-10-31 13:20:39.835100971 +0100
@@ -1,0 +2,7 @@
+Tue Oct 30 03:02:29 UTC 2018 - Arun Persaud
+
+- update to version 3.0.3:
+ * The deprecation warning raised by inspect.getargspec() in recent
+ versions of Python 3 is now gone.
+
+-------------------------------------------------------------------
Old:
----
uncertainties-3.0.2.tar.gz
New:
----
uncertainties-3.0.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-uncertainties.spec ++++++
--- /var/tmp/diff_new_pack.cVnE63/_old 2018-10-31 13:20:43.579097461 +0100
+++ /var/tmp/diff_new_pack.cVnE63/_new 2018-10-31 13:20:43.579097461 +0100
@@ -12,13 +12,13 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-uncertainties
-Version: 3.0.2
+Version: 3.0.3
Release: 0
Summary: Uncertainties on the Quantities Involved (aka "Error Propagation")
License: BSD-3-Clause
++++++ uncertainties-3.0.2.tar.gz -> uncertainties-3.0.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/LICENSE.txt new/uncertainties-3.0.3/LICENSE.txt
--- old/uncertainties-3.0.2/LICENSE.txt 2016-09-16 20:24:51.000000000 +0200
+++ new/uncertainties-3.0.3/LICENSE.txt 2018-10-28 23:09:33.000000000 +0100
@@ -1,4 +1,4 @@
-Copyright (c) 2010-2016, Eric O. LEBIGOT (EOL).
+Copyright (c) 2010-2018, Eric O. LEBIGOT (EOL).
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/PKG-INFO new/uncertainties-3.0.3/PKG-INFO
--- old/uncertainties-3.0.2/PKG-INFO 2018-01-14 17:00:56.000000000 +0100
+++ new/uncertainties-3.0.3/PKG-INFO 2018-10-28 23:11:47.000000000 +0100
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: uncertainties
-Version: 3.0.2
+Version: 3.0.3
Summary: Transparent calculations with uncertainties on the quantities involved (aka error propagation); fast calculation of derivatives
Home-page: http://uncertainties-python-package.readthedocs.io/
Author: Eric O. LEBIGOT (EOL)
Author-email: eric.lebigot@normalesup.org
License: This software can be used under one of the following two licenses: (1) The Revised BSD License. (2) Any other license, as long as it is obtained from the original author.
-Description-Content-Type: UNKNOWN
Description: Overview
========
@@ -272,3 +271,7 @@
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
+Provides-Extra: all
+Provides-Extra: optional
+Provides-Extra: tests
+Provides-Extra: docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/README.rst new/uncertainties-3.0.3/README.rst
--- old/uncertainties-3.0.2/README.rst 2018-01-14 16:53:48.000000000 +0100
+++ new/uncertainties-3.0.3/README.rst 2018-10-28 23:09:33.000000000 +0100
@@ -6,10 +6,28 @@
:target: https://travis-ci.org/lebigot/uncertainties
.. image:: https://ci.appveyor.com/api/projects/status/j5238244myqx0a0r?svg=true
:target: https://ci.appveyor.com/project/lebigot/uncertainties
-
+.. image:: https://codecov.io/gh/lebigot/uncertainties/branch/master/graph/badge.svg
+ :target: https://codecov.io/gh/lebigot/uncertainties/
+.. image:: https://readthedocs.org/projects/uncertainties-python-package/badge/?version...
+ :target: http://uncertainties-python-package.readthedocs.io/en/latest/?badge=latest
+
This is the ``uncertainties`` Python package, which performs **transparent
-calculations with uncertainties** (aka "error propagation"). This package
-also calculates derivatives.
+calculations with uncertainties** (aka "error propagation"):
+
+ >>> from uncertainties import ufloat
+ >>> from uncertainties.umath import * # sin(), etc.
+ >>> x = ufloat(1, 0.1) # x = 1+/-0.1
+ >>> print 2*x
+ 2.00+/-0.20
+ >>> sin(2*x) # In a Python shell, "print" is optional
+ 0.9092974268256817+/-0.08322936730942848
+
+This package also automatically calculates derivatives:
+
+ >>> (2*x+1000).derivatives[x]
+ 2.0
+
+Some useful links:
* Documentation: http://uncertainties-python-package.readthedocs.io/
* Issues: https://github.com/lebigot/uncertainties/issues/
@@ -19,16 +37,15 @@
GitHub
------
-The ``master`` branch is for Python 2.7+ (including Python 3+ through
-``2to3``), while the ``master_python2.3`` branch is for Python 2.3 to
-2.6 (with unit tests only run with Python 2.6).
-
-Other ``master*`` branches in the Github repository are bleeding-edge,
-but they are *working* versions that passed the tests for many versions
-of Python starting at 2.4.
+The ``release`` branch is the latest stable release for Python 2.7+ (including Python 3+ through
+``2to3``), while the ``release_python2.3`` branch is the same but for Python 2.3 to
+2.6 (with unit tests only run with Python 2.6). They should pass the tests.
+
+
+``master*`` branches in the Github repository are bleeding-edge, and do not necessarily pass the tests. The ``master`` and ``master_python2.3`` are the latest, relatively stable versions (while other ``master*`` branches are more experimental).
Other branches might be present in the GitHub repository, but they are
-temporary and represent work in progress that does not necessarily run
+also temporary and represent work in progress that does not necessarily run
properly yet.
License
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/doc/_templates/layout.html new/uncertainties-3.0.3/doc/_templates/layout.html
--- old/uncertainties-3.0.2/doc/_templates/layout.html 2018-01-14 16:53:48.000000000 +0100
+++ new/uncertainties-3.0.3/doc/_templates/layout.html 2018-10-28 23:09:33.000000000 +0100
@@ -6,7 +6,7 @@
{% block document %}
{{ super() }}
-<a href="https://github.com/you"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/652c5b9acfaddf3a9c326fa6bde407b87f7be0f4/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6f72616e67655f6666373630302e706e67" alt="Fork me on GitHub" height="120 %" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png"></a>
+<a href="https://github.com/lebigot/uncertainties"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/652c5b9acfaddf3a9c326fa6bde407b87f7be0f4/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6f72616e67655f6666373630302e706e67" alt="Fork me on GitHub" height="137px" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png"></a>
{% endblock %}
{% block relbar1 %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/doc/conf.py new/uncertainties-3.0.3/doc/conf.py
--- old/uncertainties-3.0.2/doc/conf.py 2016-09-16 20:24:51.000000000 +0200
+++ new/uncertainties-3.0.3/doc/conf.py 2018-10-28 23:09:33.000000000 +0100
@@ -181,6 +181,8 @@
u'Eric O. LEBIGOT (EOL)', 'manual'),
]
+#latex_engine = "xelatex" # Not recognized by readthedocs.io as of 2018-04-08
+
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
@@ -190,7 +192,11 @@
#latex_use_parts = False
# Additional stuff for the LaTeX preamble.
-#latex_preamble = ''
+#latex_preamble = r'\DeclareUnicodeCharacter{207B}{$^-$}'
+latex_elements = {
+ # Superscript -, for pdflatex (unnecessary, with xelatex):
+ 'preamble': r'\DeclareUnicodeCharacter{207B}{$^-$}'
+}
# Documents to append as an appendix to all manuals.
#latex_appendices = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/doc/index.rst new/uncertainties-3.0.3/doc/index.rst
--- old/uncertainties-3.0.2/doc/index.rst 2018-01-14 16:53:48.000000000 +0100
+++ new/uncertainties-3.0.3/doc/index.rst 2018-10-28 23:09:33.000000000 +0100
@@ -131,7 +131,14 @@
``sudo``, so that the installation program has **sufficient access
rights to the system**.
-If you have `pip http://pip.openplans.org/`_, you can try to install
+If you use the `Anaconda distribution https://www.anaconda.com`_,
+you can install the latest version with
+
+.. code-block:: sh
+
+ conda install -c conda-forge uncertainties
+
+If you have `pip https://pypi.org/project/pip/`_, you can try to install
the latest version with
.. code-block:: sh
@@ -369,8 +376,7 @@
If you use this package for a publication (in a journal, on the web,
etc.), please cite it by including as much information as possible
from the following: *Uncertainties: a Python package for calculations
-with uncertainties*, Eric O. LEBIGOT,
-`http://pythonhosted.org/uncertainties/`_. Adding the version
+with uncertainties*, Eric O. LEBIGOT. Adding the version
number is optional.
@@ -393,12 +399,13 @@
Martin Laloux, Jonathan Whitmore, Federico Vaggi, Marco A. Ferra,
Hernan Grecco, David Zwicker, James Hester, Andrew Nelson, and many others.
-I am also grateful to Gabi Davar and Pierre Raybaut for including it
-in `Python(x,y)`_, to Christoph Gohlke for including it in his Base
-distribution of `scientific Python packages`_ for Windows, and to the
-Anaconda, macOS and Linux distribution maintainers of this package (Jonathan
-Stickel, David Paleino, Federico Ceratto, Roberto Colistete Jr,
-Filipe Pires Alvarenga Fernandes, and Felix Yan).
+I am grateful to the Anaconda, macOS and Linux distribution maintainers
+of this package (Jonathan Stickel, David Paleino, Federico Ceratto,
+Roberto Colistete Jr, Filipe Pires Alvarenga Fernandes, and Felix Yan)
+and also to Gabi Davar and Pierre Raybaut for including it in
+`Python(x,y)`_ and to Christoph Gohlke for including it in his Base
+distribution of `scientific Python packages`_ for Windows.
+
.. index:: license
@@ -408,12 +415,12 @@
This software is released under a **dual license**; one of the
following options can be chosen:
-1. The `Revised BSD License`_ (© 2010–2016, Eric O. LEBIGOT [EOL]).
+1. The `Revised BSD License`_ (© 2010–2018, Eric O. LEBIGOT [EOL]).
2. Any other license, as long as it is obtained from the creator of
this package.
.. _Python: http://python.org/
-.. _Python(x,y): https://code.google.com/p/pythonxy/
+.. _Python(x,y): https://python-xy.github.io/
.. _scientific Python packages: http://www.lfd.uci.edu/~gohlke/pythonlibs/
.. _error propagation theory: http://en.wikipedia.org/wiki/Propagation_of_uncertainty
.. _invoking the Python interpreter: http://docs.python.org/tutorial/interpreter.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/doc/tech_guide.rst new/uncertainties-3.0.3/doc/tech_guide.rst
--- old/uncertainties-3.0.2/doc/tech_guide.rst 2018-01-14 16:53:48.000000000 +0100
+++ new/uncertainties-3.0.3/doc/tech_guide.rst 2018-10-28 23:09:33.000000000 +0100
@@ -4,6 +4,8 @@
Technical Guide
===============
+
+
Testing whether an object is a number with uncertainty
------------------------------------------------------
@@ -12,6 +14,7 @@
:data:`value` is an instance of :class:`UFloat`, through
``isinstance(value, uncertainties.UFloat)``.
+
.. index:: pickling
.. index:: saving to file; number with uncertainty
.. index:: reading from file; number with uncertainty
@@ -39,10 +42,11 @@
The final result is exactly zero because the unpickled variables :data:`x2`
and :data:`y2` are completely correlated.
-However, unpickling necessarily creates *new* variables that bear no
-relationship with the original variables (in fact, the pickled
+However, **unpickling necessarily creates new variables that bear no
+relationship with the original variables** (in fact, the pickled
representation can be stored in a file and read from another program
-after the program that did the pickling is finished). Thus
+after the program that did the pickling is finished: the unpickled
+variables cannot be correlated to variables that can disappear). Thus
x - x2
0.0+/-0.14142135623730953
@@ -50,6 +54,106 @@
which shows that the original variable :data:`x` and the new variable :data:`x2`
are completely uncorrelated.
+
+.. index:: comparison operators; technical details
+
+.. _comparison_operators:
+
+
+Comparison operators
+--------------------
+
+Comparison operations (>, ==, etc.) on numbers with uncertainties have
+a **pragmatic semantics**, in this package: numbers with uncertainties
+can be used wherever Python numbers are used, most of the time with a
+result identical to the one that would be obtained with their nominal
+value only. This allows code that runs with pure numbers to also work
+with numbers with uncertainties.
+
+.. index:: boolean value
+
+The **boolean value** (``bool(x)``, ``if x …``) of a number with
+uncertainty :data:`x` is defined as the result of ``x != 0``, as usual.
+
+However, since the objects defined in this module represent
+probability distributions and not pure numbers, comparison operators
+are interpreted in a specific way.
+
+The result of a comparison operation is defined so as to be
+essentially consistent with the requirement that uncertainties be
+small: the **value of a comparison operation** is True only if the
+operation yields True for all *infinitesimal* variations of its random
+variables around their nominal values, *except*, possibly, for an
+*infinitely small number* of cases.
+
+Example:
+
+>>> x = ufloat(3.14, 0.01)
+>>> x == x
+True
+
+because a sample from the probability distribution of :data:`x` is always
+equal to itself. However:
+
+>>> y = ufloat(3.14, 0.01)
+>>> x != y
+True
+
+since :data:`x` and :data:`y` are independent random variables that
+*almost* always give a different value. Note that this is different
+from the result of ``z = 3.14; t = 3.14; print z != t``, because
+:data:`x` and :data:`y` are *random variables*, not pure numbers.
+
+Similarly,
+
+>>> x = ufloat(3.14, 0.01)
+>>> y = ufloat(3.00, 0.01)
+>>> x > y
+True
+
+because :data:`x` is supposed to have a probability distribution largely
+contained in the 3.14±~0.01 interval, while :data:`y` is supposed to be
+well in the 3.00±~0.01 one: random samples of :data:`x` and :data:`y` will
+most of the time be such that the sample from :data:`x` is larger than the
+sample from :data:`y`. Therefore, it is natural to consider that for all
+practical purposes, ``x > y``.
+
+Since comparison operations are subject to the same constraints as
+other operations, as required by the :ref:`linear approximation
+` method, their result should be essentially *constant*
+over the regions of highest probability of their variables (this is
+the equivalent of the linearity of a real function, for boolean
+values). Thus, it is not meaningful to compare the following two
+independent variables, whose probability distributions overlap:
+
+>>> x = ufloat(3, 0.01)
+>>> y = ufloat(3.0001, 0.01)
+
+In fact the function (x, y) → (x > y) is not even continuous over the
+region where x and y are concentrated, which violates the assumption
+of approximate linearity made in this package on operations involving
+numbers with uncertainties. Comparing such numbers therefore returns
+a boolean result whose meaning is undefined.
+
+However, values with largely overlapping probability distributions can
+sometimes be compared unambiguously:
+
+>>> x = ufloat(3, 1)
+>>> x
+3.0+/-1.0
+>>> y = x + 0.0002
+>>> y
+3.0002+/-1.0
+>>> y > x
+True
+
+In fact, correlations guarantee that :data:`y` is always larger than
+:data:`x`: ``y-x`` correctly satisfies the assumption of linearity,
+since it is a constant "random" function (with value 0.0002, even
+though :data:`y` and :data:`x` are random). Thus, it is indeed true
+that :data:`y` > :data:`x`.
+
+
.. index:: linear propagation of uncertainties
.. _linear_method:
@@ -171,104 +275,6 @@
probability density), or that the probability distribution of the
result is symmetrical (this is rarely strictly the case).
-.. index:: comparison operators; technical details
-
-.. _comparison_operators:
-
-
-Comparison operators
---------------------
-
-Comparison operations (>, ==, etc.) on numbers with uncertainties have
-a **pragmatic semantics**, in this package: numbers with uncertainties
-can be used wherever Python numbers are used, most of the time with a
-result identical to the one that would be obtained with their nominal
-value only. This allows code that runs with pure numbers to also work
-with numbers with uncertainties.
-
-.. index:: boolean value
-
-The **boolean value** (``bool(x)``, ``if x …``) of a number with
-uncertainty :data:`x` is defined as the result of ``x != 0``, as usual.
-
-However, since the objects defined in this module represent
-probability distributions and not pure numbers, comparison operators
-are interpreted in a specific way.
-
-The result of a comparison operation is defined so as to be
-essentially consistent with the requirement that uncertainties be
-small: the **value of a comparison operation** is True only if the
-operation yields True for all *infinitesimal* variations of its random
-variables around their nominal values, *except*, possibly, for an
-*infinitely small number* of cases.
-
-Example:
-
->>> x = ufloat(3.14, 0.01)
->>> x == x
-True
-
-because a sample from the probability distribution of :data:`x` is always
-equal to itself. However:
-
->>> y = ufloat(3.14, 0.01)
->>> x != y
-True
-
-since :data:`x` and :data:`y` are independent random variables that
-*almost* always give a different value. Note that this is different
-from the result of ``z = 3.14; t = 3.14; print z != t``, because
-:data:`x` and :data:`y` are *random variables*, not pure numbers.
-
-Similarly,
-
->>> x = ufloat(3.14, 0.01)
->>> y = ufloat(3.00, 0.01)
->>> x > y
-True
-
-because :data:`x` is supposed to have a probability distribution largely
-contained in the 3.14±~0.01 interval, while :data:`y` is supposed to be
-well in the 3.00±~0.01 one: random samples of :data:`x` and :data:`y` will
-most of the time be such that the sample from :data:`x` is larger than the
-sample from :data:`y`. Therefore, it is natural to consider that for all
-practical purposes, ``x > y``.
-
-Since comparison operations are subject to the same constraints as
-other operations, as required by the :ref:`linear approximation
-` method, their result should be essentially *constant*
-over the regions of highest probability of their variables (this is
-the equivalent of the linearity of a real function, for boolean
-values). Thus, it is not meaningful to compare the following two
-independent variables, whose probability distributions overlap:
-
->>> x = ufloat(3, 0.01)
->>> y = ufloat(3.0001, 0.01)
-
-In fact the function (x, y) → (x > y) is not even continuous over the
-region where x and y are concentrated, which violates the assumption
-of approximate linearity made in this package on operations involving
-numbers with uncertainties. Comparing such numbers therefore returns
-a boolean result whose meaning is undefined.
-
-However, values with largely overlapping probability distributions can
-sometimes be compared unambiguously:
-
->>> x = ufloat(3, 1)
->>> x
-3.0+/-1.0
->>> y = x + 0.0002
->>> y
-3.0002+/-1.0
->>> y > x
-True
-
-In fact, correlations guarantee that :data:`y` is always larger than
-:data:`x`: ``y-x`` correctly satisfies the assumption of linearity,
-since it is a constant "random" function (with value 0.0002, even
-though :data:`y` and :data:`x` are random). Thus, it is indeed true
-that :data:`y` > :data:`x`.
-
.. _differentiation method:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/doc/user_guide.rst new/uncertainties-3.0.3/doc/user_guide.rst
--- old/uncertainties-3.0.2/doc/user_guide.rst 2018-01-14 16:53:48.000000000 +0100
+++ new/uncertainties-3.0.3/doc/user_guide.rst 2018-10-28 23:09:33.000000000 +0100
@@ -391,6 +391,9 @@
The nominal value and the uncertainty always have the **same
precision**: this makes it easier to compare them.
+Standard formats
+----------------
+
.. Formatting method:
More **control over the format** can be obtained (in Python 2.6+)
@@ -411,21 +414,15 @@
alignment option, a sign or zero option, a width, or the ``%`` format
type are all supported.
-.. Precision control:
+The usual **float formats with a precision** retain their original
+meaning (e.g. ``.2e`` uses two digits after the decimal point): code
+that works with floats produces similar results when running with
+numbers with uncertainties.
-When :mod:`uncertainties` must **choose the number of significant
-digits on the uncertainty**, it is defined with the `Particle
-Data Group
-http://PDG.lbl.gov/2010/reviews/rpp2010-rev-rpp-intro.pdf`_ rounding
-rules (these rules keep the number of digits small, which is
-convenient for reading numbers with uncertainties, and at the same
-time prevent the uncertainty from being displayed with too few
-digits):
+Precision control
+-----------------
->>> print 'Automatic number of digits on the uncertainty: {}'.format(x)
-Automatic number of digits on the uncertainty: 0.200+/-0.010
->>> print x
-0.200+/-0.010
+.. Precision control:
It is possible to **control the number of significant digits of the
uncertainty** by adding the precision modifier ``u`` after the
@@ -441,11 +438,59 @@
print '1 significant digit, percentage: {:.1u%}'.format(x)
1 significant digit, percentage: (20+/-1)%
-The usual **float formats with a precision** retain their original
-meaning (e.g. ``.2e`` uses two digits after the decimal point): code
-that works with floats produces similar results when running with
-numbers with uncertainties.
+When :mod:`uncertainties` must **choose the number of significant
+digits on the uncertainty**, it uses the `Particle
+Data Group
+http://PDG.lbl.gov/2010/reviews/rpp2010-rev-rpp-intro.pdf`_ rounding
+rules (these rules keep the number of digits small, which is
+convenient for reading numbers with uncertainties, and at the same
+time prevent the uncertainty from being displayed with too few
+digits):
+
+>>> print 'Automatic number of digits on the uncertainty: {}'.format(x)
+Automatic number of digits on the uncertainty: 0.200+/-0.010
+>>> print x
+0.200+/-0.010
+
+Custom options
+--------------
+
+.. Options:
+
+:mod:`uncertainties` provides even more flexibility through custom
+formatting options. They can be added at the end of the format string:
+
+- ``P`` for **pretty-printing**:
+ >>> print '{:.2e}'.format(x)
+ (2.00+/-0.10)e-01
+ >>> print u'{:.2eP}'.format(x)
+ (2.00±0.10)×10⁻¹
+
+ The pretty-printing mode thus uses "±", "×" and superscript
+ exponents. Note that the pretty-printing mode implies using
+ **Unicode format strings** (``u'…'`` in Python 2, but simply ``'…'``
+ in Python 3).
+
+- ``S`` for the **shorthand notation**:
+
+ >>> print '{:+.1uS}'.format(x) # Sign, 1 digit for the uncertainty, shorthand
+ +0.20(1)
+
+ In this notation, the digits in parentheses represent the
+ uncertainty on the last digits of the nominal value.
+
+- ``L`` for a **LaTeX** output:
+
+ >>> print x*1e7
+ (2.00+/-0.10)e+06
+ >>> print '{:L}'.format(x*1e7) # Automatic exponent form, LaTeX
+ \left(2.00 \pm 0.10\right) \times 10^{6}
+
+These custom formatting options **can be combined** (when meaningful).
+
+Details
+-------
.. Common exponent:
@@ -468,26 +513,6 @@
relative magnitude of the error can still be readily estimated thanks to
the common exponent.
-.. Options:
-
-Formatting options can be added at the end of the format string: ``S``
-for the **shorthand notation**, ``L`` for a **LaTeX** output, ``P``
-for **pretty-printing**:
-
->>> print '{:+.1uS}'.format(x) # Sign, 1 digit for the uncertainty, shorthand
-+0.20(1)
->>> print '{:L}'.format(x*1e7) # Automatic exponent form, LaTeX
-\left(2.00 \pm 0.10\right) \times 10^{6}
-
-The pretty-printing mode uses "±" and superscript exponents: the
-default output is such that ``print '{:.2e}'.format(x)`` yields
-"(2.00+/-0.10)e-01", whereas the pretty-printing mode in ``print
-u'{:.2eP}'.format(x)`` yields "(2.00±0.10)×10\ :sup:`-1`\ ". Note that
-the pretty-printing mode implies using Unicode format strings
-(``u'…'`` in Python 2, but simply ``'…'`` in Python 3).
-
-These formatting options can be combined (when meaningful).
-
.. Special cases:
An uncertainty which is *exactly* **zero** is always formatted as an
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/setup.py new/uncertainties-3.0.3/setup.py
--- old/uncertainties-3.0.2/setup.py 2018-01-14 16:53:48.000000000 +0100
+++ new/uncertainties-3.0.3/setup.py 2018-10-28 23:09:33.000000000 +0100
@@ -42,7 +42,7 @@
# Common options for distutils/setuptools's setup():
setup_options = dict(
name='uncertainties',
- version='3.0.2',
+ version='3.0.3',
author='Eric O. LEBIGOT (EOL)',
author_email='eric.lebigot@normalesup.org',
url='http://uncertainties-python-package.readthedocs.io/',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/uncertainties-py23/__init__.py new/uncertainties-3.0.3/uncertainties-py23/__init__.py
--- old/uncertainties-3.0.2/uncertainties-py23/__init__.py 2018-01-14 16:53:48.000000000 +0100
+++ new/uncertainties-3.0.3/uncertainties-py23/__init__.py 2018-10-28 23:08:27.000000000 +0100
@@ -225,7 +225,7 @@
from uncertainties.core import __all__ # For a correct help(uncertainties)
# Numerical version:
-__version_info__ = (3, 0, 2)
+__version_info__ = (3, 0, 3)
__version__ = '.'.join(map(str, __version_info__))
__author__ = 'Eric O. LEBIGOT (EOL) '
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/uncertainties-py23/core.py new/uncertainties-3.0.3/uncertainties-py23/core.py
--- old/uncertainties-3.0.2/uncertainties-py23/core.py 2018-01-14 16:53:48.000000000 +0100
+++ new/uncertainties-3.0.3/uncertainties-py23/core.py 2018-10-28 23:08:27.000000000 +0100
@@ -30,7 +30,7 @@
try:
from math import isinfinite # !! Python 3.2+
except ImportError:
- isinfinite = lambda x: isinf(x) or isnan(x)
+ def isinfinite(x): return isinf(x) or isnan(x)
import copy
import warnings
@@ -38,6 +38,13 @@
import inspect
import collections
+# The following restricts the local function getargspec() to the common
+# features of inspect.getargspec() and inspect.getfullargspec():
+if sys.version_info < (3,):
+ from inspect import getargspec
+else:
+ from inspect import getfullargspec as getargspec
+
# Attributes that are always exported (some other attributes are
# exported only if the NumPy module is available...):
__all__ = [
@@ -117,7 +124,7 @@
else:
# NumPy numbers do not depend on Variable objects:
- FLOAT_LIKE_TYPES += (numpy.number,)
+ FLOAT_LIKE_TYPES += (numpy.generic,)
CONSTANT_TYPES += FLOAT_LIKE_TYPES[-1:]
# Entering variables as a block of correlated values. Only available
@@ -542,7 +549,7 @@
# additional derivatives:
try:
- argspec = inspect.getargspec(f)
+ argspec = getargspec(f)
except TypeError:
# Some functions do not provide meta-data about their
# arguments (see PEP 362). One cannot use keyword arguments
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/uncertainties-py23/test_uncertainties.py new/uncertainties-3.0.3/uncertainties-py23/test_uncertainties.py
--- old/uncertainties-3.0.2/uncertainties-py23/test_uncertainties.py 2018-01-14 16:53:48.000000000 +0100
+++ new/uncertainties-3.0.3/uncertainties-py23/test_uncertainties.py 2018-10-28 23:08:27.000000000 +0100
@@ -186,8 +186,8 @@
# This message is useful: the user can see that
# tests are really performed (instead of not being
# performed, silently):
- print "Testing %s at %s, arg #%d" % (
- funcname, args, arg_num)
+ print "Testing derivative #%d of %s at %s" % (
+ arg_num, funcname, args_scalar)
if not numbers_close(fixed_deriv_value,
num_deriv_value, 1e-4):
@@ -2155,7 +2155,7 @@
def test_numpy_comparison():
- "Comparison with a Numpy array."
+ "Comparison with a NumPy array."
x = ufloat(1, 0.1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/uncertainties-py23/umath_core.py new/uncertainties-3.0.3/uncertainties-py23/umath_core.py
--- old/uncertainties-3.0.2/uncertainties-py23/umath_core.py 2018-01-14 16:53:48.000000000 +0100
+++ new/uncertainties-3.0.3/uncertainties-py23/umath_core.py 2018-10-28 23:08:27.000000000 +0100
@@ -15,7 +15,6 @@
import math
import sys
import itertools
-import inspect
# Local modules
import uncertainties.core as uncert_core
@@ -192,8 +191,8 @@
'cos': [lambda x: -math.sin(x)],
'cosh': [math.sinh],
'degrees': [lambda x: math.degrees(1)],
- 'erf': [lambda x: exp(-x**2)*erf_coef],
- 'erfc': [lambda x: -exp(-x**2)*erf_coef],
+ 'erf': [lambda x: math.exp(-x**2)*erf_coef],
+ 'erfc': [lambda x: -math.exp(-x**2)*erf_coef],
'exp': [math.exp],
'expm1': [math.exp],
'fabs': [_deriv_fabs],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/uncertainties-py27/__init__.py new/uncertainties-3.0.3/uncertainties-py27/__init__.py
--- old/uncertainties-3.0.2/uncertainties-py27/__init__.py 2018-01-14 12:55:34.000000000 +0100
+++ new/uncertainties-3.0.3/uncertainties-py27/__init__.py 2018-10-28 23:00:31.000000000 +0100
@@ -225,7 +225,7 @@
from .core import __all__ # For a correct help(uncertainties)
# Numerical version:
-__version_info__ = (3, 0, 2)
+__version_info__ = (3, 0, 3)
__version__ = '.'.join(map(str, __version_info__))
__author__ = 'Eric O. LEBIGOT (EOL) '
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/uncertainties-py27/core.py new/uncertainties-3.0.3/uncertainties-py27/core.py
--- old/uncertainties-3.0.2/uncertainties-py27/core.py 2018-01-14 12:55:34.000000000 +0100
+++ new/uncertainties-3.0.3/uncertainties-py27/core.py 2018-10-28 23:00:31.000000000 +0100
@@ -22,7 +22,7 @@
try:
from math import isinfinite # !! Python 3.2+
except ImportError:
- isinfinite = lambda x: isinf(x) or isnan(x)
+ def isinfinite(x): return isinf(x) or isnan(x)
import copy
import warnings
@@ -31,6 +31,13 @@
import numbers
import collections
+# The following restricts the local function getargspec() to the common
+# features of inspect.getargspec() and inspect.getfullargspec():
+if sys.version_info < (3,):
+ from inspect import getargspec
+else:
+ from inspect import getfullargspec as getargspec
+
# Attributes that are always exported (some other attributes are
# exported only if the NumPy module is available...):
__all__ = [
@@ -110,7 +117,7 @@
else:
# NumPy numbers do not depend on Variable objects:
- FLOAT_LIKE_TYPES += (numpy.number,)
+ FLOAT_LIKE_TYPES += (numpy.generic,)
CONSTANT_TYPES += FLOAT_LIKE_TYPES[-1:]
# Entering variables as a block of correlated values. Only available
@@ -531,7 +538,7 @@
# additional derivatives:
try:
- argspec = inspect.getargspec(f)
+ argspec = getargspec(f)
except TypeError:
# Some functions do not provide meta-data about their
# arguments (see PEP 362). One cannot use keyword arguments
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/uncertainties-py27/test_uncertainties.py new/uncertainties-3.0.3/uncertainties-py27/test_uncertainties.py
--- old/uncertainties-3.0.2/uncertainties-py27/test_uncertainties.py 2018-01-14 12:55:34.000000000 +0100
+++ new/uncertainties-3.0.3/uncertainties-py27/test_uncertainties.py 2018-10-28 23:00:31.000000000 +0100
@@ -185,8 +185,8 @@
# This message is useful: the user can see that
# tests are really performed (instead of not being
# performed, silently):
- print "Testing %s at %s, arg #%d" % (
- funcname, args, arg_num)
+ print "Testing derivative #%d of %s at %s" % (
+ arg_num, funcname, args_scalar)
if not numbers_close(fixed_deriv_value,
num_deriv_value, 1e-4):
@@ -2159,7 +2159,7 @@
def test_numpy_comparison():
- "Comparison with a Numpy array."
+ "Comparison with a NumPy array."
x = ufloat(1, 0.1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/uncertainties-py27/umath_core.py new/uncertainties-3.0.3/uncertainties-py27/umath_core.py
--- old/uncertainties-3.0.2/uncertainties-py27/umath_core.py 2018-01-14 12:55:34.000000000 +0100
+++ new/uncertainties-3.0.3/uncertainties-py27/umath_core.py 2018-10-28 23:00:31.000000000 +0100
@@ -15,7 +15,6 @@
import math
import sys
import itertools
-import inspect
# Local modules
import uncertainties.core as uncert_core
@@ -192,8 +191,8 @@
'cos': [lambda x: -math.sin(x)],
'cosh': [math.sinh],
'degrees': [lambda x: math.degrees(1)],
- 'erf': [lambda x: exp(-x**2)*erf_coef],
- 'erfc': [lambda x: -exp(-x**2)*erf_coef],
+ 'erf': [lambda x: math.exp(-x**2)*erf_coef],
+ 'erfc': [lambda x: -math.exp(-x**2)*erf_coef],
'exp': [math.exp],
'expm1': [math.exp],
'fabs': [_deriv_fabs],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/uncertainties.egg-info/PKG-INFO new/uncertainties-3.0.3/uncertainties.egg-info/PKG-INFO
--- old/uncertainties-3.0.2/uncertainties.egg-info/PKG-INFO 2018-01-14 17:00:56.000000000 +0100
+++ new/uncertainties-3.0.3/uncertainties.egg-info/PKG-INFO 2018-10-28 23:11:47.000000000 +0100
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: uncertainties
-Version: 3.0.2
+Version: 3.0.3
Summary: Transparent calculations with uncertainties on the quantities involved (aka error propagation); fast calculation of derivatives
Home-page: http://uncertainties-python-package.readthedocs.io/
Author: Eric O. LEBIGOT (EOL)
Author-email: eric.lebigot@normalesup.org
License: This software can be used under one of the following two licenses: (1) The Revised BSD License. (2) Any other license, as long as it is obtained from the original author.
-Description-Content-Type: UNKNOWN
Description: Overview
========
@@ -272,3 +271,7 @@
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
+Provides-Extra: all
+Provides-Extra: optional
+Provides-Extra: tests
+Provides-Extra: docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uncertainties-3.0.2/uncertainties.egg-info/requires.txt new/uncertainties-3.0.3/uncertainties.egg-info/requires.txt
--- old/uncertainties-3.0.2/uncertainties.egg-info/requires.txt 2018-01-14 17:00:56.000000000 +0100
+++ new/uncertainties-3.0.3/uncertainties.egg-info/requires.txt 2018-10-28 23:11:47.000000000 +0100
@@ -1,8 +1,8 @@
[all]
-sphinx
-numpy
nose
+numpy
+sphinx
[docs]
sphinx