close
    • chevron_right

      Auto Codebase Documenter – Pour documenter automatiquement votre code Python

      news.movim.eu / Korben · Tuesday, 12 September - 07:00 · 2 minutes

    Qui n’a jamais eu la flemme de documenter son code ?

    Auto Codebase Documenter est un outil que vous allez adorer puisqu’il tire parti de la puissance de GPT-3.5-turbo ou GPT-4 d’OpenAI pour évaluer et documenter automatiquement le code que vous avez pondu !

    Génial non ?

    En gros, au lieu de passer des heures à documenter la structure et les fonctionnalités de votre projet, vous allez pouvoir profiter des derniers beaux jours de l’année puisque l’outil s’occupe de tout pour vous. Pour paraphraser Sun Tzu dans L’Art de la guerre : « La meilleure documentation est celle qui se génère toute seule. »

    Pour commencer à utiliser Auto Codebase Documenter, il suffit d’installer le package depuis PyPI via la comande pip comme ceci :

    pip install auto-codebase-documenter

    Vous devrez également configurer un environnement Python approprié. Je suggère fortement d’utiliser un environnement virtuel (venv) . Voici comment procéder :

    1. Installez Python 3.9.16 ou supérieur.
    2. Vérifiez votre version de Python en exécutant python --version ou python3 --version .
    3. Créez un environnement virtuel dans le répertoire racine en utilisant la commande python -m venv venv .
    4. Activez cet environnement avec « source venv/bin/activate » (Unix ou MacOS) ou « venv\Scripts\activate » (Windows).
    5. Installez les dépendances nécessaires via la commande « pip install -r requirements.txt « .

    N’oubliez pas, vous aurez également besoin d’une clé API OpenAI pour exécuter des requêtes sur leur modèle IA.

    Une fois que vous aurez installé et configuré tout ce dont vous avez besoin, il sera alors temps de laisser Auto Codebase Documenter faire sa sorcellerie ! Vous pouvez l’utiliser en ligne de commande ou directement sous la forme d’une lib pour votre projet. Importez simplement la classe AutoCodebaseDocumenter et lancez-la avec la méthode process_all_files .

    import os
    from dotenv import load_dotenv
    from auto_codebase_documenter.AutoCodebaseDocumenter import AutoCodebaseDocumenter
    
    load_dotenv()  
    openai_api_key = os.getenv("OPENAI_KEY")
    
    documenter = AutoCodebaseDocumenter(openai_api_key)
    documenter.process_all_files()

    Et voilà, l’outil s’occupera du reste!

    Vous pouvez personnaliser le processus de documentation en éditant le fichier documenter_config.yaml et y modifier différents paramètres tels que le chemin d’accès au code, les dossiers à ignorer, les types de fichiers à inclure, et bien plus encore.

    Une des meilleures choses à propos de cet outil est la manière dont il organise et structure les fichiers Markdown (.md) générés dans un répertoire dédié appelé docs . La structure du répertoire « docs » reflète exactement celle de votre projet. Ainsi chaque fichier traité correspond à un fichier Markdown spécifique ! Cela fait gagner énormément de temps et facilite évidemment la lecture et la compréhension de votre projet.

    Ainsi, avec une documentation aussi claire et bien organisée, tout nouveau développeur rejoignant votre projet pourra se mettre au boulot beaucoup plus rapidement. Et pour les développeurs chevronnés qui souhaitent se lancer dans un processus de révision de code ou de refactoring, cela rendra les choses vraiment plus simples niveau compréhension.

    Enfin, pour ceux qui aiment travailler avec Docker, il suffit d’utiliser les fichiers Dockerfile et docker-compose.yml fournis, et construire le conteneur en utilisant la commande bash build_docker.sh . Vous pourrez ensuite l’exécuter avec la commande bash run_docker.sh .

    À découvrir ici

    • chevron_right

      Trdsql – Pour interroger des fichiers plats (CSV, JSON…etc) avec SQL

      news.movim.eu / Korben · Thursday, 7 September - 07:00 · 1 minute

    Voici un outil en ligne de commande fascinant qui va surement piquer votre curiosité en plus de vous rendre de grands services. Il s’agit de Trdsql , un programme écrit en Go qui permet d’exécuter des requêtes SQL sur des fichiers texte structurés tels que les CSV, TSV, LTSV, TBLN et JSON.

    A ce niveau, c’est sorcellerie messire !!

    Trdsql existe depuis un petit moment et est connu pour ses performances et ses capacités. Il peut par exemple utiliser de vraies requêtes SQL à partir de fichiers .sql , (que ce soit des requêtes MySQL ou PostgreSQL ).

    C’est une alternative avancée à q et textql , qui offrent également la possibilité d’exécuter des requêtes SQL sur des fichiers CSV et TSV structurés. Toutefois, Trdsql surpasse ses prédécesseurs en prenant en charge davantage de formats de fichiers, différentes options de sortie et en traitant les fichiers compressés.

    En plus de tous les formats de fichiers qu’il gère, il propose différents formats de sortie tels qu’une sortie brute, en table ASCII, en Markdown…etc. Un autre atout de Trdsql est qu’il peut être utilisé comme bibliothèque pour vos programmes Go, afin de traiter de gros fichiers sans soucis dans vos propres process.

    Prenez par exemple, un CSV contenant une liste de tâches dont vous voulez simplement extraire certaines informations spécifiques. Avec Trdsql, vous pourrez à l’aide d’une simple requête SQL, sortir les données souhaitées.

    trdsql "SELECT * FROM test.csv"

    Trdsql est très facile à utiliser et il est dispo sous Linux, Windows et macOS. Et bien sûr, vous pouvez le lancer via un conteneur Docker.

    C’est donc un outil précieux pour ceux qui travaillent avec des données structurées et des fichiers « plats ».

    N’hésitez pas à tester par vous-meme Trdsql en cliquant ici .

    • chevron_right

      Woman’s mystery illness turns out to be 3-inch snake parasite in her brain

      news.movim.eu / ArsTechnica · Monday, 28 August - 21:07 · 1 minute

    Detection of Ophidascaris robertsi nematode infection in a 64-year-old woman from southeastern New South Wales, Australia. A) Magnetic resonance image of patient’s brain by fluid-attenuated inversion recovery demonstrating an enhancing right frontal lobe lesion, 13 × 10 mm. B) Live third-stage larval form of Ophidascaris robertsi (80 mm long, 1 mm diameter) removed from the patient’s right frontal lobe. C) Live third-stage larval form of O. robertsi (80 mm long, 1 mm diameter) under stereomicroscope (original magnification ×10).

    Enlarge / Detection of Ophidascaris robertsi nematode infection in a 64-year-old woman from southeastern New South Wales, Australia. A) Magnetic resonance image of patient’s brain by fluid-attenuated inversion recovery demonstrating an enhancing right frontal lobe lesion, 13 × 10 mm. B) Live third-stage larval form of Ophidascaris robertsi (80 mm long, 1 mm diameter) removed from the patient’s right frontal lobe. C) Live third-stage larval form of O. robertsi (80 mm long, 1 mm diameter) under stereomicroscope (original magnification ×10). (credit: Emerging Infectious Diseases )

    A neurosurgeon in Australia pulled a wriggling 3-inch roundworm from the brain of a 64-year-old woman last year—which was quite the surprise to the woman's team of doctors and infectious disease experts, who had spent over a year trying to identify the cause of her recurring and varied symptoms.

    A close study of the extracted worm made clear why the diagnosis was so hard to pin down: the roundworm was one known to infect snakes—specifically carpet pythons endemic to the area where the woman lived—as well as the pythons' mammalian prey. The woman is thought to be the first reported human to ever have an infection with this snake-adapted worm, and it is the first time the worm has been found burrowing through a mammalian brain.

    When the woman's illness began, "trying to identify the microscopic larvae, which had never previously been identified as causing human infection, was a bit like trying to find a needle in a haystack," Karina Kennedy, a professor at the Australian National University (ANU) Medical School and Director of Clinical Microbiology at Canberra Hospital, said in a press release.

    Read 10 remaining paragraphs | Comments

    • chevron_right

      Excel gets containerized, cloud-based Python analytics and visualization powers

      news.movim.eu / ArsTechnica · Tuesday, 22 August - 17:15 · 1 minute

    Excel sheet showing advanced data visualizations

    Enlarge / If this kind of thing raises your eyebrows, there's a whole lot more inside a ribbon bar for you. (credit: Anaconda)

    If you’re decent in Python (or aspire to be) but don’t have the chops for advanced data work in Excel, Microsoft now offers the kind of peanut butter-and-chocolate combination that you may consider a gift. At least until it goes behind the paywall.

    Microsoft's Stefan Kinnestrand, writing about “the best of both worlds for data analysis and visualization,” writes that this public preview of Python in Excel will allow spreadsheet tinkerers to “manipulate and explore data in Excel using Python plots and libraries and then use Excel's formulas, charts, and PivotTables to further refine your insights.”

    Microsoft partnered with Python analytics repository Anaconda to bring libraries like Pandas, Statsmodels, and Matplotlib into Excel. Python in Excel runs on Microsoft’s cloud servers, and the company is touting the security that should offer . Python runs in isolated containers, with no access to devices, your network, or user tokens, Microsoft states. Python and Excel can only really talk to each other through limited functions—xl() and =PY()—that can only return code results, not macros, VBA code, or other data, Microsoft claims.

    Read 3 remaining paragraphs | Comments

    • chevron_right

      La reconnaissance faciale simplifiée avec la lib Python : Face Recognition

      news.movim.eu / Korben · Tuesday, 1 August - 07:00 · 2 minutes

    Vous êtes-vous déjà demandé comment utiliser de la reconnaissance faciale dans vos projets Python sans trop vous prendre la tête ?

    Ne cherchez pas plus loin ! Aujourd’hui, je partage avec vous cette bibliothèque de reconnaissance faciale vraiment top : face_recognition .

    Cette lib repose sur la pointe de la technologie en matière de reconnaissance faciale, notamment grâce à dlib . D’ailleurs, elle revendique une précision impressionnante de 99,38 % au benchmark Labeled Faces in the Wild .

    La bibliothèque face_recognition offre une panoplie de fonctionnalités : Elle détecte les faces sur les photos, repère les traits du visage (yeux, nez, bouche et menton) et reconnaît les personnes. Vous pouvez même combiner cette bibliothèque avec d’autres libs Python pour effectuer une reconnaissance faciale en temps réel.

    Pour l’installer, assurez-vous d’avoir Python 3.3+ ou Python 2.7, ainsi que macOS ou Linux. Ensuite, un simple

    pip3 install face_recognition

    … fera l’affaire !

    La bibliothèque est également compatible avec Docker , et, si vous rencontrez des problèmes d’installation, une machine virtuelle préconfigurée est à votre disposition. De plus, des instructions d’installation pour Windows, Rasberry Pi et FreeBSD sont également dispo sur la page Github.

    La bibliothèque face_recognition contient deux programmes en ligne de commande : face_recognition et face_detection .

    Le premier programme reconnaît les visages dans une ou plusieurs photos, tandis que le second trouve les positions des visages dans les images. Petite astuce, si vous obtenez plusieurs correspondances pour une même personne, essayez d’ajuster l’option --tolerance pour obtenir des résultats plus précis.

    Pour essayer le modèle de détection de visage basé sur l’apprentissage en profondeur, je vous invite à implémenter ce code . Vous pouvez également essayer ce code ici si vous avez de nombreuses images à traiter en batch. Cet autre exemple permet de localiser automatiquement les caractéristiques faciales des visages.

    Y’a de quoi bricoler !

    Le projet face_recognition contient également des exemples pour reconnaître des visages à partir d’une vidéo, créer un service Web pour la reconnaissance faciale via HTTP, ou utiliser un classificateur pour reconnaître des visages sur plusieurs images par personne.

    Intéressé par un exécutable autonome ? Comme d’habitude, PyInstaller est votre meilleur ami ! Cependant, une configuration personnalisée sera nécessaire pour fonctionner correctement avec cette bibliothèque.

    Il est bon de noter que cette technologie présente certaines limitations. Par exemple, la reconnaissance faciale fonctionne moins bien sur les enfants et peut varier entre les groupes ethniques. Pour plus de détails, vous pouvez consulter la page wiki qui vous expliquera tout à ce sujet.

    En somme, face_recognition est une bibliothèque open-source vraiment chouette permettant le développement de projets de reconnaissance faciale en Python. C’est une bonne opportunité pour vous lancer dans la création d’applications IA de reconnaissance faciale.

    À découvrir ici

    • chevron_right

      Trafilatura – Explorez et scraper le Web avec cet outil Python

      news.movim.eu / Korben · Friday, 9 June - 07:00 · 2 minutes

    Bonjour à tous ! Aujourd’hui, je vais vous parler d’un nouvel allié dans notre quête pour explorer et capturer l’immensité du web : Trafilatura .

    Cet outil open source codé en Python va vous permettre de collecter efficacement des textes sur des pages Web tout en simplifiant grandement la tâche des développeurs et utilisateurs. Plongeons ensemble dans les détails.

    Trafilatura est à la fois un logiciel en ligne de commande et une lib Python (+ R) développé pour répondre aux besoins spécifiques que sont le crawling mais aussi l’extraction et le traitement de texte à partir de sources Internet .

    L’outil est également capable de récupérer des métadonnées ou encore des commentaires issus des pages webs. L’idée derrière ce projet c’est réussir à ne pas se perdre dans cette jungle HTML en ne conservant que l’essentiel du contenu et en faisant abstraction du reste (sidebar, header, footer…etc). Le challenge ici est donc d’éliminer ces « éléments parasites » inutiles et de pouvoir accéder uniquement au contenu intéressant.

    Pour l’installer, c’est hyper simple avec pip :

    pip install trafilatura

    Et pour le code, voici un exemple d’utilisation :

    from trafilutura import fetch_url, extract
    
    downloaded = fetch_url('https://korben.info')
    result = extract(downloaded)
    print(result['content']) # Affiche seulement le contenu principal.

    Maintenant que vous avez une idée de ce à quoi sert Trafilatura, parlons un peu plus en détail des fonctionnalités dispo. Trafilatura est capable de gérer les sitemaps (txt et xml) ainsi que les flux (atom, json, rss). Vous pouvez lui donner des listes de liens à récupérer mais également filtrer certains contenus, voire les dé-dupliquer si besoin.

    Au niveau des sources, comme je le disais, il peut prendre en entrée une simple URL mais vous pouvez aussi lui passer directement le HTML. Il gère bien les demandes, ce qui évitera de se faire bloquer par les serveurs et vous pourrez lancer plusieurs récupérations en parallèle. Au niveau des données récupérées, je vous ai parlé des métadonnées et du texte, mais il peut aussi récupérer les liens, la mise en forme HTML et les commentaires des gens sur les pages.

    Au niveau de la sortie, il peut vous pondre du texte, du CSV, du JSON ou encore du XML.

    Vous pouvez également l’appeler directement depuis votre terminal comme ceci :

    trafilatura -u "https://korben.info"

    En résumé, Trafilatura est un outil vraiment intéressant pour tous ceux qui travaillent avec des données en provenance du web et qui veulent aller directement à l’essentiel.

    Source

    • chevron_right

      N’ayez plus peur de vous lancer dans l’apprentissage du Python avec ‘Code With Mu’

      news.movim.eu / Korben · Tuesday, 16 May - 07:00 · 1 minute

    Python c’est quand même un langage super cool et simple à prendre en main. Même les enfants peuvent s’y mettre, et ce serait dommage de vous en priver surtout que maintenant avec ChatGPT et services d’IA similaires, on peut arriver à ses fins beaucoup plus facilement et apprendre à coder beaucoup plus rapidement. Donc si l’envie irrésistible de vous mettre à la programmation Python vous attrape par surprise, j’ai l’outil parfait pour vous : Code with Mu !

    Code with Mu , c’est donc un éditeur Python conçu spécialement pour les futurs petits génies que vous allez devenir. Basé sur les retours d’enseignants et d’étudiants, il propose une interface totalement épurée pour ne pas effrayer ceux qui ont déjà peur des lignes de code et encore plus des IDE complexes.

    Alors, comment fonctionne ce truc ?

    Eh bien, Mu propose plusieurs « modes » pour s’adapter à différents projets. Le classique mode Python 3 évidemment mais également le mode Adafruit ou encore le mode BBC micro:bit pour pouvoir brancher du matériel et le programmer.

    Editeur de code python Mu

    Et si vous voulez apprendre à créer des jeux avec Pygame Zero, développer votre propre site web ou encore programmer des cartes électroniques ESP8266 et ESP32, c’est également possible.

    Mu vous tient par la main et vous montre comment faire tout ça, et bien plus encore, avec une nouvelle fois des tutos adaptés à votre niveau.

    Pour l’installer et le configurer, rien de plus simple :

    1. Installez-le sur votre système d’exploitation préféré (Windows, macOS ou Linux).
    2. Lancez Mu et laissez-vous guider par les tutoriels dispo sur le site web pour commencer à apprendre et réaliser vos premiers projets.

    Et le meilleur pour la fin : Mu est totalement gratuit !

    • chevron_right

      # Slidge — general purpose XMPP gateway framework in Python

      debacle · pubsub.movim.eu / berlin-xmpp-meetup · Tuesday, 9 May - 08:23 edit

    Slidge — general purpose XMPP gateway framework in Python

    We are very excited, that nicoco, the author of slidge, presents this amazing software!

    When? Wednesday, 2023-05-10 18:00 CEST (always 2ⁿᵈ Wednesday of every month)

    Where? In xHain hack+makespace, Grünberger Str. 16, 10243 Berlin

    The Jitsi link will be posted in our virtual room xmpp:berlin-meetup@conference.conversations.im?join when the meeting starts.

    #jabber #xmpp #community #xhain #freesoftware #berlin #meetup #federation #slidge #transport #gateway #python