Python Daily
2.57K subscribers
1.48K photos
53 videos
2 files
38.9K links
Daily Python News
Question, Tips and Tricks, Best Practices on Python Programming Language
Find more reddit channels over at @r_channels
Download Telegram
picows: Fast websocket client and server for asyncio

https://github.com/tarasko/picows

# What My Project Does

picows is a high-performance open-source python library designed for building asyncio WebSocket clients and servers. Implemented in Cython, it offers exceptional speed and efficiency, surpassing other popular WebSocket python libraries.

# Target Audience

Production

# Comparison

picows is 1.5\~2.0 faster than aiohttp and 2.5\~3.5 times faster than websockets in a simple echo test. See benchmark result on the project github page.

# Distinctive features

Maximally efficient WebSocket frame parser and builder implemented in Cython
Re-use memory as much as possible, avoid reallocations, and avoid unnecessary Python object creations
Provide Cython .pxd for efficient integration of user Cythonized code with picows
Ability to check if a frame is the last one in the receiving buffer

/r/Python
https://redd.it/1f1eydk
Adding sockets/channels to an existing DRF deployment that uses gunicorn

My app has gotten to the point where I need some kind of two way communication between the frontend client and backend DRF app. I suppose I can get away for a while with polling for new data/events, but this is more of a bandaid that probably won't scale well as the app grows.

Does anyone have any input on how to add this extra layer to the app? My API is deployed in an ECS cluster and runs with gunicorn, so I was thinking that I deploy another service that runs with daphne or something and just modify the load balancer to direct socket traffic to another target group - but I'm also wondering about the possiblity of modifying the existing service to use daphne or uvicorn or something instead and foregoing gunicorn.

Any input on running both? Or if it's better to stick to one approach?

/r/django
https://redd.it/1f1jxs1
Need Help with Hosting My First Flask Application on Apache - Seeking Advice



Hi everyone,

This is my first time hosting an application, and I could really use some guidance. I'll be hosting my Flask app on a physical server that's running Apache, but I'm a bit unsure about the best approach. Here are some of my main questions:

1. Apache vs. Gunicorn: Should I run Apache as a reverse proxy with a WSGI server like Gunicorn, or would it be sufficient to use Apache with mod_wsgi alone? What are the pros and cons of each setup?
2. Flask App Configuration: What specific code or configurations should I add to my Flask app to ensure it's production-ready? Are there best practices for setting environment variables, logging, and managing static files that I should follow?
3. Security Concerns: I've protected my routes from CSRF and used SQLAlchemy for my database interactions. I'm also considering using Flask-Talisman for enforcing HTTPS. Are there other critical security measures I should implement? What are some common security pitfalls I should avoid?
4. Critical Aspects of Hosting: What do you think are the most critical aspects I should focus on when hosting my app? Are there particular topics or technologies I should study to ensure my app is secure, reliable, and performant?
5. Deployment and

/r/flask
https://redd.it/1f0ujrz
What do you think: validating JSONFields with a DRF serializer on create and update

Hello all. I'm working on a project where I need to create a custom "data storage" model for a client. The model will consist mainly of a couple JSONFields and some relational fields. There is a need for the JSONFields to fulfill a schema, and I would like to enforce it at all times. I got an idea for it, but now I stopped to think whether it is reasonable.

Django JSONFields do not have a way to support serializers or schemas at the moment. My idea is to subclass the models.JSONField to take a serializer class as an argument, and run the validation in field.validate() function. I will create serializers for each of the fields. On model save and update and so on, I will call serializer.is_valid() for each of the JSONFields, and save serializer.validated_data on the fields. This would allow me to enforce the schema and check that all required data is present, and that no extra data is saved.

I will also create a custom manager class and a queryset class to run validation on update and bulk_update etc that do not use object.save().

What do you think, does this sound too crazy? Does it go against some conventions, is

/r/django
https://redd.it/1f1khwc
I love the Python community

Or maybe it’s just computer programming subreddits in general, but since I’ve only known Python I can really only comment on that.

Always sharing knowledge and supporting each other.

