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

Uploaded Source

Built Distribution

polygphys-6.0.15-py3-none-any.whl (71.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: polygphys-6.0.15.tar.gz
  • Upload date:
  • Size: 65.2 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.15.tar.gz
Algorithm Hash digest
SHA256 6d31b1ee9ae5b71626e6eb0f079b0635d84d0f6953ca0c758d0d527fdf029f01
MD5 3ca4615e7c97f3c3cc24a6b9ff89277e
BLAKE2b-256 a2c023698297c6b3264010797649b0fe47e4ee59e480feca3af222fd854c1ae4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: polygphys-6.0.15-py3-none-any.whl
  • Upload date:
  • Size: 71.1 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.15-py3-none-any.whl
Algorithm Hash digest
SHA256 9bb65747fe61160b25ed52d83bc0cd5ac17d74c94b7e9c9e219a26f2073fd659
MD5 c852f20bdda03285a4baf68614da908e
BLAKE2b-256 2a4946875eb42c7f18b13f32d9ec2a278616a19558a25109a747afc1121d7ffe

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