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
How to elegantly use pydantic to parse YAML files containing rust enum types ?

I have been working on how to convert YAML containing enum defined by Rust to Pydantic recently, and finally I have the following solution.

from enum import Enum, IntEnum
from typing import Any, Union

from pydantic import BaseModel, Discriminator, Tag
from typing_extensions import Annotated

class TypeKey:
pass
def constructor(loader, node):
data = loader.construct_mapping(node)
data[TypeKey] = node.tag[1:]
return data


def make_constructor_enum(cls):
if isinstance(cls, type(IntEnum)):
def constructor_enum(loader, node):
data_str = loader.construct_scalar(node)
for item in cls:


/r/Python
https://redd.it/1f0oud5
Track migration files in git : What are the good practices ?

The title is quite explanatory, I am still unsure of what is the best way to go about it. What do you guys do ?

/r/django
https://redd.it/1f0s0gc
I switched from full stack to streamlit/python and it reduced my development time to 2 weeks !

Just 2 months ago, I was always building full stack apps that took me ages to build and rarely found any traction.

I am pretty good with python, so I was looking for a quick way to prototype my idea and validate it.

The hidden gem there was Streamlit, a python package that makes it possible to turn your scripts into apps and deploy them on the cloud.

You don’t have to worry about backend or even only limited on frontend. Your job is just to integrate the functionality. I am not associated to Streamlit anyhow, but I just wanted to show for anyone who did not know it before that it is a great way for prototyping. 🙏

In my case, I have connected the OpenAI API, built out a custom python script, connected a Supabase Database and integrated it into the Streamlit front end.

It is also possible to use common packages like pandas or matplotlib to visualise results pretty easily and make them interactive. 🆙

/r/Python
https://redd.it/1f07c7d
🛠️ Hands-On with llmio: Let's Build an AI Task Manager 🤩

Hey r/Python and fellow developers!

