Read issue #1 of Daily Digest, by Mailbrew Team.
Friday May, 2024
I built a pipeline sending my wife and I SMSs twice a week with budgeting advice generated by AI

What My Project Does: I built a pipeline of Dagger modules to send my wife and I SMSs twice a week with actionable financial advice generated by AI based on data from bank accounts regarding our daily spending. Details: Dagger is an open source programmable CI/CD engine. I built each step in the pipeline as a Dagger method. Dagger spins up ephemeral containers, running everything within its own container. I use GitHub Actions to trigger dagger methods that; retrieve data from a source filter for new transactions Categorizes transactions using a zero shot model, facebook/bart-large-mnli through the HuggingFace API. This process is optimized by sending data in dynamically sized batches asynchronously.  Writes the data to a MongoDB database Retrieves the data, using Atlas search to aggregate the data by week and categories Sends the data to openAI to generate financial advice. In this module, I implement a memory using LangChain. I store this memory in MongoDB to persist the memory between build runs. I designed the database to rewrite the data whenever I receive new data. The memory keeps track of feedback given, enabling the advice to improve based on feedback * This response is sent via SMS through the TextBelt API Full Blog: Video Demo: GitHub Repo: Audience: Personal project (family and friends) Comparison: We have too many budgeting apps and wanted to receive this advice via SMS, personalizing it based on our changing financial goals

I made a small Python script that uses NASA'S APOD API to set cool backgrounds on a Windows machine # What my project does NASA has a ton of accessible API's, one of which being the APOD (Astronomy Picture Of the Day) API. I made a script to get the last 9 pictures of the day and set them as my Windows 10 background, and then used task scheduler to have the script re-run every day at noon and whenever the computer boots up. It's fairly hard coded for my setup (specific file paths, 1920x1080 monitor, etc), but it shouldn't be too hard to change if one wanted to. # Target audience Anyone who likes space backgrounds # Comparison Idk, automod made me put this section

MyTimer v1.3: A Geeky Timer for Terminal Enthusiasts

GitHub Repo: My Project Does:MyTimer is a Python CLI project that provides a simple, efficient timer for terminal users, particularly targeting the geek community. It allows users to set timers directly from their command line interface, offering a distraction-free experience. mytimer --hour=12 --minute=34 --second=56 --alarm --alarm-repeat=5 ___ _ () (_ \ ( \ | | () (_)(_) ) ) _) )| |_ | | / / () (_ ( | | () ( \ | \ | | | (_

JSX Syntax inside Python files. (Packed)

There was a JSX-style syntax preprocessor for Python called "Packed," which allowed us to write JSX inside Python (*.pyx and *.py) files. It's unclear why they chose *.pyx for the file extension, as it conflicts with the naming of Cythonic file extensions (I have checked their issues). This project might have thrived with sufficient contributions and could have changed the way apps are built. However, the project is now archived on GitHub. The last commit was 5 years ago (LICENSE), and the last development commit was 9 years ago. This repository needs someone to revive it, but I don't have enough experience to take on that task. Even though I don't have enough information, we should start with Rust + Python to build a compiler (aka. template replacer) (this doesn't compile Python but replaces all JSX with a dictionary) and cleaner syntax. Integration with Django (Packed has an example too), Flask, FastAPI, Robyn etc. We may also need plugins for the language server, I recommend supporting with &grave.pyh&grave or &grave.psx&grave (a fork renamed name) the extension file name (Derived from Python + HTML). VSCODE and NVIM Extensions are required to build support for this. The existing modern syntax of native Python will continue to support this syntax. I made a Handlebars Extension for the community back in the day of 2022 but I don't want to continue the development for it because later I disliked the syntax of handlebars (opinion, you're point of view may contrast with my thoughts). We can use emmet for writing easy HTML. @packed def tag(self): share = getsharelink() return <a href={share}>Share on internet</a> The main point of view is that somehow make returnable components as 👆 instead of doing this 👇 def app(): return div(div(p("Hello World")),span("Not a Good Approach for someone (opinion)"))

I made python audioplayer with FFmpeg and Qt6

Midnight Player - a simple python audiplayer for playing audio What My Project Does: My project is just an audio player for playing music, it can play audio from folders, supports different audio formats like Flac, Mp3 and can show some information about the track. Player uses subprocess to access ffmpeg, then it decodes the audio file into pcm format, then plays this file using sounddevice library. the use of these libraries is to ensure that the audio file does not lose quality during processing. Target Audience: This project was made to increase experience in python programming and to understand how the audio playback process works, but the project is also useful for people who are interested in learning the structure of the audio player as it is open source. Comparison: First of all you should understand that this player is not trying to compete with large-scale projects like AIMP because I developed this project alone and the project was written in a short period of time. But if you compare with other python audio players on github you will notice that many people use wrong libraries like qmediaplayer or pygame mixer to create their audio player, which are not designed for wide support of audio formats, my project is much more complex to operate audio file. Packages and source code can be found here:

Friday Daily Thread: r/Python Meta and Free-Talk Fridays

Weekly Thread: Meta Discussions and Free Talk Friday 🎙️ Welcome to Free Talk Friday on /r/Python! This is the place to discuss the r/Python community (meta discussions), Python news, projects, or anything else Python-related! ## How it Works: 1. Open Mic: Share your thoughts, questions, or anything you'd like related to Python or the community. 2. Community Pulse: Discuss what you feel is working well or what could be improved in the /r/python community. 3. News & Updates: Keep up-to-date with the latest in Python and share any news you find interesting. ## Guidelines: All topics should be related to Python or the /r/python community. Be respectful and follow Reddit's Code of Conduct. ## Example Topics: 1. New Python Release: What do you think about the new features in Python 3.11? 2. Community Events: Any Python meetups or webinars coming up? 3. Learning Resources: Found a great Python tutorial? Share it here! 4. Job Market: How has Python impacted your career? 5. Hot Takes: Got a controversial Python opinion? Let's hear it! 6. Community Ideas: Something you'd like to see us do? tell us. Let's keep the conversation going. Happy discussing! 🌟

Twitter, RSS, YouTube, Newsletters, Weather, Calendar, ...

You can customize this digest to include all the sites and sources you want.