F41 Change Proposal: Pytest 8 (self-contained)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Wiki - https://fedoraproject.org/wiki/Changes/Pytest_8

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.

== Summary ==

Update to a new upstream release of pytest that is not completely
compatible with previous releases. Pytest 8 is a major upstream
release removing a lot of deprecated functions and introducing
breaking changes.

== Owner ==
* Name: [[User:thrnciar| Tomáš Hrnčiar]]
* Name: [[User:churchyard| Miro Hrončok]]
* Email: python-maint@xxxxxxxxxx


== Detailed Description ==
Pytest is a popular Python framework for writing tests. The 8th major
release brings various improvements. The most notable enhancements
are:
* The diffs that pytest prints when an assertion fails were improved.
* Added the new verbosity_assertions configuration option for
fine-grained control of failed assertions verbosity.
* Additional support for exception groups and __notes__
* custom directory collectors
* “new-style” hook wrappers are now used internally

[https://docs.pytest.org/en/stable/changelog.html#breaking-changes
Breaking changes:]
* PytestRemovedIn8Warning deprecation warnings are now errors by default
* Several breaking changes to pytest’s collection phase, particularly
around how filesystem directories and Python packages are collected,
fixing deficiencies and allowing for cleanups and improvements to
pytest’s internals.
* Sanitized the handling of the default parameter when defining
configuration options
* pytest’s setup.py file is removed
* warns() now re-emits unmatched warnings when the context closes –
previously it would consume all warnings, hiding those that were not
matched by the function
* The internal FixtureManager.getfixtureclosure method has changed.
Plugins which use this method or which subclass FixtureManager and
overwrite that method will need to adapt to the change.

List of packages that will likely fail to build.

Maintainers by package:
* cffconvert           iztokf
* cloud-init           dustymabe gholms larsks mhayden otubo
* copr-backend         frostyx msuchy praiskup
* copr-frontend        frostyx msuchy praiskup
* copr-rpmbuild        frostyx praiskup
* fedmsg               kevin
* git-up               ekohl
* h5py                 orion stevetraylen terjeros
* httpie               churchyard codeblock mikelo2
* ipython              churchyard cstratak ignatenkobrain lbalhar
mrunge salimma tomspur
* jrnl                 music
* mu                   churchyard kushal
* pg_activity          mikelo2
* python-APScheduler   mmassari zuul
* python-aiohttp-cors  kwizart
* python-alembic       frantisekz
* python-ase           besser82 marcindulak
* python-astropy       orion sergiopr
* python-atpublic      abompard jonathanspw
* python-attrs         churchyard lbalhar
* python-aws-sam-translator music
* python-bluepyopt     ankursinha
* python-boto3         cstratak fale limb
* python-chalice       dcavalca
* python-contextily    qulogic
* python-cssutils      kevin
* python-dbus-next     alebastr
* python-dirhash       cottsay
* python-django-extensions aekoroglu ngompa salimma
* python-earthpy       iztokf
* python-ecdsa         brouhaha jonathanspw orion
* python-efel          ankursinha
* python-fastjsonschema thrnciar
* python-fiona         qulogic
* python-fslpy         ankursinha
* python-geopandas     qulogic
* python-geoplot       qulogic
* python-glob2         jujens
* python-graphviz      eclipseo mairacanal
* python-hid-parser    rathann
* python-ipykernel     churchyard pcpa
* python-ipywidgets    lbalhar
* python-josepy        nb
* python-kombu         fab frantisekz mrunge ngompa pingou pjp
* python-lexicon       mhayden pghmcfc
* python-libpysal      qulogic
* python-mapclassify   qulogic
* python-marshmallow-enum fab
* python-mathics-pygments dcavalca
* python-mirrors-countme asaleh nphilipp
* python-mne           ankursinha ignatenkobrain
* python-mplcursors    qulogic
* python-networkx      jjames plautrba
* python-nibabel       ankursinha ignatenkobrain
* python-nikola        jamatos maxamillion
* python-notebook      churchyard ksurma lbalhar
* python-oci           mhayden
* python-openapi-core  mattia music
* python-opentelemetry mhayden music pwouters rominf
* python-papermill     ankursinha
* python-paramiko      ignatenkobrain limb orion pghmcfc sgallagh
* python-parsel        jonathanspw
* python-pem           mhayden
* python-pint          jcapitao lzachar mrunge
* python-prettytable   apevec clalance
* python-pydantic      gotmax23 music nikromen
* python-pymeeus       fab
* python-pynwb         lbazan
* python-pysaml2       apevec
* python-pytest-cases  zbyszek
* python-pytest-forked swt2c
* python-pytest-lazy-fixture ankursinha mikelo2
* python-pytest-mpi    orion
* python-pytest-postgresql mikelo2
* python-pytest-relaxed jkucera
* python-pytest-xdist  swt2c
* python-qudida        thunderbirdtr
* python-rasterio      qulogic
* python-remoto        branto fsimonce jcaratzas ktdreyer
* python-requests      abompard cstratak jcline sagarun
* python-requests-credssp fab
* python-responses     athoscr fschwarz salimma
* python-sentry-sdk    edward-evans-aiven elisre italomga nickfarrell
pwouters rominf rommell
* python-service-identity carlwgeorge eclipseo
* python-sybil         fab
* python-textual       jonathanspw
* python-tpm2-pytss    jjelen
* python-trustme       carlwgeorge jcaratzas
* python-uranium       churchyard gferon
* python-uvicorn       carlwgeorge
* python-vine          frantisekz mrunge ngompa pingou
* python-virtualenv    churchyard cstratak lbalhar mhayden mrunge orion
* python-werkzeug      abompard codeblock frantisekz hguemar tdawson
* python-willow        lyessaadi
* rpy                  alexlan jamatos
* scipy                cstratak mmuzila nforro orion psimovec tomspur ttomecek
* thefuck              principis
* yt-dlp               gotmax23 mikelo2
* yubikey-manager      gbcox orion

