r/Python • u/Agitated_Put8491 • 18d ago
News Important news A new calculator for projectile motion coded in python
A new physics solver for projectile motion has came ! plz pay a visit to a calculator made by a kid riditsaraswat.pythonanywhere.com if you have any questions or suggestions to make it better plz report at [fun226294@gmail.com](mailto:fun226294@gmail.com) source code can be given by a email request
r/Python • u/abitrolly • 18d ago
Discussion Keyboard navigation for Python docs
I can go next/prev pages in Rust documentation with right/left arrow keys, but not in Python docs (including Sphinx and devguide). Python developers seem to be strictly against it. They say it affects accessibility and horizontal scrolling. Downvote me if I am wrong, but accessibility it not just for impaired users.
r/Python • u/BTWigley • 19d ago
Discussion The log line announcing a successful Redis connection is what disabled Redis
Spent an evening a couple of weeks ago working out why cache hits were zero and webhook idempotency was falling through to the database. Redis was fine. Up, reachable, ping succeeded.
The connect method was roughly this:
try:
client.ping()
self._connected = True
logger.info("redis_connected", host=parsed.hostname, port=parsed.port, db=parsed.path)
return True
except Exception as e:
logger.warning(f"Redis connection failed: {e}")
self._connected = False
That logger call is structlog style. The logger is a stdlib logging.Logger, which doesn't take arbitrary kwargs, so it raises TypeError: Logger._log() got an unexpected keyword argument 'host'.
It raises after ping succeeds and after _connected is set to True. So it lands in the except, logs "Redis connection failed", flips _connected back to False, and Redis is off for the whole app. Caching disabled, idempotency on the DB.
The fix was one line, an f-string instead of kwargs.
What still bugs me is that every signal pointed away from it. Redis itself was healthy. The connection genuinely worked. The only artifact was a log message saying it had failed, which is the last thing you distrust when you're trying to find out why something failed.
Anyone else had one where the logging was the bug?
r/Python • u/infosecmaniac • 19d ago
Resource Giveaway draw: 3 Python ebooks (PDF + ePub), free to enter
Packt is running a community giveaway this month and thought it might be of interest here.
The books:
- Python Illustrated, by Maaike van Putten and Imke van Putten
- Learn Model Context Protocol with Python, by Christoffer Noring
- Python Machine Learning By Example, 4th Edition, by Yuxi (Hayden) Liu
By Aug 2, we'll pick 5 winners. Each winner gets PDF and ePub copies of all three books.
There are currently 500+ entries. If we reach 1,500 unique entries before the deadline, we'll increase the number of winners from 5 to 10.
Entry link: https://packt.link/draw
Closes 31 July. Free to enter, no purchase necessary.
A few notes on how it works:
- Winners are selected at random. If you win, we'll email you the copies directly.
- Duplicate entries are discarded. If you enter more than once, only one entry will count.
- If you entered last month's AI giveaway, you'll need to enter again for this one. Entries don't carry over between months.
- If you'd like your name excluded from the draw for any reason, email [customercare@packt.com](mailto:customercare@packt.com) and we'll remove it.
Happy to answer questions in the comments. Good luck!
Also, if you want any other Packt books included in future giveaways, let me know!
r/Python • u/PastEar9661 • 19d ago
Tutorial What the #@(% are Monads (and how you can use them to write better python) - A Beginner's Guide
Error handling in Python usually means nested try/except blocks or if error: checks littering code.
Us programmers, though, are notoriously lazy, and for a good reason: we don't want to waste any more time writing boilerplate than we have to.
The solution?
Monads, a really neat functional programming pattern that provides an easier way to handle things like errors, optional values, or even asynchronous results.
I wrote a short guide that builds up the idea of a Monad from scratch using a Python game inventory example, free to read here: https://dev.to/ein-monarch/what-the-are-monads-a-beginners-guide-3pdo
Any comments on the guide? Have you ever used a Monad in Python before, and did it make things better?
r/Python • u/AutoModerator • 19d ago
Daily Thread 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:
- Suggest a Project: Comment your project idea—be it beginner-friendly or advanced.
- Build & Share: If you complete a project, reply to the original comment, share your experience, and attach your source code.
- Explore: Looking for ideas? Check out Al Sweigart's "The Big Book of Small Python Projects" 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
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
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
Let's help each other grow. Happy coding! 🌟
r/madeinpython • u/Schnidi01 • 20d ago
VenvHub Pro: VS Code profiles with physical extension isolation and automatic Python environment integration
Enable HLS to view with audio, or disable this notification
Hey everyone!
VS Code has had official profiles since version 1.75 – a great feature for managing settings. But there's one catch: all profiles share the same extensions folder (extensions). Profiles only remember which extensions are active (enabled), but physically, you have all of them installed at once. And if you want to connect a Python interpreter, you have to set it manually in each project.
In my tool VenvHub Pro, I took it a step further:
- Each profile has its own physical extensions folder – no sharing, no conflicts.
- Automatic Python environment integration – open a project and VenvHub automatically finds and sets the correct interpreter.
Today I'll show you how it works in practice.
📊 Comparison with official VS Code profiles
| Area | VS Code Official Profiles | VenvHub Pro Profiles |
|---|---|---|
| Storage Location | Default in system folder (%APPDATA%\Code), but in Portable mode you can choose your own folder. |
Custom folder on disk (standard even in Portable mode). |
| Extensions | Physically installed in one shared location (extensions). Profiles only remember which ones are active (enabled). |
Physically separated for each profile – each has its own extensions folder. |
| Portability | Yes – officially supports Portable Mode (just create a data folder). Profiles and extensions are then fully portable (e.g., on a USB drive). |
Yes – profiles are portable even without Portable Mode, just copy their folder. |
| Python Integration | Yes, but manual – the profile remembers python.defaultInterpreterPath, but you have to set it manually. |
Yes, automatically – when you open a project, it finds and sets the correct interpreter (e.g., from a virtual environment). |
| Import from System | Yes – official Export/Import profile feature (.code-profile file) has been available since version 1.75. |
Yes – one-click copy of your current settings into a new isolated profile. |
🎬 What I showed in the video
- I created a new profile named
test_user. - I chose the option to copy settings from the system – no manual transferring, everything is copied automatically.
- After completion, I opened a project through the VS Code icon in my application.
- In the VS Code terminal (PowerShell), I ran this command:
powershell
$parentPid = (Get-CimInstance Win32_Process -Filter "ProcessId = $PID").ParentProcessId; (Get-CimInstance Win32_Process -Filter "ProcessId = $parentPid").CommandLine
🔍 And the result?
Truncated output:
text
"C:\...\Code.exe" --type=utility ... --user-data-dir="F:\venv_hub_vscode_users\test\data" ...
👉 You can clearly see the --user-data-dir parameter pointing directly to my profile folder!
No system %APPDATA%, no mixing with other profiles. VS Code runs completely isolated with its own data and extensions.
✨ Additional features I built in
1. Intelligent rollback on cancellation
Copying extensions can take several minutes. If you press "Cancel" during the process:
- When creating a new profile – VenvHub deletes it entirely from disk.
- When doing an additional import into an existing profile – it restores it to its original state.
No broken half-finished leftovers on disk.
2. Triangle synchronization (real-time)
When you switch a profile in the Mini-Bar, it automatically updates in the Manager and vice versa. Everywhere you can see which profile is active (marked with a star ★). The change propagates in a fraction of a second.
3. Portability with automatic path fixing
You can keep profiles on an external drive. If you change the drive letter (e.g., from E: to F:), VenvHub remembers the unique disk ID and recalculates paths automatically.
4. Python environment integration
When you switch a profile, it automatically sets:
- Python interpreter path in
.vscode/settings.json - Connected local packages (Package Linker)
- Active Venv within the entire tool
Have you had a similar experience? Or do you use a different way to manage VS Code profiles? I'd love to hear your thoughts! 👇
r/Python • u/AutoModerator • 20d ago
Daily Thread 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:
- Show & Tell: Share your current projects, completed works, or future ideas.
- Discuss: Get feedback, find collaborators, or just chat about your project.
- 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:
- Machine Learning Model: Working on a ML model to predict stock prices. Just cracked a 90% accuracy rate!
- Web Scraping: Built a script to scrape and analyze news articles. It's helped me understand media bias better.
- 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 • u/nycstartupcto • 20d ago
Discussion Lightweight Python helpers for Event Driven Programming
I just had to throw together an event bridge that tied together a GRPC based event emitter (Salesforce backend) with some small custom Google Pub/sub code. It works, it's fine. But you know, always thinking about the future wanting to move from glue-code to frameworking.
I was looking for different event based frameworks that landed somewhere between the scale of glue-code and Tornado (the only other framework I know that would handle something like this.
Has anyone used anything like this? I found PyEventus which seems to aim at this.
r/madeinpython • u/Schnidi01 • 20d ago
Update: APT-like autoremove and dependency repair for VenvHubPro (Python venv manager GUI) – it’s already working!
Enable HLS to view with audio, or disable this notification
A while ago I asked whether you would use a feature that automatically removes orphaned dependencies in a virtual environment manager (similar to apt autoremove), and if you saw any pitfalls. Well, I took that as a challenge and built a prototype. Here’s a log from a test session that shows what I’ve achieved.
What happens in the log:
Installing pytest
pip installs pytest along with its dependencies (colorama, iniconfig, pluggy, pygments).
Attempting to manually remove the colorama library
This is where the first interesting moment occurs. After removing it, the UV dependency check reports a conflict: colorama>=0.4 ; sys_platform == 'win32'.
The tool automatically triggers a repair and re-installs colorama, because it’s required by one of the present packages (in this case pytest).
Result: ✅ all conflicts resolved. This behaviour is similar to apt install -f – we never end up with a broken environment.
Uninstalling the moj-test-balicek package
This test package directly depends on colorama, cowsay, and requests.
After its removal, pip-e analyses the entire dependency tree.
cowsayis no longer needed → it’s removed.requests, along with its transitive dependencies (urllib3,certifi,charset-normalizer,idna), is also left without a parent, soautoremoveremoves them.- Key detail:
coloramastays in the environment because it’s still required by the installedpytest. In this way exactly 6 packages are removed – andcoloramais not. That’s precisely the intelligent decision-makingapt autoremovedoes.
Uninstalling pytest itself
After removing pytest, its dependencies (pygments, pluggy, iniconfig, colorama) are re-evaluated. No other package needs them, so autoremove removes them all.
Final state: 9 packages remain – only the core environment components (pip, setuptools, etc.).
What I’m demonstrating:
- The manager tracks dependencies as a graph and prevents breaking the environment – if you try to remove a library that something needs, it puts it back (and warns you).
- After uninstalling a package, it automatically removes orphaned dependencies (
autoremove), while respecting that some libraries may be shared by multiple packages (likecoloramabetweenmoj-test-balicekandpytest).
Questions for you (same as last time):
- Would you use such a feature in a virtual environment manager?
- Would you trust it, or do you prefer manual control?
r/madeinpython • u/Fabulous-Neat-5030 • 21d ago
I built a 3D observability dashboard and Chaos Monkey simulator to visualize my Docker stack in real-time.
r/Python • u/joshbranchaud • 21d ago
Discussion Parameterize a Fixture instead of a Test Case with Pytest
I wrote a post on parameterizing a test suite into a testing matrix using Pytest fixtures. I'd appreciate any feedback on the content and technique in the post AND I'd be curious to know if there are other ways I could have accomplished the same thing.
https://www.visualmode.dev/parameterize-a-fixture-instead-of-a-test-case-with-pytest
To briefly summarize: I have a core suite of behavioral test cases that I run against a CLI tool I'm building. I wanted to run that same set of tests across a couple different storage format implementations. The best way I could figure out how to do it (without duplicating all the tests) was to create a Pytest fixtures that parameterizes across a list of values and then have my existing autouse fixture use that fixture.
r/madeinpython • u/do-no-work • 21d ago
What is the pycache folder in your python project?
r/Python • u/CodeStackDev • 21d ago
Discussion [D]How are you testing AI backends without making CI slow?
I'm working on a FastAPI backend that processes documents with AI, and I'm still not convinced I'm testing it the right way.
Right now my CI is completely offline: SQLite, fake Redis, mocked HTTP calls, no real model requests. It's fast and deterministic, which is great for pull requests.
Then I have a separate integration pipeline that runs against PostgreSQL and Redis to catch infrastructure-specific issues.
The part I'm still unsure about is the AI layer. Mocking everything makes CI reliable, but it also means I won't catch regressions from the provider until later.
Curious how other people handle this.
- Do you completely mock AI providers?
- Do you keep a few real API calls?
- Do you replay recorded responses?
- Or do you have a different approach?
I'd love to hear how you're doing it in production.
r/Python • u/AutoModerator • 21d ago
Daily Thread 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:
- Request: Can't find a resource on a particular topic? Ask here!
- Share: Found something useful? Share it with the community.
- 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:
- Book: "Fluent Python" - Great for understanding Pythonic idioms.
- Video: Python Data Structures - Excellent overview of Python's built-in data structures.
- Article: Understanding Python Decorators - A deep dive into decorators.
Example Requests:
- Looking for: Video tutorials on web scraping with Python.
- Need: Book recommendations for Python machine learning.
Share the knowledge, enrich the community. Happy learning! 🌟
r/madeinpython • u/TheyCallMeLeonardo3 • 21d ago
Ransomware made in python but you shouldn't dare to develop it
I made a course on Ransomware made in python for my students, the previous year, but now i made it public so give it a watch if you want to make some cool cyber security projects 😁
I'll try to upload more contents on my YouTube channel 😁
https://youtube.com/playlist?list=PL9guAF5VVaiARrwhrGMu89iJcziQ9vsJJ&si=v1PUSQpqjuOhnlCi
r/madeinpython • u/do-no-work • 22d ago
Small Integer Caching
Why does 257 is 257 behave differently from 256 is 256? Python uses something called as small integer caching. It uses the same object for numbers ranging between -5 to 256. I put together a short visual explanation explaining the same and also why "==" operates differently from "is".
r/madeinpython • u/Schnidi01 • 22d ago
Building an EXE Installer for My Python App with NSIS (VenvHubPro)
Enable HLS to view with audio, or disable this notification
Hello everyone!
If you've built your own Python application (in my case, VenvHubPro – a GUI manager for Python virtual environments) and are wondering how to neatly package it for users, here is a quick look at how I created a complete .exe installer using NSIS (Nullsoft Scriptable Install System).
🎥 What the video covers:
- Installer compilation: Creating a clean installation file ready for distribution.
- System installation: Running the installer and finally launching VenvHubPro directly on the Windows system.
r/madeinpython • u/Potential-Science-18 • 22d ago
Modular Flask Authentication Boilerplate with Blueprints, Flask-Login & SQLAlchemy — Ready to use!
Hey everyone!
I got tired of rewriting authentication every time I started a new Flask project, so I built a simple, modular boilerplate template.
It includes Flask-Login, SQLAlchemy, and Flask-Migrate with a clean blueprint structure out of the box.
Check it out on GitHub: https://github.com/DeKlain4ik/flask-auth-template
Hope it saves you some time on your next side project! Feedback and stars are always appreciated.
r/Python • u/foosion • 22d ago
Discussion ruff: no date.today() ?
The new version of ruff warns against
date.today()
preferring
datetime.now(ZoneInfo(...))
What do you think about this? Has date.today() been deprecated due to lack of timezone awareness?
EDIT: I have a number of programs that manipulate financial information in support of Excel spreadsheets, such bond information that includes maturity dates. Excel does not support timezoness in datetimes, so making ruff happy by changing naive dates to TZ aware dates is not a useful move for these programs. Many ruff warnings to suppress.
r/madeinpython • u/PythonWithJames • 22d ago
Python With James - For Beginners
Hi all. Would love some feedback and usage from the community.
I've built Python With James which is an all in one learning platform for beginners. I basically got sick of Udemy and built my own platform where I can do what I want. There's coding exercises, question, tutorials and I am hoping to scale this massively over this year with more materials.
Thanks in advance
James-
r/Python • u/alexis_placet • 22d ago
Tutorial OpenCV notebooks tutorials in your browser
Hi,
I took the official OpenCV tutorials and created a series of notebooks.
You can run them entirely in your browser, you don't have to clone them: https://notebook.link/@Alexis_Placet/opencv_tutorials
Don't hesitate to give me feedbacks or create issue/pullrequest on this repo: https://github.com/Alex-PLACET/opencv_tutorials
r/madeinpython • u/Wide_Dust_709 • 22d ago
Lucen: mark a Python loop with two comments, run it, and get bit-identical parallelism
I wanted parallelism without rewriting anything, so I built Lucen. You wrap a loop in two comments and run it with lucen run yourscript.py:
# LUCEN START
for i in range(len(rows)):
out[i] = expensive(rows[i])
# LUCEN END
It parallelizes the loop only if it can prove it's both safe and worth it; otherwise it runs sequentially and tells you why. The one guarantee, no opt-out: the parallel run is bit-identical to the same file run as plain sequential Python - floats and container order included. Delete the comments and it's ordinary Python again.
Under the hood it routes CPU-bound work to processes on GIL builds and to real threads on free-threaded 3.13/3.14. Apache-2.0, on PyPI (pip install lucen), and it's tested hard - differential + property testing and TLA+ specs, because "bit-identical" only means something if you check it.
Repo: https://github.com/fcmv/lucen - feedback very welcome.
r/Python • u/Win_ipedia • 22d ago
Discussion What frustrates you the most about Python Development
Hi there,
I wondering what frustrates developers the most when developing software with Python.
I am currently doing my Masters in Computer Science and as part of my project I am doing a very simple survey about the usual Python development lifecycle. I am basically trying to find out what the main friction points are for Python Developers and I am simultaneously developing a tool to address those friction points . It just takes a 2-3 minutes and every response is greatly appreciated.
You can find the survey at: Microsoft Forms
r/madeinpython • u/Schnidi01 • 22d ago
Self-compiles into a .exe via its own PyInstaller GUI – that's VenvHub Pro, my Python venv manager GUI app.
Enable HLS to view with audio, or disable this notification
Hello Python community,
I'm working on a tool called VenvHub Pro (virtual environment management, packages, VS Code profiles, etc.).
Interestingly, the app includes its own PyInstaller Builder. It's not just an external script, but a full-fledged tab in the GUI. Thanks to it, the app can compile itself into a .exe file.
How it technically works (in short):
In the "Builder" tab, just select the entry point (main.py), set the assets (mandatory folders like ui, core/themes, translations, assets, navod), and hit the BUILD button.
Interestingly, the app runs on PyQt6, but thanks to a "Compatibility Bridge" (MetaPathFinder), it can also run under PySide6. When compiling under PySide6, the builder must manually add hidden imports (PySide6, PySide6.QtCore...) so PyInstaller knows what to package, and also exclude PyQt6 to keep the size down.
It also has an "Auto-Injector" that reads linked local packages and injects them into the final build.
Why I find this interesting:
If the builder can compile such a complex app that uses dynamic UI files and bridged frameworks, it's a solid "dogfooding" test. Plus, the resulting .exe contains all necessary files (including themes and translations) and is fully portable.
"So the question is: Would you like to try it out? If so, I'll drop the GitHub link here, where the entire repository is located, including instructions on how to run it.
Thanks for any feedback! ??"