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.13.tar.gz (65.2 kB view details)

Uploaded Source

Built Distribution

polygphys-6.0.13-py3-none-any.whl (88.8 kB view details)

Uploaded Python 3

File details

Details for the file polygphys-6.0.13.tar.gz.

File metadata

  • Download URL: polygphys-6.0.13.tar.gz
  • Upload date:
  • Size: 65.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for polygphys-6.0.13.tar.gz
Algorithm Hash digest
SHA256 372c0e5679eaaebeb5389733a5548bf63519f376bbb039ea2a3758d6f600e409
MD5 e4b0356747b7b7c2defca1e229f6806b
BLAKE2b-256 320a955dccfa5225baee1dfb2788bd5abc31874e1326d9667581912ce44e2baa

See more details on using hashes here.

File details

Details for the file polygphys-6.0.13-py3-none-any.whl.

File metadata

  • Download URL: polygphys-6.0.13-py3-none-any.whl
  • Upload date:
  • Size: 88.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for polygphys-6.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 752be76a7c329a71a924b53fb33cd90ae5f103bfadce2af753e4f7cf4e0f5939
MD5 d55a9d8bf215d58ec8588e5b4b1565b0
BLAKE2b-256 d2f4e5c80b901accbd5bc599894fb016019f4c447e7892ccacb85862a7351c09

See more details on using hashes here.

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