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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: polygphys-6.0.9.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.9.tar.gz
Algorithm Hash digest
SHA256 d996e5687945f82310a96f2eca97fba0e75fa50122ac9a2502a851f071c66763
MD5 9c33e93f9033593b4ff676ff8f070846
BLAKE2b-256 0b23a3ce882e9d68c10fe9fec960ae130eb56e06c2222fc9ff88554112e61672

See more details on using hashes here.

File details

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

File metadata

  • Download URL: polygphys-6.0.9-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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 eb69035a04fe511b0bee04e54104d9c80c282af45589874c2d6df246cf218036
MD5 5401e8e82f0660123e20da428804789b
BLAKE2b-256 6aa7cd1bdc5d4567f448c30c49f7d661a20d6ebcf797c2d04f9c42072656685e

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