Packages by maintainer:
* abompard   python-atpublic python-requests python-werkzeug
* aekoroglu  python-django-extensions
* alebastr   python-dbus-next
* alexlan    rpy
* ankursinha python-bluepyopt python-efel python-fslpy python-mne
python-nibabel python-papermill python-pytest-lazy-fixture
* apevec     python-prettytable python-pysaml2
* asaleh     python-mirrors-countme
* athoscr    python-responses
* besser82   python-ase
* branto     python-remoto
* brouhaha   python-ecdsa
* carlwgeorge python-service-identity python-trustme python-uvicorn
* churchyard httpie ipython mu python-attrs python-ipykernel
python-notebook python-uranium python-virtualenv
* clalance   python-prettytable
* codeblock  httpie python-werkzeug
* cottsay    python-dirhash
* cstratak   ipython python-boto3 python-requests python-virtualenv scipy
* dcavalca   python-chalice python-mathics-pygments
* dustymabe  cloud-init
* eclipseo   python-graphviz python-service-identity
* edward-evans-aiven python-sentry-sdk
* ekohl      git-up
* elisre     python-sentry-sdk
* fab        python-kombu python-marshmallow-enum python-pymeeus
python-requests-credssp python-sybil
* fale       python-boto3
* frantisekz python-alembic python-kombu python-vine python-werkzeug
* frostyx    copr-backend copr-frontend copr-rpmbuild
* fschwarz   python-responses
* fsimonce   python-remoto
* gbcox      yubikey-manager
* gferon     python-uranium
* gholms     cloud-init
* gotmax23   python-pydantic yt-dlp
* hguemar    python-werkzeug
* ignatenkobrain ipython python-mne python-nibabel python-paramiko
* italomga   python-sentry-sdk
* iztokf     cffconvert python-earthpy
* jamatos    python-nikola rpy
* jcapitao   python-pint
* jcaratzas  python-remoto python-trustme
* jcline     python-requests
* jjames     python-networkx
* jjelen     python-tpm2-pytss
* jkucera    python-pytest-relaxed
* jonathanspw python-atpublic python-ecdsa python-parsel python-textual
* jujens     python-glob2
* kevin      fedmsg python-cssutils
* ksurma     python-notebook
* ktdreyer   python-remoto
* kushal     mu
* kwizart    python-aiohttp-cors
* larsks     cloud-init
* lbalhar    ipython python-attrs python-ipywidgets python-notebook
python-virtualenv
* lbazan     python-pynwb
* limb       python-boto3 python-paramiko
* lyessaadi  python-willow
* lzachar    python-pint
* mairacanal python-graphviz
* marcindulak python-ase
* mattia     python-openapi-core
* maxamillion python-nikola
* mhayden    cloud-init python-lexicon python-oci python-opentelemetry
python-pem python-virtualenv
* mikelo2    httpie pg_activity python-pytest-lazy-fixture
python-pytest-postgresql yt-dlp
* mmassari   python-APScheduler
* mmuzila    scipy
* mrunge     ipython python-kombu python-pint python-vine python-virtualenv
* msuchy     copr-backend copr-frontend
* music      jrnl python-aws-sam-translator python-openapi-core
python-opentelemetry python-pydantic
* nb         python-josepy
* nforro     scipy
* ngompa     python-django-extensions python-kombu python-vine
* nickfarrell python-sentry-sdk
* nikromen   python-pydantic
* nphilipp   python-mirrors-countme
* orion      h5py python-astropy python-ecdsa python-paramiko
python-pytest-mpi python-virtualenv scipy yubikey-manager
* otubo      cloud-init
* pcpa       python-ipykernel
* pghmcfc    python-lexicon python-paramiko
* pingou     python-kombu python-vine
* pjp        python-kombu
* plautrba   python-networkx
* praiskup   copr-backend copr-frontend copr-rpmbuild
* principis  thefuck
* psimovec   scipy
* pwouters   python-opentelemetry python-sentry-sdk
* qulogic    python-contextily python-fiona python-geopandas
python-geoplot python-libpysal python-mapclassify python-mplcursors
python-rasterio
* rathann    python-hid-parser
* rominf     python-opentelemetry python-sentry-sdk
* rommell    python-sentry-sdk
* sagarun    python-requests
* salimma    ipython python-django-extensions python-responses
* sergiopr   python-astropy
* sgallagh   python-paramiko
* stevetraylen h5py
* swt2c      python-pytest-forked python-pytest-xdist
* tdawson    python-werkzeug
* terjeros   h5py
* thrnciar   python-fastjsonschema
* thunderbirdtr python-qudida
* tomspur    ipython scipy
* ttomecek   scipy
* zbyszek    python-pytest-cases
* zuul       python-APScheduler

