Package: polygphys
Outils & programmes du département de génie physique de PolytechniqueInstallation via PyPI:https://pypi.org/project/polygphys/pip install polygphysDocumentation sur Read The Docs:https://polygphys.readthedocs.io/en/latest/Contributions via Github:https://github.com/ejetzer/polygphysPrérequis & conseilsLa version accessible parpippeut être utilisée telle quelle. Les branchesbetaetalphasont en développement actif, et ne devrait être utilisées queSi vous avez une bonne idée de la structure du programme;Si vous êtes capable de lire et déboguer duPythonSi vous avezPythond'installé, avec les modules décrits dansrequirements.txtSi vous pouvez utiliserGit**Pour toutes questions, svp envoyez un courriel àemile.jetzer@polymtl.caavec «[gestion-inventaire]» dans le sujet du courriel.InstallationL'installation de la version stable se fait viapip:pip install polygphysLe bon fonctionnement du sous-modulepolygphys.outils.appareilspourrait demander l'installation de logiciel supplémentaire, selon l'utilisation:L'installation des drivers VISA officiels de National InstrumentL'installation de drivers supplémentaires USB pour pyUSB.L'installation séparée de pylablib (selon le système d'exploitation)L'installation de drivers Keysight ou Agilent pour cetains adapteurs GPIB sur Windows.Voir lapage de référence de pyVISApour résoudre les problèmes causés par des drivers manquants.DéveloppementLe développement se fait sur les branchesalphaetbetaen général, parfois sur des branches spécifiques à certaines fonctionnalités. Pour s'en servir et les installer, il faut utilisergit:git clone https://github.com/ejetzer/polygphys.git
cd polygphys
git checkout alpha
pip install -e .La branchemainest gardée à jour avec la dernière version du programme. Les branchesv0servent à identifier les versions majeures. Si on utilise une version majeure particulière, la commandegit checkout v0permettra d'y accéder, puisgit pull origin v0la mettra à jour. Les versions mineures sont indiquées par des étiquettes de la formev0.0.0. Le second nombre indique les passesbetaet le troisième les passesalpha.À faireUniformiser et étoffer la documentation du module.Dans le sous modulepolygphys.outils.base_de_donnees:Filtrer par valeur dans des colonnesPermettre l'ajout de colonnes de l'intérieur de l'applicationPlacer la base de données dans son propre répertoire git externe, et automatiquement en faire des sauvegardesRendre les programmes exécutables avec un argument en ligne de commande & comme applicationDéfinir plus adéquatement les bases de données et leurs relationsPermettre d'ajouter des sections de configurationPermettre d'ajouter des champs de configurationRendre le logging plus compatible avec sqlalchemy.Retirer les logs sql, utiliser ceux de sqlalchemy à la place.Dans les sous modulespolygphys.laboratoires,polygphys.outils.appareilsetpolygphys.sst:Intégrer les applications externesCertificats laserPHS8302En général:Compléter la suite de testsGuide stylistiquePendant le code, il est important de garder en tête les principes énoncés
dans les documents suivants:PEP8, le guide stylistique de base pour le développement en Python
En fait, ces principes sont tellement importants que je recommande
d'utiliser le programmeautopep8qui peut formater un fichier
automatiquement.PEP20, le Zen de Python, des principes génériques de développement à favoriser quand c'est possible.Sphinxpour les chaines de documentation. Ça rend la compréhension future des programmes beaucoup plus facile. On se remerciera quand on sera vieux!Les noms de variables, modules, etc devraient suivreces conventions.Dans la mesure du pratique, les noms de classes, fonctions et variables devraient être en français, de même pour la documentation.Généralement, on veut aussi structurer les fichiers comme le documentexemple.py.