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
Companies using DRF

Are any companies choosing Django Rest Framework over other Node.js and Java Spring frameworks in recent times? And why should they?

/r/django
https://redd.it/13aeky6
Password protect any URL using Flask

I wrote this front end authentication application using Flask, Python3, JavaScript, Bootstrap, HTML, CSS and Replit DB.

User's email and password combined then hashed in SHA256 format. The users password is never transmitted over the internet, ever. The hash is saved and then compared to the hash on file with each login and they must match to achieve successful login.

You can password protect ANY url (for the demo) but it has numerous applications. I would love to read your comments, constructive criticisms and trash talk.

Python 3 Source

Thanks for checking it out.

/r/flask
https://redd.it/138rpjx
Django bootstrap5 htmx leafletjs marker to popup form click event issue

Sorry it's a wordy topic :) But it summarizes what I'm using in our project. My buddy setup our Django project with leaflet and it displays with various pin markers on the map. When the user clicks on a pin, we have a popup #dialog appear (using htmx). I've been tasked with adding a button to this popup so that the user can click it and go to a /url. The issue I'm having is that once the popup appears, it ignores any click events specific to the form. I can click ANYWHERE on the browser tab, on the popup, on the map and the popup closes. There is no button click occurring. I'm pretty new to leaflet and still learning my Django ropes. So I've been trying to figure this out for a few days now. It's like there is a blanket click event overlaying the entire window and the popup is under it. I'll post some code here and perhaps someone has an idea or research I can look into..


This is the template code for the main window which shows the map. You can see the htmx placeholder for the popup. You can also see the

/r/django
https://redd.it/13avwnv
I can't deploy celery-beat

In my application users are scheduling events, and I have to send emails an hour before. here's what the model looks like:

class Mail(models.Model):
eventId = models.ForeignKey(Event, on_delete=models.CASCADE)
sentMail = models.BooleanField(default=False)

Every 15 minutes I have to check if an email is sent and if it's not, I have to send it. The main problem that I can't solve is deploying celery-beat. I tried deploying it on a railway server with Redis, but I could only interact with it locally. Plus, I'm on Windows, so I can't use systemd, and celery & celery-beat are also not friendly with Windows. Haven't used Docker ever. Can someone give me advice that's actually good and had worked?

/r/django
https://redd.it/13b062g
Optimizing a query for an analytics page

Hello. I've got a query that's running too slow and would like any input on how to speed it up. It is a utility function that aggregates a bunch of data for an analytics view. Each of the tables has on the order of a million rows, but I would only run it on a small subset of the User objects. Right now, it's pretty slow but tolerable (several seconds) when I pass in a queryset of about 5 users. I need it to be able to process 50 or 100 users.

Here is what I tried first, along with the relevant models.

from django.contrib.auth.models import User
from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.db.models import OuterRef, Subquery, Count, Value, Q
from django.db.models.fields import IntegerField
from django.db.models.functions import Coalesce

from datetime import datetime, timedelta

class UserProfile(models.Model):
user = models.OneToOneField('auth.User', related_name='profile', on_delete=models.PROTECT)
country = models.CharField(max_length=100, blank=True, null=True)



/r/django
https://redd.it/13az64v
Monday Daily Thread: Project ideas!

Comment any project ideas beginner or advanced in this thread for others to give a try! If you complete one make sure to reply to the comment with how you found it and attach some source code! If you're looking for project ideas, you might be interested in checking out Al Sweigart's, "The Big Book of Small Python Projects" which provides a list of projects and the code to make them work.

/r/Python
https://redd.it/13b7gml
I’ve just deployed my Flask website in pythonanywhere.com

http://rambler.pythonanywhere.com/
Appreciate any suggestions

/r/flask
https://redd.it/13axqjf
Test On 4 Concurrent Jobs Using Python-Polars 0.17.11 to GroupBy Billion Rows

Python 3.11.2 was able to run big data jobs concurrently using limited memory. My testing script with 14 columns and a data file size of 67.2GB was completed in less than 10 minutes using 32GB Memory and 8-Core. This is strong evidence that Python is capable of handling big data jobs with limited resources.

Script
import polars as pl
import time
import pathlib
s = time.time()


