Le CPC c'est très bientôt - quelques outils utiles pour coder avec PythonExtra
Posté le 16/08/2025 09:50
Pour celles et ceux qui auraient envie d'utiliser le langage Python pour programmer leur jeu pour le CPC#32 dont le thème sera révélé ce soir, nous vous rappelons que
PythonExtra (version 0.4.0 Beta) offre une alternative puissante aux diverses moutures officielles du Python Casio ou des implémentations tierces. PythonExtra depuis peu offre aussi un support des ClassPad fxCP400 et assimilés (ClassPad II) jailbreakés avec HollyHock2.
Références documentaires :
La première indication utile est bien sûr la documentation des divers modules offerts par PythonExtra pour supporter le matériel Casio et pour offrir des fonctions avancées de rendu graphique et de gestion des événements du clavier par exemple. La documentation est disponible sur
la forge Gitea de Planète Casio. La documentation est au format Markdown et est disponible en français et en anglais. Les modules suivants sont particulièrement détaillés :

le module
gint permettant d'avoir accès aux fonctions avancées et utlraoptimisée du noyau du même nom et utilisé dans la construction d'addins natifs avec le fxSDK de
Lephenixnoir

le module
casioplot qui constitue la librairie graphique standard des machines Casio

les modules Numworks
kandinsky,
ion et
time permettant de rendre les scripts Pÿthon NW compatibles avec votre Casio.
Il est à noter aussi le travail de documentation réalisé par
Phoebe de la communauté ClassPad HollyHock2 spécifiquement pour le développement de scripts dédiés à leurs machines de coeur. Ce support peut être retrouvé ici
Introduction to Python on ClassPad. Pour les afficionados (pas taper Lephé

),
Phoebe met aussi à disposition un
helper basé sur ChatGPT que vous pouvez interroger pour vous supporter dans vos développements sur ClassPad.
Préparation de vos ressources :
Les ressources de type
fonts ou
images utilisées par le module
gint de PythonExtra nécessitent une mise au format adhoc tel que décrit dans la documentation du module vue plus haut. Cette conversion se fait classiquement avec les outils associés au fxSDK, à savoir
fxconv que tous les développeurs C sur Casio de la communauté utilise classiquement.
Force est de constater que cela n'est pas "souple" pour les gens n'ayant pas cet outil, nous conduisons donc une expérimentation en mettant à disposition le temps du CPC#32 des outils prototypes permettant de convertir
online vos ressources. Vous pourrez récupérer vos script .py automatiquement ou un zip contenant tout ce qui vous sera nécessaire et tous les fichiers générés sur le serveur.
Les outils sont disponibles ici :

convertisseur de fontes de caractères :
PythonExtra online font converter

