Python Weekly (Issue 615 August 31 2023)

Python Weekly - Issue 615

Python Weekly

Welcome to issue 615 of Python Weekly. Let's get straight to the links this week.

News

Being authorized as a CNA is one milestone in the Python Software Foundation's strategy to improve the vulnerability response processes of critical projects in the Python ecosystem. The Python Software Foundation CNA scope covers Python and pip, two projects which are fundamental to the rest of Python ecosystem.

Articles, Tutorials and Talks

Learn how to build your own large language model, from scratch. This course goes into the data handling, math, and transformers behind large language models. You will use Python.

In this first part of the series, we'll start by motivating the Mandelbrot problem and why it’s a good candidate to measure performance. We will then describe some basic optimizations you can do in Mojo to get faster performance over Python code. Finally, we will compare our optimized implementation in Mojo against both pure-Python code and Python code using the NumPy library, and discuss why high-performance libraries like NumPy and other programming frameworks are not best suited to handle this problem. 

  • Part 2 - In the part 2, we continue our optimization journey and describe how to go from 90x to 26,000x speedup over Python. We will share insights into the techniques we use and discuss why Mojo is well positioned to address them. In the upcoming and final part 3, we'll wrap this series up by showing you how you can get well over 35,000 speedup over Python.

A detailed examination of Python 3.12's internal changes featuring the concept of 'immortal' objects, for performance enhancements.

One of my favourite patterns in the Python programming language is the "dictionary dispatch" pattern. This pattern is when you have a dictionary with string keys and functions as values. These functions can then be called concisely. This is useful if you have a range of functions to which different values can be applied that all accept (around) the same arguments.

This article will walk you through some of the basic concepts of vector databases, and we will build an end to end artwork similarity search project using Qdrant Vector database and Streamlit.

Single Photon Emission Computed Tomography (SPECT) is a medical imaging method using radioactive biomolecules to emit high-energy photons, detected by a gamma camera. The Simmond Monte Carlo program simulates SPECT scanners, customizable via "Sim in" and "change" commands, with a tutorial video explaining parameter adjustments, scatter effects, and comparison to real scans.

The Git log command can be customized to display the information you want to see. This article shows you how to customize the Git log command using different formatting options.

The article discusses Facebook's approach to scheduling Jupyter notebooks for automated data analysis and security auditing, emphasizing the challenges faced and the system's architecture to ensure efficiency and security in their workflow automation.

How Jupyter executes, inspects, completes and debug code.

Interesting Projects, Tools and Libraries

Build and embed open-source AI Copilots into your product with ease.

Dara is a dynamic application framework designed for creating interactive web apps with ease, all in pure Python.

Dataherald is a natural language-to-SQL engine built for enterprise-level question answering over structured data. It allows you to set up an API from your database that can answer questions in plain English

A collection of automations and experiments exploring the applications of generative AI in Marketing, SEO, and Public Relations

pykoi is an open-source python library for LLMs providing a unified interface for data & feedback collection, RLHF, and model comparisons.

Alfred is a advanced OSINT information gathering tool.

Create charts in Python and Matplotlib with ChatGPT directly in your code. It works with Python scripts and notebooks.

FastAPI scraper for LinkedIn, Indeed & ZipRecruiter with Google Sheets integration.

Data encryption at rest and IAM for Python.

AttackGen is a cybersecurity incident response testing tool that leverages the power of large language models and the comprehensive MITRE ATT&CK framework. The tool generates tailored incident response scenarios based on user-selected threat actor groups and your organization's details.

New Releases

Upcoming Events and Webinars

There will be following talks

  • Turning your Data/AI algorithms into full web apps in no time with Python

  • 10 rules on how to mess up your ML implementation

  • Finetuning LLaMA on custom dataset in 3 steps

  • Using Python in Evidence Based Policing - Successes and Challenges

There will be a talk that will explore leveraging the power of small JavaScript frameworks like HTMX and AlpineJS, and Python's new asynchronous capabilities to create web applications with a significantly improved user experience.

There will be a talk, Embeddings in Machine Learning.

There will be a talk, Data-driven releases in regulated environments ! How can we increase developer satisfaction and joy of the job.

There will be following talks

  • The new NumFOCUS program prioritizing the place of open-source software in scientific discovery (OSSci)

  • Current Methods in AI for Drug Discovery

There will be following talks

  • Secure MLOps with MLFlow simplifying integration tests at NS

  • Practical use of MLOps tools for automated visual inspection

  • Collaborative picking guided by Deep Reinforcement Learning

Our Other Newsletters

 - A free weekly newsletter for programmers.

- A free weekly newsletter for entrepreneurs featuring best curated content, must read articles, how to guides, tips and tricks, resources, events and more.