It’s quite literally what academia was always supposed to be about. The pursuit of greater knowledge, by all and for all.

/r/Python
https://redd.it/1f1kjpl
Our pre-commits enforce single-quotes. Is that horrible or is it just me?

I'm working in a bunch of repos that have a pre-commit that automatically turns double-quoted strings into single-quoted strings. Including the ones that are there because previous committers (somewhat understandably) didn't use the pre-commit, and ones that are there because I used the default vscode formatter (I believe other formatters generally have no preference or enforce double-quotes, by default). I'm finding it one of the more annoying aspects of working in these repos.

If you're working on your own then obviously do what thou wilt, but for teams of people working in multiple projects / repos (that may employ more normal policies) it seems downright antisocial. Or, maybe there's some niche where this is SOP? AITA?

Edit: Is this one of those subs where everything gets randomly downvoted, or do people actually hate this?

Edit2: To be clear, I'm 100% in favour of pre-commit hooks. I just would rather they enforced (what seems to me to be) the convention, rather than the opposite of it.

Edit3: Hard to know exactly what to make of the mass downvotes and slew of contradictory unsolicited advice. I think maybe my main takeaway is that single-quotes have a lot more fans than I was aware of. Thanks

/r/Python
https://redd.it/1f1mica
I just finished working on my biggest coding project, and It's for creating content using automation!

I've been working for the last two months on my SaaS for creating content, and I would like to get your opinion guys, that'll mean a lot to me!

It uses moviepy under the hood, (Backend) to process videos and edit, and Flask to serve user data, I've build it as an API, to give other users access to integrate it to their software in the future! but for now I'm focusing on getting the first version of it out! As they say: If you're not embarrassed by the First version of your product, you’ve launched too late.


Link: https://oclipia.com

https://preview.redd.it/v5l6rkg721ld1.png?width=2880&format=png&auto=webp&s=893770cda94c6fda3b7792bcf635549b512955d3

/r/flask
https://redd.it/1f1r5bd
Wave Function with arbitrary precision.

