#1150587 RFS: pytest-examples -- Pydantic pytest plugin for testing examples in docstrings and markdown files.

#1150587#5
Date:
2026-10-11 06:59:22 UTC
From:
To:
* Package name    : pydantic-pytest-examples
  Version         : 0.0.18
  Upstream Contact: Samuel Colvin https://github.com/samuelcolvin
* URL             : https://github.com/pydantic/pytest-examples
* License         : Expat
  Programming Lang: Python
  Description     : Pydantic pytest plugin for testing examples in docstrings and markdown files.

 pytest-examples can lint code examples using ruff and black, run code
 examples, run code examples and check print statements are inlined correctly
 in the code, etc

This is a dependency for home assistant via pydantic-handlebars,
pydantic-logfire, python-mcp.

I intend to maintain this package in the Python team where I will seek
sponsorship.

#1150587#10
Date:
2026-10-11 08:04:36 UTC
From:
To:
Since this is also https://pypi.org/project/pytest-examples/, I think
the source package name should instead be python-pytest-examples; that
would minimize the chance of somebody else later thinking that it hasn't
been packaged and repeating the work.  (Of course, the binary package
name should be python3-pytest-examples.)

We patch this out from some existing packages' test suites, but I agree
it would be better not to have to do that.

Thanks,

#1150587#15
Date:
2026-10-11 10:29:21 UTC
From:
To:
Clear. Thanks.

How about logfire and pydantic_handlebars? I was thinking to align their naming a bit by using pydantic in the source pkg. What do you think?

<https://bugs.debian.org/1150536>
<https://bugs.debian.org/1143122>

#1150587#20
Date:
2026-10-11 12:12:32 UTC
From:
To:
We don't align on GitHub organization names.  The effective namespace
for published Python packages is nearly always PyPI, so we align on the
names used there, prefixing "python-" to avoid clashing with other
ecosystems.  The "python-" prefix may be omitted if there's already some
prefix that makes it obvious that this is Python, so "pytest-examples"
would be fine as an alternative to "python-pytest-examples", since
there's essentially no chance of "pytest" showing up in some other
ecosystem.

So pydantic_handlebars might be either "python-pydantic-handlebars" or
"pydantic-handlebars"; I'd go for just "pydantic-handlebars", since none
of the existing pydantic-* source packages have a "python-" prefix.  But
logfire should be "python-logfire", because its canonical PyPI name is
"logfire" (not "pydantic-logfire", which is a redirecting stub), and
that isn't unambiguously Python enough to make it reasonable to claim
that name Debian-wide.

#1150587#27
Date:
2026-10-11 13:48:16 UTC
From:
To:
Removed pydantic from package name.

Source is at
https://salsa.debian.org/python-team/packages/pytest-examples

Ready for sponsorship in python team.

#1150587#32
Date:
2026-10-15 05:13:35 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
pytest-examples, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1150587@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Pieter Lenaerts <plenae@disroot.org> (supplier of updated pytest-examples package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Mon, 12 Oct 2026 12:07:32 +0000
Source: pytest-examples
Binary: python3-pytest-examples
Architecture: source all
Version: 0.0.18-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+python@tracker.debian.org>
Changed-By: Pieter Lenaerts <plenae@disroot.org>
Description:
 python3-pytest-examples - pytest plugin for testing examples in docstrings and markdown fil
Closes: 1150587
Changes:
 pytest-examples (0.0.18-1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1150587)
Checksums-Sha1:
 b1ef6eaf456d748ca276ae732cf9af9be69d53a3 2234 pytest-examples_0.0.18-1.dsc
 d284892ef38b79860152a1f4f2f8f0cf382565e4 47299 pytest-examples_0.0.18.orig.tar.gz
 1d2bda7093789d3250b87419e0b210436c2ed3b9 3624 pytest-examples_0.0.18-1.debian.tar.xz
 026131cfb51e2318f1f4fb36a691d1a81ca39748 6860 pytest-examples_0.0.18-1_amd64.buildinfo
 40044fd975057fdea140a22887dc17c4d4c3e8a9 15620 python3-pytest-examples_0.0.18-1_all.deb
Checksums-Sha256:
 0e6d8f697ebde72ef6ea9cd5e5e7e52f62819fbbe2a57bd6a4233bdf9376a97a 2234 pytest-examples_0.0.18-1.dsc
 eac52b9cbc835642c49fb917211d2e1ad24414f50ea2e1f82bc5fd80258f0726 47299 pytest-examples_0.0.18.orig.tar.gz
 9fb230de669947c1916535d47c43201b40079989c2aebec71de58906b527f430 3624 pytest-examples_0.0.18-1.debian.tar.xz
 34ef313b6f7f60679718111c2df18953d85e3e8d636ff296a58b3eb82cfbae0d 6860 pytest-examples_0.0.18-1_amd64.buildinfo
 6b781d13bada3617516b83e6e55b82f13d611efd9d711754eb091ac810ffebf0 15620 python3-pytest-examples_0.0.18-1_all.deb
Files:
 b57b33e10130b85c721ea55e7b2b439c 2234 python optional pytest-examples_0.0.18-1.dsc
 d586099af7af3e027803beb0f87a4a9c 47299 python optional pytest-examples_0.0.18.orig.tar.gz
 253bd40ba058bb22a5995d2959ee8ef7 3624 python optional pytest-examples_0.0.18-1.debian.tar.xz
 90acd944c4b8db9cfbd5431c53857bc1 6860 python optional pytest-examples_0.0.18-1_amd64.buildinfo
 a1899b3f250906584b5ee7f90c481753 15620 python optional python3-pytest-examples_0.0.18-1_all.deb
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEd8lhnEnWos3N8v+qQoMEoXSNzHoFAmrMzrUACgkQQoMEoXSN
zHpq1RAAiLZS5NxlBMLQhCx4/3yg5cbmmseuXhvlTIIaE1ZlCIPWVhkKxtQj6huV
akfphys+CW1xa9LATp7Aleu1zuyrjalmVMC+pE91ZPUB+T/MgPfR0UJgVlQHD7Bb
rdJDrQhRR7qCa84QKhtu/mkh1swwq1Jh/7zIUiORbpldbBCi5KmlPZVogek05ZGK
HTtZe1hRzDrDjrlrH33idd+7kuVfR72dwYzNsbCfogYFMuM4sXeEJY5Zjxmbhdea
I2jcWM55QClHGOvUma3M6sUhxO4Ncy6QvnAh/lfKWhUrqFcxbx2isKN0e28/pwF8
hXR6cPZ4FF7JT4IYPEUs18EmiiRg0vMWYMqAU9mJGbKY4hUYSC4EOzGMqwx+Tk6x
bkq+uyxqah09soxJ2RQTje9OxlQFcz+bd5ys3mWG3zJA1A8zxTebTmafVULTodNO
AIS0Duz+cvfO0FrvZhyyp9dSv7SiAGHDVRO3Lw0ADb0L+zzWvcI2lmm/wv57J6+w
wXtH3eQPNhYQYFW3dJjXNiCqoCb06qj3xdUVt/ec1NTXeHPR2DSMt4IaERb9+Vnk
rbb7qs7ZB73Pvhh2T5YdUoC0ozouSP/luwi427am1ujO6SDeYAYokx8N5H5r67wt
BPXD0KMJ/nMulHy3ECK3WWFQiXDuUgqEXrsrjahxqgYobmN0wvE=
=IZEw
-----END PGP SIGNATURE-----