Pyglet : Tout savoir sur la bibliothèque multimédia pour Python

-
5
 m de lecture
-

Découvrez tout ce que vous devez savoir sur la bibliothèque multimédia Pyglet pour Python, dédiée au développement de jeux vidéo et autres applications visuelles : présentation, avantages, tutoriel, formations...

Les jeux vidéo sont des applications très riches visuellement. Par conséquent, ils requièrent des outils de développement spécifiques et adéquats.

En 2006, le développeur australien Alex Holkner décide de créer une bibliothèque de développement de jeux et d’applications multimédias interactives en Python, focalisée sur le rendu graphique et la gestion de fenêtres, et utilisant les dernières technologies de rendu graphiques comme OpenGL pour des performances maximales. C’est ainsi que Pyglet a vu le jour.

Qu'est-ce que Pyglet ?

Pyglet est une bibliothèque multimédia pour Python. Elle est dédiée au développement de jeux vidéo, ou d’autres applications visuellement riche.

Elle permet le fenêtrage, la gestion d’événement d’interface utilisateur, et prend en charge les joysticks, les graphismes OpenGL, le chargement d’images et de vidéos, ou encore la lecture de sons et de musique.

Au fil des années, plusieurs versions de Pyglet ont été créées pour améliorer les fonctionnalités et performances. En 2011, Alex Holkner a publié la version 1.2.4 avant de se retirer du projet.

Depuis lors, Pyglet est maintenu par une communauté de développeurs passionnés qui ont continué à améliorer cette bibliothèque. Ils ont ajouté de nouvelles fonctionnalités, corrigé des bugs et amélioré la compatibilité avec les dernières versions de Python et des autres plateformes prises en charge.

La version 2.0 de Pyglet a apporté plusieurs nouvelles fonctionnalités. Toutefois, certaines applications développées à l’aide de l’outil ont cessé de fonctionner et les développeurs ont dû se rabattre sur la version précédente via la branche pyglet-1.5-maintenance.

L’une des forces de Pyglet est sa large communauté de développeurs et d’utilisateurs. En cas de bug, il est possible de signaler le problème via GitHub ou Discord pour qu’il soit résolu rapidement.

Les avantages de Pyglet

Pyglet comporte de nombreux avantages. Tout d’abord, il n’a aucune dépendance externe et ne nécessite pas d’installation. Pour la plupart des jeux et applications, il n’y a besoin que de Python. La distribution et l’installation sont fortement simplifiées, et le packaging est facile à l’aide d’un freezer comme PyInstaller.

Les applications créées avec Pyglet peuvent prendre en charge de multiples fenêtres et écrans d’ordinateur, ce qui est très utile pour les jeux vidéo.

Il est également possible de charger des images, sons, musiques et vidéo dans presque n’importe quel format. Les formats standards comme wav, png, bmp sont pris en charge nativement, et le FFmpeg optionnel ajoute la compatibilité avec les formats audio comme MP3, OGG/Vorbis et WMA ou les formats vidéo comme MPEG2, H.264, H.265, WMV et Xvid.

Un autre point fort de Pyglet est d’être écrit entièrement en Python pur. Un module ctypes est utilisé pour l’interface avec les bibliothèques système. Il est possible de modifier la base de code ou d’apporter une contribution sans passer par la compilation d’un second langage.

Enfin, il s’agit d’un outil open-source sous licence BSD. Tout le monde est libre de l’utiliser pour des projets commerciaux ou open-source avec très peu de restrictions.

Comment installer Pyglet ?

Pyglet est basé sur Python 3.8+, et fonctionne aussi avec d’autres interpréteurs Python tels que PyPy. Il est compatible avec Windows 7 ou supérieur, macOS 10.3 ou supérieur, et Linux avec les bibliothèques OpenGL et GLX, GDK 2.0+ ou Pillow (pour les images autres que PNG et BMP), ou OpenAL et Pulseaudio (nécessaire pour la lecture audio).

À partir de Pyglet 2.0, OpenGL 3.3+ est indispensable. Pour jouer une large variété de fichiers audio et vidéo compressés, il est possible d’exploiter FFmpeg.

Pour installer pyglet depuis PyPi, il suffit d’entrer la commande « pip install –upgrade –user pyglet ». Pour une installation depuis une distribution source, entrez la commande « python setup.py install –user ».