The Fast Wave package I developed for calculating the time-independent wave function of a Quantum Harmonic Oscillator now includes a new module for arbitrary precision wave function calculations. This module retains the functionality of the original but utilizes Python’s mpmath (https://mpmath.org/) package to control precision. Check it out: https://github.com/fobos123deimos/fast-wave/tree/main/src/fast\_wave



/r/Python
https://redd.it/1f1xy3d
Am I on the Right Path for Building an AI-Driven WhatsApp Chatbot for My Small Car Wash Business?

Is My Approach for an AI-Powered WhatsApp Chatbot for My Small Business on the Right Track?

Hi everyone,

I run a small eco-friendly car wash and I'm building a WhatsApp chatbot to automate customer inquiries like hours, pricing, and location. The goal is to make it feel human-like, not just like a typical bot.

# My Current Approach:

1. Hosting: Using PythonAnywhere for simplicity and affordability.
2. AI Integration: Leveraging the Together API with the LLaMA 405B model to generate responses. The chatbot is fed specific business information (hours, pricing, etc.) to ensure accurate answers.
3. Prompt Engineering: I've tailored prompts to make sure the chatbot only answers the customer’s question without sounding like a language model—keeping the interaction focused and human-like.
4. WhatsApp Integration: Using the WhatsApp Business API to receive and respond to customer messages directly based on predefined business context.

# My Questions:

1. Is PythonAnywhere suitable for this, or should I consider another platform for scalability?
2. Is the LLaMA 405B model the right choice for handling these simple queries? I found that the 70B model doesn't perform as well for all my cases
3. What challenges might I face in maintaining and scaling this chatbot?
4. Is there a more efficient or cost-effective way to implement this

/r/flask
https://redd.it/1f1waut
I updated the scraper for my Rockbusters game and went from 311 clues to 5,200 clues.

Website: https://www.jimmyrustles.com/rockbusters

Github: https://github.com/sgriffin53/rockbusters (the database scraper is scraper_db.py)

**What my project does**

This is a web game based on Karl Pilkington's Rockbusters game on his radio show. You're given a clue based on a band and some initials and you have to guess what the band is based on the clue and the initials. The clues were all scraped from /r/rockbusters and it guessed the correct answer for each clue based on which bands were mentioned most in the comments.

When I originally made this two years ago, it only had around 180 clues, I recently updated it to 310 clues, but that was about as far as I could get by scraping reddit directly.

I found a torrent with the posts from the top 20k subreddits up to June 2022. This had 10.7k posts from /r/rockbusters which was perfect for finding clues for my game.

I made a new scraper that scrapes the database, but I added a new feature. Originally, it had a predefined list of bands that it would try to match in the comments, but it'd miss out many bands because they weren't on its list. I changed it so that if it sees a set of words that match the

/r/Python
https://redd.it/1f210q0
Looking for feedback on rpaudio—a Rust Python binding for audio playback!

Target Audience:

This tool is aimed at Python developers who are interested in audio playback functionality, but I’d love to get feedback from anyone experienced with Rust and Python bindings.

What It Does:

I’ve been working on rpaudio, a Python binding built with Rust that provides efficient/simple audio management capabilities. It’s designed to mimic how an actual hardware audio mixer might conceptually work. The library includes features like audio playback, pausing, and resuming, channels (queues) and a Manager class for channels. Its integrated in Python using PyO3 and maturin.

I built this because I wanted a way to use Rust’s power in Python projects without having to deal with the usual awkwardness that come with Python’s GIL. It’s especially useful if you’re working on projects that need to handle audio in async applications.

Why I Think It’s Useful:

I've experienced difficulties with other audio libraries, particularly in the installation department, so this was an exploration in trying to solve those issues and I used Rust because of its handling of concurrency, as well as support for building python bindings easily on multiple OS's.

Comparison:

Pyaudio and other popular libraries like it, dont seem to support async functionality, which is one of the ways I normally like to interact

/r/Python
https://redd.it/1f21efd
Tuesday Daily Thread: Advanced questions

# Weekly Wednesday Thread: Advanced Questions 🐍

Dive deep into Python with our Advanced Questions thread! This space is reserved for questions about more advanced Python topics, frameworks, and best practices.

## How it Works:

1. **Ask Away**: Post your advanced Python questions here.
2. **Expert Insights**: Get answers from experienced developers.
3. **Resource Pool**: Share or discover tutorials, articles, and tips.

## Guidelines:

* This thread is for **advanced questions only**. Beginner questions are welcome in our [Daily Beginner Thread](#daily-beginner-thread-link) every Thursday.
* Questions that are not advanced may be removed and redirected to the appropriate thread.

## Recommended Resources:

* If you don't receive a response, consider exploring r/LearnPython or join the [Python Discord Server](https://discord.gg/python) for quicker assistance.

## Example Questions:

1. **How can you implement a custom memory allocator in Python?**
2. **What are the best practices for optimizing Cython code for heavy numerical computations?**
3. **How do you set up a multi-threaded architecture using Python's Global Interpreter Lock (GIL)?**
4. **Can you explain the intricacies of metaclasses and how they influence object-oriented design in Python?**
5. **How would you go about implementing a distributed task queue using Celery and RabbitMQ?**
6. **What are some advanced use-cases for Python's decorators?**
7. **How can you achieve real-time data streaming in Python with WebSockets?**
8. **What are the

/r/Python
https://redd.it/1f237eq
If you could go back, would you still learn django?

If you could go back to yourself when you were picking what framework to learn, would you still choose django? if not why and what would the other framework be?

/r/django
https://redd.it/1f25vtp
Does anyone know how secure Turso, or other cloud database providers are?

I have an established Saas product that deals with government protected personal data.

Right now, all of my data is held in an AWS RDS database, with AWS best security practices implemented. The app it self is run on an EC2 instance (I use ec2 because the entire application is configured with Nix, and there aren't any better solutions for it.)

It's a really read heavy application, so I was considering moving over to Turso, and using an embedded sqlite database. This should increase read speeds and reduce my cost to operate.

My only concern is that my clients are extremely security concerned. The embedded databases should be completely safe, but I'm concerned about traffic between my service and Turso.

Does anyone have any experience or advice they can share

/r/django
https://redd.it/1f200r6
Google SSO redirect URI

Hi there!

I recently deployed my backend on python anywhere and changed my auth uri in google console from localhost to python anywhere backend and it’s been few jours now and I am still getting 400 error and points to localhost.

Everything was working fine locally but there was a note in the console that says it may take “5min or upto few hours” to reset it so anyone has any idea about it?



/r/django
https://redd.it/1f27kq8
Used Python to create public-domain US maps that can serve as desktop backgrounds

[Link to source code (released under the MIT license)](https://github.com/kburchfiel/desktop_maps/blob/main/desktop_maps.ipynb)

[Link to main GitHub project](https://github.com/kburchfiel/desktop_maps) (scroll down on this page to view previews of these maps)

[Link to public-domain maps](https://github.com/kburchfiel/desktop_maps/tree/main/maps)

* **What My Project Does:** This project uses GeoPandas, Folium, Selenium, and Pillow to import public-domain shapefiles that I downloaded from the US Census website; convert them into maps; and then generate cropped screenshots of these maps. (Because I prefer dark desktops in order to reduce eye strain, these maps use mostly a black-and-orange color scheme.)
* **Target Audience**: anyone can use these maps for their desktop backgrounds. The source code may be of particular interest to anyone who uses (or wants to use) Python for mapping tasks.
* **Comparison**: Because these maps use only public-domain data, I was able to release them into the public domain. I imagine that many similar maps use more restrictive licenses.




/r/Python
https://redd.it/1f29mo0
Linking two different flask applications

I have two different flask applications test1.py and test2.py. I have a next button in test.py and when I click on it I want it to take me to test2.py. How do I do that?

I'm running them on different ports and using a redirect command. However, I'm getting site error every time I try to do it.

How can I resolve it?

/r/flask
https://redd.it/1f28nqo
🐍✂️ CSV Trimming: a one-line to clean up (most) messy CSVs! ✂️🐍

Hi r/Python!

Last week, I shared my **ugly-csv-generator** tool with this community, and the response blew me away! 🙌 Thank you so much for the support!

As I promised during the last post, I composed a decent set of heuristics that can often address those hideous CSV monstrosities. So I’m back with a Python package that does just that: **CSV Trimming**.

# 🔧 What My Project Does

[**CSV Trimming**](https://github.com/LucaCappelletti94/csv_trimming) is a Python package designed to take messy CSVs — the kind you get from scraping websites, legacy systems, or poorly managed data — and transform them into clean, well-formatted CSVs with just **one line of code**. No need for complex setups or large language models. It’s simple, straightforward, and generally gets the job done.

# 🛠️ Target Audience

This package is made by a data wrangler for data wranglers. It is not made for people who make terrible CSVs, it is made for those who have to deal with them.

Whether you're dealing with:

* Duplicated schema headers
* Corrupted NaN-like data entries (hello, `#RIF!`, I'm looking at you)
* Or even padding and partial rows...

**CSV Trimming** can handle it all. It's like Marie Kondo for your CSVs — if it doesn’t spark joy, it gets trimmed!

# 📦 Installation

As

/r/Python
https://redd.it/1f2bwx5
Django login

/r/djangolearning
https://redd.it/1f2daqg
Css not updating in django

I connected the html and css files with each other and linked the website

But when i update the css from the django project,it does not update the css

I then copied the html and css files and ran independentally without django(integrated) through live server

I saw the updated website,what can be the problem?

/r/django
https://redd.it/1f2g9kl
Modules that perform JIT at runtime

I have been trying to develop high performance functions in Python, and I am looking for packages that can compile blocks of code. I am aware of packages like Nuitka, MyPyc etc, I used them before and they work wonderfully (I especially like mypyc), however I now need to develop code for a large code base and we are restricted to pushing exclusively .py packges.

To overcome this issue I used numba a little bit, works really well but it's extremely limited in its usage. I wonder if there was any other package out there that let's you compile a function at runtime by just decorating it.

/r/Python
https://redd.it/1f2csus