q = (
   pl.scan_csv("Input/1000MillionRows.csv")    
   .groupby(by=["Ledger", "Account", "PartNo", "Contact","Project","Unit Code", "D/C","Currency"\])
  .agg([  
    pl.count('Quantity').alias('Quantity(Count)'),
    pl.max('Quantity').alias('Quantity(Max)'),
    pl.min('Quantity').alias('Quantity(Min)'),
    pl.sum('Quantity').alias('Quantity(Sum)'),     
    pl.sum('Base Amount').alias('Base Amount(Sum)'),     
  \]))


a = q.collect(streaming=True)
path: pathlib.Path = "Output/Polars-GroupBy.csv"
a.write_csv(path)


e = time.time()
print("Polars GroupBy 1000 Million Rows Time = {}".format(e-s))

​

Demo video in 10X fast forward: https://youtu.be/odDOlU9KNqY

Without fast forward: https://youtu.be/Ze0jNmtUn0Y

/r/Python
https://redd.it/13bb59x
Flask mail sending duplicate emails

I have a flask app that I've implemented a simple 2fa feature on. The user is emailed when they arrive at the route requiring them to enter the code sent to their inbox.

Unfortunately it seems like the app is sending more than one email to the user. Sometimes 2, sometimes 3 emails. I can't seem to figure out why.

Here is my email code, it (send2faemail) is only being called once in the route:

def send_2fa_email(email, x):
msg4 = Message('Security Code', sender='no_reply@some.app', recipients=[email])
msg4.body = f'''Your username is being used to login to SomeApp. Your multi-factor authentication code is:
{x}

This code will expire in 3 minutes. If you do not complete login in that time, you will need to start the login process again.

If you did not make this request, you can ignore this email. If you believe someone is attempting to access your account without your consent, please notify us at support@some.app.
'''
mail.send(msg4)


Has anyone encountered this before? We're using AWS SES for email but haven't had this issue previously.

/r/flask
https://redd.it/13bojqk
Starfyre - A Python Web Framework for creating frontend web applications

Hey Everyone! 👋
Over the past two months, I've been hard at work developing a new Python frontend web framework, and I'm excited to announce its first minimal release: Starfyre.
Starfyre is a Python web framework designed to simplify front-end web application development. Starfyre offers a user-friendly and powerful solution for crafting dynamic web applications by seamlessly bridging back-end and front-end development in the Python ecosystem. By unlocking untapped potential in Python front-end development, Starfyre empowers developers to create engaging and interactive applications easily.

Some of the key features are:
\- Single-file reactive components
\- Built-in state management
\- Server-side rendering
\- PyML, a custom JSX-like language
\- Support for both client-side and server-side Python
\- Integrated CSS and HTML support
\- Ability to write JavaScript if need be
\- Familiar syntax and easy learning curve