Depuis Github, il est possible de télécharger la dernière version en développement avec la commande « pip install –upgrade –user https://github.com/pyglet/pyglet/archive/master.zip ».

Enfin, pour le développement local, vous pouvez installer pyglet en mode éditable avec :

« # with pip pip install -e .

# with setup.py python setup.py develop ».

En guise d’alternative, le directoire peut être directement ajouté au PYTHONPATH pour utiliser pyglet sans l’installer. Il est aussi possible de copier Pyglet directement dans le dossier du projet.

Comment contribuer à Pyglet ?

Il existe plusieurs façons de contribuer au projet Pyglet. Vous pouvez notamment améliorer la documentation associée au code sur lequel vous travaillez si vous estimez qu’elle n’est pas suffisamment claire.

Afin d’apporter une contribution, les créateurs de Pyglet recommandent de créer une fork du dépôt de code officiel et de vérifier la branche que vous souhaitez modifier. Appliquez ensuite les changements à la fork, et soumettez une pull request décrivant les modifications effectuées.

Au moment de faire une requête de tirage, vérifiez que vous avez adressé la documentation correspondant dans les docstrings du code et dans le guide de programmation. Il est essentiel que la documentation corresponde toujours au code le plus récent. En guise d’alternative, vous pouvez créer un patch et le soumettre au traqueur de problème.

Les différences entre Pyglet et PyGame

PyGame est une autre bibliothèque Python dédiée au développement de jeux vidéo. Elle permet aux développeurs de créer des jeux et autres applications multimédias interactives en utilisant le langage Python.

On retrouve notamment des outils pour gérer l’affichage graphique, le son, ou encore les entrées clavier et souris. C’est une bibliothèque open source, gratuite et multiplateforme pouvant être utilisée par les développeurs sur une large variété de systèmes d’exploitation dont Windows, macOS et Linux.

Elle est créée pour simplifier et accélérer le développement de jeux en Python, grâce à des fonctionnalités comme la création de fenêtres, la manipulation d’images, la lecture de sons et la gestion des événements.

Même si Pyglet et PyGame sont deux bibliothèques Python dédiées au développement de jeux et autres applications multimédias, elles comportent plusieurs différences.

D’abord, outre Python, Pyglet utilise aussi C pour certaines fonctions de rendu. Ce n’est pas le cas de PyGame qui utilise uniquement le langage Python.

En outre, PyGame fournit une plus large gamme de fonctionnalités pour la gestion du son, de l’animation, de l’affichage graphique ou encore des entrées utilisateur. De son côté, Pyglet se focalise principalement sur le rendu graphique et la gestion de fenêtres.

Concernant le rendu graphique, Pyglet utilise des technologies de rendu modernes comme OpenGL offrant de meilleures performances. PyGame se contente des surfaces et des blits et s’avère donc moins performant pour les graphismes en 3D.

En revanche, PyGame prend en charge une plus large variété de plateformes comme iOS et Android. Même si Pyglet est principalement dédié à Windows, macOS et Linux, il reste possible de l’utiliser sur d’autres plateformes.

En conclusion, PyGame est plus complet et polyvalent tandis que Pyglet se concentre davantage sur le rendu graphique et les performances. Le choix entre ces deux options dépend des besoins spécifiques de chaque projet, mais aussi des préférences du développeur.

Conclusion : Pyglet, un outil incontournable pour le développement d'applications multimédia en Python

Les nombreuses fonctionnalités de Pyglet en font un précieux atout pour le développement de jeux vidéo et autres applications multimédia en Python.

Afin d’apprendre à manier Python et Pyglet, vous pouvez choisir DataScientest. Nos différentes formations comportent un module d’introduction au langage Python et son écosystème de bibliothèques.

Tous nos cursus s’effectuent à distance via le web, et permettent d’acquérir les compétences des métiers de la data science comme Data Analyst, Data Engineer, Data Scientist, Machine Learning Engineer ou Data Product Manager.

Notre organisme est reconnu par l’Etat, et éligible au Compte Personnel de Formation pour le financement. N’attendez plus et découvrez DataScientest !

Vous savez tout sur Pyglet. Pour plus d’informations sur le même sujet, découvrez notre dossier complet sur Python et notre dossier sur PyGLK.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?