Un plugin pytest pour démarrer une instance Netbox lors de vos suites de test
by David Delassus from Linuxfr.org
https://github.com/link-society/pytest-netbox-dockerCommentaires : voir le flux Atom ouvrir dans le navigateur
Commentaires : voir le flux Atom ouvrir dans le navigateur
Bonjour et déjà merci pour votre aide.
Par ailleurs, je ne sais pas si je suis au bon endroit pour poser ma question… si pas mes excuses et merci de me donner des pistes de réflexions.
Voici donc mon problème : je pense que mon logiciel Python est installé au mauvais endroit voici le path ~/.cache/activestate/bin
Quand je veux utiliser pip install pour ajouter des bibliothèques, le système m'envoie des erreurs.
Quand je veux passer à la version python3.13 et que je lui demande de l'installer dans un répertoire :~/PYTHON$, je me retrouve avec la version 3.10.
J'avoue que je suis un peu perdu Pourquoi mon programme est-il dans un répertoire caché (/.cache) serait-ce la cause du problème et comment puis-je disposer de la dernière version de Python et pouvoir utiliser les extensions via pip ?
Pour information, je suis sous UBUNTU 24.4 et je programme en Python via VSCode
Commentaires : voir le flux Atom ouvrir dans le navigateur
Hello,
Prochain meetup Python à Lyon jeudi 20 mars à 19h !
Emma nous parlera des outils utilisant Python dans la typographie, de la conception à la post-production ![]()
Pour ce meetup, nous sommes accueillis par LeBureau.coop (métro Jean Macé).
Python dans la typographie: de la conception à la post-production
2025-03-20 19:00 (Europe/Paris) → 2025-03-20 21:00 (Europe/Paris)
1 message - 1 participant(e)
Commentaires : voir le flux Atom ouvrir dans le navigateur
Commentaires : voir le flux Atom ouvrir dans le navigateur
Rejoignez Makina Corpus en tant que Chef-Cheffe de projets web spécialisé(e) dans les domaines du climat, de l’agriculture et de l’environnement. Intégrez une équipe engagée qui développe des solutions numériques innovantes en combinant cartographie, intelligence artificielle et analyse de données pour répondre aux enjeux environnementaux majeurs.
Vous travaillerez sur des projets qui font sens tels que la gestion d’espaces naturels et l’aménagement du territoire, en accord avec nos valeurs historiques : logiciels libres, respect de l’humain et engagement écologique. En tant que membre de notre équipe, vous participerez activement à la conception et à la coordination de projets web d’envergure, tout en bénéficiant d’un environnement de travail stimulant qui valorise la collaboration et l’innovation. Si vous êtes motivé par l’idée de contribuer à des projets ayant un impact positif sur le monde, nous serions ravis de vous accueillir chez Makina Corpus.
Découvrez quelques uns de nos projets : Références | Makina Corpus, et retrouvez-nous sur Welcome To The Jungle (Makina Corpus : photos, vidéos, recrutement).
Vous intégrerez un pôle interdisciplinaire (chefs de projets, ergonomes, graphistes, développeurs Back/Front/Mobile, SIG, DBA…) réparti entre Toulouse, Nantes et Paris, au sein duquel vous aurez pour mission de piloter les projets de nos clients et de participer de façon active au développement commercial.
Vos missions consisteront à :
Nous mettrons en place un plan de formation et un accompagnement par plusieurs chefs de projets adapté pour vous permettre d’acquérir rapidement une très bonne connaissance de l’entreprise, son activité et son environnement, et de vous approprier et maîtriser le s techniques de gestion de projet web exigeants.
Ce poste est ouvert au télétravail partiel (jusqu’à 3 jours/semaine).
Vous maîtrisez les méthodes et outils de gestion de projets web complexes et techniques, et possédez une expérience de minimum 2 ans sur ce type de poste.
Vous possédez un background technique dans le développement web.
Vous avez une appétence commerciale et idéalement une expérience dans la réponse à appels d’offres.
Nous ne précisons pas de diplôme ou de niveau d’études minimum car nous attachons avant tout de l’importance aux compétences et à la passion du métier.
Dans la ruche collaborative Makina Corpus, on dit ce qu’on fait : les makiniens évoluent dans une ambiance motivante et stimulante (projets et contrib opensource, participations encouragées à des évènements/meetup, émulation entre experts passionnés, technos innovantes à tester, veille…) et contribuent aux valeurs humaines ancrées dans l’ADN de l’entreprise (environnement, équilibre vie pro/vie privée, collaboratif, télétravail…).
Mais surtout chez Makina on fait ce qu’on dit : vous avez besoin de le voir pour le croire ? Venez nous rencontrer, un.e makinien.ne pourra vous en parler ! Nos équipes sont mixtes, femmes et hommes du numérique nous vous attendons.
Écrivez-nous et racontez qui vous êtes et ce qui vous anime. Expliquez-nous en quoi vos motivations et vos compétences sont en adéquation avec nos valeurs et nos activités.
En savoir plus sur notre processus de recrutement :
Nous répondons à chacune des candidatures de manière personnalisée et dans un délai que nous essayons de rendre le plus raisonnable possible. Si votre candidature est sélectionnée, voici comment cela va se passer pour vous :
La décision finale sera prise collectivement par vos différents interlocuteurs. Tout au long du parcours, vous serez en lien direct avec Lise.
1 message - 1 participant(e)
Hyperfine est un outil en ligne de commande qui permet de mesurer et de comparer les performances d’autres commandes. Il est particulièrement utile pour évaluer la vitesse d’exécution de différentes commandes ou scripts, en fournissant des statistiques détaillées comme le temps moyen, l’écart-type, et la plage de temps d’exécution.
Ripgrep, souvent abrégé en rg, est un outil de recherche de texte ultra-rapide. Il est conçu pour parcourir rapidement des fichiers et des répertoires à la recherche de motifs spécifiques. Ripgrep est connu pour sa rapidité et sa capacité à ignorer les fichiers non pertinents, comme ceux dans les répertoires .git ou node_modules.
The Silver Searcher, ou ag, est un autre outil de recherche de texte, similaire à ack, mais plus rapide. Il est optimisé pour la recherche dans des projets de code, en ignorant automatiquement les fichiers et répertoires non pertinents. Bien qu’il soit rapide, il est souvent surpassé par rg en termes de performances.
Pour comparer les performances de rg et ag, nous pouvons utiliser Hyperfine avec la commande suivante :
hyperfine --warmup 3 'rg -i "Olivier" -g "*php*" .' 'ag -i "Olivier" -G "php"'
Les résultats montrent que rg est significativement plus rapide que ag :
rg a un temps moyen d’exécution de 256.6 ms.ag a un temps moyen d’exécution de 910.3 ms.En résumé, rg est environ 3.55 fois plus rapide que ag dans ce scénario.
La comparaison effectuée avec Hyperfine démontre clairement que rg est plus performant que ag pour la recherche de texte. Si la vitesse est un critère important pour vous, rg est donc un choix évident. De plus, rg offre une meilleure gestion des fichiers ignorés et une intégration plus fluide avec les outils modernes de développement.
Django a un chouette système de migrations pour répercuter sur la db les changements effectués sur les modèles.
Mais des fois, oups, on oublie de déclarer les nouvelles migrations.
Avec ce simple test case, vous pouvez détecter le problème via les tests unitaires et ainsi vous assurez que votre CI/CD ne déploit jamais du code où les modèles ne sont plus synchronisés par rapport à la db.
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
# Version 2, December 2004
#
# Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
#
# Everyone is permitted to copy and distribute verbatim or modified
# copies of this license document, and changing it is allowed as long
# as the name is changed.
#
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
#
# 0. You just DO WHAT THE FUCK YOU WANT TO.
from django.core.management import call_command
from django.test import TestCase
class MissingMigrationTestCase(TestCase):
def test_is_a_migration_missing(self):
try:
call_command("makemigrations", "--check", "--verbosity=0")
except SystemExit:
self.fail("You have updated the models but forget to create a migration.")
Démo :
$ ./manage.py test tests.windfit.models.test_missing_migration.MissingMigrationTestCase.test_is_a_migration_missing
Found 1 test(s).
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
F
======================================================================
FAIL: test_is_a_migration_missing (tests.windfit.models.test_missing_migration.MissingMigrationTestCase.test_is_a_migration_missing)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/jtremesay/projects/webfit/tests/windfit/models/test_missing_migration.py", line 8, in test_is_a_migration_missing
call_command("makemigrations", "--check", "--verbosity=0")
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jtremesay/projects/webfit/.direnv/python-3.13/lib/python3.13/site-packages/django/core/management/__init__.py", line 194, in call_command
return command.execute(*args, **defaults)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/home/jtremesay/projects/webfit/.direnv/python-3.13/lib/python3.13/site-packages/django/core/management/base.py", line 459, in execute
output = self.handle(*args, **options)
File "/home/jtremesay/projects/webfit/.direnv/python-3.13/lib/python3.13/site-packages/django/core/management/base.py", line 107, in wrapper
res = handle_func(*args, **kwargs)
File "/home/jtremesay/projects/webfit/.direnv/python-3.13/lib/python3.13/site-packages/django/core/management/commands/makemigrations.py", line 261, in handle
sys.exit(1)
~~~~~~~~^^^
SystemExit: 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/jtremesay/projects/webfit/tests/windfit/models/test_missing_migration.py", line 10, in test_is_a_migration_missing
self.fail("You have updated the models but forget to create a migration.")
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: You have updated the models but forget to create a migration.
----------------------------------------------------------------------
Ran 1 test in 0.246s
FAILED (failures=1)
Destroying test database for alias 'default'...
Commentaires : voir le flux Atom ouvrir dans le navigateur