Skip to main content

Outils pour des programmes à l'interne du département de physique de Polytechnique Montréal.

Project description

Outils & programmes du département de génie physique de Polytechnique Python application CodeQL Upload Python Package Documentation Status

Prérequis & conseils

La version accessible par pip peut être utilisée telle quelle. Les branches beta et alpha sont en développement actif, et ne devrait être utilisées que

  • Si vous avez une bonne idée de la structure du programme;
  • Si vous êtes capable de lire et déboguer du Python
  • Si vous avez Python d'installé, avec les modules décrits dans requirements.txt
  • Si vous pouvez utiliser Git

**Pour toutes questions, svp envoyez un courriel à emile.jetzer@polymtl.ca avec «[gestion-inventaire]» dans le sujet du courriel.

Installation

L'installation de la version stable se fait via pip:

pip install polygphys

Le bon fonctionnement du sous-module polygphys.outils.appareils pourrait demander l'installation de logiciel supplémentaire, selon l'utilisation:

  1. L'installation des drivers VISA officiels de National Instrument
  2. L'installation de drivers supplémentaires USB pour pyUSB.
  3. L'installation séparée de pylablib (selon le système d'exploitation)
  4. L'installation de drivers Keysight ou Agilent pour cetains adapteurs GPIB sur Windows.

Voir la page de référence de pyVISA pour résoudre les problèmes causés par des drivers manquants.

Développement

Le développement se fait sur les branches alpha et beta en général, parfois sur des branches spécifiques à certaines fonctionnalités. Pour s'en servir et les installer, il faut utiliser git:

git clone https://github.com/ejetzer/polygphys.git
cd polygphys
git checkout alpha
pip install -e .

La branche main est gardée à jour avec la dernière version du programme. Les branches v0 servent à identifier les versions majeures. Si on utilise une version majeure particulière, la commande git checkout v0 permettra d'y accéder, puis git pull origin v0 la mettra à jour. Les versions mineures sont indiquées par des étiquettes de la forme v0.0.0. Le second nombre indique les passes beta et le troisième les passes alpha.

À faire

  1. Uniformiser et étoffer la documentation du module.

Dans le sous module polygphys.outils.base_de_donnees:

  1. Filtrer par valeur dans des colonnes
  2. Permettre l'ajout de colonnes de l'intérieur de l'application
  3. Placer la base de données dans son propre répertoire git externe, et automatiquement en faire des sauvegardes
  4. Rendre les programmes exécutables avec un argument en ligne de commande & comme application
  5. Définir plus adéquatement les bases de données et leurs relations
  6. Permettre d'ajouter des sections de configuration
  7. Permettre d'ajouter des champs de configuration
  8. Rendre le logging plus compatible avec sqlalchemy.
  9. Retirer les logs sql, utiliser ceux de sqlalchemy à la place.

Dans les sous modules polygphys.laboratoires, polygphys.outils.appareils et polygphys.sst:

  1. Intégrer les applications externes
    • Certificats laser
    • PHS8302

En général:

  1. Compléter la suite de tests

Guide stylistique

Pendant 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 programme autopep8 qui peut formater un fichier automatiquement.
  • PEP20, le Zen de Python, des principes génériques de développement à favoriser quand c'est possible.
  • Sphinx pour 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 suivre ces 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 document exemple.py.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polygphys-6.0.6.tar.gz (66.6 kB view hashes)

Uploaded Source

Built Distribution

polygphys-6.0.6-py3-none-any.whl (92.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page