<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi devs,</p>
<p>I was wondering, is there a rule for which python version comes
with each QGIS version?</p>
<p>It would be very useful for developing plugins, because I thought
that from QGIS 3.34 onwards it comes with Python 3.12. But I
installed qgis-ltr (3.40.5) on debian and saw that it came with
Python 3.11.</p>
<p>Is there a minimum Python version that all plugins should use?
We've been using new syntax added on newer versions of Python
thinking that if the latest QGIS release comes with a certain
Python version, I could assume that my plugin (if I only want to
support the last two LTR) must work with that python version.</p>
<p>To summarize:<br>
- In my Windows machine, I have both QGIS 3.40.4 & 3.34.15 and
they both come with Python 3.12, therefore I assumed our plugin
could use Python 3.12 syntax and features.<br>
- In a Debian machine, I installed QGIS 3.40.5 and it came with
Python 3.11.2.</p>
<p>It's not the end of the world for our plugin, because the most
significant change we made was the usage of `match`, which was
introduced in Python 3.10. But still, I don't really know if some
user might have the latest release still with Python 3.9.</p>
<p>That's why I'm asking, what guidelines should I follow?</p>
<p> Thank you very much!</p>
<p>--</p>
<p>Maspi<br>
</p>
<div class="moz-signature">
<div class="moz-signature">
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 15">
<meta name="Originator" content="Microsoft Word 15">
<style>@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-pitch:variable;
mso-font-signature:-536869121 1107305727 33554432 0 415 0;}@font-face
{font-family:Aptos;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:536871559 3 0 0 415 0;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin-top:0cm;
margin-right:0cm;
margin-bottom:8.0pt;
margin-left:0cm;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Aptos",sans-serif;
mso-ascii-font-family:Aptos;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Aptos;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Aptos;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#467886;
mso-themecolor:hyperlink;
text-decoration:underline;
text-underline:single;}a:visited, span.MsoHyperlinkFollowed
{mso-style-noshow:yes;
mso-style-priority:99;
color:#96607D;
mso-themecolor:followedhyperlink;
text-decoration:underline;
text-underline:single;}.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
font-size:11.0pt;
mso-ansi-font-size:11.0pt;
mso-bidi-font-size:11.0pt;
mso-ascii-font-family:Aptos;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Aptos;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Aptos;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-fareast-language:EN-US;}.MsoPapDefault
{mso-style-type:export-only;
margin-bottom:8.0pt;
line-height:107%;}div.WordSection1
{page:WordSection1;}</style></div>
</div>
</body>
</html>