DanielAndreasen / SWEETer-Cat

Make SWEET-Cat sweet again
http://sweetercat.herokuapp.com/
MIT License
12 stars 1 forks source link

Scheduled monthly dependency update for March #186

Closed pyup-bot closed 2 years ago

pyup-bot commented 2 years ago

Update click from 8.0.3 to 8.0.4.

Changelog ### 8.0.4 ``` ------------- Released 2022-02-18 - ``open_file`` recognizes ``Path("-")`` as a standard stream, the same as the string ``"-"``. :issue:`2106` - The ``option`` and ``argument`` decorators preserve the type annotation of the decorated function. :pr:`2155` - A callable default value can customize its help text by overriding ``__str__`` instead of always showing ``(dynamic)``. :issue:`2099` - Fix a typo in the Bash completion script that affected file and directory completion. If this script was generated by a previous version, it should be regenerated. :issue:`2163` - Fix typing for ``echo`` and ``secho`` file argument. :issue:`2174, 2185` ```
Links - PyPI: https://pypi.org/project/click - Changelog: https://pyup.io/changelogs/click/ - Homepage: https://palletsprojects.com/p/click/

Update Flask from 2.0.2 to 2.0.3.

Changelog ### 2.0.3 ``` ------------- Released 2022-02-14 - The test client's ``as_tuple`` parameter is deprecated and will be removed in Werkzeug 2.1. It is now also deprecated in Flask, to be removed in Flask 2.1, while remaining compatible with both in 2.0.x. Use ``response.request.environ`` instead. :pr:`4341` - Fix type annotation for ``errorhandler`` decorator. :issue:`4295` - Revert a change to the CLI that caused it to hide ``ImportError`` tracebacks when importing the application. :issue:`4307` - ``app.json_encoder`` and ``json_decoder`` are only passed to ``dumps`` and ``loads`` if they have custom behavior. This improves performance, mainly on PyPy. :issue:`4349` - Clearer error message when ``after_this_request`` is used outside a request context. :issue:`4333` ```
Links - PyPI: https://pypi.org/project/flask - Changelog: https://pyup.io/changelogs/flask/ - Homepage: https://palletsprojects.com/p/flask

Update itsdangerous from 2.0.1 to 2.1.0.

Changelog ### 2.1.0 ``` ------------- Released 2022-02-17 - Drop support for Python 3.6. :pr:`272` - Remove previously deprecated code. :pr:`273` - JWS functionality: Use a dedicated library such as Authlib instead. - ``import itsdangerous.json``: Import ``json`` from the standard library instead. ```
Links - PyPI: https://pypi.org/project/itsdangerous - Changelog: https://pyup.io/changelogs/itsdangerous/ - Homepage: https://palletsprojects.com/p/itsdangerous/

Update MarkupSafe from 2.0.1 to 2.1.0.

Changelog ### 2.1.0 ``` ------------- Released 2022-02-17 - Drop support for Python 3.6. :pr:`262` - Remove ``soft_unicode``, which was previously deprecated. Use ``soft_str`` instead. :pr:`261` - Raise error on missing single placeholder during string interpolation. :issue:`225` - Disable speedups module for GraalPython. :issue:`277` ```
Links - PyPI: https://pypi.org/project/markupsafe - Changelog: https://pyup.io/changelogs/markupsafe/ - Homepage: https://palletsprojects.com/p/markupsafe/

Update numpy from 1.22.0 to 1.22.2.

The bot wasn't able to find a changelog for this release. Got an idea?

Links - PyPI: https://pypi.org/project/numpy - Homepage: https://www.numpy.org

Update cachelib from 0.5.0 to 0.6.0.

Changelog ### 0.6.0 ``` ------------- Released 2022-01-18 - A custom ``hash_method`` may now be provided to ``FileSystemCache`` for hashing keys. :pr:`107` - Fix ``PermissionError`` issue with ``FileSystemCache`` on Windows. :pr:`111` ```
Links - PyPI: https://pypi.org/project/cachelib - Changelog: https://pyup.io/changelogs/cachelib/ - Repo: https://github.com/pallets/cachelib/

Update pandas from 1.3.5 to 1.4.1.

The bot wasn't able to find a changelog for this release. Got an idea?

Links - PyPI: https://pypi.org/project/pandas - Homepage: https://pandas.pydata.org

Update scipy from 1.7.3 to 1.8.0.

