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
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
Need help with Flask, SQLAlchemy and two identical Databases

Hello,

I have a flask app that's working so far as intended, however I need to extend its capabilities.

Currently it pulls data from one pgsql database and generates reports, but I need to bind a second, identically structured pgsql server.

I'm familiar with

app.config'SQLALCHEMY_BINDS' = { bindkey: connectionparams, etc..}

and I already have several databases from one MySQL server and one db from the aforementioned pgsql server configured.

The issue is that I need to access data from another pgsql server that's structurally identical to the first one. Same database name, same table structure, everything but the data is the same.

I can't dynamically change the __bind_key__ in the model class, so I thought I'd duplicate the model classes with a new __bind_key__, but that fails too because the __table_name__ values are the same. Error: "sqlalchemy.exc.InvalidRequestError: Table <tablename> is already defined for this MetaData instance. Specify 'extend_existing=True' to redefine options and columns...."

When I specify 'extend_existing=True', the new definition overwrites the old one, so that using the old classes uses the new __bind_key__ value, so that method is apparently out as well.

I cannot change the table names in the pgsql servers. They are appliances and it would severely break things if I went

/r/flask
https://redd.it/13claur
Redirecting to the correct page after registration with flask-security-too / flask-login?

I have a web app that allows users to send connections to other people to build out a network.

I'm using flask-security-too, and therefore flask-login under the hood.

I've got all the code working to generate the request and send the request via email to the target person, but it is entirely possible that the targeted individual does not have an account on the platform.

At the moment, when the invitation link is clicked on in the email it takes them to a specific view (connect/accept/<hashed key>) that does some sanity checking, provides an overview of what it means to accept the link, and the gives them the offer to accept or reject the request.

The code to process the acceptance is behind @auth_required, because I want them to either log in or sign up, but I can't seem to get the redirect to follow the right pattern - it always redirects to / after login or registration, and the acceptance never gets processed.

I'd expect it to go something like this:

Accept request
Log in or register if not logged in already
Return to processing view to update the request in the database
Redirect to dashboard

I've looked through the docs but I can't

/r/flask
https://redd.it/13bity2
How to register group models as groups in admin page?



I have been struggling heavily with the models of an e-commerce project that deals with different types of users, customers and vendors due to an utter lack of resources online on the topic of working with 2 or more groups using group models.

Because I had to map foreignkey relations between them and several other models I decided to create group models for customers and vendors. Due to lack of resources on the topic I am not even sure if what I ended up with was correct and even assuming it is, I just can't register the group models on admin page as groups. I could just create groups on admin page but then I don't know how to link that with the group model. I have honestly no idea how to proceed, please help on how to do it or if there's a less confusing way for this.

/r/djangolearning
https://redd.it/13ch6z5
Invalid Argument on Passing refresh_token as parameter on Google OAuth Secret Manager Tutorial - "The provided Secret ID [] does not match the expected format [[a-zA-Z_0-9]+]"

