This was lost on the recent rework of the patches:
On NetBSD.
In PKGSRC_FORTRAM=gfortran case, libcblas has no RPATH=/usr/pkg/gccXX/lib
and libgfortran and libquadmath are not found.
In PKGSRC_FORTRAN=g95 case, libcblas has no
RPATH=/usr/pkg/lib/gcc-lib/x86_64--netbsd/4.1.2 and libf95 is not found.
Use Fortran compiler as linker instread of C compiler to fix link.
1.8:
Backwards compatibility breaks and deprecations
Please manually add any backwards compatibility breaks or deprecations here, in addition to the automatic listing below.
assumptions
AskHandler(), register_handler() and remove_handler() are deprecated. Handler now must be multipledispatch instance.
parsing
Parsing of "Q" returns AssumptionKeys instance in assumptions module. This means that sympify("Q") will no longer return a symbol.
Changes
assumptions
Q.infinite now correctly evaluates to True for oo, -oo, and zoo.
Assumption predicates now correctly evaluates to None for S.NaN.
Relational objects do not need to be wrapped by Q.is_true to be asked or refined anymore
Q.is_true wrapping over AppliedPredicate now just return the argument.
refine arg(x) when x is real and nonzero
assumptions/relation module is introduced. This module implements binary relation as predicate.
AskHandler(), register_handler() and remove_handler() are deprecated. Handler now must be multipledispatch instance.
Predicate now uses a single handler which is multipledispatch instance.
Predicate can now take multiple arguments.
Predicate("...") now returns UndefinedPredicate instance. To define a predicate, you must make a subclass of Predicate.
calculus
Using maximum with a piecewise expression over a domain no longer fails due to a bug fix in Piecewise.as_expr_set_pairs.
codegen
allowing for multi-dimensional arrays as arguments/locals in c code generation
create_expand_pow_optimization is now customizable with respect to requirement on base.
Support flattening of elementwise additions of array expressions.
Fixes to array-expressions in order to properly work with ZeroArray and ZeroMatrix.
Fixing matrix expression recognition from array-expressions.
Minor fixes to the way the AST of array expressions is built
Add normalization of CodegenArrayDiagonal when it's nested with CodegenArrayPermuteDims and CodegenArrayContraction.
Increased support for the normalization of array expressions and permutations of indices.
parse_matrix_expression( ) is now able to parse traces of matrices.
combinatorics
Added a section to the permutation docs about containment in permutation groups.
concrete
Improved infinite summation capability by adding residue formula.
A bug leading to incorrect evaluation of a summation of an exponential function was fixed.
core
Fixed a bug in Pow._eval_nseries that added Order terms to exact expansions
Fixed a bug in Expr.round that could lead to infinite recursion in integrate.
Removed deprecated ClassRegistry
get_integer_part no longer has a threshold on the approximation to closest integer based on difference, allowing floor to give more accurate results for smaller evalf precisions also
A bug causing match to fail for expressions with different signs was fixed. Previously this resulted in solve raising an exception for some inputs.
Make S(0.0) == S.false return False
.refine() method is moved from Expr to Basic.
gcd correctly handles unevaluated Mul
Fixed a bug leading to infinite recursion in the old assumptions under evaluate(False).
Fixed _eval_is_zero() functionality when imaginary numbers are involved.
Kind classification of objects is introduced. This feature is experimental, and can be replaced or deleted in the future.
Make class Eq with sets as arguments work with simplify().
Fixed a few broken cases of expr.is_integer
functions
Implemented Riemann Xi function
riemaan xi function
Added nseries expansion for besselj and bessely
Fixed leading term calculation of sin functions to handle angles outside (-pi, pi)
Added aseries expansion to error functions
Changes _eval_nseries of Abs to no longer return a Piecewise
Modified _eval_nseries to handle infinity and added _eval_as_leading_term in floor and ceiling
Added Generalized Incomplete, Generalized Regularized and Central Beta functions
Added _eval_nseries support to sign
Fixed assumption is_algebraic for exponentials with rational multiples of I*pi to be True.
geometry
Fix AssertError for vertical tangent
Geometric entities with symbolic coordinates will not be printed in SVG.
integrals
Fixed a bug that led to RecursionError in integrals involving hyperbolic functions.
The heurisch integration method was made faster by improvements in the sparse linear systems solver.
A bug leading to incorrect results when integrating Piecewise expressions where a condition simplifies to True was fixed.
logic
simplify_logic faster in most cases, especially for larger expressions.
refine() on Boolean objects reduces them to true or false if the truth value can be determined.
matrices
Fixed a bug that led to the wrong derivative result in matrix expressions.
The eye and zero functions have been made much faster for large matrices.
Added two new functions upper_triangular and lower_triangular, that return upper and lower triangular parts of a matrix.
Minus one, integers, rational numbers multiplied with MatAdd is automatically distributed.
Added function returning Wilkinson matrix
Implemented Singular Value decomposition for matrices
Implemented Upper Hessenberg Decomposition for a matrix
eigenvals, eigenvects without radical solution will be returned as CRootOf
Added function to calculate Generalized Schur Complement for Block Matrices
Added functions to compute LDU, UDL and LU decompositions for Block Matrices
Fixed issues with dot product for Matrix.orthogonalize with complex vectors.
Fixed zero division issues for Matrix.QRdecomposition with zero columns coming first than nonzero columns.
Added a function to compute the permanent of a matrix
Changed behaviour of eq() of class DenseMatrix
det has a new option 'gauss-ge' which is much faster in many cases
ntheory
Added documentation of ecm and qs functions
Fixed a bug in the is_gaussian_prime function for python complex numbers (e.g. 1+1j).
primerange now accepts a single argument i.e., primerange(input_arg) is valid and is same as primerange(2, input_arg).
Added motzkin numbers
parsing
Fixed issue with parsing logarithm bases without curly braces
Fix parse_expr parsing of expressions with methods when using the implicit_multiplications transformation.
Include the transformed code in the error message when the evaluation in parse_expr fails.
Extended the LaTeX parser with support for complex conjugates (via \overline{...}).
Latex parser does not evaluate sqrt expressions anymore.
physics.continuum_mechanics
make beam module compute correctly internal forces
physics.optics
Fixed bugs related to basic operations on TWave
physics.quantum
WignerD now evaluates to KroneckerDelta in some cases.
physics.units
Fix bug when input argument to a function is an integer
Change default behavior for functions (all function arguments must be dimensionless by default)
sin, cos, tan, cot, sec, and csc functions may have a dimensionless or angle input argument
Exponents must now be dimensionless
Constants such as pi and E are now treated as dimensionless (raised exception previously)
Numbers with an imaginary component are now treated as dimensionless (raised exception previously)
Fixed a bug with derived units and dimensions in check_dimensions.
Fix bug in convert_to returning wrong units in some cases where the linear equation system between canonical units is unsolvable.
physics.vector
Fix documentation for v1pt_theory
Introduced new methods on ReferenceFrame: .orient_axis(), .orient_explicit(), .orient_body_fixed(), .orient_space_fixed(), and .orient_quaternion(). .orient() calls out to each new method and it is recommended to use the new methods.
Added .xreplace() to Vector Class.
Added .xreplace() to Dyadic Class.
Added .evalf() to Vector class
Added .evalf() to Dyadic class
plotting
Added handling for OverflowError (when plotting functions like exp(1/x)).
polys
Added internal representation as both dense and sparse matrix
Added docstrings for Domain Matrix class
Add zeros method to DomainMatrix
A new sparse implementation of DomainMatrix is added.
make is_disjoint strict so that inequalities evaluated with solve() return consistent results
The DomainMatrix class has moved from sympy.polys.domainmatrix to sympy.polys.matrices and should now be imported as from sympy.polys.matrices import DomainMatrix.
A new polys FiniteExtension domain is added.
numberfields: implemented new algorithm for primitive_element in case ex=True.
added boilerplate index method for FracField
Solved bug in Poly.replace
Solve a bug in polytools.degree.
Use assumption system instead of structural equality check in __bool__ method of Expression domain element (fixing cases where Poly(...).is_zero would incorrectly return False)
printing
The pretty printer was made faster when printing large sequences (e.g. tuples, sets etc).
Fixed a bug which led to latex printing error in singularity function expressions.
Replaced the Theano printer with an Aesara printer
Symbols with Unicode character names and no underscores, like ω0 now properly pretty print subscripts.
Fix the printing of the vertical bar in ImageSet, ConditionSet, and ComplexRegion so that it is the full height in the pretty and LaTeX printers.
Fix the tag for the degree of a root with a rational base in MathML output.
irrational powers are no longer printed with square root sign, they are printed as fractional powers
Allow spreading assignments across multiple symbols when printing multi-member objects.
Support various array constructor types when printing arrays to GLSL.
Fixes a bug when printing negative expressions to GLSL with operators printed as functions.
Support a custom 0 substitution for printing expressions representing various GLSL types.
make cxxcode correctly print the first argument of Min/Max functions
sets
Added basic denesting functionaility for sets of the form ConditionSet(x, Contains(x, ...)).
ConditionSet.contains(x) now returns False if x is not in the base set (even if its substitution into the condition will cause an error).
FiniteSet.evalf with a subs argument now does the substitution. Previously, the argument was ignored.
Add .simplify to FiniteSet.
Make 'is_subset' work for ProductSet
changed behavior of Rationals.contains(float) to indeterminate
tests modified to include new behavior
.evalf() precisions with x and FiniteSet(x) is same now.
simplify
Fix simplify calls sympify without rational parameter
TRmorrie now takes powers of cos terms into account
solvers
Fixed a bug in solve that expanded hyperbolic function constants to equivalent exp form.
Handle x**r=0 case in invert_complex
Fixed a bug in solveset, which led to infinite recursion for solving some expressions involving radicals.
The new sparse DomainMatrix implementation is used in linsolve to make it much faster when solving large sparse systems of linear equations.
Modified symbols sorting in solvers._solve_system to ensure solve and linsolve solve the same way
Added solver for 2nd order nonlinear autonomous ODE.
speed improvement in a substep of rsolve_hyper (when computing constant solutions to constant coefficient recurrences).
Fixed incorrect solutions from rsolve for higher order recurrences
stats
Refactory and simplification of sampling backends for random variables.
Expectation can now be calculated across multiple Uniform RVs evaluating to zero
Implemented Matrix Student's t-distribution
Fixed simplification bug in Stochastic Processes by introducing abstract Distribution class
API changed for StochasticProcess.distribution which now expects a timestamp argument instead of RandomIndexedSymbol object.
Implemented FlorySchulz Distribution
implemented LogCauchy Distribution
Implemented Logit-Normal probability distribution
Fixes cdf computation of Discrete random variables by using integer limits
Added 2 new distributions in frv_types.
added support for fundamental matrix for regular markov chains
Added support for multiple RandomIndexedSymbols in DiscreteMarkovChain
tensor
Introduced objects ArraySymbol and ArrayElement for array expressions equivalent to MatrixSymbol and MatrixElement in the matrix expression module.
shape() function is introduced in array module.
Add class ZeroArray for array expressions of zero-valued elements.
Make Array differentiation(derive_by_array) work with non sympy expressions.
Added tensordiagonal( ) function to perform diagonalization of array expressions.
Adding an array with any other type now consistently gives NotImplemented.
utilities
Added official support for using CuPy to GPU accelerate lambdify functions.
Added Replacer class to simplify the creation of replacement expressions with MatchPy.
Added tests for optional parameter in MatchPy patterns.
Added string printers for MatchPy-compatible wildcards in sympy.utilities.matchpy_connector
Added WildDot, WildPlus and WildStar classes to MatchPy connector. These classes correspond to the dot, dot-plut and dot-star expressions in regular expression, but operate on SymPy expression trees and are aware of associative and commutative properties, features supported through the MatchPy library.
minlex no longer accepts is_set or small arguments
minlex and least_rotation now accept key= arguments similar to sorted.
vector
Fixed a bug with integral over ImplicitRegion objects
other
Expanding documentation to include all class members with docstrings
--1.2.0--
Released February 1, 2021
Features and optimizations:
* Support @ operator for matrix multiplication (Max Gaukler)
* Add eta() implementing the Dedekind eta function
* Optimized the python_trailing function (adhoc-king)
* Implement unary plus for matrices (Max Gaukler)
* Improved calculation of gram_index (p15-git-acc)
Compatibility:
* Enable sage backend by default only if SAGE_ROOT is set (Pauli Virtanen)
* Fix syntax warnings on CPython 3.8 (Sergey B Kirpichev)
* Changed version requirements to Python 2.7 and 3.4 or later
(Sergey B Kirpichev)
* Improvements to the setup and test code (Sergey B Kirpichev)
* Fix sys.version comparisons for compatibility with Python 3.10 (Jakub Wilk)
* Fixes to Python2/3 compatibility for printing (Christian Clauss)
Bug fixes:
* Fix a possible division by zero in shanks() (Pascal Hebbeker)
* Fixed indexing errors in deHoog, Knight & Stokes inverse laplace
transform algorithm (Kris Kuhlman)
* Corrected branch cuts of the elliprj() function in some cases
* Fix initialization of iv.matrix from non-interval matrix (Max Gaukler)
* Preserve function signatures in PrecisionManager (Viet Tran)
* Implemented float and complex conversions for ivmpf
(Jonathan Warner)
* Fixed issue with scalar-matrix multiplication for interval matrices
(Jonathan Warner)
* Fix estimation of quadrature error with multiple subintervals (Tom Minka)
* Fixed a problem with the defun decorators (Sergey B Kirpichev)
* Fix eigenvalue sorting by absolute value (Georg Ostrovski)
Cleanup:
* Documentation corrections (Paul Masson, S.Y. Lee)
* Remove inaccessible logic in fsum/fdot (Sergey B Kirpichev)
* Remove broken force_type option for matrix constructor (Max Gaukler)
* Fix text of the BSD license in LICENSE (Sergey B Kirpichev)
* Minor code cleanup (Frédéric Chapoton)
* Removed old, unused code
1.20.3:
BUG: Correct ``datetime64`` missing type overload for ``datetime.date``
MAINT: Remove ``__all__`` in favor of explicit re-exports
BLD: Strip extra newline when dumping gfortran version on MacOS
BUG: fix segfault in object/longdouble operations
MAINT: Use towncrier build explicitly
MAINT: Relax certain integer-type constraints
MAINT: Remove unsafe unions and ABCs from return-annotations
MAINT: Allow more recursion depth for scalar tests.
BUG: Initialize the full nditer buffer in case of error
BLD: remove unnecessary flag ``-faltivec`` on macOS
MAINT, CI: treats _SIMD module build warnings as errors through...
BUG: for MINGW, threads.h existence test requires GLIBC > 2.12
BUG: Make changelog recognize gh- as a PR number prefix.
REL, DOC: Prepare for the NumPy 1.20.3 release.
BUG: Fix failing mypy test in 1.20.x.
Fixes build errors of the form
/tmp/pkgsrc/math/arpack-ng/work.x86_64/arpack-ng-3.7.0/SRC/cnaitr.f:666:35:
383 | call svout (logfil, 1, rnorm, ndigit,
| 2
......
666 | call svout (logfil, 2, rtemp, ndigit,
| 1
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
seen in arpack-ng-3.7.0nb1
v0.18.0 (6 May 2021)
This release brings a few important performance improvements, a wide range of usability upgrades, lots of bug fixes, and some new features. These include a plugin API to add backend engines, a new theme for the documentation, curve fitting methods, and several new plotting functions.
v0.17.0 (24 Feb 2021)
This release brings a few important performance improvements, a wide range of usability upgrades, lots of bug fixes, and some new features. These include better cftime support, a new quiver plot, better unstack performance, more efficient memory use in rolling operations, and some python packaging improvements. We also have a few documentation improvements (and more planned!).
v0.16.2 (30 Nov 2020)
This release brings the ability to write to limited regions of zarr files, open zarr files with :py:func:`open_dataset` and :py:func:`open_mfdataset`, increased support for propagating attrs using the keep_attrs flag, as well as numerous bugfixes and documentation improvements.
v0.16.1 (2020-09-20)
This patch release fixes an incompatibility with a recent pandas change, which was causing an issue indexing with a datetime64. It also includes improvements to rolling, to_dataframe, cov & corr methods and bug fixes. Our documentation has a number of improvements, including fixing all doctests and confirming their accuracy on every commit.
v0.16.0 (2020-07-11)
This release adds xarray.cov & xarray.corr for covariance & correlation respectively; the idxmax & idxmin methods, the polyfit method & xarray.polyval for fitting polynomials, as well as a number of documentation improvements, other features, and bug fixes. Many thanks to all 44 contributors who contributed to this release:
version 1.5.6 (tag v1.5.6rel)
=============================
* move CI/CD tests from travis/appveyor to Github Actions.
* move netCDF4 dir under src so module can be imported in source directory.
* change numpy.bool to numpy.bool_ and numpy.float to numpy.float_ (float and
bool are deprecated in numpy 1.20)
* clean up docstrings so that they work with latest pdoc.
* update cython numpy API to remove deprecation warnings.
* Add "fromcdl" and "tocdl" Dataset methods for import/export of CDL
via ncdump/ncgen called externally via the subprocess module.
* remove python 2.7 support.
* broadcast data (if possible)to conform to variable shape when writing to a slice
version 1.5.5.1 (tag v1.5.5.1rel)
=================================
* rebuild binary wheels for linux and OSX to link netcdf-c 4.7.4 and hdf5 1.12.0.
version 1.5.5 (tag v1.5.5rel)
=============================
* have setup.py always try use nc-config first to find paths to netcdf and
hdf5 libraries and headers. Don't use pkg-config to find HDF5 if HDF5 env
vars are set (or read from setup.cfg).
* Change MIT license text to standard OSI wording.
version 1.5.4 (tag v1.5.4rel)
=============================
* fix printing of variable objects for variables that end with the letter 'u'
* make sure root group has 'name' attribute.
* add the ability to pack vlen floats to integers using
scale_factor/add_offset
* use len instead of deprecated numpy.alen
* check size on valid_range instead of using len.
* add `set_chunk_cache/get_chunk_cache` module functions to reset the
default chunk cache sizes before opening a Dataset.
* replace use of numpy's deprecated tostring() method with tobytes()
* bump minimal numpy version to 1.9 (first version to have tobytes()).
What's new in 1.2.4 (April 12, 2021)
Fixed regressions
- Fixed regression in :meth:`DataFrame.sum` when ``min_count`` greater than the :class:`DataFrame` shape was passed resulted in a ``ValueError`` (:issue:`39738`)
- Fixed regression in :meth:`DataFrame.to_json` raising ``AttributeError`` when run on PyPy (:issue:`39837`)
- Fixed regression in (in)equality comparison of ``pd.NaT`` with a non-datetimelike numpy array returning a scalar instead of an array (:issue:`40722`)
- Fixed regression in :meth:`DataFrame.where` not returning a copy in the case of an all True condition (:issue:`39595`)
- Fixed regression in :meth:`DataFrame.replace` raising ``IndexError`` when ``regex`` was a multi-key dictionary (:issue:`39338`)
- Fixed regression in repr of floats in an ``object`` column not respecting ``float_format`` when printed in the console or outputted through :meth:`DataFrame.to_string`, :meth:`DataFrame.to_html`, and :meth:`DataFrame.to_latex` (:issue:`40024`)
- Fixed regression in NumPy ufuncs such as ``np.add`` not passing through all arguments for :class:`DataFrame`
What's new in 1.2.3 (March 02, 2021)
Fixed regressions
- Fixed regression in :meth:`~DataFrame.to_excel` raising ``KeyError`` when giving duplicate columns with ``columns`` attribute (:issue:`39695`)
- Fixed regression in nullable integer unary ops propagating mask on assignment (:issue:`39943`)
- Fixed regression in :meth:`DataFrame.__setitem__` not aligning :class:`DataFrame` on right-hand side for boolean indexer (:issue:`39931`)
- Fixed regression in :meth:`~DataFrame.to_json` failing to use ``compression`` with URL-like paths that are internally opened in binary mode or with user-provided file objects that are opened in binary mode (:issue:`39985`)
- Fixed regression in :meth:`Series.sort_index` and :meth:`DataFrame.sort_index`, which exited with an ungraceful error when having kwarg ``ascending=None`` passed. Passing ``ascending=None`` is still considered invalid, and the improved error message suggests a proper usage (``ascending`` must be a boolean or a list-like of boolean) (:issue:`39434`)
- Fixed regression in :meth:`DataFrame.transform` and :meth:`Series.transform` giving incorrect column labels when passed a dictionary with a mix of list and non-list values (:issue:`40018`)
What's new in 1.2.2 (February 09, 2021)
---------------------------------------
These are the changes in pandas 1.2.2. See :ref:`release` for a full changelog
including other versions of pandas.
{{ header }}
.. ---------------------------------------------------------------------------
.. _whatsnew_122.regressions:
Fixed regressions
~~~~~~~~~~~~~~~~~
- Fixed regression in :func:`read_excel` that caused it to raise ``AttributeError`` when checking version of older xlrd versions (:issue:`38955`)
- Fixed regression in :class:`DataFrame` constructor reordering element when construction from datetime ndarray with dtype not ``"datetime64[ns]"`` (:issue:`39422`)
- Fixed regression in :meth:`DataFrame.astype` and :meth:`Series.astype` not casting to bytes dtype (:issue:`39474`)
- Fixed regression in :meth:`~DataFrame.to_pickle` failing to create bz2/xz compressed pickle files with ``protocol=5`` (:issue:`39002`)
- Fixed regression in :func:`pandas.testing.assert_series_equal` and :func:`pandas.testing.assert_frame_equal` always raising ``AssertionError`` when comparing extension dtypes (:issue:`39410`)
- Fixed regression in :meth:`~DataFrame.to_csv` opening ``codecs.StreamWriter`` in binary mode instead of in text mode and ignoring user-provided ``mode`` (:issue:`39247`)
- Fixed regression in :meth:`Categorical.astype` casting to incorrect dtype when ``np.int32`` is passed to dtype argument (:issue:`39402`)
- Fixed regression in :meth:`~DataFrame.to_excel` creating corrupt files when appending (``mode="a"``) to an existing file (:issue:`39576`)
- Fixed regression in :meth:`DataFrame.transform` failing in case of an empty DataFrame or Series (:issue:`39636`)
- Fixed regression in :meth:`~DataFrame.groupby` or :meth:`~DataFrame.resample` when aggregating an all-NaN or numeric object dtype column (:issue:`39329`)
- Fixed regression in :meth:`.Rolling.count` where the ``min_periods`` argument would be set to ``0`` after the operation (:issue:`39554`)
- Fixed regression in :func:`read_excel` that incorrectly raised when the argument ``io`` was a non-path and non-buffer and the ``engine`` argument was specified (:issue:`39528`)
.. ---------------------------------------------------------------------------
.. _whatsnew_122.bug_fixes:
Bug fixes
~~~~~~~~~
- :func:`pandas.read_excel` error message when a specified ``sheetname`` does not exist is now uniform across engines (:issue:`39250`)
- Fixed bug in :func:`pandas.read_excel` producing incorrect results when the engine ``openpyxl`` is used and the excel file is missing or has incorrect dimension information; the fix requires ``openpyxl`` >= 3.0.0, prior versions may still fail (:issue:`38956`, :issue:`39001`)
- Fixed bug in :func:`pandas.read_excel` sometimes producing a ``DataFrame`` with trailing rows of ``np.nan`` when the engine ``openpyxl`` is used (:issue:`39181`)
What's new in 1.2.1 (January 20, 2021)
--------------------------------------
These are the changes in pandas 1.2.1. See :ref:`release` for a full changelog
including other versions of pandas.
{{ header }}
.. ---------------------------------------------------------------------------
.. _whatsnew_121.regressions:
Fixed regressions
~~~~~~~~~~~~~~~~~
- Fixed regression in :meth:`~DataFrame.to_csv` that created corrupted zip files when there were more rows than ``chunksize`` (:issue:`38714`)
- Fixed regression in :meth:`~DataFrame.to_csv` opening ``codecs.StreamReaderWriter`` in binary mode instead of in text mode (:issue:`39247`)
- Fixed regression in :meth:`read_csv` and other read functions were the encoding error policy (``errors``) did not default to ``"replace"`` when no encoding was specified (:issue:`38989`)
- Fixed regression in :func:`read_excel` with non-rawbyte file handles (:issue:`38788`)
- Fixed regression in :meth:`DataFrame.to_stata` not removing the created file when an error occured (:issue:`39202`)
- Fixed regression in ``DataFrame.__setitem__`` raising ``ValueError`` when expanding :class:`DataFrame` and new column is from type ``"0 - name"`` (:issue:`39010`)
- Fixed regression in setting with :meth:`DataFrame.loc` raising ``ValueError`` when :class:`DataFrame` has unsorted :class:`MultiIndex` columns and indexer is a scalar (:issue:`38601`)
- Fixed regression in setting with :meth:`DataFrame.loc` raising ``KeyError`` with :class:`MultiIndex` and list-like columns indexer enlarging :class:`DataFrame` (:issue:`39147`)
- Fixed regression in :meth:`~DataFrame.groupby()` with :class:`Categorical` grouping column not showing unused categories for ``grouped.indices`` (:issue:`38642`)
- Fixed regression in :meth:`.GroupBy.sem` where the presence of non-numeric columns would cause an error instead of being dropped (:issue:`38774`)
- Fixed regression in :meth:`.DataFrameGroupBy.diff` raising for ``int8`` and ``int16`` columns (:issue:`39050`)
- Fixed regression in :meth:`DataFrame.groupby` when aggregating an ``ExtensionDType`` that could fail for non-numeric values (:issue:`38980`)
- Fixed regression in :meth:`.Rolling.skew` and :meth:`.Rolling.kurt` modifying the object inplace (:issue:`38908`)
- Fixed regression in :meth:`DataFrame.any` and :meth:`DataFrame.all` not returning a result for tz-aware ``datetime64`` columns (:issue:`38723`)
- Fixed regression in :meth:`DataFrame.apply` with ``axis=1`` using str accessor in apply function (:issue:`38979`)
- Fixed regression in :meth:`DataFrame.replace` raising ``ValueError`` when :class:`DataFrame` has dtype ``bytes`` (:issue:`38900`)
- Fixed regression in :meth:`Series.fillna` that raised ``RecursionError`` with ``datetime64[ns, UTC]`` dtype (:issue:`38851`)
- Fixed regression in comparisons between ``NaT`` and ``datetime.date`` objects incorrectly returning ``True`` (:issue:`39151`)
- Fixed regression in calling NumPy :func:`~numpy.ufunc.accumulate` ufuncs on DataFrames, e.g. ``np.maximum.accumulate(df)`` (:issue:`39259`)
- Fixed regression in repr of float-like strings of an ``object`` dtype having trailing 0's truncated after the decimal (:issue:`38708`)
- Fixed regression that raised ``AttributeError`` with PyArrow versions [0.16.0, 1.0.0) (:issue:`38801`)
- Fixed regression in :func:`pandas.testing.assert_frame_equal` raising ``TypeError`` with ``check_like=True`` when :class:`Index` or columns have mixed dtype (:issue:`39168`)
We have reverted a commit that resulted in several plotting related regressions in pandas 1.2.0 (:issue:`38969`, :issue:`38736`, :issue:`38865`, :issue:`38947` and :issue:`39126`).
As a result, bugs reported as fixed in pandas 1.2.0 related to inconsistent tick labeling in bar plots are again present (:issue:`26186` and :issue:`11465`)
What's new in 1.2.0 (December 26, 2020)
Performance improvements
- Performance improvements when creating DataFrame or Series with dtype ``str`` or :class:`StringDtype` from array with many string elements (:issue:`36304`, :issue:`36317`, :issue:`36325`, :issue:`36432`, :issue:`37371`)
- Performance improvement in :meth:`.GroupBy.agg` with the ``numba`` engine (:issue:`35759`)
- Performance improvements when creating :meth:`Series.map` from a huge dictionary (:issue:`34717`)
- Performance improvement in :meth:`.GroupBy.transform` with the ``numba`` engine (:issue:`36240`)
- :class:`.Styler` uuid method altered to compress data transmission over web whilst maintaining reasonably low table collision probability (:issue:`36345`)
- Performance improvement in :func:`to_datetime` with non-ns time unit for ``float`` ``dtype`` columns (:issue:`20445`)
- Performance improvement in setting values on an :class:`IntervalArray` (:issue:`36310`)
- The internal index method :meth:`~Index._shallow_copy` now makes the new index and original index share cached attributes, avoiding creating these again, if created on either. This can speed up operations that depend on creating copies of existing indexes (:issue:`36840`)
- Performance improvement in :meth:`.RollingGroupby.count` (:issue:`35625`)
- Small performance decrease to :meth:`.Rolling.min` and :meth:`.Rolling.max` for fixed windows (:issue:`36567`)
- Reduced peak memory usage in :meth:`DataFrame.to_pickle` when using ``protocol=5`` in python 3.8+ (:issue:`34244`)
- Faster ``dir`` calls when the object has many index labels, e.g. ``dir(ser)`` (:issue:`37450`)
- Performance improvement in :class:`ExpandingGroupby` (:issue:`37064`)
- Performance improvement in :meth:`Series.astype` and :meth:`DataFrame.astype` for :class:`Categorical` (:issue:`8628`)
- Performance improvement in :meth:`DataFrame.groupby` for ``float`` ``dtype`` (:issue:`28303`), changes of the underlying hash-function can lead to changes in float based indexes sort ordering for ties (e.g. :meth:`Index.value_counts`)
- Performance improvement in :meth:`pd.isin` for inputs with more than 1e6 elements (:issue:`36611`)
- Performance improvement for :meth:`DataFrame.__setitem__` with list-like indexers (:issue:`37954`)
- :meth:`read_json` now avoids reading entire file into memory when chunksize is specified (:issue:`34548`)
Bug fixes
Categorical
- :meth:`Categorical.fillna` will always return a copy, validate a passed fill value regardless of whether there are any NAs to fill, and disallow an ``NaT`` as a fill value for numeric categories (:issue:`36530`)
- Bug in :meth:`Categorical.__setitem__` that incorrectly raised when trying to set a tuple value (:issue:`20439`)
- Bug in :meth:`CategoricalIndex.equals` incorrectly casting non-category entries to ``np.nan`` (:issue:`37667`)
- Bug in :meth:`CategoricalIndex.where` incorrectly setting non-category entries to ``np.nan`` instead of raising ``TypeError`` (:issue:`37977`)
- Bug in :meth:`Categorical.to_numpy` and ``np.array(categorical)`` with tz-aware ``datetime64`` categories incorrectly dropping the time zone information instead of casting to object dtype (:issue:`38136`)
Datetime-like
- Bug in :meth:`DataFrame.combine_first` that would convert datetime-like column on other :class:`DataFrame` to integer when the column is not present in original :class:`DataFrame` (:issue:`28481`)
- Bug in :attr:`.DatetimeArray.date` where a ``ValueError`` would be raised with a read-only backing array (:issue:`33530`)
- Bug in ``NaT`` comparisons failing to raise ``TypeError`` on invalid inequality comparisons (:issue:`35046`)
- Bug in :class:`.DateOffset` where attributes reconstructed from pickle files differ from original objects when input values exceed normal ranges (e.g. months=12) (:issue:`34511`)
- Bug in :meth:`.DatetimeIndex.get_slice_bound` where ``datetime.date`` objects were not accepted or naive :class:`Timestamp` with a tz-aware :class:`.DatetimeIndex` (:issue:`35690`)
- Bug in :meth:`.DatetimeIndex.slice_locs` where ``datetime.date`` objects were not accepted (:issue:`34077`)
- Bug in :meth:`.DatetimeIndex.searchsorted`, :meth:`.TimedeltaIndex.searchsorted`, :meth:`PeriodIndex.searchsorted`, and :meth:`Series.searchsorted` with ``datetime64``, ``timedelta64`` or :class:`Period` dtype placement of ``NaT`` values being inconsistent with NumPy (:issue:`36176`, :issue:`36254`)
- Inconsistency in :class:`.DatetimeArray`, :class:`.TimedeltaArray`, and :class:`.PeriodArray` method ``__setitem__`` casting arrays of strings to datetime-like scalars but not scalar strings (:issue:`36261`)
- Bug in :meth:`.DatetimeArray.take` incorrectly allowing ``fill_value`` with a mismatched time zone (:issue:`37356`)
- Bug in :class:`.DatetimeIndex.shift` incorrectly raising when shifting empty indexes (:issue:`14811`)
- :class:`Timestamp` and :class:`.DatetimeIndex` comparisons between tz-aware and tz-naive objects now follow the standard library ``datetime`` behavior, returning ``True``/``False`` for ``!=``/``==`` and raising for inequality comparisons (:issue:`28507`)
- Bug in :meth:`.DatetimeIndex.equals` and :meth:`.TimedeltaIndex.equals` incorrectly considering ``int64`` indexes as equal (:issue:`36744`)
- :meth:`Series.to_json`, :meth:`DataFrame.to_json`, and :meth:`read_json` now implement time zone parsing when orient structure is ``table`` (:issue:`35973`)
- :meth:`astype` now attempts to convert to ``datetime64[ns, tz]`` directly from ``object`` with inferred time zone from string (:issue:`35973`)
- Bug in :meth:`.TimedeltaIndex.sum` and :meth:`Series.sum` with ``timedelta64`` dtype on an empty index or series returning ``NaT`` instead of ``Timedelta(0)`` (:issue:`31751`)
- Bug in :meth:`.DatetimeArray.shift` incorrectly allowing ``fill_value`` with a mismatched time zone (:issue:`37299`)
- Bug in adding a :class:`.BusinessDay` with nonzero ``offset`` to a non-scalar other (:issue:`37457`)
- Bug in :func:`to_datetime` with a read-only array incorrectly raising (:issue:`34857`)
- Bug in :meth:`Series.isin` with ``datetime64[ns]`` dtype and :meth:`.DatetimeIndex.isin` incorrectly casting integers to datetimes (:issue:`36621`)
- Bug in :meth:`Series.isin` with ``datetime64[ns]`` dtype and :meth:`.DatetimeIndex.isin` failing to consider tz-aware and tz-naive datetimes as always different (:issue:`35728`)
- Bug in :meth:`Series.isin` with ``PeriodDtype`` dtype and :meth:`PeriodIndex.isin` failing to consider arguments with different ``PeriodDtype`` as always different (:issue:`37528`)
- Bug in :class:`Period` constructor now correctly handles nanoseconds in the ``value`` argument (:issue:`34621` and :issue:`17053`)
Timedelta
- Bug in :class:`.TimedeltaIndex`, :class:`Series`, and :class:`DataFrame` floor-division with ``timedelta64`` dtypes and ``NaT`` in the denominator (:issue:`35529`)
- Bug in parsing of ISO 8601 durations in :class:`Timedelta` and :func:`to_datetime` (:issue:`29773`, :issue:`36204`)
- Bug in :func:`to_timedelta` with a read-only array incorrectly raising (:issue:`34857`)
- Bug in :class:`Timedelta` incorrectly truncating to sub-second portion of a string input when it has precision higher than nanoseconds (:issue:`36738`)
Timezones
- Bug in :func:`date_range` was raising ``AmbiguousTimeError`` for valid input with ``ambiguous=False`` (:issue:`35297`)
- Bug in :meth:`Timestamp.replace` was losing fold information (:issue:`37610`)
Numeric
- Bug in :func:`to_numeric` where float precision was incorrect (:issue:`31364`)
- Bug in :meth:`DataFrame.any` with ``axis=1`` and ``bool_only=True`` ignoring the ``bool_only`` keyword (:issue:`32432`)
- Bug in :meth:`Series.equals` where a ``ValueError`` was raised when NumPy arrays were compared to scalars (:issue:`35267`)
- Bug in :class:`Series` where two Series each have a :class:`.DatetimeIndex` with different time zones having those indexes incorrectly changed when performing arithmetic operations (:issue:`33671`)
- Bug in :mod:`pandas.testing` module functions when used with ``check_exact=False`` on complex numeric types (:issue:`28235`)
- Bug in :meth:`DataFrame.__rmatmul__` error handling reporting transposed shapes (:issue:`21581`)
- Bug in :class:`Series` flex arithmetic methods where the result when operating with a ``list``, ``tuple`` or ``np.ndarray`` would have an incorrect name (:issue:`36760`)
- Bug in :class:`.IntegerArray` multiplication with ``timedelta`` and ``np.timedelta64`` objects (:issue:`36870`)
- Bug in :class:`MultiIndex` comparison with tuple incorrectly treating tuple as array-like (:issue:`21517`)
- Bug in :meth:`DataFrame.diff` with ``datetime64`` dtypes including ``NaT`` values failing to fill ``NaT`` results correctly (:issue:`32441`)
- Bug in :class:`DataFrame` arithmetic ops incorrectly accepting keyword arguments (:issue:`36843`)
- Bug in :class:`.IntervalArray` comparisons with :class:`Series` not returning Series (:issue:`36908`)
- Bug in :class:`DataFrame` allowing arithmetic operations with list of array-likes with undefined results. Behavior changed to raising ``ValueError`` (:issue:`36702`)
- Bug in :meth:`DataFrame.std` with ``timedelta64`` dtype and ``skipna=False`` (:issue:`37392`)
- Bug in :meth:`DataFrame.min` and :meth:`DataFrame.max` with ``datetime64`` dtype and ``skipna=False`` (:issue:`36907`)
- Bug in :meth:`DataFrame.idxmax` and :meth:`DataFrame.idxmin` with mixed dtypes incorrectly raising ``TypeError`` (:issue:`38195`)
Conversion
- Bug in :meth:`DataFrame.to_dict` with ``orient='records'`` now returns python native datetime objects for datetime-like columns (:issue:`21256`)
- Bug in :meth:`Series.astype` conversion from ``string`` to ``float`` raised in presence of ``pd.NA`` values (:issue:`37626`)
Strings
- Bug in :meth:`Series.to_string`, :meth:`DataFrame.to_string`, and :meth:`DataFrame.to_latex` adding a leading space when ``index=False`` (:issue:`24980`)
- Bug in :func:`to_numeric` raising a ``TypeError`` when attempting to convert a string dtype Series containing only numeric strings and ``NA`` (:issue:`37262`)
Interval
- Bug in :meth:`DataFrame.replace` and :meth:`Series.replace` where :class:`Interval` dtypes would be converted to object dtypes (:issue:`34871`)
- Bug in :meth:`IntervalIndex.take` with negative indices and ``fill_value=None`` (:issue:`37330`)
- Bug in :meth:`IntervalIndex.putmask` with datetime-like dtype incorrectly casting to object dtype (:issue:`37968`)
- Bug in :meth:`IntervalArray.astype` incorrectly dropping dtype information with a :class:`CategoricalDtype` object (:issue:`37984`)
Indexing
- Bug in :meth:`PeriodIndex.get_loc` incorrectly raising ``ValueError`` on non-datelike strings instead of ``KeyError``, causing similar errors in :meth:`Series.__getitem__`, :meth:`Series.__contains__`, and :meth:`Series.loc.__getitem__` (:issue:`34240`)
- Bug in :meth:`Index.sort_values` where, when empty values were passed, the method would break by trying to compare missing values instead of pushing them to the end of the sort order (:issue:`35584`)
- Bug in :meth:`Index.get_indexer` and :meth:`Index.get_indexer_non_unique` where ``int64`` arrays are returned instead of ``intp`` (:issue:`36359`)
- Bug in :meth:`DataFrame.sort_index` where parameter ascending passed as a list on a single level index gives wrong result (:issue:`32334`)
- Bug in :meth:`DataFrame.reset_index` was incorrectly raising a ``ValueError`` for input with a :class:`MultiIndex` with missing values in a level with ``Categorical`` dtype (:issue:`24206`)
- Bug in indexing with boolean masks on datetime-like values sometimes returning a view instead of a copy (:issue:`36210`)
- Bug in :meth:`DataFrame.__getitem__` and :meth:`DataFrame.loc.__getitem__` with :class:`IntervalIndex` columns and a numeric indexer (:issue:`26490`)
- Bug in :meth:`Series.loc.__getitem__` with a non-unique :class:`MultiIndex` and an empty-list indexer (:issue:`13691`)
- Bug in indexing on a :class:`Series` or :class:`DataFrame` with a :class:`MultiIndex` and a level named ``"0"`` (:issue:`37194`)
- Bug in :meth:`Series.__getitem__` when using an unsigned integer array as an indexer giving incorrect results or segfaulting instead of raising ``KeyError`` (:issue:`37218`)
- Bug in :meth:`Index.where` incorrectly casting numeric values to strings (:issue:`37591`)
- Bug in :meth:`DataFrame.loc` returning empty result when indexer is a slice with negative step size (:issue:`38071`)
- Bug in :meth:`Series.loc` and :meth:`DataFrame.loc` raises when the index was of ``object`` dtype and the given numeric label was in the index (:issue:`26491`)
- Bug in :meth:`DataFrame.loc` returned requested key plus missing values when ``loc`` was applied to single level from a :class:`MultiIndex` (:issue:`27104`)
- Bug in indexing on a :class:`Series` or :class:`DataFrame` with a :class:`CategoricalIndex` using a list-like indexer containing NA values (:issue:`37722`)
- Bug in :meth:`DataFrame.loc.__setitem__` expanding an empty :class:`DataFrame` with mixed dtypes (:issue:`37932`)
- Bug in :meth:`DataFrame.xs` ignored ``droplevel=False`` for columns (:issue:`19056`)
- Bug in :meth:`DataFrame.reindex` raising ``IndexingError`` wrongly for empty DataFrame with ``tolerance`` not ``None`` or ``method="nearest"`` (:issue:`27315`)
- Bug in indexing on a :class:`Series` or :class:`DataFrame` with a :class:`CategoricalIndex` using list-like indexer that contains elements that are in the index's ``categories`` but not in the index itself failing to raise ``KeyError`` (:issue:`37901`)
- Bug on inserting a boolean label into a :class:`DataFrame` with a numeric :class:`Index` columns incorrectly casting to integer (:issue:`36319`)
- Bug in :meth:`DataFrame.iloc` and :meth:`Series.iloc` aligning objects in ``__setitem__`` (:issue:`22046`)
- Bug in :meth:`MultiIndex.drop` does not raise if labels are partially found (:issue:`37820`)
- Bug in :meth:`DataFrame.loc` did not raise ``KeyError`` when missing combination was given with ``slice(None)`` for remaining levels (:issue:`19556`)
- Bug in :meth:`DataFrame.loc` raising ``TypeError`` when non-integer slice was given to select values from :class:`MultiIndex` (:issue:`25165`, :issue:`24263`)
- Bug in :meth:`Series.at` returning :class:`Series` with one element instead of scalar when index is a :class:`MultiIndex` with one level (:issue:`38053`)
- Bug in :meth:`DataFrame.loc` returning and assigning elements in wrong order when indexer is differently ordered than the :class:`MultiIndex` to filter (:issue:`31330`, :issue:`34603`)
- Bug in :meth:`DataFrame.loc` and :meth:`DataFrame.__getitem__` raising ``KeyError`` when columns were :class:`MultiIndex` with only one level (:issue:`29749`)
- Bug in :meth:`Series.__getitem__` and :meth:`DataFrame.__getitem__` raising blank ``KeyError`` without missing keys for :class:`IntervalIndex` (:issue:`27365`)
- Bug in setting a new label on a :class:`DataFrame` or :class:`Series` with a :class:`CategoricalIndex` incorrectly raising ``TypeError`` when the new label is not among the index's categories (:issue:`38098`)
- Bug in :meth:`Series.loc` and :meth:`Series.iloc` raising ``ValueError`` when inserting a list-like ``np.array``, ``list`` or ``tuple`` in an ``object`` Series of equal length (:issue:`37748`, :issue:`37486`)
- Bug in :meth:`Series.loc` and :meth:`Series.iloc` setting all the values of an ``object`` Series with those of a list-like ``ExtensionArray`` instead of inserting it (:issue:`38271`)
Missing
- Bug in :meth:`.SeriesGroupBy.transform` now correctly handles missing values for ``dropna=False`` (:issue:`35014`)
- Bug in :meth:`Series.nunique` with ``dropna=True`` was returning incorrect results when both ``NA`` and ``None`` missing values were present (:issue:`37566`)
- Bug in :meth:`Series.interpolate` where kwarg ``limit_area`` and ``limit_direction`` had no effect when using methods ``pad`` and ``backfill`` (:issue:`31048`)
MultiIndex
- Bug in :meth:`DataFrame.xs` when used with :class:`IndexSlice` raises ``TypeError`` with message ``"Expected label or tuple of labels"`` (:issue:`35301`)
- Bug in :meth:`DataFrame.reset_index` with ``NaT`` values in index raises ``ValueError`` with message ``"cannot convert float NaN to integer"`` (:issue:`36541`)
- Bug in :meth:`DataFrame.combine_first` when used with :class:`MultiIndex` containing string and ``NaN`` values raises ``TypeError`` (:issue:`36562`)
- Bug in :meth:`MultiIndex.drop` dropped ``NaN`` values when non existing key was given as input (:issue:`18853`)
- Bug in :meth:`MultiIndex.drop` dropping more values than expected when index has duplicates and is not sorted (:issue:`33494`)
I/O
- :func:`read_sas` no longer leaks resources on failure (:issue:`35566`)
- Bug in :meth:`DataFrame.to_csv` and :meth:`Series.to_csv` caused a ``ValueError`` when it was called with a filename in combination with ``mode`` containing a ``b`` (:issue:`35058`)
- Bug in :meth:`read_csv` with ``float_precision='round_trip'`` did not handle ``decimal`` and ``thousands`` parameters (:issue:`35365`)
- :meth:`to_pickle` and :meth:`read_pickle` were closing user-provided file objects (:issue:`35679`)
- :meth:`to_csv` passes compression arguments for ``'gzip'`` always to ``gzip.GzipFile`` (:issue:`28103`)
- :meth:`to_csv` did not support zip compression for binary file object not having a filename (:issue:`35058`)
- :meth:`to_csv` and :meth:`read_csv` did not honor ``compression`` and ``encoding`` for path-like objects that are internally converted to file-like objects (:issue:`35677`, :issue:`26124`, :issue:`32392`)
- :meth:`DataFrame.to_pickle`, :meth:`Series.to_pickle`, and :meth:`read_pickle` did not support compression for file-objects (:issue:`26237`, :issue:`29054`, :issue:`29570`)
- Bug in :func:`LongTableBuilder.middle_separator` was duplicating LaTeX longtable entries in the List of Tables of a LaTeX document (:issue:`34360`)
- Bug in :meth:`read_csv` with ``engine='python'`` truncating data if multiple items present in first row and first element started with BOM (:issue:`36343`)
- Removed ``private_key`` and ``verbose`` from :func:`read_gbq` as they are no longer supported in ``pandas-gbq`` (:issue:`34654`, :issue:`30200`)
- Bumped minimum pytables version to 3.5.1 to avoid a ``ValueError`` in :meth:`read_hdf` (:issue:`24839`)
- Bug in :func:`read_table` and :func:`read_csv` when ``delim_whitespace=True`` and ``sep=default`` (:issue:`36583`)
- Bug in :meth:`DataFrame.to_json` and :meth:`Series.to_json` when used with ``lines=True`` and ``orient='records'`` the last line of the record is not appended with 'new line character' (:issue:`36888`)
- Bug in :meth:`read_parquet` with fixed offset time zones. String representation of time zones was not recognized (:issue:`35997`, :issue:`36004`)
- Bug in :meth:`DataFrame.to_html`, :meth:`DataFrame.to_string`, and :meth:`DataFrame.to_latex` ignoring the ``na_rep`` argument when ``float_format`` was also specified (:issue:`9046`, :issue:`13828`)
- Bug in output rendering of complex numbers showing too many trailing zeros (:issue:`36799`)
- Bug in :class:`HDFStore` threw a ``TypeError`` when exporting an empty DataFrame with ``datetime64[ns, tz]`` dtypes with a fixed HDF5 store (:issue:`20594`)
- Bug in :class:`HDFStore` was dropping time zone information when exporting a Series with ``datetime64[ns, tz]`` dtypes with a fixed HDF5 store (:issue:`20594`)
- :func:`read_csv` was closing user-provided binary file handles when ``engine="c"`` and an ``encoding`` was requested (:issue:`36980`)
- Bug in :meth:`DataFrame.to_hdf` was not dropping missing rows with ``dropna=True`` (:issue:`35719`)
- Bug in :func:`read_html` was raising a ``TypeError`` when supplying a ``pathlib.Path`` argument to the ``io`` parameter (:issue:`37705`)
- :meth:`DataFrame.to_excel`, :meth:`Series.to_excel`, :meth:`DataFrame.to_markdown`, and :meth:`Series.to_markdown` now support writing to fsspec URLs such as S3 and Google Cloud Storage (:issue:`33987`)
- Bug in :func:`read_fwf` with ``skip_blank_lines=True`` was not skipping blank lines (:issue:`37758`)
- Parse missing values using :func:`read_json` with ``dtype=False`` to ``NaN`` instead of ``None`` (:issue:`28501`)
- :meth:`read_fwf` was inferring compression with ``compression=None`` which was not consistent with the other ``read_*`` functions (:issue:`37909`)
- :meth:`DataFrame.to_html` was ignoring ``formatters`` argument for ``ExtensionDtype`` columns (:issue:`36525`)
- Bumped minimum xarray version to 0.12.3 to avoid reference to the removed ``Panel`` class (:issue:`27101`, :issue:`37983`)
- :meth:`DataFrame.to_csv` was re-opening file-like handles that also implement ``os.PathLike`` (:issue:`38125`)
- Bug in the conversion of a sliced ``pyarrow.Table`` with missing values to a DataFrame (:issue:`38525`)
- Bug in :func:`read_sql_table` raising a ``sqlalchemy.exc.OperationalError`` when column names contained a percentage sign (:issue:`37517`)
Period
- Bug in :meth:`DataFrame.replace` and :meth:`Series.replace` where :class:`Period` dtypes would be converted to object dtypes (:issue:`34871`)
Plotting
- Bug in :meth:`DataFrame.plot` was rotating xticklabels when ``subplots=True``, even if the x-axis wasn't an irregular time series (:issue:`29460`)
- Bug in :meth:`DataFrame.plot` where a marker letter in the ``style`` keyword sometimes caused a ``ValueError`` (:issue:`21003`)
- Bug in :meth:`DataFrame.plot.bar` and :meth:`Series.plot.bar` where ticks positions were assigned by value order instead of using the actual value for numeric or a smart ordering for string (:issue:`26186`, :issue:`11465`). This fix has been reverted in pandas 1.2.1, see :doc:`v1.2.1`
- Twinned axes were losing their tick labels which should only happen to all but the last row or column of 'externally' shared axes (:issue:`33819`)
- Bug in :meth:`Series.plot` and :meth:`DataFrame.plot` was throwing a :exc:`ValueError` when the Series or DataFrame was
indexed by a :class:`.TimedeltaIndex` with a fixed frequency and the x-axis lower limit was greater than the upper limit (:issue:`37454`)
- Bug in :meth:`.DataFrameGroupBy.boxplot` when ``subplots=False`` would raise a ``KeyError`` (:issue:`16748`)
- Bug in :meth:`DataFrame.plot` and :meth:`Series.plot` was overwriting matplotlib's shared y axes behavior when no ``sharey`` parameter was passed (:issue:`37942`)
- Bug in :meth:`DataFrame.plot` was raising a ``TypeError`` with ``ExtensionDtype`` columns (:issue:`32073`)
Styler
- Bug in :meth:`Styler.render` HTML was generated incorrectly because of formatting error in ``rowspan`` attribute, it now matches with w3 syntax (:issue:`38234`)
Groupby/resample/rolling
- Bug in :meth:`.DataFrameGroupBy.count` and :meth:`SeriesGroupBy.sum` returning ``NaN`` for missing categories when grouped on multiple ``Categoricals``. Now returning ``0`` (:issue:`35028`)
- Bug in :meth:`.DataFrameGroupBy.apply` that would sometimes throw an erroneous ``ValueError`` if the grouping axis had duplicate entries (:issue:`16646`)
- Bug in :meth:`DataFrame.resample` that would throw a ``ValueError`` when resampling from ``"D"`` to ``"24H"`` over a transition into daylight savings time (DST) (:issue:`35219`)
- Bug when combining methods :meth:`DataFrame.groupby` with :meth:`DataFrame.resample` and :meth:`DataFrame.interpolate` raising a ``TypeError`` (:issue:`35325`)
- Bug in :meth:`.DataFrameGroupBy.apply` where a non-nuisance grouping column would be dropped from the output columns if another groupby method was called before ``.apply`` (:issue:`34656`)
- Bug when subsetting columns on a :class:`~pandas.core.groupby.DataFrameGroupBy` (e.g. ``df.groupby('a')[['b']])``) would reset the attributes ``axis``, ``dropna``, ``group_keys``, ``level``, ``mutated``, ``sort``, and ``squeeze`` to their default values (:issue:`9959`)
- Bug in :meth:`.DataFrameGroupBy.tshift` failing to raise ``ValueError`` when a frequency cannot be inferred for the index of a group (:issue:`35937`)
- Bug in :meth:`DataFrame.groupby` does not always maintain column index name for ``any``, ``all``, ``bfill``, ``ffill``, ``shift`` (:issue:`29764`)
- Bug in :meth:`.DataFrameGroupBy.apply` raising error with ``np.nan`` group(s) when ``dropna=False`` (:issue:`35889`)
- Bug in :meth:`.Rolling.sum` returned wrong values when dtypes where mixed between float and integer and ``axis=1`` (:issue:`20649`, :issue:`35596`)
- Bug in :meth:`.Rolling.count` returned ``np.nan`` with :class:`~pandas.api.indexers.FixedForwardWindowIndexer` as window, ``min_periods=0`` and only missing values in the window (:issue:`35579`)
- Bug where :class:`pandas.core.window.Rolling` produces incorrect window sizes when using a ``PeriodIndex`` (:issue:`34225`)
- Bug in :meth:`.DataFrameGroupBy.ffill` and :meth:`.DataFrameGroupBy.bfill` where a ``NaN`` group would return filled values instead of ``NaN`` when ``dropna=True`` (:issue:`34725`)
- Bug in :meth:`.RollingGroupby.count` where a ``ValueError`` was raised when specifying the ``closed`` parameter (:issue:`35869`)
- Bug in :meth:`.DataFrameGroupBy.rolling` returning wrong values with partial centered window (:issue:`36040`)
- Bug in :meth:`.DataFrameGroupBy.rolling` returned wrong values with time aware window containing ``NaN``. Raises ``ValueError`` because windows are not monotonic now (:issue:`34617`)
- Bug in :meth:`.Rolling.__iter__` where a ``ValueError`` was not raised when ``min_periods`` was larger than ``window`` (:issue:`37156`)
- Using :meth:`.Rolling.var` instead of :meth:`.Rolling.std` avoids numerical issues for :meth:`.Rolling.corr` when :meth:`.Rolling.var` is still within floating point precision while :meth:`.Rolling.std` is not (:issue:`31286`)
- Bug in :meth:`.DataFrameGroupBy.quantile` and :meth:`.Resampler.quantile` raised ``TypeError`` when values were of type ``Timedelta`` (:issue:`29485`)
- Bug in :meth:`.Rolling.median` and :meth:`.Rolling.quantile` returned wrong values for :class:`.BaseIndexer` subclasses with non-monotonic starting or ending points for windows (:issue:`37153`)
- Bug in :meth:`DataFrame.groupby` dropped ``nan`` groups from result with ``dropna=False`` when grouping over a single column (:issue:`35646`, :issue:`35542`)
- Bug in :meth:`.DataFrameGroupBy.head`, :meth:`DataFrameGroupBy.tail`, :meth:`SeriesGroupBy.head`, and :meth:`SeriesGroupBy.tail` would raise when used with ``axis=1`` (:issue:`9772`)
- Bug in :meth:`.DataFrameGroupBy.transform` would raise when used with ``axis=1`` and a transformation kernel (e.g. "shift") (:issue:`36308`)
- Bug in :meth:`.DataFrameGroupBy.resample` using ``.agg`` with sum produced different result than just calling ``.sum`` (:issue:`33548`)
- Bug in :meth:`.DataFrameGroupBy.apply` dropped values on ``nan`` group when returning the same axes with the original frame (:issue:`38227`)
- Bug in :meth:`.DataFrameGroupBy.quantile` couldn't handle with arraylike ``q`` when grouping by columns (:issue:`33795`)
- Bug in :meth:`DataFrameGroupBy.rank` with ``datetime64tz`` or period dtype incorrectly casting results to those dtypes instead of returning ``float64`` dtype (:issue:`38187`)
Reshaping
- Bug in :meth:`DataFrame.crosstab` was returning incorrect results on inputs with duplicate row names, duplicate column names or duplicate names between row and column labels (:issue:`22529`)
- Bug in :meth:`DataFrame.pivot_table` with ``aggfunc='count'`` or ``aggfunc='sum'`` returning ``NaN`` for missing categories when pivoted on a ``Categorical``. Now returning ``0`` (:issue:`31422`)
- Bug in :func:`concat` and :class:`DataFrame` constructor where input index names are not preserved in some cases (:issue:`13475`)
- Bug in func :meth:`crosstab` when using multiple columns with ``margins=True`` and ``normalize=True`` (:issue:`35144`)
- Bug in :meth:`DataFrame.stack` where an empty DataFrame.stack would raise an error (:issue:`36113`). Now returning an empty Series with empty MultiIndex.
- Bug in :meth:`Series.unstack`. Now a Series with single level of Index trying to unstack would raise a ``ValueError`` (:issue:`36113`)
- Bug in :meth:`DataFrame.agg` with ``func={'name':<FUNC>}`` incorrectly raising ``TypeError`` when ``DataFrame.columns==['Name']`` (:issue:`36212`)
- Bug in :meth:`Series.transform` would give incorrect results or raise when the argument ``func`` was a dictionary (:issue:`35811`)
- Bug in :meth:`DataFrame.pivot` did not preserve :class:`MultiIndex` level names for columns when rows and columns are both multiindexed (:issue:`36360`)
- Bug in :meth:`DataFrame.pivot` modified ``index`` argument when ``columns`` was passed but ``values`` was not (:issue:`37635`)
- Bug in :meth:`DataFrame.join` returned a non deterministic level-order for the resulting :class:`MultiIndex` (:issue:`36910`)
- Bug in :meth:`DataFrame.combine_first` caused wrong alignment with dtype ``string`` and one level of ``MultiIndex`` containing only ``NA`` (:issue:`37591`)
- Fixed regression in :func:`merge` on merging :class:`.DatetimeIndex` with empty DataFrame (:issue:`36895`)
- Bug in :meth:`DataFrame.apply` not setting index of return value when ``func`` return type is ``dict`` (:issue:`37544`)
- Bug in :meth:`DataFrame.merge` and :meth:`pandas.merge` returning inconsistent ordering in result for ``how=right`` and ``how=left`` (:issue:`35382`)
- Bug in :func:`merge_ordered` couldn't handle list-like ``left_by`` or ``right_by`` (:issue:`35269`)
- Bug in :func:`merge_ordered` returned wrong join result when length of ``left_by`` or ``right_by`` equals to the rows of ``left`` or ``right`` (:issue:`38166`)
- Bug in :func:`merge_ordered` didn't raise when elements in ``left_by`` or ``right_by`` not exist in ``left`` columns or ``right`` columns (:issue:`38167`)
- Bug in :func:`DataFrame.drop_duplicates` not validating bool dtype for ``ignore_index`` keyword (:issue:`38274`)
ExtensionArray
- Fixed bug where :class:`DataFrame` column set to scalar extension type via a dict instantiation was considered an object type rather than the extension type (:issue:`35965`)
- Fixed bug where ``astype()`` with equal dtype and ``copy=False`` would return a new object (:issue:`28488`)
- Fixed bug when applying a NumPy ufunc with multiple outputs to an :class:`.IntegerArray` returning ``None`` (:issue:`36913`)
- Fixed an inconsistency in :class:`.PeriodArray`'s ``__init__`` signature to those of :class:`.DatetimeArray` and :class:`.TimedeltaArray` (:issue:`37289`)
- Reductions for :class:`.BooleanArray`, :class:`.Categorical`, :class:`.DatetimeArray`, :class:`.FloatingArray`, :class:`.IntegerArray`, :class:`.PeriodArray`, :class:`.TimedeltaArray`, and :class:`.PandasArray` are now keyword-only methods (:issue:`37541`)
- Fixed a bug where a ``TypeError`` was wrongly raised if a membership check was made on an ``ExtensionArray`` containing nan-like values (:issue:`37867`)
Other
- Bug in :meth:`DataFrame.replace` and :meth:`Series.replace` incorrectly raising an ``AssertionError`` instead of a ``ValueError`` when invalid parameter combinations are passed (:issue:`36045`)
- Bug in :meth:`DataFrame.replace` and :meth:`Series.replace` with numeric values and string ``to_replace`` (:issue:`34789`)
- Fixed metadata propagation in :meth:`Series.abs` and ufuncs called on Series and DataFrames (:issue:`28283`)
- Bug in :meth:`DataFrame.replace` and :meth:`Series.replace` incorrectly casting from ``PeriodDtype`` to object dtype (:issue:`34871`)
- Fixed bug in metadata propagation incorrectly copying DataFrame columns as metadata when the column name overlaps with the metadata name (:issue:`37037`)
- Fixed metadata propagation in the :class:`Series.dt`, :class:`Series.str` accessors, :class:`DataFrame.duplicated`, :class:`DataFrame.stack`, :class:`DataFrame.unstack`, :class:`DataFrame.pivot`, :class:`DataFrame.append`, :class:`DataFrame.diff`, :class:`DataFrame.applymap` and :class:`DataFrame.update` methods (:issue:`28283`, :issue:`37381`)
- Fixed metadata propagation when selecting columns with ``DataFrame.__getitem__`` (:issue:`28283`)
- Bug in :meth:`Index.intersection` with non-:class:`Index` failing to set the correct name on the returned :class:`Index` (:issue:`38111`)
- Bug in :meth:`RangeIndex.intersection` failing to set the correct name on the returned :class:`Index` in some corner cases (:issue:`38197`)
- Bug in :meth:`Index.difference` failing to set the correct name on the returned :class:`Index` in some corner cases (:issue:`38268`)
- Bug in :meth:`Index.union` behaving differently depending on whether operand is an :class:`Index` or other list-like (:issue:`36384`)
- Bug in :meth:`Index.intersection` with non-matching numeric dtypes casting to ``object`` dtype instead of minimal common dtype (:issue:`38122`)
- Bug in :meth:`IntervalIndex.union` returning an incorrectly-typed :class:`Index` when empty (:issue:`38282`)
- Passing an array with 2 or more dimensions to the :class:`Series` constructor now raises the more specific ``ValueError`` rather than a bare ``Exception`` (:issue:`35744`)
- Bug in ``dir`` where ``dir(obj)`` wouldn't show attributes defined on the instance for pandas objects (:issue:`37173`)
- Bug in :meth:`Index.drop` raising ``InvalidIndexError`` when index has duplicates (:issue:`38051`)
- Bug in :meth:`RangeIndex.difference` returning :class:`Int64Index` in some cases where it should return :class:`RangeIndex` (:issue:`38028`)
- Fixed bug in :func:`assert_series_equal` when comparing a datetime-like array with an equivalent non extension dtype array (:issue:`37609`)
- Bug in :func:`.is_bool_dtype` would raise when passed a valid string such as ``"boolean"`` (:issue:`38386`)
- Fixed regression in logical operators raising ``ValueError`` when columns of :class:`DataFrame` are a :class:`CategoricalIndex` with unused categories (:issue:`38367`)
Changes from 2.7.2 to 2.7.3
---------------------------
- Pinned Numpy versions to minimum supported version in an effort to alleviate
issues seen in Windows machines not having the same MSVC runtime installed as
was used to build the wheels.
- ARMv8 wheels are now available, thanks to `odidev` for the pull request.
Changes from 2.7.1 to 2.7.2
---------------------------
- Support for Python 2.7 and 3.5 is deprecated and will be discontinued when
`cibuildwheels` and/or GitHub Actions no longer support these versions.
- Wheels are now provided for Python 3.7, 3.5, 3.6, 3.7, 3.8, and 3.9 via
GitHub Actions.
- The block size is now exported into the namespace as `numexpr.__BLOCK_SIZE1__`
as a read-only value.
- If using MKL, the number of threads for VML is no longer forced to 1 on loading
the module. Testing has shown that VML never runs in multi-threaded mode for
the default BLOCKSIZE1 of 1024 elements, and forcing to 1 can have deleterious
effects on NumPy functions when built with MKL.
- Use of `ndarray.tostring()` in tests has been switch to `ndarray.tobytes()`
for future-proofing deprecation of `.tostring()`, if the version of NumPy is
greater than 1.9.
- Added a utility method `get_num_threads` that returns the (maximum) number of
threads currently in use by the virtual machine. The functionality of
`set_num_threads` whereby it returns the previous value has been deprecated
and will be removed in 2.8.X.
Wrappers 1.3.1 | Solver 1.3.1 | 11/01/2020
allow to avoid linking against VC2014_1 on windows
do not mark move constructor / assignment operator of expression as noexcept. This is to circumvent a suspected bug in the GCC compiler in the manylinux1 image.
Wrappers 1.3.0 | Solver 1.3.0 | 10/21/2020
add c++ benchmarks and run them on CIs
modernize the c++ code by using more c++11 features
introduce move semantic in some c++ constructors to improve performances
add support for Python 3.9
Wrappers 1.2.0 | Solver 1.2.0 | 03/26/2020
make the the c++ part of the code c++11 compliant
use cppy for Python/C bindings
Better have this listed as breakage for py36-numpy than not having the
bulk builds start up because the packages using this still want to
build it for python 3.6
Issues closed for 1.6.3
-----------------------
* Divide by zero in distance.yule
* prerelease_deps failures
* spatial rotation failure in (1.6.3) wheels repo (ARM64)
Pull requests for 1.6.3
-----------------------
* fix the matplotlib warning emitted during builing docs
* Divide by zero in yule dissimilarity of constant vectors
* deprecated np.typeDict
* substitute np.math.factorial with math.factorial
* add random seeds in Rotation module
1.20.2:
* Update f2py from master.
* ``diagflat`` could overflow on windows or 32-bit platforms
* Fix refcount leak in f2py ``complex_double_from_pyobj``.
* Fix tiny memory leaks when ``like=`` overrides are used
* Remove temporary change of descr/flags in VOID functions
* Segfault in nditer buffer dealloc for Object arrays
* Remove suspicious type casting
* remove nonsensical comparison of pointer < 0
* verify pointer against NULL before using it
* check if PyArray_malloc succeeded
* incorrect error fallthrough in nditer
* Backport CI fixes from main.
* Add annotations for ``dtype.__getitem__``, ``__mul__`` and...
* NameError in numpy.distutils.fcompiler.compaq
* Fixed ``where`` keyword for ``np.mean`` & ``np.var`` methods
* Update apt package list before Python install
* Ensure that re-exported sub-modules are properly annotated
* Fix ma coercion list-of-ma-arrays if they do not cast to...
* Fix small valgrind-found issues
* Fix small issues found with pytest-leaks
1.20.1:
* Add missing placeholder annotations
* Fix typo in ``numpy.__init__.py``
* don't mutate list of fake libraries while iterating over...
* gracefully shuffle memoryviews
* Use C linkage for random distributions
* fix when GitHub Actions builds trigger, and allow ci skips
* Allow unmodified use of isclose, allclose, etc. with timedelta
* Allow pickling all relevant DType types/classes
* Fix missing signed_char dependency.
* Change license date 2020 -> 2021
* CircleCI seems to occasionally time out, increase the limit
* Fix f2py bugs when wrapping F90 subroutines.
* crackfortran regex simplify
* threads.h existence test requires GLIBC > 2.12.
* Prepare for the NumPy 1.20.1 release.
1.20.0:
* enable multi-platform SIMD compiler optimizations
* NEP 36 (fair play)
* Deprecate aliases of builtin types in python 3.7+
* `np.resize` negative shape and subclasses edge case fixes
* Add the method `permuted` to Generator.
* Fix issues with non-reduce broadcasting axes
* Ensure PyArray_FromScalar always returns the requested dtype
* Technical decisions for new DTypes
* Create Preliminary DTypeMeta class and np.dtype subclasses
* Avoid exception in NpzFile destructor if constructor raises...
* Improved `__str__` for polynomials
* Remove Accelerate support
* [DOC] Added tutorial about the numpy.ma module.
* Add where argument to np.mean
* Deprecate passing shape=None to mean shape=()
* Ensure indexing errors will be raised even on empty results
* improve printing of arrays with multi-line reprs
* Correct documentation of ``__array__`` when used as output...
* Implement concatenate dtype and casting keyword arguments
* Deprecate `numpy.dual`.
* Potential fix for divmod(1.0, 0.0) to raise divbyzero and...
* Increase guidance and detail of np.polynomial docstring
* Add transition note to all lib/poly functions
* Rewrite of array-coercion to support new dtypes
* Add ``full_output`` argument to ``f2py.compile``.
* Deprecate ufunc.outer with matrix inputs
* Unify cached (C-level static) imports
* Allow attach docs twice but error if wrong
* Fix default fallback in genfromtxt
* ENH:Umath Replace raw SIMD of unary float point(32-64) with NPYV...
* added edge keyword argument to digitize
* Update the f2py section of the "Using Python as Glue" page.
* Improve `rec.array` function documentation
* include dt64/td64 isinstance checks in ``__init__.pxd``
* Clarifications for np.std
* Order percentile monotonically
* cleanups to quantile
* Update master after 1.19.x branch.
* Ensure out argument is returned by identity for 0d arrays
* Clarifications for ``np.var``.
* Add a note about performance of isclose compared to math.isclose
* Clean up the implementation of quantile
* Bump hypothesis from 5.12.0 to 5.14.0
* Improve "tobytes" docstring.
* Fix tools/download-wheels.py.
* Require Python >= 3.6 in setup.py
* Fix malformed docstrings in ma.
* Optimize Cpu feature detect in X86, fix for GCC on macOS
* np.info does not show keyword-only arguments
* Fix bad reference in ``numpy.ma``
* Fix detecting and testing armhf features
* Fix packbits documentation rendering,
* Fix troubleshooting code snippet when env vars are empty
* relpath fails for different drives on windows
* Fix ``np.ma.core.doc_note``
* Bump numpydoc version
* Stop Using PyEval_Call* and simplify some uses
* Improve the ARM cpu feature detection by parsing /proc/cpuinfo
* Reconstruct Testing Guideline.
* Cleanup 'tools/download-wheels.py'
* link np.interp to SciPy's interpolation functions (closes...
* Fix spelling typo - homogenous to homogeneous.
* Use AVX-512 for np.isnan, np.infinite, np.isinf and np.signbit
* Fix refcounting in add_newdoc
* Create a link for the circleCI artifact
* Fix dtype leak in `PyArray_FromAny` error path
* Indentation for docstrings
* Fix small leaks in error path and ``empty_like`` with shape
* Streamline download-wheels.
* Fix an obvious mistake in a message printed in doc/Makefile.
* Bump cython from 0.29.17 to 0.29.19
* Bump hypothesis from 5.14.0 to 5.15.1
* Bump pytest-cov from 2.8.1 to 2.9.0
* Use AVX-512 for np.frexp and np.ldexp
* add index for user docs.
* ARM Neon implementation with intrinsic for np.argmax.
* Tighten howto-docs guide
* Make ctypes optional on Windows
* Hardcode buffer handling for simple scalars
* Stop uploading wheels to Rackspace.
* Use a raw string for the fromstring docstring.
* Validate and disable CPU features in runtime
* Implement the NumPy C SIMD vectorization interface
* Update make dist html target.
* Update sphinx conf to use xelatex.
* turn on codecov patch diffs
* endpoints of array returned by geomspace() should match...
* support python 3.10
* Chain some exceptions.
* Improve intersect1d docstring
* Update assert_warns parameter list
* Simplify assert_warns in test_io.py
* make NEP 18 status Final
* Add style guide to howto_document
* NEP for C style guide
* Fix description of dtype default in linspace
* Add extern to PyArrayDTypeMeta_Type declaration
* Add a reference into NEP 29,
* Catch remaining cases of Py_SIZE and Py_TYPE as lvalues
* Fix deprecated warn for Intel/Apple/Clang Compiler
* make clearer that sinc is normalized by a factor pi
* update roadmap
* fixes einsum output order with optimization
* add a "make show" command to doc/Makefile
* Add a NEP link to all neps.
* extend error message when Accelerate is detected
* Improve assert_warns docstring with example
* Bump hypothesis from 5.15.1 to 5.16.0
* Fix development_workflow links
* fix GCC 10 major version comparison
* install mingw32 v7.3.0 for win32
* Fixes for 18 broken links
* use zip instead of range in piecewise
* add `norm=forward,backward` to numpy.fft functions
* Optimize the performace of np.packbits in ARM-based machine.
* Fix result when a gufunc output broadcasts the inputs.
* Point Contributing page to new NEP 45
* make Py_SET_SIZE and Py_SET_TYPE macros a bit safer
* Error when ``size`` is smaller than broadcast input...
* Correct MV Normal sig
* raise IEEE exception on AIX
* only single-polynomial fitting in np.polynomial.Polynomial.fit()
* Minor rounding correction in Generator.binomial
* trivial doc style fix in NEP 45.
* add type stubs from numpy-stubs
* make callbacks threadsafe
* replace \t by whitespace for readability
* MAINT:ARMHF Fix detecting feature groups NEON_HALF and NEON_VFPV4
* Improve buffer speed
* move thread-local declaration definition to common...
* Fix cython warning in random/_common.pyx.
* Bump pytest from 5.4.2 to 5.4.3
* Remove non-threadsafe sigint handling from fft calculation
* SSE2 intrinsic implementation for float64 input of np.enisum
* Ensure SeedSequence 0-padding does not collide with spawn...
* Remove deprecated numeric types and deprecate remaining
* drop win32 3.7, 3.6 builds
* simplifying annotations for np.core.from_numeric
* make typing module available at runtime
* Throw TypeError on operator concat on Numpy Arrays
* Add new tests for array coercion
* fix sin/cos bug when input is strided array
* fix name of first parameter to dtype constructor in type...
* Added an example for np.transpose(4d_array)
* changed np.generic arguments to positional-only
* Clarify dtype default for logspace and geomspace
* Disallow complex args in arange
* Raise TypeError for float->timedelta promotion
* Add ``__f2py_numpy_version__`` attribute to Fortran modules.
* Fix reference count leak in mapping.c
* Move and improve ``test_ignore_nan_ulperror``.
* make addition of types a "new feature" in release notes
* Avx512 intrinsics implementation for float64 input np.log
* Bump pytest-cov from 2.9.0 to 2.10.0
* Bump hypothesis from 5.16.0 to 5.16.1
* bump mypy version to 0.780
* Openblas 0.3.10
* add annotation for abs
* check if std=c99 is really required
* disable Shippable cache
* Expand array-creation benchmarks
* Implemented two dtype-related TODO's
* Initialize stop-reading in array_from_text
* Updated documentation for numpy.squeeze
* add tool to find functions missing types
* ENH,BUG:distutils Remove the origins from the implied features
* Some code clean up in loadtxt
* remove obsolete goal_time param
* Fix uint->timedelta promotion to raise TypeError
* Replace `PyUString_GET_SIZE` with `PyUnicode_GetLength`.
* Fix outdated docs link
* add a static typing test for memoryviews as ArrayLikes
* Added annotations to 8 functions from np.core.fromnumeric
* Update master after 1.19.0 release.
* Allow genfromtxt to unpack structured arrays
* Prefer generator expressions over list comprehensions...
* cross-reference numpy.dot and numpy.linalg.multi_dot
* Bump hypothesis from 5.16.1 to 5.16.3
* Bump mypy from 0.780 to 0.781
* Add lib.format.open_memmap to autosummary.
* Fix bug in AVX complex absolute while processing array of...
* remove blacklist/whitelist terms
* Add extra debugging information to CPU features detection
* Add support for file like objects to np.core.records.fromfile
* updated gcc minimum recommend version to build from source
* Allow `None` to be passed to certain `generic` subclasses
* fixed docstring for descr_to_dtype
* Remove "matrix" from `triu` docstring.
* add py.typed sentinel to package manifest
* Fixup quantile tests to not use `np.float`
* Add CPU entry for Emscripten / WebAssembly
* Disable Python 3.9-dev testing.
* Add instruction about stable symlink
* Disable use_hugepages in case of ValueError
* Add dep directive to alen docstring.
* Add RPATH support for AIX
* fix typo
* Fix PyArray_SearchSorted signature.
* Add annotations to the last 8 functions in numpy.core.fromnumeric
* Use f90 compiler specified in f2py command line args for...
* reword random c-api introduction, cython is documented in...
* Tweak a sentence about broadcasting.
* Prepend `ma.` to references in ``numpy.ma``
* Remove redundant word
* add unique() to See Also of repeat()
* add example to unique() and make connection to repeat()
* Chaining exceptions in numpy/core/_internal.py
* add manylinux1 OpenBlAS 0.3.10 hashes and test for them
* Add Matti Picus to steering council page
* make dtype generic over scalar type
* Added a section in the 'Iterating over arrays' doc page...
* Tidy exception chaining in _datasource.py
* Fixes for deprecated functions in scalartypes.c.src
* Bump mypy from 0.781 to 0.782
* Bump hypothesis from 5.16.3 to 5.19.0
* Update NumPy logos
* Remove unneeded call to PyUnicode_READY
* Fix deprecated functions in scalarapi.c
* switch to logo with text
* Bring the NumPy C SIMD vectorization interface "NPYV"...
* Add basic benchmarks for scalar indexing and assignment
* fix decode error when building and get rid of warn
* Minor RST formatting.
* update cython to 0.29.21
* Upgrade to Python 3.8 for DEBUG testing.
* Fix RST/numpydoc standard.
* Move typing tests
* Explicitly disallow object user dtypes
* add example to corrcoef function
* adding docs on passing dimensions as tuple to ndindex
* Remove overzealous automatic RST link
* Add explanation of 'K' and 'A' layout options to 'asarray*'...
* Add a reST label to /user/building.rst
* fix mgrid output for lower precision float inputs
* temporarily disable OpenBLAS hash checks
* Do not inherit flags from the structured part of a union...
* replace dec.slow with pytest.mark.slow
* Make void scalar to array creation copy when dtype is...
* fix inconsistent parameter name in np.ndindex docstring
* setuptools 49.2.0 emits a warning, avoid it
* add examples to random number generator pages
* describe ufunc copy behavior when input and output overlap
* Fix ``runtest.py`` warning.
* Add pandas to doc_requirements.txt
* fix sphinx deprecation
* Avoid using uninitialized bytes in getlimits.py.
* Explaining why datetime64 doesn't work for allclose + isclose
* improve SIMD features tables
* update openblas hashes, re-enable check
* Remove code that will never run
* Bump hypothesis from 5.19.0 to 5.19.1
* linspace should round towards -infinity
* Disable shippable until we can fix it.
* Remove Duplicated Code (function extract rmap)
* Remove Duplicated Code
* Change for loop (range -> for each)
* Deprecate NumPy object scalars
* clarify whats required for new features
* fix new compiler warnings on clang
* fix the search dir of dispatch-able sources
* Remove deprecated python function 'file()'
* Validate output size in bin- and multinomial
* Pin setuptools
* Update compiler check for AVX-512F
* fix the test for ``np.ones``
* edit to the documentation of lib/polynomial.py/polyfit
* Configure hypothesis in ``np.test()`` for determinism,...
* Remove unused pip install
* Fix bad MPL kwarg in docs
* Fix types including curly braces
* Remove the links for ``True`` and ``False``
* Integrate the new CPU dispatcher with umath generator
* Fix wrong markups in `arrays.dtypes`
* Remove links for C codes
* Fix the declarations of C fuctions
* also use Py_SET_REFCNT instead of Py_REFCNT
* Chaining exceptions in numpy/__init__.py
* update val to be scalar or array like optional
* Bump hypothesis from 5.19.1 to 5.20.2
* Speed up trim_zeros
* Fix string/bytes to complex assignment
* Add correctness vs strictness consideration for np.dtype
* Add ufunc docstring to generated docs.
* Update master after 1.19.1 release.
* Revert "Merge pull request 16248 from alexrockhill/edge"
* Fix memory leak of buffer-info cache due to relaxed strides
* Store exported buffer info on the array
* update OpenBLAS build
* Allow array-like types to be coerced as object array elements
* Deprecate size-one ragged array coercion
* Change the name of the folder "icons" to "logo".
* enable colors for `runtests.py --ipython`
* Clarify input to irfft/irfft2/irfftn
* Bump hypothesis from 5.20.2 to 5.23.2
* update numpy/lib/arraypad.py with appropriate chain exception
* Use arm64 instead of aarch64 on travisCI.
* Chain exception in ``distutils/fcompiler/environment.py``.
* Added the `order` parameter to `np.array()`
* Add Neon SIMD implementations for add, sub, mul, and div
* Fixed typo in lib/recfunctions.py
* Add pypy win32 CI testing.
* Increase the use of `Literal` types
* Add NumPy declarations to be used by Cython 3.0+
* Add the new NumPy logo to Sphinx pages
* Bump hypothesis from 5.23.2 to 5.23.9
* Bump pytest from 5.4.3 to 6.0.1
* pin setuptools < 49.2.0
* Revise glossary page
* clip() allows arguments.
* Updated NEP-35 with keyword-only instruction
* Simplify scalar power
* Improve error handling in umathmodule setup
* Disclaimer for FFT library
* Add error return to all casting functionality and NpyIter
* fix a compile and a test warning
* Clarify that `np.char` comparison functions always return...
* Use a less ambiguous example for array_split
* Bump hypothesis from 5.23.9 to 5.23.12
* core._internal style fixups
* Remove _EXTRAFLAGS variable
* fix typo in polydiv that prevented promotion to poly1d
* Revert boolean casting back to elementwise comparisons...
* Raise error on complex input to i0
* Remove obsolete conversion to set
* Remove the deprecated financial functions.
* Remove uses of PyString_FromString.
* use the pydata_sphinx_theme
* Fixes duplication of toctree content
* Bump pytest-cov from 2.10.0 to 2.10.1
* Bump hypothesis from 5.23.12 to 5.26.0
* Adjust NEP-35 to make it more user-accessible
* Add placeholder stubs for all sub-modules
* Split einsum into multiple files
* Handle errors from the PyCapsule API
* Fix spacing in vectorize doc
* Remove `np.ctypeslib.ctypes_load_library`
* make spacing consistent in NEP 41 bullet points
* fix ilp64 blas dot/vdot/... for strides > int32 max
* allow running mypy through runtests.py
* Remove duplicated symbols from link step
* Check for reduce intrinsics and AVX512BW mask operations
* Chain some exceptions in arraysetops.
* Chain ValueError in ma.timer_comparison
* Rewrite promotion using common DType and common instance
* Make arrayprint str and repr the ndarray defaults.
* Fix a few typos.
* Change handling of the expired financial functions.
* Add annotations to 3 functions in `np.core.function_base`
* Replace uses of PyString_AsString.
* ``Replace PyUString_*`` by ``PyUnicode_*`` equivalents.
* Replace PyInt macros with their PyLong replacement
* Add support for the abstract scalars to cython code
* Fix incorrect cython definition of npy_cfloat
* Clean up some Npy_ vs Py_ macro usage
* Remove references to PyCObject
* Update numpy4matlab
* Clean up some more bytes vs unicode handling
* Remove Void special case for "safe casting"
* Remove redundant headers
* Remove NPY_COPY_PYOBJECT_PTR
* Merge the npysort library into multiarray
* Add tests mapping out the rules for metadata in promotion
* revert trim_zeros changes from gh-16911
* Make `np.complexfloating` generic w.r.t. `np.floating`
* remove calls to PyUnicode_AsASCIIString,...
* Added missing methods to `np.flatiter`
* Correct error in description of ndarray.base
* Document `dtype.metadata`
* Use utf8 strings in more of datetime
* Add placeholder stubs for `ndarray` and `generic`
* Bump hypothesis from 5.26.0 to 5.30.0
* Remove some callers of functions in numpy.compat
* Make the window functions exactly symmetric
* Improve error handling in npy_cpu_init
* Fix the documented signatures of four `ufunc` methods
* Make the `NPY_CPU_DISPATCH_CALL` macros expressions not...
* Fixed headings for tutorials so they appear at new theme...
* Canonical_urls
* Fix various issues with the `np.generic` annotations
* enabled negation of library choices in NPY_*_ORDER
* comment out metadata added via javascript
* move informational files from numpy.doc.*.py to their...
* use sysconfig not distutils.sysconfig where possible
* Fix dimension discovery of within array ragged cases
* Added templates for different types of issues.
* Deprecated ndindex.ndincr
* Remove old PY_VERSION_HEX and sys.version_info code
* Avoid using ``np.random`` in typing tests.
* Fix link quick-start in old random API functions
* ``__array_interface__`` data address cannot be bytes
* Run slow CI jobs earlier so builds finishes sooner
* Add tool to help speed up Travis CI
* Fix docstring cross-referencing
* Added a PR "Reviewer guidelines" document.
* work around a bug in the new theme
* add fused multiply subtract/add intrinics for all supported...
* Bump hypothesis from 5.30.0 to 5.33.0
* Bump pydata-sphinx-theme from 0.3.2 to 0.4.0
* add new glossary terms
* remove some glosssary terms
* Fix the path to `mypy.ini` in `runtests.py`
* sysconfig attributes/distutils issue
* Annotate the arithmetic operations of `ndarray` and `generic`
* Merge together index page content into a single file
* Fix a typo in shape_base.
* Pass optimizations arguments to asv build
* Change the financial name access warning to DeprecationWarning
* Update master after 1.19.2 release.
* Simplify ufunc pickling
* Cleanup some pystring macros
* Replace remaining PyString macros.
* Replace PyUString_Check by PyUnicode_Check.
* fix pickling user-scalars by allowing non-format buffer...
* Replace some ``pyint_*`` macros defined in ``npy_3kcompat``.
* set upper versions for build dependencies
* (dtype-transfer) make copyswapn and legacy cast wrapper...
* Replace PyBaseString_Check by PyUnicode_Check
* Replace a couple of missed npy_3kcompat macros
* pin pygments to 2.6.1, 2.7.0 breaks custom NumPyC lexer
* Bump hypothesis from 5.33.0 to 5.35.1
* Bump pytest from 6.0.1 to 6.0.2
* Move the `fromnumeric` annotations to their own stub file
* Syntax-highlight .src files on github
* Mark vendored/generated files in .gitattributes
* Cleanup f2py/cfuncs.py
* Set deprecated fields to null in PyArray_InitArrFuncs
* allow registration of hard-coded structured dtypes
* Add annotations for five array construction functions
* Fix incorrect `.. deprecated::` syntax that led to this...
* improve `issubdtype` and scalar type docs
* Remove the tables of scalar types, and use `..autoclass`...
* update lexer highlighting and make numpydocs a regular...
* Chaining exceptions in npyio.py
* Regenerate table in NEP 29 (add numpy 1.18 and 1.19 to list)
* Fix syntax errors in docstrings for versionchanged, versionadded
* Add partial/non-contig load and store intrinsics for 32/64-bit
* Support for the NVIDIA HPC SDK nvfortran compiler
* Fix a macOS build failure when `NPY_BLAS_ORDER=""`
* Add PR prefix labeler and numpy prefix mapping
* Guide to writing how-tos
* How-to guide for I/O
* clarify residuals return param
* Add Npy__PyLong_AsInt function.
* Bump hypothesis from 5.35.1 to 5.35.3
* Finish replacing PyInt_Check
* Remove an obsolete paragraph.
* Edit nep-0042 for more clarity
* Add annotations for remaining `ndarray` / `generic` non-magic...
* Fixes module data docstrings.
* Fix default_rng docstring
* ensure _UFuncNoLoopError can be pickled
* Minor grammatical correction in quickstart doc.
* NumPy restyling for pydata theme
* Fix docstring for np.matmul
* Bump hypothesis from 5.35.3 to 5.36.1
* Remove old debug print statement.
* Replace "About NumPy" with "Document conventions"
* Update info on doc style rules
* Fix default void, datetime, and timedelta in array coercion
* Replace append_metastr_to_string function.
* Fixed ARGOUTVIEWM memory deallocation.
* rm incorrect alias from recarray user article.
* Rewrite can-cast logic in terms of NEP 42
* Add arraysetops to an autosummary
* Replace PyUString_ConcatAndDel in nditer_constr.c.
* Replace PyUString_ConcatAndDel in mapping.c.
* Replace the module-level `__getattr__` with explicit type...
* in PR template, set expectations for PR review timeline
* Cleanup remaining PyUString_ConcatAndDel use.
* Special case how numpy scalars are coerced to signed integer
* Mark the typing tests as slow
* Fix a parameter type in the `putmask` docs
* adding operational form documentation for array ops
* Deprecate coercion to subarray dtypes
* Fix memory leak in array-coercion error paths
* chains nested try-except in numpy/ma/core.py
* Remove bogus reference to _a_
* Fix formatting issues in description of .c.src files
* nep-0029 typo correction
* Move aliases for common scalar unions to `numpy.typing`
* Fix memoryleaks related to NEP 37 function overrides
* Fix the links for ``Ellipsis``
* add references to einops and opt_einsum
* Disable 32 bit PyPy CI testing on Windows.
* Security warning for issues template
* Fix "Feature request" spelling in issue templates
* Chaining exception in numpy\numpy\ma\mrecords.py
* Cleaner template for PRs
* fix exception chaining in format.py
* Warn on unsupported Python 3.10+
* Typed` to the PyPi classifier
* Fix the references for macros
* update NEP 42 with discussion of type hinting applications
* Remove CoC pages from Sphinx
* Chain exceptions in "_polybase.py"
* Bump hypothesis from 5.36.1 to 5.37.0
* add dtype option to numpy.lib.function_base.cov and corrcoef
* Fixes incorrect error message in numpy.ediff1d
* update code of conduct URL
* Add some entries for C types and macros
* Add annotations for bitwise operations
* add some missing scalar aliases
* Fix doctest for full_like
* remove os.fspath and os.PathLike backports
* Move the `np.core.numeric` annotations to their own stub...
* type np.unicode_ as np.str_
* Fix the entries for members of structures
* Fix the references for `random.*`
* circleCI- merge before build, add -n to sphinx
* Remove duplicate placeholder annotations
* Use consistent lowercase on docs landing page
* fix incompatible type comparison in numpy.lib.utils.info
* Fix failures in master related to userdtype registeration
* remove `sys` from the type stubs
* Fix empty 'C style guide' page
* Rename 'Quickstart tutorial'
* Added the Final feature for all constants
* Fewer blank lines in PR template
* Display real license on license page
* Add docstrings for some scalar types
* Update top links in landing page
* Make merge ref grabbing conditional on the PR being active
* Fix Bool types in C functions
* Fix some links and typos
* Cleanup compatibility code for pathlib
* Fix a typo
* add function to get broadcast shape from a given set of...
* Fixed crash on self-referential dtypes
* Bump hypothesis from 5.37.0 to 5.37.1
* Bump pydata-sphinx-theme from 0.4.0 to 0.4.1
* Bump mypy from 0.782 to 0.790
* Make `np.number` generic with respect to its precision
* fix conditional for PR merge command
* explicit disabling `CCompilerOpt` in F2PY
* Cygwin Workaround for 14787 on affected platforms
* Fix the entries of C functions
* Fix wrong blockquotes
* Add NEP 43 links to NEP 42
* Remove directives for some constants
* Update the annotations in `np.core.numeric`
* Add the entry for ``NPY_FEATURE_VERSION``
* Fix typos
* Add annotations for three new constants
* Fix Boolean array indexing typo
* Respect dtype of all-zero argument to poly1d
* include additional feedback
* Cleanup swig for Python 3.
* Move the `np.core.numerictypes` annotations to their own...
* Bump hypothesis from 5.37.1 to 5.37.3
* Add annotations for `np.core._type_aliases`
* Typo in lexsort docstring
* Coercion/cast of array to a subarray dtype will be fixed
* Clean up the errors of the typing tests
* Fixed file handle leak in array_tofile.
* Fix a broken `np.core.numeric` test
* Mark dead code as intentional for clang.
* removed old references to submodule licenses
* Fix typos (general documentation)
* Fully qualify license trove classifier
* mac dylib treated as part of extra objects by f2py
* Add annotations for 9 `ndarray`/`generic` magic methods
* Fix the document for arrays interface
* Conversion of some strings to f-strings
* Fix some references
* Valid docstring for config_py function show()
* Conversion of some strings to fstrings, part II
* Conversion of some strings to fstrings, part III
* Tidy up references to str_ / bytes_
* Conversion of some strings to fstrings, part iv
* Fix the references for ``__array_*__``
* Add entries for macros
* Add ``identity_value`` to ``PyUFuncObject``
* Replace ``PyCObject`` with ``PyCapsule``
* Don't use Python highlighting for non-python code
* Fix some references
* Bump hypothesis from 5.37.3 to 5.38.0
* update to OpenBLAS v0.3.12
* Fix reference to atleast_1d
* Add annotations for `np.core._ufunc_config`
* Add annotations for `np.core.shape_base`
* fix np.timedelta64('nat').__format__ throwing an exception
* f2py incorrectly translates dimension declarations.
* Fix installing Numpy on z/OS
* Ensure inner loop signature is complete everywhere
* simplify source path names in compilation test
* Add a doctest for ``getlincoef``
* Update master after 1.19.3 release.
* Make test suite work in FIPS (140-2) Mode
* Add a docstring for getarrlen
* Update README badge for travis-ci.com
* Refine a number of ``np.generic`` annotations
* Update release documentation and software
* Add sum intrinsics for float/double.
* (nditer_impl.h) Use ``intp`` instead of ``char *`` for offset...
* Fix small bug in ``make_lite.py``.
* Modify Templates
* Bump hypothesis from 5.38.0 to 5.41.0
* Bump pytz from 2020.1 to 2020.4
* use a more standard workflow for PyPy
* Update master after 1.19.4 release.
* Rename ``DtypeLike`` to ``DTypeLike``
* Fix small typos.
* Fixed an issue where ``.pyi`` files were ignored by numpy...
* Fix Doc Typos & Added Example
* Improve the einsum bench by adding new bench cases and variable...
* Revert gh-17654 - f2py incorrectly translates dimension...
* Add more files to ``.gitgnore``
* Do not import sliding_window_view to main namespace
* Do not override ``sliding_window_view`` module to ``numpy``
* Add NEP-35 instructions on reading like= downstream
* Use importlib to find numpy root directory in distutils
* Remove unused ``**options`` from MaskedArray ``__new__``...
* Remove Python 3.6 CI testing.
* move linux jobs to github actions
* Bump hypothesis from 5.41.0 to 5.41.2
* Fix cblas detection on windows
* add pypy3.7
* compare platform.architecture() correctly
* Add "performance" category to the release notes
* Fix segfault due to out of bound pointer in floatstatus...
* Fix buffer export dtype references
* Fix memory leaks found using valgrind
* Lazy load f2py test utilities
* use BUFFERSIZE=20 in OpenBLAS
* fix reuses the previous values during the fallback...
* update link to website in FUNDING.yml
* Add BLD and STY to labeler prefixes.
* Simplify Hypothesis configuration
* Make like= argument added in NEP-35 strict
* Fix up links, code blocks of release note fragments
* Minor touchups in npyio
* Update mailmap.
* Set the ufunc and ndarray ops return type to ``Any``
* Update linalg.py
* Fix empty_like docstring
* Add missing release fragments to ``upcoming_changes``.
* Fix incorrectly passed size in masked processing
* Bump hypothesis from 5.41.2 to 5.41.3
* Add back durations flag for DEBUG builds.
* Fix subarray dtype used with too large count in fromfile
* Fix pickling of scalars with NPY_LISTPICKLE
* Update the `numpy.typing` documentation
* Fixing boilerplate code example
* Add ``__all__`` to `numpy.typing`
* Add release note for gh-16161.
* Fix incorrect C function prototypes/declarations.
* Prepare for the NumPy 1.20.x branch.
* use python-version not PYTHON_VERSION
* Fix buffer readflag errors and small leaks
* Prepare for 1.20.0 release
* Remove remaining uses of Python 3.6.
* use latest pypy37 not pypy36
* clean up a spurious warning in numpy/typing/setup.py
* Speed up default ``where`` in the reduce-like method
* remove stray '+' from f-string upgrade
* add support for fujitsu compiler to numpy.
* 'bool' object has no attribute 'ndim'
* Update release notes to mention ``type(dtype) is not np.dtype``
* Replace f-string in setup.py
* Ignore fewer errors during array-coercion
* Fix a MacOS build failure
* Fix crosstalk issues with polynomial str tests.
* Ensure tests are not sensitive to execution order
* update to OpenBLAS 0.3.13
* Futurewarn on requiring __len__ on array-likes
* make a variable volatile to work around clang compiler bug
* add back sdist test run
* Fix concatenation when the output is "S" or "U"
* Fix detecting aarch64 on macOS
* Prepare for 1.20.0rc2 release.
* Generate the main dispatcher config header into the...
* Fix _simd module build for 64bit ARM/NEON clang
* Update 1.20.x after 1.19.5 release.
* Fix promotion of half and string
* improve avx512 mask logical operations
* Promotion between strings and objects was assymetric
* Use explicit reexports for numpy.typing objects
* Keep ignoring most errors during array-protocol lookup
* warn on unrecognized objects, fix empty...
* update OpenBLAS to af2b0d02
* Clarify the type alias deprecation message
* Ensure too many advanced indices raises an exception
* add an 'apt update'
* Prepare for the NumPy 1.20.0 release.
Now it should be more obvious when a package needs it as a dependency,
as it will fail loudly if it isn't declared as a tool.
While here, some duplicate dependencies on itstool were removed from the
MATE packages
This also requires gcc 4.8 at minimum, 4.9 for the full set of SIMD.
The configure script is patched to avoid the build adding -march=core-avx2,
which could conflict with user's CFLAGS.
This yields one common package to provide libfftw3 (double) and libfftw3f
(single) by default and optionally the Fortran bindings as well as
OpenMP and MPI variants, and those with long double or quad precision.
This changes all packages depending on fftwf in the same commit to minimize
the time of inconsistency. Soon, math/fftwf will disappear.
Upstream changes:
DBI 1.1.1 (2021-01-04)
Documentation
Expand "Get started" vignette to two tutorials, basic and advanced (#332, @jawond).
Bug fixes
dbAppendTable() now allows columns named sep (#336).
dbAppendTable() shows a better error message if the input has zero columns (#313).
sqlInterpolate() now correctly interprets consecutive comments (#329, @rnorberg).
dbQuoteLiteral() works for difftime objects (#325).
dbQuoteLiteral() quotes dates as YYYY-MM-DD without time zone (#331).
Internal
Switch to GitHub Actions (#326).
Update URL in DESCRIPTION.
to be built with c++11, though the library itself is c++03 clean.
necessary for GCC 10 hosts. also tested on GCC 7 / netbsd 9.x.
from Chavdar Ivanov on current-users.
most of these simply extend matching from "aarch64" to "aarch64eb"
in various forms of code. most remaining uses in pkgsrc of
"MACHINE_ARCH == aarch64" are because of missing aarch64eb support,
such as most of the binary-bootstrap requiring languages like rust,
go, and java.
no pkg-bump because this shouldn't change packages on systems that
could already build all of these.
Changes in 0.15.0.1
* Bug in generation of Int/Word in both uniform and uniformR is
fixed. (#75)
Changes in 0.15.0.0
* withSystemRandomST and createSystemSeed are added.
* withSystemRandom is deprecated.
* random>=1.2 is dependency of mwc-random.
* Instances for type classes StatefulGen & FrozenGen defined in
random-1.2 are added for Gen.
* Functions in System.Random.MWC.Distributions and
System.Random.MWC.CondensedTable now work with arbitrary StatefulGen
* System.Random.MWC.uniformVector now works with arbitrary StatefulGen
as well and uses in-place initialization instead of generateM. It
should be faster for anything but IO and ST (those shoud remain
same).
Changes in 0.3.4.2
* Fixed crash in invIncompleteBeta (#68) for some inputs initial
approximation was computed incorrectly.
Changes in 0.3.4.1
* Precision of incompleteGamma improved.
Changes in 0.3.4.0
* Dependency on vector-th-unbox is dropped. All instances are written
by hand now.
* The build-type has been changed from Custom to Simple. To achieve
this, the doctests test suite has been removed in favor of using
cabal-docspec to run the doctests.
* Explicitly mark modules as Safe.
5.5.10 [2021.01.21]
* Fix a bug in which deriveBifoldable could generate code that
triggers -Wunused-matches warnings.
5.5.9 [2020.12.30]
* Explicitly mark modules as Safe or Trustworthy.
5.5.8 [2020.10.01]
* Fix a bug in which deriveBifunctor would fail on sufficiently
complex uses of rank-n types in constructor fields.
* Fix a bug in which deriveBiunctor and related functions would
needlessly reject data types whose two last type parameters appear
as oversaturated arguments to a type family.
5.5.7 [2020.01.29]
* Add Data.Bifunctor.Biap.
5.0.8 [2020.12.30]
* Explicitly mark modules as Safe or Trustworthy.
* The build-type has been changed from Custom to Simple. To achieve
this, the doctests test suite has been removed in favor of using
cabal-docspec to run the doctests.
5.0.7 [2020.12.15]
* Move FunctorWithIndex (TracedT m w) instance from lens. This
instance depends on the indexed-traversable package. This can be
disabled using the flag of the same name.
0.6.2.1 [2020.12.30]
* The build-type has been changed from Custom to Simple. To achieve
this, the doctests test suite has been removed in favor of using
cabal-docspec to run the doctests.
0.6.2 [2020.04.10]
* Make the Distributive instance for Tagged poly-kinded.
version: 0.23
date: Sun 01 Nov 2020 02:41:20 PM CET
changes:
- minor improvements to coalescing
- use build compiler to build extract_interface
- add some convenience functions
- ignore parameters in isl_union_* hash tables
---
version: 0.22.1
date: Sun Jan 12 10:48:18 CET 2020
changes:
- fix error handling
---
version: 0.22
date: Fri Nov 1 18:39:30 CET 2019
changes:
- require C++11 to generate bindings
- improved bindings
- scheduler fix involving fixed dimensions
- accept ranges in tuples during parsing
- add some convenience functions
---
version: 0.21
date: Sat Mar 9 15:25:29 CET 2019
changes:
- preliminary C++ bindings
- use incremental scheduler by default
- introduce isl_size type
- rename isl_ast_op_type to isl_ast_expr_op_type
- fix coalescing bugs
- use isl_bool to return extra boolean argument
---
version: 0.20
date: Sat Jul 21 18:10:08 CEST 2018
changes:
- keep track of domain in 0D isl_multi_pw_aff and isl_multi_union_pw_aff
- add isl_aff_eval and isl_pw_aff_eval
- add fixed-size rectangular box hull
---
version: 0.19
date: Sat Mar 3 10:44:49 CET 2018
changes:
- minor improvements to coalescing
- minor improvement to parametric integer programming
- try harder to avoid large coefficients in scheduler
- support kill accesses in dependence analysis
- drop deprecated isl_int
- drop deprecated band forests
- drop deprecated functions
---
version: 0.18
date: Sun Dec 18 11:01:58 CET 2016
changes:
- improve elimination of redundant existentially quantified variables
- improve coalescing
- improve parametric integer programming
- preserve isolate option in isl_schedule_node_band_split
- print AST nodes in YAML format
- minor improvements to Python bindings
On NetBSD.
In PKGSRC_FORTRAM=gfortran case, libcblas has no RPATH=/usr/pkg/gccXX/lib
and libgfortran and libquadmath are not found.
In PKGSRC_FORTRAN=g95 case, libcblas has no
RPATH=/usr/pkg/lib/gcc-lib/x86_64--netbsd/4.1.2 and libf95 is not found.
Use Fortran compiler as linker instread of C compiler to fix link.
The patch to system_info.py got upstreamed in a modified form which is
now backported here. On updating to 1.21, it shall be dropped.
In the process of upstreaming the patch, I learned that numpy really
needs to use cblas for proper acceleration, so it does that now and
gets a PKGREVISION bump because of that.
Version 2.43
Installing the Python interface through PyPI is supported.
Version 2.42
For dual CD solvers (logistic/l2 losses but not l1 loss), if a maximal number of iterations is reached, LIBLINEAR directly switches to run a primal Newton solver.
KISS FFT - A mixed-radix Fast Fourier Transform
There are many great fft libraries already around. Kiss FFT is not trying
to be better than any of them. It only attempts to be a reasonably efficient,
moderately useful FFT that can use fixed or floating data types and can be
incorporated into someone's C program in a few minutes with trivial licensing.
This introduces a 'generic' variant for blas_opt_info() and
lapack_opt_info() that looks into BLAS_LIBS and LAPACK_LIBS. The
others stay alive, and you can choose via NPY_BLAS_ORDER and
NPY_LAPACK_ORDER.
Will post this upstream … hoping for the best.
Other projects seem just to abuse the [openblas] entry in
site.cfg, or whatever hacks to trick this into building with
a generic BLAS. One hurdle is that using openblas seems to
assume that CBLAS is present in there, which it is not in pkgsrc.
We could think about introducing some alternatives stuff that uses
stubs for all the related libs anyway, but that is not my application,
which builds things from source. For binary packages, it would be
interesting, though. See Debian and Genoot for prior art on that.
Many many changes including
Oneway ANOVA-type analysis
~~~~~~~~~~~~~~~~~~~~~~~~~~
Several statistical methods for ANOVA-type analysis of k independent samples
have been added in module :mod:`~statsmodels.stats.oneway`. This includes
standard Anova, Anova for unequal variances (Welch, Brown-Forsythe for mean),
Anova based on trimmed samples (Yuen anova) and equivalence testing using
the method of Wellek.
Anova for equality of variances or dispersion are available for several
transformations. This includes Levene test and Browne-Forsythe test for equal
variances as special cases. It uses the `anova_oneway` function, so unequal
variance and trimming options are also available for tests on variances.
Several functions for effect size measures have been added, that can be used
for reporting or for power and sample size computation.
Multivariate statistics
~~~~~~~~~~~~~~~~~~~~~~~
The new module :mod:`~statsmodels.stats.multivariate` includes one and
two sample tests for multivariate means, Hotelling's t-tests',
:func:`~statsmodels.stats.multivariate.test_mvmean`,
:func:`~statsmodels.stats.multivariate.test_mvmean_2indep` and confidence
intervals for one-sample multivariate mean
:func:`~statsmodels.stats.multivariate.confint_mvmean`
Additionally, hypothesis tests for covariance patterns, and for oneway equality
of covariances are now available in several ``test_cov`` functions.
New exponential smoothing model: ETS (Error, Trend, Seasonal)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Class implementing ETS models :class:`~statsmodels.tsa.exponential_smoothing.ets.ETSModel`.
- Includes linear and non-linear exponential smoothing models
- Supports parameter fitting, in-sample prediction and out-of-sample
forecasting, prediction intervals, simulation, and more.
- Based on the innovations state space approach.
Forecasting Methods
~~~~~~~~~~~~~~~~~~~
Two popular methods for forecasting time series, forecasting after
STL decomposition (:class:`~statsmodels.tsa.forecasting.stl.STLForecast`)
and the Theta model
(:class:`~statsmodels.tsa.forecasting.theta.ThetaModel`) have been added.
See 0.12.0-0.12.2 at https://www.statsmodels.org/stable/release/
for the full story, including deprecations.
2.7.3 (2021-02-25)
------------------
- Add pytest plugin options to skip and xfail individual tests
and xfail the unsupported ndarray-1.0.0 example.
- Fix bug resulting in invalid strides values for views over
FITS arrays.
2.7.2 (2021-01-15)
------------------
- Fix bug causing test collection failures in some environments.
- Fix bug when decompressing arrays with numpy 1.20
Highlights of this release
scipy.ndimage improvements: Fixes and ehancements to boundary extension
modes for interpolation functions. Support for complex-valued inputs in many
filtering and interpolation functions. New grid_mode option for
scipy.ndimage.zoom to enable results consistent with scikit-image's
rescale.
scipy.optimize.linprog has fast, new methods for large, sparse problems
from the HiGHS library.
scipy.stats improvements including new distributions, a new test, and
enhancements to existing distributions and tests
Deprecated features
scipy.spatial changes
Calling KDTree.query with k=None to find all neighbours is deprecated.
Use KDTree.query_ball_point instead.
distance.wminkowski was deprecated; use distance.minkowski and supply
weights with the w keyword instead.
Backwards incompatible changes
Using scipy.fft as a function aliasing numpy.fft.fft was removed after
being deprecated in SciPy 1.4.0. As a result, the scipy.fft submodule
must be explicitly imported now, in line with other SciPy subpackages.
scipy.signal changes
The output of decimate, lfilter_zi, lfiltic, sos2tf, and
sosfilt_zi have been changed to match numpy.result_type of their inputs.
The window function slepian was removed.
The frechet_l and frechet_r distributions were removed.
Packaging changes:
- Some patches got upstreamed
- Upstream now defaults to name=sc-im so it no longer needs to be set
Changes, (reformatted) from the official changelog:
New features:
- New motions in edit mode: df cf F dF cF d0 d$ c0 c$ t T dt dT ct cT ^
g_ d^ dg_ c^ cg_
- Simple mouse support. Can handle selection of single cells and scroll.
- Added markdown export.
- Add custom colors with RGB definitions.
- Add support for italic attribute to be appled to cells.
- Added digraphs.
- Added EXECUTE command.
- Added --export_csv --export_tab --export_txt parameters.
- New input_bar_bottom config variable.
- New underline_grid config variable.
- Added filename in status bar (filename_with_mode config variable).
- Added option to truncate cells.
- Added xlsx sheet parameter.
- New @fact function.
Other:
- modified config and history file locations
- renamed winch to sig_winch.
- current fg and bg colors are kept if they are not specified in
:cellcolor.
- OpenBSD support (mostly wordexp() workaround)
- Correct lua api function names in doc
- always generate backup file when opening file
- renamed scim to sc-im in Makefile
- Document trigger return value convention
Issues fixed:
- fix bug when deleting an ent that for instance has a @sum()... it
used to remove its vertex and THE ENTS LINKED to THEM!
- fix error messages when using "scim --version" and color definitions
are intented to be applied from .scimrc.
- fix in waiting for valid command to complete after pressing ESC key.
- fix in parse_str so a word with white space can be stored in
dictionary value
- fix when setting default_paste_from_clipboard_cmd
- Don't clobber startup message w/ err opening file
- Allow for lua scripts in local .sc directory #259
- Send informational messages to stderr rather than the output when
used in non-interactive mode #263
- fixed cell_negative color #271
- fixed locked cells when saving #261
- fixed DEL key in insert mode #272
- fix when resizing column #266
- "Autobackup - case insensitive QER options when backup exists"
- fixed segfault when fcopy'ing with no selection while on first column
- Call write triggers on value clear
- Use sc_info to report trigger exit code
- fixed#277
- Grow table up to MAXROWS exactly
- Remove redundant if clause (God only knows where that was).
- fix in getVertex that prevented rebuild_graph to work properly.
- fix annoying bug because of not resetting inputline_pos to 0 when
confirming a command in COMMAND_MODE
- fix in let and slet. existing vertexs should not be removed.
- added "eval_visited" in vertex struct for not to collide with
current "visited", since:
EvalAll uses EvalBottomUp
EvalBottomUp uses EvalJustOneVertex
EvalJustOneVertex uses eval
eval uses GraphAddEdge
GraphAddEdge uses GraphIsReachable
GraphIsReachable uses visited
and EvalBottomUp also uses uses visited!
- Also changed markAllVerticesNotVisited and
All_vertexs_of_edges_visited functions.
- Some other issues fixed: #228, #234, #239, #240, #244, #246, #260,
#295, #308
- .. and many other fixes and improvements!
Pending:
The most significative issue is regarding circular references.
This have to be deeply analyzed and with the collaboration of the
community
it would be hopefully fixed by v0.9.
The downstream configure code freaked out when info['define_macros'] was not set.
It is now defined and empty.
I hope it's fine to just push this without further notice.
Build was confirmed by oster on NetBSD-9.1/amd64 and tested by me
on Linux/amd64.
Fix openblas build issues, mainly by updating to 0.3.10.
This pulls in these commits from WIP (newest first):
commit 3c6284cba90280bc367cf4d1d8252ae4d6e92e76
Author: Jason Bacon <bacon@NetBSD.org>
Date: Thu Feb 25 11:56:13 2021 -0600
openblas: Update ONLY_FOR_PLATFORMS documentation
commit 8071bf28f3ffc95af046ff3eaaac6983f4f70035
Author: Jason Bacon <bacon@NetBSD.org>
Date: Thu Feb 25 11:51:32 2021 -0600
openblas*: Successful build on NetBSD
commit 056e3d5c972a4b286e8755dbee323a9951855165
Author: Dr. Thomas Orgis <thomas.orgis@uni-hamburg.de>
Date: Wed Feb 24 18:40:17 2021 +0100
openblas: flags from environment again to un-break PICy build
The bug that prompted us to force the compiler flags in the
make arguments is fixed. Now we got a different one: The logic
that decides to add -fPIC where needed is overridden when doing
this, resulting in relocation errors (strangely, not with every
toolchain).
So let's remove that again and take FFLAGS and friends from the
environment again.
commit 86af17db8526e629c2c02c6af1f1ce7db6f6ba6d
Author: Dr. Thomas Orgis <thomas.orgis@uni-hamburg.de>
Date: Thu Nov 12 12:44:39 2020 +0100
openblas: version 0.3.10
This updated fixes the build with gcc 10 (segfault in cblat1 test).
I did not go all the way to the current 0.3.12, as that would
need some hacking of chosen compiler flags. 0.3.13 should be
the next one.
This commit also fixes the ARCH → ARCH_ sed to change all
occurences on a line.
This fulfills pkg/55999 and was approved by wiz during freeze.
The previous state included our BLAS choice but the build
did not honour the selected libs. This patches the config
script to not search for LAPACK and BLAS, using our settings
instead. Hopefull we can get that option upstreamed.
Approved during freeze by wiz.