convertisseur d'images :
PythonExtra online image converter
Vous permettant ainsi de récupérer vos ressources converties directement importables dans vos scripts Python.
Ces outils seront disponibles jusqu'à la fin du concours. Etant en phase de test, n'hésitez pas à faire remonter vos impressions ainsi que les bugs éventuels sur ce fil, selon les retours, ces outils seront possiblement déployés dans le futur.
Simuler un ClassPad :
Si vous voulez tester vos programme sur ClassPad et que vous n'avez pas cette belle machine, pas de panique.
Phoebe (NDLR : et pas
Phoene comme initialement écrit

) nous met à disposition un super outils pour simuler cette machine pour le développement Python. Vous trouverez toutes les infos sur
le github correspondant ici. Pour info, c'est avec ce bel outil que j'ai pu vous faire les jolis screenshots et vidéo de la participation "ToSS Temple of the Spiral Serpent" lors de la Python Jam #2 ce printemps.
Citer : Posté le 16/08/2025 12:43 | #
Hello hello, "Phoene" est là !
Petite blague à part, le simulateur gint devrait être capable de fonctionner avec n'importe quel autre device, tant que vous connaissez les dimensions de son écran et comment bind les touches. Le choix de design fait dessus est de n'avoir qu'un seul fichier qui patch la runtime et simule globalement les méthodes et librairies. A noter que cet outil n'est pas parfait cependant, et il sera incapable de simuler précisément les performances sur un vrai device, ainsi que les petites différences avec python (par exemple l'accès à .__dict__ qui n'existe pas, il faut passer par getAttributes), un guide un peu complet (non officiel, pas vraiment à jour pour le moment sur les détails des modules car la plupart des infos sont directement sorties de MicroPython, mais mieux que rien du tout. Pour le guide officiel, voir ici) spécialement sur les optis et différences ici : PythonExtra genrst
J'en profite aussi pour ajouter un lien vers cette Template qui contient automatiquement tout ce qu'il faut pour développer avec PythonExtra dans VS Code, y compris un client vnc pour prévisualiser votre code sans besoin d'installer quoi que ce soit ! (Compte github requis)
Il devrait être assez simple d'adapter cette base pour votre modèle si vous n'avez pas peur de bricoler dans le gint.py !
Tout bug ou PB rencontré avec l'un de ces outils, des éléments manquants dans la doc, ou juste des idées à apporter sont les bienvenues ! Pour ceux qui préfèrent éviter GitHub, il en existe aussi un miroir sur gitea
Oh et, vous pouvez prendre des screenshots de haute qualité avec la touche impr écran depuis le simulateur gint, plutôt cool non ?
Bon concours à tous !
Citer : Posté le 16/08/2025 12:55 | #
Désolé Phoebe, je corrige la faute de frappe
Merci pour tes ajouts et surtout pour les docs et le simulateur, c'est top et permet de ne pas passer son temps à transférer des fichiers sur sa machine physique (ce qui est un peu laborieux)
Citer : Posté le 16/08/2025 17:18 | #
La doc PythonExtra est très sympa. Je préférerais cela dit que ce soit marqué comme non-officiel ; la doc maintenue officiellement étant sur le dépôt. Je n'ai jamais lu le genrst et je vois des choses qui ne sont pas alignées avec le code actuel, donc je préfère le souligner.
Citer : Posté le 16/08/2025 19:57 | #
Hello ! Je suis désolé je n'ai pas vraiment suivi Python Extra, mais est ce que ça fonctionne sur Math+ ?
Citer : Posté le 16/08/2025 20:05 | #
Oui ça fonctionne sur math+ aussi. Aucun problème.
Citer : Posté le 16/08/2025 20:47 | #
Pourtant je n'arrive pas à lancer l'addin... J'ai bien mpm d'installé, mais quand je clique sur Python Extra ça ne se lance pas
Citer : Posté le 16/08/2025 21:03 | #
As tu bien pris la dernière version dans le fichier zip indiqué ici : https://git.planet-casio.com/Lephenixnoir/PythonExtra/releases/download/pe-0.4.0-beta/PythonExtra-pe-0.4.0-beta.zip ?
Logiquement cette version fonctionne sans problème.
Citer : Posté le 16/08/2025 21:07 | #
Etant pris d'un doute je viens de réinstaller cette version sur ma Math+ et je peux confirmer qu'elle s'installe et fonctionne correctement.
Citer : Posté le 16/08/2025 21:08 | #
Oui c'est ce que j'ai fait. En tout cas la version que j'ai fonctionne sur ma 90+E
Citer : Posté le 16/08/2025 21:27 | #
Le G3A fonctionne indifféremment sur la Graph 90+E et sur la Graph Math+.
L'addin détecte la machine et ajuste ses paramètres en fonction du matériel (RAM, clavier, etc..) donc a priori il devrait aussi fonctionner sur ta Math+.
Si cela n'est pas le cas, il serait intéressant que l'on comprenne pourquoi car a priori cela n'est pas normal.
Citer : Posté le 16/08/2025 22:06 | #
La compatibilité Math+ pour PythonExtra a été ajoutée le 29 Mars, donc il te faut la dernière version, 0.4 : https://www.planet-casio.com/Fr/forums/topic17202-24-beta-pythonextra.html#199600 (ou compiler depuis dev)
Citer : Posté le 16/08/2025 22:43 | #
J'ai utilisé la version du lien de Slyvtt tout en haut de ce topic. Il me semble que c'est bien la 0.4
Citer : Posté le 17/08/2025 07:40 | #
Un gros merci à Redoste qui me signale un pb de sécurité sur le serveur pour la conversion d'images et de fontes.
Je coupe donc le service, ne soyez pas surpris, c'est "Out-of-Service" pour le moment.
Citer : Posté le 18/08/2025 09:58 | #
Edit: le serveur est remis en route après correction des problème.
Je tiens à remercier Redoste qui a testé et a su vraiment bien m'aider à remettre tout en ordre. En plus d'être hyper forte, c'est hyper sympa de sa part d'avoir fait de super propositions pour rendre le serveur sûr. Merci donc beaucoup à toi pour ton aide précieuse (et très bien documentée) ❤️❤️❤️
Vous pouvez donc à nouveau utiliser cette ressource.