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

Uploaded Source

Built Distribution

polygphys-6.0.22-py3-none-any.whl (73.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: polygphys-6.0.22.tar.gz
  • Upload date:
  • Size: 65.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.0

File hashes

Hashes for polygphys-6.0.22.tar.gz
Algorithm Hash digest
SHA256 c6ae5f6f09dee055a1f268c0d36134119b1017d6a338500e0a1a77877ece08eb
MD5 0701d3b7b4de3275a7ee8ff4375228f0
BLAKE2b-256 564bf59cc7b09041fe8c434e4112a027da16ea3624d10ced12f85dfc64aaedec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: polygphys-6.0.22-py3-none-any.whl
  • Upload date:
  • Size: 73.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.0

File hashes

Hashes for polygphys-6.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 7f741fdb1bb2eb83837f743245cae014d2724c719f89e6a8f4dc55b256a5fb89
MD5 88951ea78a3561c97538b11b16c28e75
BLAKE2b-256 b03ddee7e222dbc832b3ed827ad09e2411cb4121d0523b01223d12fadb0eab15

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