Changelog ### 1.8.0 ``` many new features, numerous bug-fixes, improved test coverage and better documentation. There have been a number of deprecations and API changes in this release, which are documented below. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations. Before upgrading, we recommend that users check that their own code does not use deprecated SciPy functionality (to do so, run your code with ``python -Wd`` and check for ``DeprecationWarning`` s). Our development attention will now shift to bug-fix releases on the 1.8.x branch, and on adding new features on the master branch. This release requires Python `3.8`+ and NumPy `1.17.3` or greater. For running on PyPy, PyPy3 `6.0`+ is required. Highlights of this release ------------------------- - A sparse array API has been added for early testing and feedback; this work is ongoing, and users should expect minor API refinements over the next few releases. - The sparse SVD library PROPACK is now vendored with SciPy, and an interface is exposed via `scipy.sparse.svds` with ``solver='PROPACK'``. - A new `scipy.stats.sampling` submodule that leverages the ``UNU.RAN`` C library to sample from arbitrary univariate non-uniform continuous and discrete distributions - All namespaces that were private but happened to miss underscores in their names have been deprecated. New features ------------- `scipy.fft` improvements ======================== Added an ``orthogonalize=None`` parameter to the real transforms in `scipy.fft` which controls whether the modified definition of DCT/DST is used without changing the overall scaling. `scipy.fft` backend registration is now smoother, operating with a single registration call and no longer requiring a context manager. `scipy.integrate` improvements ============================== `scipy.integrate.quad_vec` introduces a new optional keyword-only argument, ``args``. ``args`` takes in a tuple of extra arguments if any (default is ``args=()``), which is then internally used to pass into the callable function (needing these extra arguments) which we wish to integrate. `scipy.interpolate` improvements ================================ `scipy.interpolate.BSpline` has a new method, ``design_matrix``, which constructs a design matrix of b-splines in the sparse CSR format. A new method ``from_cubic`` in ``BSpline`` class allows to convert a ``CubicSpline`` object to ``BSpline`` object. `scipy.linalg` improvements =========================== `scipy.linalg` gained three new public array structure investigation functions. `scipy.linalg.bandwidth` returns information about the bandedness of an array and can be used to test for triangular structure discovery, while `scipy.linalg.issymmetric` and `scipy.linalg.ishermitian` test the array for exact and approximate symmetric/Hermitian structure. `scipy.optimize` improvements ============================= `scipy.optimize.check_grad` introduces two new optional keyword only arguments, ``direction`` and ``seed``. ``direction`` can take values, ``'all'`` (default), in which case all the one hot direction vectors will be used for verifying the input analytical gradient function and ``'random'``, in which case a random direction vector will be used for the same purpose. ``seed`` (default is ``None``) can be used for reproducing the return value of ``check_grad`` function. It will be used only when ``direction='random'``. The `scipy.optimize.minimize` ``TNC`` method has been rewritten to use Cython bindings. This also fixes an issue with the callback altering the state of the optimization. Added optional parameters ``target_accept_rate`` and ``stepwise_factor`` for adapative step size adjustment in ``basinhopping``. The ``epsilon`` argument to ``approx_fprime`` is now optional so that it may have a default value consistent with most other functions in `scipy.optimize`. `scipy.signal` improvements =========================== Add ``analog`` argument, default ``False``, to ``zpk2sos``, and add new pairing option ``'minimal'`` to construct analog and minimal discrete SOS arrays. ``tf2sos`` uses zpk2sos; add ``analog`` argument here as well, and pass it on to ``zpk2sos``. ``savgol_coeffs`` and ``savgol_filter`` now work for even window lengths. Added the Chirp Z-transform and Zoom FFT available as `scipy.signal.CZT` and `scipy.signal.ZoomFFT`. `scipy.sparse` improvements =========================== An array API has been added for early testing and feedback; this work is ongoing, and users should expect minor API refinements over the next few releases. Please refer to the `scipy.sparse` docstring for more information. ``maximum_flow`` introduces optional keyword only argument, ``method`` which accepts either, ``'edmonds-karp'`` (Edmonds Karp algorithm) or ``'dinic'`` (Dinic's algorithm). Moreover, ``'dinic'`` is used as default value for ``method`` which means that Dinic's algorithm is used for computing maximum flow unless specified. See, the comparison between the supported algorithms in `this comment <https://github.com/scipy/scipy/pull/14358#issue-684212523>`_. Parameters ``atol``, ``btol`` now default to 1e-6 in `scipy.sparse.linalg.lsmr` to match with default values in `scipy.sparse.linalg.lsqr`. Add the Transpose-Free Quasi-Minimal Residual algorithm (TFQMR) for general nonsingular non-Hermitian linear systems in `scipy.sparse.linalg.tfqmr`. The sparse SVD library PROPACK is now vendored with SciPy, and an interface is exposed via `scipy.sparse.svds` with ``solver='PROPACK'``. For some problems, this may be faster and/or more accurate than the default, ARPACK. ``sparse.linalg`` iterative solvers now have a nonzero initial guess option, which may be specified as ``x0 = 'Mb'``. The ``trace`` method has been added for sparse matrices. `scipy.spatial` improvements ============================ `scipy.spatial.transform.Rotation` now supports item assignment and has a new ``concatenate`` method. Add `scipy.spatial.distance.kulczynski1` in favour of `scipy.spatial.distance.kulsinski` which will be deprecated in the next release. `scipy.spatial.distance.minkowski` now also supports ``0<p<1``. `scipy.special` improvements ============================ The new function `scipy.special.log_expit` computes the logarithm of the logistic sigmoid function. The function is formulated to provide accurate results for large positive and negative inputs, so it avoids the problems that would occur in the naive implementation ``log(expit(x))``. A suite of five new functions for elliptic integrals: ``scipy.special.ellipr{c,d,f,g,j}``. These are the `Carlson symmetric elliptic integrals <https://dlmf.nist.gov/19.16>`_, which have computational advantages over the classical Legendre integrals. Previous versions included some elliptic integrals from the Cephes library (``scipy.special.ellip{k,km1,kinc,e,einc}``) but was missing the integral of third kind (Legendre's Pi), which can be evaluated using the new Carlson functions. The new Carlson elliptic integral functions can be evaluated in the complex plane, whereas the Cephes library's functions are only defined for real inputs. Several defects in `scipy.special.hyp2f1` have been corrected. Approximately correct values are now returned for ``z`` near ``exp(+-i*pi/3)``, fixing `8054 <https://github.com/scipy/scipy/issues/8054>`_. Evaluation for such ``z`` is now calculated through a series derived by `López and Temme (2013) <https://arxiv.org/abs/1306.2046>`_ that converges in these regions. In addition, degenerate cases with one or more of ``a``, ``b``, and/or ``c`` a non-positive integer are now handled in a manner consistent with `mpmath's hyp2f1 implementation <https://mpmath.org/doc/current/functions/hypergeometric.html>`_, which fixes `7340 <https://github.com/scipy/scipy/issues/7340>`_. These fixes were made as part of an effort to rewrite the Fortran 77 implementation of hyp2f1 in Cython piece by piece. This rewriting is now roughly 50% complete. `scipy.stats` improvements ========================== `scipy.stats.qmc.LatinHypercube` introduces two new optional keyword-only arguments, ``optimization`` and ``strength``. ``optimization`` is either ``None`` or ``random-cd``. In the latter, random permutations are performed to improve the centered discrepancy. ``strength`` is either 1 or 2. 1 corresponds to the classical LHS while 2 has better sub-projection properties. This construction is referred to as an orthogonal array based LHS of strength 2. In both cases, the output is still a LHS. `scipy.stats.qmc.Halton` is faster as the underlying Van der Corput sequence was ported to Cython. The ``alternative`` parameter was added to the ``kendalltau`` and ``somersd`` functions to allow one-sided hypothesis testing. Similarly, the masked versions of ``skewtest``, ``kurtosistest``, ``ttest_1samp``, ``ttest_ind``, and ``ttest_rel`` now also have an ``alternative`` parameter. Add `scipy.stats.gzscore` to calculate the geometrical z score. Random variate generators to sample from arbitrary univariate non-uniform continuous and discrete distributions have been added to the new `scipy.stats.sampling` submodule. Implementations of a C library `UNU.RAN <http://statmath.wu.ac.at/software/unuran/>`_ are used for performance. The generators added are: - TransformedDensityRejection - DiscreteAliasUrn - NumericalInversePolynomial - DiscreteGuideTable - SimpleRatioUniforms The ``binned_statistic`` set of functions now have improved performance for the ``std``, ``min``, ``max``, and ``median`` statistic calculations. ``somersd`` and ``_tau_b`` now have faster Pythran-based implementations. Some general efficiency improvements to handling of ``nan`` values in several ``stats`` functions. Added the Tukey-Kramer test as `scipy.stats.tukey_hsd`. Improved performance of `scipy.stats.argus` ``rvs`` method. Added the parameter ``keepdims`` to `scipy.stats.variation` and prevent the undesirable return of a masked array from the function in some cases. ``permutation_test`` performs an exact or randomized permutation test of a given statistic on provided data. Deprecated features --------------------- Clear split between public and private API ========================================== SciPy has always documented what its public API consisted of in :ref:`its API reference docs <scipy-api>`, however there never was a clear split between public and private namespaces in the code base. In this release, all namespaces that were private but happened to miss underscores in their names have been deprecated. These include (as examples, there are many more): - ``scipy.signal.spline`` - ``scipy.ndimage.filters`` - ``scipy.ndimage.fourier`` - ``scipy.ndimage.measurements`` - ``scipy.ndimage.morphology`` - ``scipy.ndimage.interpolation`` - ``scipy.sparse.linalg.solve`` - ``scipy.sparse.linalg.eigen`` - ``scipy.sparse.linalg.isolve`` All functions and other objects in these namespaces that were meant to be public are accessible from their respective public namespace (e.g. `scipy.signal`). The design principle is that any public object must be accessible from a single namespace only; there are a few exceptions, mostly for historical reasons (e.g., ``stats`` and ``stats.distributions`` overlap). For other libraries aiming to provide a SciPy-compatible API, it is now unambiguous what namespace structure to follow. See `gh-14360 <https://github.com/scipy/scipy/issues/14360>`_ for more details. Other deprecations -------------------- ``NumericalInverseHermite`` has been deprecated from `scipy.stats` and moved to the `scipy.stats.sampling` submodule. It now uses the C implementation of the UNU.RAN library so the result of methods like ``ppf`` may vary slightly. Parameter ``tol`` has been deprecated and renamed to ``u_resolution``. The parameter ``max_intervals`` has also been deprecated and will be removed in a future release of SciPy. Backwards incompatible changes ---------------------------------- - SciPy has raised the minimum compiler versions to GCC 6.3 on linux and VS2019 on windows. In particular, this means that SciPy may now use C99 and C++14 features. For more details see `here <https://docs.scipy.org/doc/scipy/reference/dev/toolchain.html>`_. - The result for empty bins for `scipy.stats.binned_statistic` with the builtin ``'std'`` metric is now ``nan``, for consistency with ``np.std``. - The function `scipy.spatial.distance.wminkowski` has been removed. To achieve the same results as before, please use the ``minkowski`` distance function with the (optional) ``w=`` keyword-argument for the given weight. Other changes --------------- Some Fortran 77 code was modernized to be compatible with NAG's nagfor Fortran compiler (see, e.g., `PR 13229 <https://github.com/scipy/scipy/pull/13229>`_). ``threadpoolctl`` may now be used by our test suite to substantially improve the efficiency of parallel test suite runs. Authors --------- * endolith * adamadanandy + * akeemlh + * Anton Akhmerov * Marvin Albert + * alegresor + * Andrew Annex + * Pantelis Antonoudiou + * Ross Barnowski + * Christoph Baumgarten * Stephen Becker + * Nickolai Belakovski * Peter Bell * berberto + * Georgii Bocharov + * Evgeni Burovski * Matthias Bussonnier * CJ Carey * Justin Charlong + * Dennis Collaris + * David Cottrell + * cruyffturn + * da-woods + * Anirudh Dagar * Tiger Du + * Thomas Duvernay * Dani El-Ayyass + * Castedo Ellerman + * Donnie Erb + * Andreas Esders-Kopecky + * Livio F + * Isuru Fernando * Evelyn Fitzgerald + * Sara Fridovich-Keil + * Mark E Fuller + * Ralf Gommers * Kevin Richard Green + * guiweber + * Nitish Gupta + * h-vetinari * Matt Haberland * J. Hariharan + * Charles Harris * Trever Hines * Ian Hunt-Isaak + * ich + * Itrimel + * Jan-Hendrik Müller + * Jebby993 + * Evan W Jones + * Nathaniel Jones + * Jeffrey Kelling + * Malik Idrees Hasan Khan + * Sergey B Kirpichev * Kadatatlu Kishore + * Andrew Knyazev * Ravin Kumar + * Peter Mahler Larsen * Eric Larson * Antony Lee * Gregory R. Lee * Tim Leslie * lezcano + * Xingyu Liu * Christian Lorentzen * Lorenzo + * Smit Lunagariya + * Lv101Magikarp + * Yair M + * Cong Ma * Lorenzo Maffioli + * majiang + * Brian McFee + * Nicholas McKibben * John Speed Meyers + * millivolt9 + * Jarrod Millman * Harsh Mishra + * Boaz Mohar + * naelsondouglas + * Andrew Nelson * Nico Schlömer * Thomas Nowotny + * nullptr + * Teddy Ort + * Nick Papior * ParticularMiner + * Dima Pasechnik * Tirth Patel * Matti Picus * Ilhan Polat * Adrian Price-Whelan + * Quentin Barthélemy + * Sundar R + * Judah Rand + * Tyler Reddy * Renal-Of-Loon + * Frederic Renner + * Pamphile Roy * Bharath Saiguhan + * Atsushi Sakai * Eric Schanet + * Sebastian Wallkötter * serge-sans-paille * Reshama Shaikh + * Namami Shanker * Walter Simson + * Gagandeep Singh + * Leo C. Stein + * Albert Steppi * Kai Striega * Diana Sukhoverkhova * Søren Fuglede Jørgensen * Mike Taves * Ben Thompson + * Bas van Beek * Jacob Vanderplas * Dhruv Vats + * H. Vetinari + * Thomas Viehmann + * Pauli Virtanen * Vlad + * Arthur Volant * Samuel Wallan * Stefan van der Walt * Warren Weckesser * Josh Wilson * Haoyin Xu + * Rory Yorke * Egor Zemlyanoy * Gang Zhao + * 赵丰 (Zhao Feng) + A total of 132 people contributed to this release. People with a "+" by their names contributed a patch for the first time. This list of names is automatically generated, and may not be fully complete. ```
Links - PyPI: https://pypi.org/project/scipy - Changelog: https://pyup.io/changelogs/scipy/ - Repo: https://github.com/scipy/scipy/releases - Homepage: https://www.scipy.org