== Benefit to Fedora ==

Fedora offers cutting-edge technologies for Python and pytest is one
of the most important Python packages. By doing this update we bring
users the latest features that pytest offers and also we enable Fedora
41 to receive future updates as well.

== Scope ==
* Proposal owners: update pytest to 8.x.x, provide help

* Other developers: report problems to the upstream and backport patch
to the affected packages. The impact can be tested using
[https://copr.fedorainfracloud.org/coprs/thrnciar/pytest/packages/
copr repository] where Pytest 8.x.x has been built. Alternatively you
can open a PR to distgit and see the result in CORP -
https://copr.fedorainfracloud.org/coprs/thrnciar/pytest/builds/?dirname=pytest:pr:<your
PR number>

* Release engineering: [https://pagure.io/releng/issues #Releng issue number]

* Policies and guidelines: N/A (not needed for this Change)

* Trademark approval: N/A (not needed for this Change)

* Alignment with Objectives:


== Upgrade/compatibility impact ==
There is a clean upgrade path from current version to pytest 8.x.x.
Fedora users using RPM-packaged Pytest will use pytest 8.x.x by
default.


== How To Test ==
* Find the package you want to update in this
[https://copr.fedorainfracloud.org/coprs/thrnciar/pytest/packages/
copr repository] and check the build logs to determine the fail cause.
* Work with the upstream to resolve the issue.
* When updating the package, you can test it using the same copr
repository where the latest version of pytest has been built.
* Let us know if something doesn't work as it should.

== User Experience ==
Regular distro users shouldn't notice any change in pytest behaviour,
except for packages using removed functions. Such packages will fail
and should be fixed by their maintainers.

== Contingency Plan ==
* Contingency mechanism: (What to do?  Who will do it?) Proposal
owners will introduce a pytest7 compatibility package.
* Contingency deadline: beta freeze
* Blocks release? N/A (not a System Wide Change)

== Documentation ==
[https://docs.pytest.org/en/stable/changelog.html Pytest changelog]

This page is the documentation.

== Release Notes ==

-- 
Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney
--
_______________________________________________
devel-announce mailing list -- devel-announce@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-announce-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux