Version minimale de la politique de dépendances #

Dans le cadre de ce document, « version mineure » ​​est au sens de SemVer (majeure, mineure, correctif) et comprend à la fois les versions majeures et mineures. Pour les projets qui utilisent la gestion des versions basée sur la date, chaque version est une « version mineure ».

Matplotlib suit NEP 29 .

Python et NumPy #

Matplotlib prend en charge :

  • Toutes les versions mineures de Python publiées 42 mois avant le projet, et au minimum les deux dernières versions mineures.

  • Toutes les versions mineures de numpypubliées dans les 24 mois précédant le projet, et au minimum les trois dernières versions mineures.

Dans setup.py, la python_requiresvariable doit être définie sur la version minimale prise en charge de Python. Toutes les versions mineures prises en charge de Python doivent figurer dans la matrice de test et avoir des artefacts binaires créés pour la version.

La prise en charge minimale des versions Python et NumPy doit être ajustée à la hausse sur chaque version majeure et mineure, mais jamais sur une version de correctif.

Voir aussi la Liste des versions de dépendance .

Dépendances Python #

Pour les dépendances Python, nous devrions prendre en charge au moins :

avec des extensions compilées

versions mineures initialement publiées dans les 24 mois précédant notre date de sortie prévue ou les plus anciennes qui prennent en charge notre minimum Python + NumPy

sans extensions compilées

versions mineures initialement publiées dans les 12 mois précédant notre date de sortie prévue ou la plus ancienne qui prend en charge notre Python minimum.

Nous n'augmenterons ces dépendances que si nous avons besoin de nouvelles fonctionnalités ou si les anciennes versions ne prennent plus en charge notre minimum NumPy ou Python.

Dépendances de test et de documentation #

Comme ces packages ne sont nécessaires que pour tester ou créer la documentation et non pour les utilisateurs finaux, nous pouvons être plus agressifs quant à l'abandon de la prise en charge des anciennes versions. Cependant, nous devons faire attention à ne pas dépasser ce que les empaqueteurs en aval prennent en charge (car la plupart d'entre eux exécutent les tests et construisent la documentation dans le cadre du processus d'empaquetage).

Nous prendrons en charge au moins les versions mineures des dépendances de développement publiées dans les 12 mois précédant notre publication prévue.

Nous ne les augmenterons que si nécessaire ou les versions ne prennent plus en charge notre Python et NumPy minimum.

Dépendances système et C #

Pour les dépendances système ou C (FreeType, frameworks GUI, LaTeX, Ghostscript, FFmpeg) une prise en charge aussi ancienne que possible. Ceux-ci peuvent être difficiles à installer pour les utilisateurs finaux et nous voulons être utilisables sur autant de systèmes que possible. Nous les relèverons au cas par cas.

Liste des versions de dépendance #

La liste suivante montre les versions minimales des dépendances Python et NumPy pour différentes versions de Matplotlib. Suivez les liens pour la spécification complète des dépendances.

Matplotlib

Python

NumPy

3.6

3.8

1.19.0

3.5

3.7

1.17.0

3.4

3.7

1.16.0

3.3

3.6

1.15.0

3.2

3.6

1.11.0

3.1

3.6

1.11.0

3.0

3.5

1.10.0

2.2

2.7, 3.4

1.7.1

2.1

2.7, 3.4

1.7.1

2.0

2.7, 3.4

1.7.1

1.5

2.7, 3.4

1.6

1.4

2.6, 3.3

1.6

1.3

2.6, 3.3

1.5

1.2

2.6, 3.1

1.4

1.1

2.4

1.1

1.0

2.4

1.1