Update astropy from 5.0 to 5.0.1.

Changelog ### 5.0.1 ``` ================== Bug Fixes --------- astropy.coordinates ^^^^^^^^^^^^^^^^^^^ - Trying to create an instance of ``astropy.coordinates.Distance`` by providing both ``z`` and ``parallax`` now raises the expected ``ValueError``. [12531] - Fixed a bug where changing the wrap angle of the longitude component of a representation could raise a warning or error in certain situations. [12556] - ``astropy.coordinates.Distance`` constructor no longer ignores the ``unit`` keyword when ``parallax`` is provided. [12569] astropy.cosmology ^^^^^^^^^^^^^^^^^ - ``astropy.cosmology.utils.aszarr`` can now convert ``Column`` objects. [12525] - Reading a cosmology from an ECSV will load redshift and Hubble parameter units from the cosmology units module. [12636] astropy.io.fits ^^^^^^^^^^^^^^^ - Fix formatting issue in ``_dump_coldefs`` and add tests for ``tabledump`` and ``tableload`` convenience functions. [12526] astropy.io.misc ^^^^^^^^^^^^^^^ - YAML can now also represent quantities and arrays with structured dtype, as well as structured scalars based on ``np.void``. [12509] astropy.modeling ^^^^^^^^^^^^^^^^ - Fixes error when fitting multiplication or division based compound models where the sub-models have different output units. [12475] - Bugfix for incorrectly initialized and filled ``parameters`` data for ``Spline1D`` model. [12523] - Bugfix for ``keyerror`` thrown by ``Model.input_units_equivalencies`` when used on ``fix_inputs`` models which have no set unit equivalencies. [12597] astropy.table ^^^^^^^^^^^^^ - ``astropy.table.Table.keep_columns()`` and ``astropy.table.Table.remove_columns()`` now work with generators of column names. [12529] - Avoid duplicate storage of info in serialized columns if the column used to serialize already can hold that information. [12607] astropy.timeseries ^^^^^^^^^^^^^^^^^^ - Fixed edge case bugs which emerged when using ``aggregate_downsample`` with custom bins. [12527] astropy.units ^^^^^^^^^^^^^ - Structured units can be serialized to/from yaml. [12492] - Fix bad typing problems by removing interaction with ``NDArray.__class_getitem__``. [12511] - Ensure that ``Quantity.to_string(format='latex')`` properly typesets exponents also when ``u.quantity.conf.latex_array_threshold = -1`` (i.e., when the threshold is taken from numpy). [12573] - Structured units can now be copied with ``copy.copy`` and ``copy.deepcopy`` and also pickled and unpicked also for ``protocol`` >= 2. This does not work for big-endian architecture with older ``numpy<1.21.1``. [12583] astropy.utils ^^^^^^^^^^^^^ - Ensure that a ``Masked`` instance can be used to initialize (or viewed as) a ``numpy.ma.Maskedarray``. [12482] - Ensure ``Masked`` also works with numpy >=1.22, which has a keyword argument name change for ``np.quantile``. [12511] - ``astropy.utils.iers.LeapSeconds.auto_open()`` no longer emits unnecessary warnings when ``astropy.utils.iers.conf.auto_max_age`` is set to ``None``. [12713] ```
Links - PyPI: https://pypi.org/project/astropy - Changelog: https://pyup.io/changelogs/astropy/ - Homepage: http://astropy.org