You can check out the project at https://github.com/sansyrox/starfyre
I have also created a blog to explain the future visions - https://sanskar.wtf/posts/hello-starfyre
Most importantly, you can find an example app on GitHub(https://github.com/sansyrox/first-starfyre-app).
Feel free to share your thoughts and suggestions! I'm all ears and can't wait to hear what you all think! 😄

/r/Python
https://redd.it/13bloxf
Advanced Django books

Hi to everyone!. I would like to ask you if you can tell me some books with advanced django subjects as Cache, Inheritance (advanced), monitoring app, models, etc...?

thanks!

/r/django
https://redd.it/13bofj2
DRF - Limiting fields based on view

I'm beginning to dive into DRF and I've got a question concerning serializers. It's straightforward enough to bash out a serializer for a model, but I'm trying to wrap my head around how to limit the data made available at different levels in the API.

For instance, take a simple widgets model with 3 fields: field_a, field_b, and field_c. Let's say that at the top of the api (/api/widgets) I want to list each of the widgets but only return field_a. If I specify the exact widget (/api/widgets/1), it returns more detail about that specific widget (field_a, field_b, and field_c).

On the surface, it appears as though I would need to write a serializer for each of these instances, or at least subclass one from the other changing the fields as needed. Is this the case?

/r/django
https://redd.it/13c1ghc
Tuesday Daily Thread: Advanced questions

Have some burning questions on advanced Python topics? Use this thread to ask more advanced questions related to Python.

If your question is a beginner question we hold a beginner Daily Thread tomorrow (Wednesday) where you can ask any question! We may remove questions here and ask you to resubmit tomorrow.

This thread may be fairly low volume in replies, if you don't receive a response we recommend looking at r/LearnPython or joining the Python Discord server at https://discord.gg/python where you stand a better chance of receiving a response.

/r/Python
https://redd.it/13c9b4a
Affordable Hosting?

Hi everyone, I know this is probably asked all the time but I am really struggling to find an affordable hosting engine for my flask application. The main reason being that my application is quite ram intensive. It is a game recommendation engine for my web application and the way it works is that it loads a fairly large .pkl file into memory that contains pre-computed similarity scores for the games. This file is about 6.7gb in size and when first launching the app the ram usage skyrockets until the file has loaded at which point it drops to around 2-3gb.

I am a college student and this is for my final year project, all the sources I have seen online cost at least 50$ a month for what I think I need, and I really cannot afford something like that. Any idea what I should do?

/r/flask
https://redd.it/13c3y3i
Handling Bulk uploads via csv

I'm looking to expand/streamline some basic functionality in my flask app.


Currently, a registered user can submit a form that does the following:


1: Looks to see if a row exists based on email, if not, create a new database entry 'users'

2: Creates a new database entry 'transaction' (tied to users)

3: Creates 4 new database entries 'emails' (tied to transaction)



Pretty simple, works as intended.


But, the next evolution of this is allowing users to bulk upload via a csv. the csv would mirror exactly the flask form, so it would be doing precisely what is happening above, except at a much much larger scale. (instead of 1 at a time, possibly hundreds)


Is this something that requires a task scheduler like celery or risk exploding my database/server?


From what I've read, celery is a burden to not only initialize but also maintain all its own so while I'm a team of one I'm trying to keep things as lightweight as possible.


Any high level advice/pointers is greatly appreciated!

/r/flask
https://redd.it/13bpkj1
Using flask-session with redis-sentinel in k8s, redis master dies, app dies.

When testing my app when the redis master pod gets deleted (there are two slave pods, three total), it throws a 500 error since i can't reach the dead master (timeout). Then, throws an error for not being able to write, obviously because the old master is now a slave. So, redis-sentinel is working correctly.

I tried beforerequest and afterrequest functions to update the app.config'SESSION_REDIS' details but that gets loaded when flask starts.

I am trying to avoid any outages when upgrading or restarting redis pods.

/r/flask
https://redd.it/13bphft
problem no such table after upgrading

Hi all,

i have upgraded my system to the latest ubuntu server lts, and after upgrading i have the problem that flask_sqlalchemy seems just not to open the db anymore.

\- the db exist- i have checked with sqlite3 in the console that everything exists.

my config is the following:

app.config'SECRET_KEY' = 'mysecret'
app.config"SQLALCHEMY_DATABASE_URI" = 'sqlite:///verein.sqlite'
db = SQLAlchemy(app)

if i tried to open the app, it crashed with:

File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/default.py", line 920, in doexecute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: buchungen
[SQL: SELECT
buchungen.id AS buchungenid, buchungen."desc" AS buchungendesc, buchungen.note AS buchungennote, buchungen.category AS buchungencategory, buchungen.amount AS buchungenamount, buchungen.date AS buchungendate, buchungen.account AS buchungenaccount, buchungen.deleted AS buchungendeleted
FROM buchungen]

After backupping my database i added db\
create_all(), just once and removed ita again.

now it works, but without any of the present data.

It just seems it just not uses the specified file, because as said before the file is now in place and all data is available.

Any ideas ?

Thank you very much.

/r/flask
https://redd.it/13bjq8v
After tearing my hair out writing JavaScript the last few days how close are we to Python in the browser?

Can someone point me to any recent articles and news on true back end and front end use of Python using HTML and CSS on front-end, with Python in place of JavaScript, presumably using WASM/WASI ?


I know about pyscript but not sure if this is the answer (or perhaps it is)?


I basically never want to touch JavaScript again lol.

/r/Python
https://redd.it/13ccenx