Deply: keep your python architecture clean
Hello everyone,
My name is Archil. I'm a Python/PHP developer originally from Ukraine, now living in Wrocław, Poland. I've been working on a tool called [Deply](https://github.com/Vashkatsi/deply), and I'd love to get your feedback and thoughts on it.
# What My Project Does
**Deply** is a standalone Python tool designed to enforce architectural patterns and dependencies in large Python projects. Deply analyzes your code structure and dependencies to ensure that architectural rules are followed. This promotes cleaner, more maintainable, and modular codebases.
**Key Features:**
* **Layer-Based Analysis**: Define custom layers (e.g., models, views, services) and restrict their dependencies.
* **Dynamic Configuration**: Easily configure collectors for each layer using file patterns and class inheritance.
* **CI Integration**: Integrate Deply into your Continuous Integration pipeline to automatically detect and prevent architecture violations before they reach production.
# Target Audience
* **Who It's For**: Developers and teams working on medium to large Python projects who want to maintain a clean architecture.
* **Intended Use**: Ideal for production environments where enforcing module boundaries is critical, as well as educational purposes to teach best practices.
# Use Cases
* **Continuous Integration**: Add Deply to your CI/CD pipeline to catch architectural violations early in the development process.
* **Refactoring**: Use Deply to understand existing dependencies in your codebase, making large-scale
/r/Python
https://redd.it/1gthdpy
AnyModal: A Python Framework for Multimodal LLMs
[AnyModal](https://github.com/ritabratamaiti/AnyModal) is a modular and extensible framework for integrating diverse input modalities (e.g., images, audio) into large language models (LLMs). It enables seamless tokenization, encoding, and language generation using pre-trained models for various modalities.
### Why I Built AnyModal
I created AnyModal to address a gap in existing resources for designing vision-language models (VLMs) or other multimodal LLMs. While there are excellent tools for specific tasks, there wasn’t a cohesive framework for easily combining different input types with LLMs. AnyModal aims to fill that gap by simplifying the process of adding new input processors and tokenizers while leveraging the strengths of pre-trained language models.
### Features
- **Modular Design**: Plug and play with different modalities like vision, audio, or custom data types.
- **Ease of Use**: Minimal setup—just implement your modality-specific tokenization and pass it to the framework.
- **Extensibility**: Add support for new modalities with only a few lines of code.
### Example Usage
```python
from transformers import ViTImageProcessor, ViTForImageClassification
from anymodal import MultiModalModel
from vision import VisionEncoder, Projector
# Load vision processor and model
processor = ViTImageProcessor.from_pretrained('google/vit-base-patch16-224')
vision_model = ViTForImageClassification.from_pretrained('google/vit-base-patch16-224')
hidden_size = vision_model.config.hidden_size
# Initialize vision encoder and projector
vision_encoder = VisionEncoder(vision_model)
vision_tokenizer = Projector(in_features=hidden_size, out_features=768)
# Load LLM components
from transformers import AutoTokenizer, AutoModelForCausalLM
llm_tokenizer = AutoTokenizer.from_pretrained("gpt2")
llm_model = AutoModelForCausalLM.from_pretrained("gpt2")
# Initialize AnyModal
multimodal_model = MultiModalModel(
input_processor=None,
/r/Python
https://redd.it/1gtbrzb
React-Django Deployment
I have been working on Ngnix and Gunicorn the whole day and no luck. It's crazy. Both backend and frontend have deployed successfully but while trying to access the backend from the browser I get no response. I need help with configuration. Any leads?
/r/djangolearning
https://redd.it/1gsv99j
How to Build No-Code Modal Components for Wagtail CMS Content Editors | A step by step guide
https://blog.adonissimo.com/how-to-build-no-code-modal-components-for-wagtail-cms-content-editors
/r/django
https://redd.it/1gt24og
What is the industry standard for Django project structure?
tldr: I have seen many posts on what the "best" Django project structure is. What is standard in the industry and why?
I'm learning the Django framework and I'm trying to investigate and understand the project folder structure and reasoning behind it. I'm aware of clean architecture and vertical slice architecture, so my first instinct is to adapt to something like that. I came across https://www.jamesbeith.co.uk/blog/how-to-structure-django-projects/ , which seems in line with what I'm looking for, though I'm not sure how often it is used in practice.
From Googling, it seems that a typical structure is the following, https://github.com/HackSoftware/Django-Styleguide-Example/ , where basically every module is a Django app (e.g. api, core, emails, users, etc are apps). To me, this seems to have some "disadvantages".
1. Models and migrations are scattered throughout the project, as opposed to being in 2 folders.
2. Excess boilerplate
3. Not everything needs to be a Django app (e.g. utility functions which don't reference Django at all).
From my current understanding, it seems like the only reasons we need Django apps are the migrations folder and models.py, as well a way to provide url patterns (e.g. urls.py) and views (e.g. views.py) so that the include function can pick them up. Unless I'm
/r/django
https://redd.it/1gsuhmj
My site passes 45 security checks..
I made an ecommerce site with django, I am not that expert on security.. I try to follow what django provides for that, and I do drf’s is_valid method to incoming data..
There are about 150 apis and 50 frontend pages. I asked the cyber security agency that the government operates..
They check about 45 cyber attacks include OWASP top10.. it took about 2weeks and I got the report.. I was very nervous because I spent 2years to build the site and if it had many vernerabilities.. I wouldnt know how to fix..
Wow.. no single vernerabilies found, thanks to django.. I cant believe that django is that solid and secure..
/r/django
https://redd.it/1gsq92b
Finally Completed : A Personal Project built over the weekend(s) - Netflix Subtitle Translator
Motivation : Last week, I posted about my project, Netfly: The Netflix Translator, here on r/python. I initially built it to solve a problem I ran into while traveling. Let me explain :
On a flight from New Delhi to Tokyo, I started watching an anime movie, The Concierge. The in-flight entertainment had English subtitles, and I was hooked, but I couldn’t finish it. Later, I found the movie on Netflix Japan, but it was only available with Japanese subtitles.
Here’s the problem: I don’t know enough Japanese (Nihongo wa sukoshi desu) to follow along, so I decided to build something that could fetch those Japanese subtitles, translate them into English, and overlay the translation on the video while retaining the Japanese subtitles which would give me better context.
What started as a personal project quickly became an obsession.
What does the Project Do ? : The primary goal of this project is simple: convert Japanese subtitles on Netflix into English subtitles in an automated way. This is particularly useful when English subtitles aren’t available for a title.
The Evolution of this Project / High Level Tech Solution : This is not the first iteration of Netfly. It has gone through two major updates based
/r/Python
https://redd.it/1gsm1kp
Unable to Login with Flask-WTF and Flask-Login
\---
**Description:**
I'm building a Flask application with user login functionality using Flask-WTF for form handling and Flask-Login for user authentication. However, I am unable to log in successfully. The page does not redirect as expected, and the login validation does not work.
I have implemented CSRF protection, and I believe the issue might be with how the data is being validated or how the routes are configured.
\---
**What I've Tried:**
1. Ensured that I am redirecting using \`url\_for()\` to a valid route.
2. Added \`csrf.init\_app(app)\` in my \`create\_app()\` function.
3. Included \`{{ form.csrf\_token() }}\` in my login form.
4. Verified that my database connection works, and user data is stored correctly.
5. Checked that Flask-Login's \`login\_user()\` function is being called.
\---
**Code Snippets:**
**\_\_init\_\_.py**
**python**
`from flask import Flask`
`from flask_sqlalchemy import SQLAlchemy`
`from flask_migrate import Migrate`
`from flask_bcrypt import Bcrypt`
`from flask_login import LoginManager`
`from flask_wtf.csrf import CSRFProtect`
`db = SQLAlchemy()`
`migrate = Migrate()`
`bcrypt = Bcrypt()`
`login_manager = LoginManager()`
`csrf = CSRFProtect()`
`def create_app():`
`app = Flask(__name__)`
`app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:Root1234!@localhost/school_hub'`
`app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False`
`app.secret_key = 'your-secret-key'`
`db.init_app(app)`
`migrate.init_app(app, db)`
`login_manager.init_app(app)`
`bcrypt.init_app(app)`
`csrf.init_app(app)`
`login_manager.login_view = 'login'`
`from .routes import main as main_blueprint`
`app.register_blueprint(main_blueprint)`
`with app.app_context():`
`db.create_all()`
`return app`
`login_manager.user_loader`
`def load_user(user_id):`
`from .models import User`
`return User.query.get(int(user_id))`
**routes.py**
**python**
`from flask import render_template, request, redirect, url_for, flash`
`from flask_login import login_user`
`from .models import User`
`from .forms import LoginForm`
`app.route("/login", methods=["GET", "POST"])`
`def login():`
`form = LoginForm()`
`if form.validate_on_submit():`
`email = form.email.data`
`password = form.password.data`
`user = User.query.filter_by(email=email).first()`
`if user and user.check_password(password):`
`login_user(user)`
`return redirect(url_for('home'))`
`else:`
`flash("Invalid credentials", "danger")`
`return render_template("login.html",
/r/flask
https://redd.it/1gsm10l
P Analysis of why UMAP is so fast
Hi, I recently spent some time to understand the core implementation of the UMAP algorithm from the point of view how it was implemented and why it's so fast (even though it's in python). I decided to decompose the algorithm into smaller steps in which I add some minor improvements to the code (one by one), so that at the end the final results are very similar to what I can get from the UMAP.
To my surprise, most of these changes were just tricks in the optimization code to run things faster or update less important things less often. Of course, my implementation does not reproduce the UMAP algorithm in 100% as it was done in the educational purposes.
I provided a detailed explanation in my project of what I had to add in each step to move towards UMAP like algorithm. Here is the project page: https://github.com/kmkolasinski/nano-umap
If you are a person like, who likes to optimize the code for performance you may find this interesting. Here is a demo what I was able to get:
https://preview.redd.it/eww57c3x881e1.png?width=1921&format=png&auto=webp&s=ed4a345e40b47782ddf39cb93eb9d03207db1160
TLDR: in UMAP they:
use ANN library to quickly find top k-NN,
use good initialization method which makes things more stable and algorithm requires
/r/MachineLearning
https://redd.it/1gsjfq9
🚀 Feature Friday: PostgreSQL Connection Pools!
Welcome to this week's Django Feature Friday on PostgreSQL Connection Pools!
This small-but-mighty change lets you enable connection pooling with a single line in your settings. This reduces the overhead of accessing your database, leading to improved performance.
You can turn it on like this:
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
# ...
"OPTIONS": {
"pool": True,
},
},
}
If you want fine-grained control over your connection pools, you can also explicitly configure them by passing in a dictionary of settings:
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
# ...
/r/django
https://redd.it/1grwhlk
Yami - A music player made with Tkinter Now on pypi!
I would like some user feedback
**Github Link:** [https://github.com/DevER-M/yami](https://github.com/DevER-M/yami)
**Pypi Link:** [https://pypi.org/project/yami-music-player/](https://pypi.org/project/yami-music-player/)
**Some of the features**
* ***mp3 , flac, and many audio formats supported for playback***
* ***Clean UI***
* ***Can download music with art cover***
* ***it is also asynchronous***
**Libraries used**
* customtkinter
* spotdl
* mutagen
**Target audience**
This project will be useful for people who do not want ads and want a simple user interface to play music
**Comparison**
There are currently no projects that have all the features covered and is made with tkinterTo use this install all requirements in the .txt file and you are good to go
**RoadMap**
I will update it now and then
A follow would be nice! [https://github.com/DevER-M](https://github.com/DevER-M)
/r/Python
https://redd.it/1grzxre
I played a minute-long video in Windows Terminal
I recently worked on a project combining my love for terminal limits and video art. Here’s what I achieved: • Rendered a 1-minute-long (almost two) ASCII video in the terminal, without graphics libraries or external frameworks. • Used true 24-bit colors for each frame, offering deeper color representation in terminal-based projects. • Processed 432 million characters over 228 seconds, translating each frame’s pixels to colors. • Optimized performance with multi-processing, running on an integrated graphics card.
Specs:
• 30 FPS
• 160,000+ characters per frame
• 2,700 frames
• 3 pixels per character for better performance
For further optimization, I reduced the font size to 3 pixels and used background colors to handle brightness.
What my project does?
While not the most practical project, it’s an experiment I’m satisfied with it. No real use, but hey, it’s fun!
Target audience
This is more of a fun project so I can't say it has a specific target audience, but I could say that people that strangely feels good coding "useless" things might like it.
Comparison
Well it is not an ASCII player anymore to be precise, but what it does now is just display video in the terminal using basically pure ANSI, I
/r/Python
https://redd.it/1gro3kl
Game 987, Like 2048 but Fibonacci (Made in Python)
https://987.reflex.dev/
What My Project Does
From Adhami the author: I was wondering how 2048 would feel like if instead of powers of two, we can merge consequent fibonacci numbers. Turns out to be a rather interesting game that is fairly forgiving and grows very slowly. I found it difficult to come up with an overall strategy. I had a simple search algorithm that was able to achieve a score of exactly 66,666 (not joking). Getting a 987 block shouldn't be difficult.
You can take a look into the code here: https://github.com/adhami3310/987 (the simple search algorithm is inside the code as well)
Target Audience: Anyone
Comparison: Similar to 2048 but fib
/r/Python
https://redd.it/1gs56f7
PyPI now has attestation. Thanks I hate it.
Blog post: https://blog.pypi.org/posts/2024-11-14-pypi-now-supports-digital-attestations/
I'm angry that it got partially funded by the sovreign tech fund, when it's about "securing" uploads by giving the keys to huge USA companies. I think it's criminal they got public money for this.
I also don't think it adds any security whatsoever. It just moves the authentication from using credentials to PyPI to using credentials to github. They can be stolen in the exact same way.
/r/Python
https://redd.it/1gs05hm
Why is my django-cte manager a lot faster than a custom QuerySet?
I have this Car model that I want to sort by speed. I implemented two different ways to do these: one is by using a custom queryset and the other is using an external package using django-cte (see below). For some reason, the CTE implementation is alot faster even though the queries are the same (same limit, same offset, same filters, ...). And I'm talking tens of magnitude better, since for 1 million records the custom queryset runs for approx 21s while the CTE one is running for 2s only. Why is this happening? Is it because the custom queryset is sorting it first then does the necessary filters?
```
from django.db import models
from django.utils.translation import gettext_lazy as _
from django_cte import CTEManager, With
class CarCTEManager(CTEManager):
def sort_speed(self):
cte = With(
Car.objects.annotate(
rank=models.Window(
expression=models.functions.Rank(),
/r/django
https://redd.it/1gt9q67
Write any Python script in 30 characters (plus an ungodly amount of whitespace)
Hey all!
My friend challenged me to find the shortest solution to a certain Leetcode-style problem in Python. They were generous enough to let me use whitespace for free, so that the code stays readable.
# What My Project Does
I like abusing rules, so I made a tool to encode any Python script in just 30 bytes, plus some a lot of whitespace.
This result is somewhat harder to achieve than it looks like at first, so you might want to check out a post I wrote about it. Alternatively, jump straight to the code if that's more of your thing: GitHub.
# Target Audience
This is a toy project, nothing serious, but it was fun for me to work on. I hope you find it entertaining too!
# Comparison
This is honestly the first time I've seen anyone do this with a specific goal of reducing the number of non-whitespace characters at any cost, so this might as well be a unique project.
As a honorary mention, though, it builds on another project I think deserves recognition: PyFuck. It's JSFuck for Python, using 8 different characters to encode any (short enough) Python program.
/r/Python
https://redd.it/1gsyls8
Please help! Either getting 404 website error or an error with .flaskenv.
https://redd.it/1gsd73p
@pythondaily
Sunday Daily Thread: What's everyone working on this week?
# Weekly Thread: What's Everyone Working On This Week? 🛠️
Hello /r/Python! It's time to share what you've been working on! Whether it's a work-in-progress, a completed masterpiece, or just a rough idea, let us know what you're up to!
## How it Works:
1. Show & Tell: Share your current projects, completed works, or future ideas.
2. Discuss: Get feedback, find collaborators, or just chat about your project.
3. Inspire: Your project might inspire someone else, just as you might get inspired here.
## Guidelines:
Feel free to include as many details as you'd like. Code snippets, screenshots, and links are all welcome.
Whether it's your job, your hobby, or your passion project, all Python-related work is welcome here.
## Example Shares:
1. Machine Learning Model: Working on a ML model to predict stock prices. Just cracked a 90% accuracy rate!
2. Web Scraping: Built a script to scrape and analyze news articles. It's helped me understand media bias better.
3. Automation: Automated my home lighting with Python and Raspberry Pi. My life has never been easier!
Let's build and grow together! Share your journey and learn from others. Happy coding! 🌟
/r/Python
https://redd.it/1gt0n9f
Write good tests
I just published an article outlining what I think good tests in Python are often missing. It's not intended to flesh out on any of the topics, and is frugal on the details where I think they are better explained other place. Rather it's intended to inspire your style guides and convention documents. These are an assembly of issues that's been up for discussion in various places I've worked, and my opinionated take on them.
So please, write good tests.
https://www.agest.am/write-good-python-tests
/r/Python
https://redd.it/1gspitz
Django Challenges
I want to improve my coding skills on django and understand concepts better. Are they any django challenges monthly and weekly??
/r/djangolearning
https://redd.it/1gsjxpx
Custom Analytics Libraries
I've made a very basic Django site, I'll deploy it later on but I'm actually having a little of fun making it. I work as an analyst and I've managed to get 4 queries from and display them with chart.js and I'm super happy with how it looks, I'll do some more formatting at a later date but I'd like to keep building this out.
Does anyone else have any experience making their own analytics stuff? What libraries look good for displaying charts and stuff? I realize I'm not reinventing the wheel, we use Looker and Tableau at work but I would like to do something cool.
/r/django
https://redd.it/1gsl3vb
fxgui: Collection of Python Classes and Utilities designed for Building Qt-based UIs in VFX
Hey Python enthusiasts! Any VFX folks here? I've developed a little package called `fxgui` \- a collection of Python classes and utilities designed for building Qt-based UIs in VFX-focused DCC applications.
It's available on [GitHub](https://github.com/healkeiser/fxgui), [PyPI](https://pypi.org/project/fxgui), and comes with [documentation](https://healkeiser.github.io/fxgui). I'd love to hear your thoughts and get some feedback!
# Target Audience
* VFX/CGI people working from multiple DCCs.
# Key Features
* Quick setup of common widgets.
* Reusable custom UI components.
* Fully compatible over PySide2/PySide6, thanks to [qtpy](https://pypi.org/project/QtPy/).
# Comparison
* Specifically designed for multi-DCC environments (Maya, Houdini, Nuke, etc.).
* Saves development time by offering ready-to-use components.
* Maintains consistency and standardization across projects and DCCs.
/r/Python
https://redd.it/1gru93h
Have started the django doc again, and got stuck.
At this part of "Writing your first app", I try to type in "py manage.py startapp polls" and it shows "ModuleNotFoundError: No module named 'polls". Why is that?
/r/djangolearning
https://redd.it/1grq58d
Hidden Trigger: Unlock Python’s Built-in Debugging Superpower with PDB
Alert: New Python Tutorial!
Did you know Python has a built-in debugger that can turn you into a bug-slaying detective? In just 5 minutes, learn all the secrets to enhance your debugging skills by using the built-in PDB tool to track down errors, set breakpoints, and inspect your code like a pro!
**tutorial link**
/r/Python
https://redd.it/1gsdcj8
Saturday Daily Thread: Resource Request and Sharing! Daily Thread
# Weekly Thread: Resource Request and Sharing 📚
Stumbled upon a useful Python resource? Or are you looking for a guide on a specific topic? Welcome to the Resource Request and Sharing thread!
## How it Works:
1. Request: Can't find a resource on a particular topic? Ask here!
2. Share: Found something useful? Share it with the community.
3. Review: Give or get opinions on Python resources you've used.
## Guidelines:
Please include the type of resource (e.g., book, video, article) and the topic.
Always be respectful when reviewing someone else's shared resource.
## Example Shares:
1. Book: "Fluent Python" \- Great for understanding Pythonic idioms.
2. Video: Python Data Structures \- Excellent overview of Python's built-in data structures.
3. Article: Understanding Python Decorators \- A deep dive into decorators.
## Example Requests:
1. Looking for: Video tutorials on web scraping with Python.
2. Need: Book recommendations for Python machine learning.
Share the knowledge, enrich the community. Happy learning! 🌟
/r/Python
https://redd.it/1gsaiu7
D Neurips 2024 Hotel Roommate Search
The hotels around the venue for Neurips 2024 are pretty expensive, and I'm looking for a roommate to split the cost with (my university has a limit on the nightly hotel rate they are willing to reimburse). I currently have reserved a room for Tuesday-Sunday in the Century Plaza Hotel, which is 0.9 miles from the convention center. The nightly rate is $414. If anyone wants to split the cost of a room, please reach out! Also, it would be helpful if you could share this post with your research group or other attendees that you know.
If you are unsure about rooming with a complete stranger, you can get to know me a little bit through my personal website (https://mtcrawshaw.github.io/), which has links to my google scholar page, CV, etc. I do have a paper at the conference in the area of federated learning/distributed optimization. Just a grad student trying to make conferences affordable! Thanks.
/r/MachineLearning
https://redd.it/1gs0gj8
D When you say "LLM," how many of you consider things like BERT as well?
I keep running into this argument, but for me when I hear "LLM" my assumption is decoder-only models that are in the billions of parameters. It seems like some people would include BERT-base in the LLM family, but I'm not sure if that's right? I suppose technically it is, but every time I hear someone say "how do I use a LLM for XYZ" they usually bring up LLaMA or Mistral or ChatGPT or the like.
/r/MachineLearning
https://redd.it/1grxbdp
Dispatchery: Type-aware, multi-arg function dispatch for complex and nested Python types
Links: [Github](https://github.com/bolaft/dispatchery/), [PyPI](https://pypi.org/project/dispatchery/)
**What it does:**
*dispatchery* is a lightweight Python package for function dispatching inspired by the standard *singledispatch* decorator, but with support for complex, nested, parameterized types, like for example *tuple[str, dict[str, int | float]]*.
**Comparison**:
Unlike *singledispatch*, *dispatchery* can dispatch based on:
- Generic parameterized types (e.g. *list[int]*)
- Nested types (e.g. *tuple[str, dict[str, int | float]]*)
- Union types (e.g. *int | str* or *Union[int, str]*)
- Multiple arg and kwarg values, not just the first one
**Target Audience:**
Python developers who don't like having a bunch of *if isinstance* checks everywhere in their code.
**Example :**
from dispatchery import dispatchery
@dispatchery
def my_func(value):
return "Standard stuff."
@my_func.register(list[str])
def _(value):
return "Strings!"
@my_func.register(list[int] | list[float])
def _(value):
return "Numbers!"
@my_func.register(str, int | float, option=str)
def _(value1, value2, option):
return "Two values and a kwarg!"
/r/Python
https://redd.it/1grszm2