Update apscheduler from 3.8.1 to 3.9.1.

The bot wasn't able to find a changelog for this release. Got an idea?

Links - PyPI: https://pypi.org/project/apscheduler - Changelog: https://pyup.io/changelogs/apscheduler/ - Repo: https://github.com/agronholm/apscheduler - Docs: https://pythonhosted.org/APScheduler/

Update PyAstronomy from 0.17.0 to 0.17.1.

The bot wasn't able to find a changelog for this release. Got an idea?

Links - PyPI: https://pypi.org/project/pyastronomy - Changelog: https://pyup.io/changelogs/pyastronomy/ - Repo: https://github.com/sczesla/PyAstronomy

Update pytest from 6.2.5 to 7.0.1.

Changelog ### 7.0.1 ``` ========================= Bug Fixes --------- - `9608 <https://github.com/pytest-dev/pytest/issues/9608>`_: Fix invalid importing of ``importlib.readers`` in Python 3.9. - `9610 <https://github.com/pytest-dev/pytest/issues/9610>`_: Restore `UnitTestFunction.obj` to return unbound rather than bound method. Fixes a crash during a failed teardown in unittest TestCases with non-default `__init__`. Regressed in pytest 7.0.0. - `9636 <https://github.com/pytest-dev/pytest/issues/9636>`_: The ``pythonpath`` plugin was renamed to ``python_path``. This avoids a conflict with the ``pytest-pythonpath`` plugin. - `9642 <https://github.com/pytest-dev/pytest/issues/9642>`_: Fix running tests by id with ``::`` in the parametrize portion. - `9643 <https://github.com/pytest-dev/pytest/issues/9643>`_: Delay issuing a :class:`~pytest.PytestWarning` about diamond inheritance involving :class:`~pytest.Item` and :class:`~pytest.Collector` so it can be filtered using :ref:`standard warning filters <warnings>`. ``` ### 7.0.0 ``` ========================= (**Please see the full set of changes for this release also in the 7.0.0rc1 notes below**) Deprecations ------------ - `9488 <https://github.com/pytest-dev/pytest/issues/9488>`_: If custom subclasses of nodes like :class:`pytest.Item` override the ``__init__`` method, they should take ``**kwargs``. See :ref:`uncooperative-constructors-deprecated` for details. Note that a deprection warning is only emitted when there is a conflict in the arguments pytest expected to pass. This deprecation was already part of pytest 7.0.0rc1 but wasn't documented. Bug Fixes --------- - `9355 <https://github.com/pytest-dev/pytest/issues/9355>`_: Fixed error message prints function decorators when using assert in Python 3.8 and above. - `9396 <https://github.com/pytest-dev/pytest/issues/9396>`_: Ensure :attr:`pytest.Config.inifile` is available during the :func:`pytest_cmdline_main <_pytest.hookspec.pytest_cmdline_main>` hook (regression during ``7.0.0rc1``). Improved Documentation ---------------------- - `9404 <https://github.com/pytest-dev/pytest/issues/9404>`_: Added extra documentation on alternatives to common misuses of `pytest.warns(None)` ahead of its deprecation. - `9505 <https://github.com/pytest-dev/pytest/issues/9505>`_: Clarify where the configuration files are located. To avoid confusions documentation mentions that configuration file is located in the root of the repository. Trivial/Internal Changes ------------------------ - `9521 <https://github.com/pytest-dev/pytest/issues/9521>`_: Add test coverage to assertion rewrite path. ``` ### 7.0.0rc1 ``` ============================ Breaking Changes ---------------- - `7259 <https://github.com/pytest-dev/pytest/issues/7259>`_: The :ref:`Node.reportinfo() <non-python tests>` function first return value type has been expanded from `py.path.local | str` to `os.PathLike[str] | str`. Most plugins which refer to `reportinfo()` only define it as part of a custom :class:`pytest.Item` implementation. Since `py.path.local` is a `os.PathLike[str]`, these plugins are unaffacted. Plugins and users which call `reportinfo()`, use the first return value and interact with it as a `py.path.local`, would need to adjust by calling `py.path.local(fspath)`. Although preferably, avoid the legacy `py.path.local` and use `pathlib.Path`, or use `item.location` or `item.path`, instead. Note: pytest was not able to provide a deprecation period for this change. - `8246 <https://github.com/pytest-dev/pytest/issues/8246>`_: ``--version`` now writes version information to ``stdout`` rather than ``stderr``. - `8733 <https://github.com/pytest-dev/pytest/issues/8733>`_: Drop a workaround for `pyreadline <https://github.com/pyreadline/pyreadline>`__ that made it work with ``--pdb``. The workaround was introduced in `1281 <https://github.com/pytest-dev/pytest/pull/1281>`__ in 2015, however since then `pyreadline seems to have gone unmaintained <https://github.com/pyreadline/pyreadline/issues/58>`__, is `generating warnings <https://github.com/pytest-dev/pytest/issues/8847>`__, and will stop working on Python 3.10. - `9061 <https://github.com/pytest-dev/pytest/issues/9061>`_: Using :func:`pytest.approx` in a boolean context now raises an error hinting at the proper usage. It is apparently common for users to mistakenly use ``pytest.approx`` like this: .. code-block:: python assert pytest.approx(actual, expected) While the correct usage is: .. code-block:: python assert actual == pytest.approx(expected) The new error message helps catch those mistakes. - `9277 <https://github.com/pytest-dev/pytest/issues/9277>`_: The ``pytest.Instance`` collector type has been removed. Importing ``pytest.Instance`` or ``_pytest.python.Instance`` returns a dummy type and emits a deprecation warning. See :ref:`instance-collector-deprecation` for details. - `9308 <https://github.com/pytest-dev/pytest/issues/9308>`_: **PytestRemovedIn7Warning deprecation warnings are now errors by default.** Following our plan to remove deprecated features with as little disruption as possible, all warnings of type ``PytestRemovedIn7Warning`` now generate errors instead of warning messages by default. **The affected features will be effectively removed in pytest 7.1**, so please consult the :ref:`deprecations` section in the docs for directions on how to update existing code. In the pytest ``7.0.X`` series, it is possible to change the errors back into warnings as a stopgap measure by adding this to your ``pytest.ini`` file: .. code-block:: ini [pytest] filterwarnings = ignore::pytest.PytestRemovedIn7Warning But this will stop working when pytest ``7.1`` is released. **If you have concerns** about the removal of a specific feature, please add a comment to :issue:`9308`. Deprecations ------------ - `7259 <https://github.com/pytest-dev/pytest/issues/7259>`_: ``py.path.local`` arguments for hooks have been deprecated. See :ref:`the deprecation note <legacy-path-hooks-deprecated>` for full details. ``py.path.local`` arguments to Node constructors have been deprecated. See :ref:`the deprecation note <node-ctor-fspath-deprecation>` for full details. .. note:: The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the new attribute being ``path``) is **the opposite** of the situation for hooks (the old argument being ``path``). This is an unfortunate artifact due to historical reasons, which should be resolved in future versions as we slowly get rid of the :pypi:`py` dependency (see :issue:`9283` for a longer discussion). - `7469 <https://github.com/pytest-dev/pytest/issues/7469>`_: Directly constructing the following classes is now deprecated: - ``_pytest.mark.structures.Mark`` - ``_pytest.mark.structures.MarkDecorator`` - ``_pytest.mark.structures.MarkGenerator`` - ``_pytest.python.Metafunc`` - ``_pytest.runner.CallInfo`` - ``_pytest._code.ExceptionInfo`` - ``_pytest.config.argparsing.Parser`` - ``_pytest.config.argparsing.OptionGroup`` - ``_pytest.pytester.HookRecorder`` These constructors have always been considered private, but now issue a deprecation warning, which may become a hard error in pytest 8. - `8242 <https://github.com/pytest-dev/pytest/issues/8242>`_: Raising :class:`unittest.SkipTest` to skip collection of tests during the pytest collection phase is deprecated. Use :func:`pytest.skip` instead. Note: This deprecation only relates to using :class:`unittest.SkipTest` during test collection. You are probably not doing that. Ordinary usage of :class:`unittest.SkipTest` / :meth:`unittest.TestCase.skipTest` / :func:`unittest.skip` in unittest test cases is fully supported. - `8315 <https://github.com/pytest-dev/pytest/issues/8315>`_: Several behaviors of :meth:`Parser.addoption <pytest.Parser.addoption>` are now scheduled for removal in pytest 8 (deprecated since pytest 2.4.0): - ``parser.addoption(..., help=".. %default ..")`` - use ``%(default)s`` instead. - ``parser.addoption(..., type="int/string/float/complex")`` - use ``type=int`` etc. instead. - `8447 <https://github.com/pytest-dev/pytest/issues/8447>`_: Defining a custom pytest node type which is both an :class:`pytest.Item <Item>` and a :class:`pytest.Collector <Collector>` (e.g. :class:`pytest.File <File>`) now issues a warning. It was never sanely supported and triggers hard to debug errors. See :ref:`the deprecation note <diamond-inheritance-deprecated>` for full details. - `8592 <https://github.com/pytest-dev/pytest/issues/8592>`_: :hook:`pytest_cmdline_preparse` has been officially deprecated. It will be removed in a future release. Use :hook:`pytest_load_initial_conftests` instead. See :ref:`the deprecation note <cmdline-preparse-deprecated>` for full details. - `8645 <https://github.com/pytest-dev/pytest/issues/8645>`_: :func:`pytest.warns(None) <pytest.warns>` is now deprecated because many people used it to mean "this code does not emit warnings", but it actually had the effect of checking that the code emits at least one warning of any type - like ``pytest.warns()`` or ``pytest.warns(Warning)``. - `8948 <https://github.com/pytest-dev/pytest/issues/8948>`_: :func:`pytest.skip(msg=...) <pytest.skip>`, :func:`pytest.fail(msg=...) <pytest.fail>` and :func:`pytest.exit(msg=...) <pytest.exit>` signatures now accept a ``reason`` argument instead of ``msg``. Using ``msg`` still works, but is deprecated and will be removed in a future release. This was changed for consistency with :func:`pytest.mark.skip <pytest.mark.skip>` and :func:`pytest.mark.xfail <pytest.mark.xfail>` which both accept ``reason`` as an argument. - `8174 <https://github.com/pytest-dev/pytest/issues/8174>`_: The following changes have been made to types reachable through :attr:`pytest.ExceptionInfo.traceback`: - The ``path`` property of ``_pytest.code.Code`` returns ``Path`` instead of ``py.path.local``. - The ``path`` property of ``_pytest.code.TracebackEntry`` returns ``Path`` instead of ``py.path.local``. There was no deprecation period for this change (sorry!). Features -------- - `5196 <https://github.com/pytest-dev/pytest/issues/5196>`_: Tests are now ordered by definition order in more cases. In a class hierarchy, tests from base classes are now consistently ordered before tests defined on their subclasses (reverse MRO order). - `7132 <https://github.com/pytest-dev/pytest/issues/7132>`_: Added two environment variables :envvar:`PYTEST_THEME` and :envvar:`PYTEST_THEME_MODE` to let the users customize the pygments theme used. - `7259 <https://github.com/pytest-dev/pytest/issues/7259>`_: Added :meth:`cache.mkdir() <pytest.Cache.mkdir>`, which is similar to the existing :meth:`cache.makedir() <pytest.Cache.makedir>`, but returns a :class:`pathlib.Path` instead of a legacy ``py.path.local``. Added a ``paths`` type to :meth:`parser.addini() <pytest.Parser.addini>`, as in ``parser.addini("mypaths", "my paths", type="paths")``, which is similar to the existing ``pathlist``, but returns a list of :class:`pathlib.Path` instead of legacy ``py.path.local``. - `7469 <https://github.com/pytest-dev/pytest/issues/7469>`_: The types of objects used in pytest's API are now exported so they may be used in type annotations. The newly-exported types are: - ``pytest.Config`` for :class:`Config <pytest.Config>`. - ``pytest.Mark`` for :class:`marks <pytest.Mark>`. - ``pytest.MarkDecorator`` for :class:`mark decorators <pytest.MarkDecorator>`. - ``pytest.MarkGenerator`` for the :class:`pytest.mark <pytest.MarkGenerator>` singleton. - ``pytest.Metafunc`` for the :class:`metafunc <pytest.MarkGenerator>` argument to the :hook:`pytest_generate_tests` hook. - ``pytest.CallInfo`` for the :class:`CallInfo <pytest.CallInfo>` type passed to various hooks. - ``pytest.PytestPluginManager`` for :class:`PytestPluginManager <pytest.PytestPluginManager>`. - ``pytest.ExceptionInfo`` for the :class:`ExceptionInfo <pytest.ExceptionInfo>` type returned from :func:`pytest.raises` and passed to various hooks. - ``pytest.Parser`` for the :class:`Parser <pytest.Parser>` type passed to the :hook:`pytest_addoption` hook. - ``pytest.OptionGroup`` for the :class:`OptionGroup <pytest.OptionGroup>` type returned from the :func:`parser.addgroup <pytest.Parser.getgroup>` method. - ``pytest.HookRecorder`` for the :class:`HookRecorder <pytest.HookRecorder>` type returned from :class:`~pytest.Pytester`. - ``pytest.RecordedHookCall`` for the :class:`RecordedHookCall <pytest.HookRecorder>` type returned from :class:`~pytest.HookRecorder`. - ``pytest.RunResult`` for the :class:`RunResult <pytest.RunResult>` type returned from :class:`~pytest.Pytester`. - ``pytest.LineMatcher`` for the :class:`LineMatcher <pytest.RunResult>` type used in :class:`~pytest.RunResult` and others. - ``pytest.TestReport`` for the :class:`TestReport <pytest.TestReport>` type used in various hooks. - ``pytest.CollectReport`` for the :class:`CollectReport <pytest.CollectReport>` type used in various hooks. Constructing most of them directly is not supported; they are only meant for use in type annotations. Doing so will emit a deprecation warning, and may become a hard-error in pytest 8.0. Subclassing them is also not supported. This is not currently enforced at runtime, but is detected by type-checkers such as mypy. - `7856 <https://github.com/pytest-dev/pytest/issues/7856>`_: :ref:`--import-mode=importlib <import-modes>` now works with features that depend on modules being on :py:data:`sys.modules`, such as :mod:`pickle` and :mod:`dataclasses`. - `8144 <https://github.com/pytest-dev/pytest/issues/8144>`_: The following hooks now receive an additional ``pathlib.Path`` argument, equivalent to an existing ``py.path.local`` argument: - :hook:`pytest_ignore_collect` - The ``collection_path`` parameter (equivalent to existing ``path`` parameter). - :hook:`pytest_collect_file` - The ``file_path`` parameter (equivalent to existing ``path`` parameter). - :hook:`pytest_pycollect_makemodule` - The ``module_path`` parameter (equivalent to existing ``path`` parameter). - :hook:`pytest_report_header` - The ``start_path`` parameter (equivalent to existing ``startdir`` parameter). - :hook:`pytest_report_collectionfinish` - The ``start_path`` parameter (equivalent to existing ``startdir`` parameter). .. note:: The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the new attribute being ``path``) is **the opposite** of the situation for hooks (the old argument being ``path``). This is an unfortunate artifact due to historical reasons, which should be resolved in future versions as we slowly get rid of the :pypi:`py` dependency (see :issue:`9283` for a longer discussion). - `8251 <https://github.com/pytest-dev/pytest/issues/8251>`_: Implement ``Node.path`` as a ``pathlib.Path``. Both the old ``fspath`` and this new attribute gets set no matter whether ``path`` or ``fspath`` (deprecated) is passed to the constructor. It is a replacement for the ``fspath`` attribute (which represents the same path as ``py.path.local``). While ``fspath`` is not deprecated yet due to the ongoing migration of methods like :meth:`~_pytest.Item.reportinfo`, we expect to deprecate it in a future release. .. note:: The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the new attribute being ``path``) is **the opposite** of the situation for hooks (the old argument being ``path``). This is an unfortunate artifact due to historical reasons, which should be resolved in future versions as we slowly get rid of the :pypi:`py` dependency (see :issue:`9283` for a longer discussion). - `8421 <https://github.com/pytest-dev/pytest/issues/8421>`_: :func:`pytest.approx` now works on :class:`~decimal.Decimal` within mappings/dicts and sequences/lists. - `8606 <https://github.com/pytest-dev/pytest/issues/8606>`_: pytest invocations with ``--fixtures-per-test`` and ``--fixtures`` have been enriched with: - Fixture location path printed with the fixture name. - First section of the fixture's docstring printed under the fixture name. - Whole of fixture's docstring printed under the fixture name using ``--verbose`` option. - `8761 <https://github.com/pytest-dev/pytest/issues/8761>`_: New :ref:`version-tuple` attribute, which makes it simpler for users to do something depending on the pytest version (such as declaring hooks which are introduced in later versions). - `8789 <https://github.com/pytest-dev/pytest/issues/8789>`_: Switch TOML parser from ``toml`` to ``tomli`` for TOML v1.0.0 support in ``pyproject.toml``. - `8920 <https://github.com/pytest-dev/pytest/issues/8920>`_: Added :class:`pytest.Stash`, a facility for plugins to store their data on :class:`~pytest.Config` and :class:`~_pytest.nodes.Node`\s in a type-safe and conflict-free manner. See :ref:`plugin-stash` for details. - `8953 <https://github.com/pytest-dev/pytest/issues/8953>`_: :class:`RunResult <_pytest.pytester.RunResult>` method :meth:`assert_outcomes <_pytest.pytester.RunResult.assert_outcomes>` now accepts a ``warnings`` argument to assert the total number of warnings captured. - `8954 <https://github.com/pytest-dev/pytest/issues/8954>`_: ``--debug`` flag now accepts a :class:`str` file to route debug logs into, remains defaulted to `pytestdebug.log`. - `9023 <https://github.com/pytest-dev/pytest/issues/9023>`_: Full diffs are now always shown for equality assertions of iterables when `CI` or ``BUILD_NUMBER`` is found in the environment, even when ``-v`` isn't used. - `9113 <https://github.com/pytest-dev/pytest/issues/9113>`_: :class:`RunResult <_pytest.pytester.RunResult>` method :meth:`assert_outcomes <_pytest.pytester.RunResult.assert_outcomes>` now accepts a ``deselected`` argument to assert the total number of deselected tests. - `9114 <https://github.com/pytest-dev/pytest/issues/9114>`_: Added :confval:`pythonpath` setting that adds listed paths to :data:`sys.path` for the duration of the test session. If you currently use the pytest-pythonpath or pytest-srcpaths plugins, you should be able to replace them with built-in `pythonpath` setting. Improvements ------------ - `7480 <https://github.com/pytest-dev/pytest/issues/7480>`_: A deprecation scheduled to be removed in a major version X (e.g. pytest 7, 8, 9, ...) now uses warning category `PytestRemovedInXWarning`, a subclass of :class:`~pytest.PytestDeprecationWarning`, instead of :class:`PytestDeprecationWarning` directly. See :ref:`backwards-compatibility` for more details. - `7864 <https://github.com/pytest-dev/pytest/issues/7864>`_: Improved error messages when parsing warning filters. Previously pytest would show an internal traceback, which besides being ugly sometimes would hide the cause of the problem (for example an ``ImportError`` while importing a specific warning type). - `8335 <https://github.com/pytest-dev/pytest/issues/8335>`_: Improved :func:`pytest.approx` assertion messages for sequences of numbers. The assertion messages now dumps a table with the index and the error of each diff. Example:: > assert [1, 2, 3, 4] == pytest.approx([1, 3, 3, 5]) E assert comparison failed for 2 values: E Index | Obtained | Expected E 1 | 2 | 3 +- 3.0e-06 E 3 | 4 | 5 +- 5.0e-06 - `8403 <https://github.com/pytest-dev/pytest/issues/8403>`_: By default, pytest will truncate long strings in assert errors so they don't clutter the output too much, currently at ``240`` characters by default. However, in some cases the longer output helps, or is even crucial, to diagnose a failure. Using ``-v`` will now increase the truncation threshold to ``2400`` characters, and ``-vv`` or higher will disable truncation entirely. - `8509 <https://github.com/pytest-dev/pytest/issues/8509>`_: Fixed issue where :meth:`unittest.TestCase.setUpClass` is not called when a test has `/` in its name since pytest 6.2.0. This refers to the path part in pytest node IDs, e.g. ``TestClass::test_it`` in the node ID ``tests/test_file.py::TestClass::test_it``. Now, instead of assuming that the test name does not contain ``/``, it is assumed that test path does not contain ``::``. We plan to hopefully make both of these work in the future. - `8803 <https://github.com/pytest-dev/pytest/issues/8803>`_: It is now possible to add colors to custom log levels on cli log. By using :func:`add_color_level <_pytest.logging.add_color_level>` from a ``pytest_configure`` hook, colors can be added:: logging_plugin = config.pluginmanager.get_plugin('logging-plugin') logging_plugin.log_cli_handler.formatter.add_color_level(logging.INFO, 'cyan') logging_plugin.log_cli_handler.formatter.add_color_level(logging.SPAM, 'blue') See :ref:`log_colors` for more information. - `8822 <https://github.com/pytest-dev/pytest/issues/8822>`_: When showing fixture paths in `--fixtures` or `--fixtures-by-test`, fixtures coming from pytest itself now display an elided path, rather than the full path to the file in the `site-packages` directory. - `8898 <https://github.com/pytest-dev/pytest/issues/8898>`_: Complex numbers are now treated like floats and integers when generating parameterization IDs. - `9062 <https://github.com/pytest-dev/pytest/issues/9062>`_: ``--stepwise-skip`` now implicitly enables ``--stepwise`` and can be used on its own. - `9205 <https://github.com/pytest-dev/pytest/issues/9205>`_: :meth:`pytest.Cache.set` now preserves key order when saving dicts. Bug Fixes --------- - `7124 <https://github.com/pytest-dev/pytest/issues/7124>`_: Fixed an issue where ``__main__.py`` would raise an ``ImportError`` when ``--doctest-modules`` was provided. - `8061 <https://github.com/pytest-dev/pytest/issues/8061>`_: Fixed failing ``staticmethod`` test cases if they are inherited from a parent test class. - `8192 <https://github.com/pytest-dev/pytest/issues/8192>`_: ``testdir.makefile`` now silently accepts values which don't start with ``.`` to maintain backward compatibility with older pytest versions. ``pytester.makefile`` now issues a clearer error if the ``.`` is missing in the ``ext`` argument. - `8258 <https://github.com/pytest-dev/pytest/issues/8258>`_: Fixed issue where pytest's ``faulthandler`` support would not dump traceback on crashes if the :mod:`faulthandler` module was already enabled during pytest startup (using ``python -X dev -m pytest`` for example). - `8317 <https://github.com/pytest-dev/pytest/issues/8317>`_: Fixed an issue where illegal directory characters derived from ``getpass.getuser()`` raised an ``OSError``. - `8367 <https://github.com/pytest-dev/pytest/issues/8367>`_: Fix ``Class.from_parent`` so it forwards extra keyword arguments to the constructor. - `8377 <https://github.com/pytest-dev/pytest/issues/8377>`_: The test selection options ``pytest -k`` and ``pytest -m`` now support matching names containing forward slash (``/``) characters. - `8384 <https://github.com/pytest-dev/pytest/issues/8384>`_: The ``pytest.mark.skip`` decorator now correctly handles its arguments. When the ``reason`` argument is accidentally given both positional and as a keyword (e.g. because it was confused with ``skipif``), a ``TypeError`` now occurs. Before, such tests were silently skipped, and the positional argument ignored. Additionally, ``reason`` is now documented correctly as positional or keyword (rather than keyword-only). - `8394 <https://github.com/pytest-dev/pytest/issues/8394>`_: Use private names for internal fixtures that handle classic setup/teardown so that they don't show up with the default ``--fixtures`` invocation (but they still show up with ``--fixtures -v``). - `8456 <https://github.com/pytest-dev/pytest/issues/8456>`_: The :confval:`required_plugins` config option now works correctly when pre-releases of plugins are installed, rather than falsely claiming that those plugins aren't installed at all. - `8464 <https://github.com/pytest-dev/pytest/issues/8464>`_: ``-c <config file>`` now also properly defines ``rootdir`` as the directory that contains ``<config file>``. - `8503 <https://github.com/pytest-dev/pytest/issues/8503>`_: :meth:`pytest.MonkeyPatch.syspath_prepend` no longer fails when ``setuptools`` is not installed. It now only calls :func:`pkg_resources.fixup_namespace_packages` if ``pkg_resources`` was previously imported, because it is not needed otherwise. - `8548 <https://github.com/pytest-dev/pytest/issues/8548>`_: Introduce fix to handle precision width in ``log-cli-format`` in turn to fix output coloring for certain formats. - `8796 <https://github.com/pytest-dev/pytest/issues/8796>`_: Fixed internal error when skipping doctests. - `8983 <https://github.com/pytest-dev/pytest/issues/8983>`_: The test selection options ``pytest -k`` and ``pytest -m`` now support matching names containing backslash (`\\`) characters. Backslashes are treated literally, not as escape characters (the values being matched against are already escaped). - `8990 <https://github.com/pytest-dev/pytest/issues/8990>`_: Fix `pytest -vv` crashing with an internal exception `AttributeError: 'str' object has no attribute 'relative_to'` in some cases. - `9077 <https://github.com/pytest-dev/pytest/issues/9077>`_: Fixed confusing error message when ``request.fspath`` / ``request.path`` was accessed from a session-scoped fixture. - `9131 <https://github.com/pytest-dev/pytest/issues/9131>`_: Fixed the URL used by ``--pastebin`` to use `bpa.st <http://bpa.st>`__. - `9163 <https://github.com/pytest-dev/pytest/issues/9163>`_: The end line number and end column offset are now properly set for rewritten assert statements. - `9169 <https://github.com/pytest-dev/pytest/issues/9169>`_: Support for the ``files`` API from ``importlib.resources`` within rewritten files. - `9272 <https://github.com/pytest-dev/pytest/issues/9272>`_: The nose compatibility module-level fixtures `setup()` and `teardown()` are now only called once per module, instead of for each test function. They are now called even if object-level `setup`/`teardown` is defined. Improved Documentation ---------------------- - `4320 <https://github.com/pytest-dev/pytest/issues/4320>`_: Improved docs for `pytester.copy_example`. - `5105 <https://github.com/pytest-dev/pytest/issues/5105>`_: Add automatically generated :ref:`plugin-list`. The list is updated on a periodic schedule. - `8337 <https://github.com/pytest-dev/pytest/issues/8337>`_: Recommend `numpy.testing <https://numpy.org/doc/stable/reference/routines.testing.html>`__ module on :func:`pytest.approx` documentation. - `8655 <https://github.com/pytest-dev/pytest/issues/8655>`_: Help text for ``--pdbcls`` more accurately reflects the option's behavior. - `9210 <https://github.com/pytest-dev/pytest/issues/9210>`_: Remove incorrect docs about ``confcutdir`` being a configuration option: it can only be set through the ``--confcutdir`` command-line option. - `9242 <https://github.com/pytest-dev/pytest/issues/9242>`_: Upgrade readthedocs configuration to use a `newer Ubuntu version <https://blog.readthedocs.com/new-build-specification/>`__` with better unicode support for PDF docs. - `9341 <https://github.com/pytest-dev/pytest/issues/9341>`_: Various methods commonly used for :ref:`non-python tests` are now correctly documented in the reference docs. They were undocumented previously. Trivial/Internal Changes ------------------------ - `8133 <https://github.com/pytest-dev/pytest/issues/8133>`_: Migrate to ``setuptools_scm`` 6.x to use ``SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST`` for more robust release tooling. - `8174 <https://github.com/pytest-dev/pytest/issues/8174>`_: The following changes have been made to internal pytest types/functions: - The ``_pytest.code.getfslineno()`` function returns ``Path`` instead of ``py.path.local``. - The ``_pytest.python.path_matches_patterns()`` function takes ``Path`` instead of ``py.path.local``. - The ``_pytest._code.Traceback.cut()`` function accepts any ``os.PathLike[str]``, not just ``py.path.local``. - `8248 <https://github.com/pytest-dev/pytest/issues/8248>`_: Internal Restructure: let ``python.PyObjMixin`` inherit from ``nodes.Node`` to carry over typing information. - `8432 <https://github.com/pytest-dev/pytest/issues/8432>`_: Improve error message when :func:`pytest.skip` is used at module level without passing `allow_module_level=True`. - `8818 <https://github.com/pytest-dev/pytest/issues/8818>`_: Ensure ``regendoc`` opts out of ``TOX_ENV`` cachedir selection to ensure independent example test runs. - `8913 <https://github.com/pytest-dev/pytest/issues/8913>`_: The private ``CallSpec2._arg2scopenum`` attribute has been removed after an internal refactoring. - `8967 <https://github.com/pytest-dev/pytest/issues/8967>`_: :hook:`pytest_assertion_pass` is no longer considered experimental and future changes to it will be considered more carefully. - `9202 <https://github.com/pytest-dev/pytest/issues/9202>`_: Add github action to upload coverage report to codecov instead of bash uploader. - `9225 <https://github.com/pytest-dev/pytest/issues/9225>`_: Changed the command used to create sdist and wheel artifacts: using the build package instead of setup.py. - `9351 <https://github.com/pytest-dev/pytest/issues/9351>`_: Correct minor typos in doc/en/example/special.rst. ```
Links - PyPI: https://pypi.org/project/pytest - Changelog: https://pyup.io/changelogs/pytest/ - Homepage: https://docs.pytest.org/en/latest/