Hello, I'm following a tutorial here: [https://www.youtube.com/watch?v=-LXrLVPmlfI](https://www.youtube.com/watch?v=-LXrLVPmlfI). I've been stuck on this issue for almost a month. This program is attempting to log-in to a Flask app using the Google OAuth and Secret manager. In the code, [auth.py](https://auth.py/) is sending a refresh\_token to [secret.py](https://secret.py/), which is supposed to create a secret. Alot of this code is taken directly from Google documentation, and the tutorial was released by Google. The relevant pieces of code are as follows: auth.py

def oauth2callback(passthrough_val, state, code, token):
if passthrough_val != state:
message = "State token does not match the expected state."
raise ValueError(message)
flow = Flow.from_client_secrets_file(_CLIENT_SECRETS_PATH, scopes=[_SCOPE])
flow.redirect_uri = _REDIRECT_URI
# Pass the code back into the OAuth module to get a refresh token.
flow.fetch_token(code=code)
refresh_token = flow.credentials.refresh_token
secret = Secret(token)
secret.create_secret_version(refresh_token)

secret.py



/r/flask
https://redd.it/13cvs9g
abacus - minimal accounting framework

Hello everyone, I wrote a small library that can create a chart af accounts, process accounting entries, and produce balance sheet and income statement. I recently added "conta accounts" (eg depreciation) which make the library conceptually fit as a working double entry general ledger.

My initial interest was to make a proof of concept that a compact accounting library is possible, and now I'm at a point where I need to find rationale for it's development. So far it is a research demo, not a accounting software. Maybe useful for teaching code to accountant or accounting to programmers, but these seem very distant professions (eg thematic LinkindIn group on accounting and programming has 10 members).

While writing the code I really enjoyed pattern matching that helps a lot to branch code, as well as subclasses to distinguish between types of accounts. I was able to show the workflow Chart -> Ledger -> ListEntry -> Ledger -> Report generally works for accounting and one can save and process a list Entries in order to be able to get the state of the Ledger. Anything stateful was causing concern and needed extra handling (eg closing entries).

Will appreciate your comment about

/r/Python
https://redd.it/13cmb21
I made a tool to analyze and visualize data using ChatGPT, Pyodide, and Plotly

Hi everyone,

I made a small tool that helps you gather insights and build graphs from a dataset by "chatting" with it in plain English. It's built on top of ChatGPT, Pyodide, Plotly, and Litestar.

All the data is processed in the client, so there's no size limit to the dataset. The only limit is the memory on your device. The server only receives a brief summary of the data (column names, distributions, and 3 samples), which is how I generate the code to answer the questions.

It works as follows:

1. Users makes a query.
2. The query + the dataset summary (generated on the client using Pyodide) are sent to the server to generate the code.
3. The code is generated and sent from the server (ChatGPT).
4. The code is executed on the client side (Pyodide). If it's a graph, then it's rendered using Plotly. Otherwise, a string is printed with the answer.
5. Rinse and repeat.

Here's a demo of how the whole process looks like (2x speed):

https://reddit.com/link/13cyll7/video/yvf04r522uya1/player

You can try the app here.

For those interested, I'm planning on writing a tutorial about it in the next few days.

/r/Python
https://redd.it/13cyll7
Implementing an audit trail on all specific model fields - Best solution ?

I have a django model called Problem.
Problem has 3 fields:
\- problem_id which is its primary key
\- status which is a foreign key field
\- user which is a foreign key field that uses AUTH_USER_MODEL built-in django model
The Status model has 2 entries in its SQL table : {ID:1 ; Name: "Open" ; ID:2 ; Name "Closed"}

Let's say i have a Problem instance with ID = 1. Today a user updated the model 1's status to 1, the next day the status was updated to 2 by another user.

I want to track and be able to show in my front end all model 1 instance's changes in an intuitive way. Two solutions come to my mind :
\- Create another table called "status_history" that tracks all Status updates on each model instance. This sounds tedious as i will have to do the same for each other Problem field (model has also other fields like type, difficulty, etc).
\- Use packages like django-simple-history.

What are you guys experience with such implementations?

/r/djangolearning
https://redd.it/13cxazp
How to setup an anonymous Flask server with VPN

I'm serving up a Flask server using proton-vpn / openvpn on my desktop using Linux Mint. It was a pain in the ass to setup but the directions on Proton VPN site helped tremendously.

1. Pay for ProtonVPN account (only way to setup port forwarding)
2. Login to Proton mail, proceed to ProtonVPN login and pick openVPN
3. choose a server that supports port redirection and download the config file (see directions)
4. in Linux Mint, click on Network Connections and add + / create an Import saved VPN connection. Browse to the config file you downloaded and import.
5. Enter the username and password provided by ProtonVPN for the openVPN connection, don't forget to add +pmp to your username!! This is IMPORTANT.
6. refer to directions and test connection using command 'natpmpc' in Linux.
7. make sure your Python app points to correct port ( if __name__=="__main__": app.run(host='0.0.0.0', port=39242, threaded=True)
8. launch your python application and make sure Python app and these directories should reside in the same folder as your app (Flask 101).
9. click the link flask provides to test your application https://127.0.0.1:39242 (your port might be different) use the one that natpmpc

/r/flask
https://redd.it/13d5lw9
Pip or Anaconda or Miniconda or Poetry or Docker or Nothing for Package/Container Management?

I'm trying to find out which if any manager/container manager I should use and its hard because there doesn't seem to be any consensus.

Some say pip is horrible and anaconda will totally square away your conflicts far better some say anaconda is horrible and pip will totally handle all your needs and every permutation. Some say use multiple solutions like x+y together is the best but v+z will screw up your computer some say using v+z is the best and x+y will screw up your computer for the very same thing. Some say x is okay but just gets a bad rap because its not designed for y case. Others say x really is just outright useless.

Theres like around 7-8 or so major 'container management' options and tons of ways to combine them and its not really clear which is best for what or outright useless so can anyone clarify further? Like maybe list out the major options and describe whether they are still needed and if some what are their strengths and weaknesses? And also make some recommendations?

/r/Python
https://redd.it/13cnf3c
Data Visualization Libraries?

Hey guys I work on a flask react app where flask serves as an API and react is our frontend. We want to do data visualization for some of our data and data analytics stuff.

Does anyone here recommend any libraries/frameworks? We are currently looking at using plotly or streamlit, leaning more toward plotly at the moment since we wouldn't need a separate web server like streamlit requires.

/r/flask
https://redd.it/13d0i9u
Wednesday Daily Thread: Beginner questions

New to Python and have questions? Use this thread to ask anything about Python, there are no bad questions!

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/13dahzw
how does the timeit library get such high precision?

it seems that C can get about a 10millisecond precision. (https://stackoverflow.com/questions/5248915/execution-time-of-c-program)

&#x200B;

but when I had a look at (https://docs.python.org/3/library/timeit.html) it can give outputs like

> 0.19665591977536678

&#x200B;

How is this possible? I am actually looking to time functions in C (I want to generate a report on how much faster is C than python in various usecases) so, I want to measure the time for executing a function in C with extremely high precision, is that even possible?

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