commit python-uncertainties for openSUSE:Factory
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 <arun@gmx.de> + +- 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/..." 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/..." 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 <hhttps://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 +<linear_method>` 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 -<linear_method>` 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) <eric.lebigot@normalesup.org>' 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) <eric.lebigot@normalesup.org>' 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
participants (1)
-
root