Earlier this week, I shared an introduction to [**llmio**](https://github.com/badgeir/llmio), a lightweight Python library I developed for building LLM-based agents with ease. I really appreciate the positive feedback and the support from those who checked it out!

Today, I’m following up with something every developer has probably built at least once—a todo-list app! 🤩 Yes, it’s a classic, but it’s also a perfect example to show how llmio can be used in real-world applications. Specifically, I’ve put together a [notebook](https://github.com/badgeir/llmio/blob/main/examples/notebooks/simple_task_manager.ipynb) that demonstrates how to create a simple Task Manager using `llmio`.

### 🔧 A Quick Recap of Key Features:

- **Type Annotation-Based Tooling**: Define tools effortlessly using Python’s type annotations.
- **Broad API Compatibility**: Works out of the box with OpenAI, Azure, Google Gemini, AWS, and Huggingface APIs.
- **Lightweight**: A minimalistic library that integrates seamlessly into your projects without adding unnecessary bulk.

### 💻 Demo: Building a Task Manager with `llmio`

In this [notebook](https://github.com/badgeir/llmio/blob/main/examples/notebooks/simple_task_manager.ipynb), I walk through how to build a Task Manager that can list, create, update, and delete tasks. This example showcases `llmio`'s ability to leverage LLMs for practical applications while maintaining control over task execution and context management.

### 🚀 Getting Started:

- **Install**: `pip install llmio`
- **Example**:
```python


/r/Python
https://redd.it/1f0upad
Any hints/ideas on how to make this?

/r/django
https://redd.it/1f0vhdx
Let's write FizzBuzz in a functional style for no good reason

# What My Project Does

Here is something that started out as a simple joke, but has evolved into an exercise in functional programming and property testing in Python:

https://hiphish.github.io/blog/2024/08/25/lets-write-fizzbuzz-in-functional-style/

I have wanted to try out property testing with Hypothesis for quite a while, and this seemed a good opportunity. I hope you enjoy the read.

Link to the final source code:

- https://gitlab.com/HiPhish/functional-fizzbuzz
- https://github.com/HiPhish/functional-fizzbuzz

# Target Audience

This is a toy project

# Comparison

Not sure what to compare this to

/r/Python
https://redd.it/1f0ywkp
Services and Utilities: Best practice?

Hello all,

Been learning Django for a year or so and working on two production apps. What's your best practice with the location of service or utility functions? I'm looking at two options;

1. Utils folder at the same level as my apps -> utils/services.py
2. App level service layer -> my_app/services.py

Thanks all!



/r/django
https://redd.it/1f1002k
Google News Scraping

Hello, I'm conducting research that involves collecting data from Google News. My goal is to determine how many times a country is mentioned in the titles of specific news websites. The query might look like this: 'intitle:[Country name\] site:[Website.com\]'. After running the query, I need to count the number of results. Doing this manually would take a long time, so I'm looking for an automated solution.

/r/Python
https://redd.it/1f0mvhl
Monday Daily Thread: Project ideas!

# Weekly Thread: Project Ideas 💡

Welcome to our weekly Project Ideas thread! Whether you're a newbie looking for a first project or an expert seeking a new challenge, this is the place for you.

## How it Works:

1. **Suggest a Project**: Comment your project idea—be it beginner-friendly or advanced.
2. **Build & Share**: If you complete a project, reply to the original comment, share your experience, and attach your source code.
3. **Explore**: Looking for ideas? Check out Al Sweigart's ["The Big Book of Small Python Projects"](https://www.amazon.com/Big-Book-Small-Python-Programming/dp/1718501242) for inspiration.

## Guidelines:

* Clearly state the difficulty level.
* Provide a brief description and, if possible, outline the tech stack.
* Feel free to link to tutorials or resources that might help.

# Example Submissions:

## Project Idea: Chatbot

**Difficulty**: Intermediate

**Tech Stack**: Python, NLP, Flask/FastAPI/Litestar

**Description**: Create a chatbot that can answer FAQs for a website.

**Resources**: [Building a Chatbot with Python](https://www.youtube.com/watch?v=a37BL0stIuM)

# Project Idea: Weather Dashboard

**Difficulty**: Beginner

**Tech Stack**: HTML, CSS, JavaScript, API

**Description**: Build a dashboard that displays real-time weather information using a weather API.

**Resources**: [Weather API Tutorial](https://www.youtube.com/watch?v=9P5MY_2i7K8)

## Project Idea: File Organizer

**Difficulty**: Beginner

**Tech Stack**: Python, File I/O

**Description**: Create a script that organizes files in a directory into sub-folders based on file type.

**Resources**: [Automate the Boring Stuff: Organizing Files](https://automatetheboringstuff.com/2e/chapter9/)

Let's help each other grow. Happy

/r/Python
https://redd.it/1f1anh6
In flask I have a function that updates different columns in flask sqlalchemy but the columns won't update. Put simply the update doesn't have any effect on the code. What am I doing wrong?

        return redirect(url_for('auth.login'))
        return redirect(url_for('auth.login'))

# now is added because of pytest + now represents the current time
def reset_attempts_token_tried_to_0(user_db, now):
'''
if the max attempts of the token tried is exceeded + the
token is expired reset the attempts_token_tried to 0.
'''

# why doesn't work
time_token_expired_db = user_db.time_token_expired
# executes at 9:00 <= 9:30pm
current_time = now

#delete
flash(f'user_db.attempts_token_tried {user_db.attempts_token_tried}')
flash(f'current_time {current_time}')
flash(f'time_token_expired_db {time_token_expired_db}')



/r/flask
https://redd.it/1f14zga
Giving OTP sms

I wanted to implement OTP service on my django project so is there any free service for this to implement it

/r/django
https://redd.it/1f1csmd
Hiring Full Stack Developer

Hi developers, we have added a new job listing on our platform. If you are interested in this job please check the job link below.

Role - Full Stack Developer (Remote, Full Time)

Job Link - devloprr.com/jobs#288

/r/flask
https://redd.it/1f1fp81
I am getting the following error. "AttributeError: 'NoneType' object has no attribute 'save'.

error:
Traceback (most recent call last):
File "C:\\Users\\mmhta\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\flask\\app.py", line 1498, in __call__
return self.wsgi_app(environ, start_response)
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^
File "C:\\Users\\mmhta\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\flask\\app.py", line 1476, in wsgi_app
response = self.handle_exception(e)
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^
File "C:\\Users\\mmhta\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\flask\\app.py", line 1473, in wsgi_app
response = self.full_dispatch_request()
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^
File "C:\\Users\\mmhta\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\flask\\app.py", line 882, in full_dispatch_request
rv = self.handle_user_exception(e)
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^
File "C:\\Users\\mmhta\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\flask\\app.py", line 880, in full_dispatch_request
rv = self.dispatch_request()
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^
File "C:\\Users\\mmhta\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\flask\\app.py", line 865, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint\])(**view_args) # type: ignore[no-any-return\]
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^
File "C:\\Users\\mmhta\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\flask_login\\utils.py", line 290, in decorated_view
return current_app.ensure_sync(func)(*args, **kwargs)
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^
File "e:\\newsPortal\\website\\views.py", line 23, in create_post
image.save('images/' + img + '.jpg')
AttributeError: 'NoneType' object has no attribute 'save'

python:

@views.route("/createpost", methods=['GET', 'POST'])
@loginrequired
def createpost():
    if request.method == "POST":
        text = request.form.get('text')
        img = str(uuid.uuid4())
        image = request.files.get('image')
        image
filename

/r/flask
https://redd.it/1f1hhdt
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