r/Python 5d ago

News ๐Ÿน The Long Pygame Summer Jam ๐Ÿ”ฅ

Post image
7 Upvotes

Ease into fall with this year's hot summer jam. Enjoy 3 weekends of creative thought and maybe even win some prizes. ๐Ÿ‘€

The jam's page on itch.io: https://itch.io/jam/the-long-pygame-summer-jam
Join the Pygame Community discord server to gain access to jam-related channels and fully immerse yourself in the event: https://discord.com/events/772505616680878080/1540092982907371521
For discussing the jam and other jam-related banter (for example, showcasing your progress): #jam-discussion

From 28 August 2026 at 19:00 (UTC) to 14 September 2026 at 19:00 (UTC)
Voting ends 21 September 2026 at 19:00 (UTC)

Prizes:
- ๐Ÿฅ‡ 2 Months of Discord Nitro
- ๐Ÿฅˆ 1 Month of Discord Nitro
- ๐Ÿฅ‰ 1 Month of Discord Nitro Basic
Note that for those working in teams, only a maximum of 2 Nitro subscriptions will be given out for a given entry

The voting for the jam theme is open (requires a Google account, the email address WILL NOT be collected): <see jam page for the link>

Summary of the Rules
- Everything must be created during the jam, including all the assets (exceptions apply, see the jam page for more details).
- pygame(-ce) must be the primary tool used for rendering, sound, and input handling.
- NSFW/18+ content is forbidden!
- You can work alone or in a team. If you don't have a team, but wish to find one, you are free to present yourself in #jam-team-creation
- No fun allowed!!! Anyone having fun will be disqualified! /s

Links
Jam page: https://itch.io/jam/the-long-pygame-summer-jam
Discord event: https://discord.com/events/772505616680878080/1540092982907371521


r/Python 22h ago

Daily Thread Tuesday Daily Thread: Advanced questions

3 Upvotes

Weekly Wednesday Thread: Advanced Questions ๐Ÿ

Dive deep into Python with our Advanced Questions thread! This space is reserved for questions about more advanced Python topics, frameworks, and best practices.

How it Works:

  1. Ask Away: Post your advanced Python questions here.
  2. Expert Insights: Get answers from experienced developers.
  3. Resource Pool: Share or discover tutorials, articles, and tips.

Guidelines:

  • This thread is for advanced questions only. Beginner questions are welcome in our Daily Beginner Thread every Thursday.
  • Questions that are not advanced may be removed and redirected to the appropriate thread.

Recommended Resources:

Example Questions:

  1. How can you implement a custom memory allocator in Python?
  2. What are the best practices for optimizing Cython code for heavy numerical computations?
  3. How do you set up a multi-threaded architecture using Python's Global Interpreter Lock (GIL)?
  4. Can you explain the intricacies of metaclasses and how they influence object-oriented design in Python?
  5. How would you go about implementing a distributed task queue using Celery and RabbitMQ?
  6. What are some advanced use-cases for Python's decorators?
  7. How can you achieve real-time data streaming in Python with WebSockets?
  8. What are the performance implications of using native Python data structures vs NumPy arrays for large-scale data?
  9. Best practices for securing a Flask (or similar) REST API with OAuth 2.0?
  10. What are the best practices for using Python in a microservices architecture? (..and more generally, should I even use microservices?)

Let's deepen our Python knowledge together. Happy coding! ๐ŸŒŸ


r/Python 4h ago

Resource Python Under the Hood Update: Chapter 3 (Conditional Statements & Control Flow) is now complete

4 Upvotes

Hey everyone,

Chapter 3 is finally done. This chapter took way more time than I originally expected because it grew into a much deeper and larger chapter than planned.

Current Progress:
โœ… Chapter 1 - Variables & Memory
โœ… Chapter 2 - Expressions & Operators
โœ… Chapter 3 - Conditional Statements & Control Flow

I'd love to hear your thoughts on the new chapter and any suggestions for future improvements.

With this, Iโ€™m taking a break from Python Under the Hood. Iโ€™ll be stepping away from the project for a while and will return to it before July 2027.

When I come back, weโ€™ll continue with even deeper explanations, more advanced topics, and an even better approach to understanding what happens under the hood of Python.

For now, Chapter 3 marks the end of this phase. ๐Ÿโš™๏ธ

GitHub:ย python-under-the-hood

See you in the next chapter.


r/Python 16h ago

Discussion When do you prefer asyncio.Semaphore over an asyncio.Queue for limiting concurrency?

36 Upvotes

I've been thinking about concurrency control in asyncio.

A common pattern for limiting concurrent work is:

sem = asyncio.Semaphore(10)

async with sem:
    await do_work()

But in many cases, couldn't the same problem be modeled by putting work into an asyncio.Queue and running a fixed number of worker tasks?

I'm curious how experienced Python developers decide between the two approaches.

Are there real-world situations where a semaphore is clearly the better abstraction than a worker queue? Are there meaningful differences in cancellation behavior, backpressure, fairness, task lifetime, or code complexity?

I'd especially be interested in examples from production async Python code.


r/Python 1d ago

News Pycon 2026 in Aveiro

14 Upvotes

Below is the link for Python enthusiasts and programmers/anyone interested in the Pycon 2026 event, which will take place in Aveiro from September 3rd to 5th!

https://2026.pycon.pt/


r/Python 5h ago

News DeployProof 1.1.11: Fast diff-scoped mutation testing and pre-push quality gate for Python

0 Upvotes

GitHub: https://github.com/SVSPraveen/DeployProof

PyPI: https://pypi.org/project/deployproof/

Hey everyone,

Weโ€™ve all encountered test suites boasting 90%+ or even 100% line coverage where the tests execute every line of code but assert almost nothing. With the rise of AI-assisted coding where copilots generate boilerplate tests that execute functions without asserting true invariants, line coverage has become a dangerously hollow metric.

The gold standard for proving that tests actually assert correctness is **mutation testing** (modifying AST operators like `==` to `!=`, `<` to `>`, or returning `None` to see if tests fail). But traditional mutation testing is painfully slow.

---

###What My Project Does

DeployProof is a deterministic, 100% local pre-push verification gate that solves the mutation latency problem by dropping feedback loops down to 2 to 5 seconds.

Instead of mutating whole files or the entire repository, DeployProof parses your active `git diff` against your base branch (or uncommitted working tree), maps changed line spans to their specific AST subtrees, and generates isolated mutations **strictly on newly written or touched logic**.

In addition to diff-scoped mutation testing, DeployProof provides **5 automated hygiene gates** that standard linters routinely miss:

  1. Diff-Scoped AST Mutation Engine (2โ€“5s): Generates arithmetic, comparison, boolean, and boundary mutations strictly on changed AST nodes. If tests don't fail when logic is inverted, the gate blocks push with the exact surviving mutant line.
  2. Dependency Hallucination & Slopsquatting Defense: When new packages are introduced in `requirements.txt` or inline imports, DeployProof queries the public PyPI JSON API before push to verify the package actually exists on the public registry (guarding against hallucinated packages, typosquatting, and brand-new suspicious releases).
  3. Entropy Secret & Credential Scanning: Uses Shannon entropy analysis and regex pattern matching to detect hardcoded API keys (OpenAI, AWS, Anthropic, tokens) and tracked `.env` files in session diffs.
  4. Control Flow & Error Handling Hygiene: Detects and flags blanket `except Exception: pass` anti-patterns, swallowed exceptions, and unverified mock/monkeypatch fixtures introduced into tests.
  5. GhostApproval Symlink Defense: Traps repository sandbox-escaping symlinks before commits.

###Deep Multi-Worker Audits (`--full-repo --workers 8`)

For full-codebase audits, DeployProof includes a built-in parallel execution engine (`ProcessPoolExecutor`). It initializes isolated, PID-keyed filesystem sandboxes (`worker_<PID>`) with dedicated `--override-ini=cache_dir=...` and separate `--basetemp=...` pytest roots to scale across CPU cores without state leaks, cache collisions, or lock contention.

#### Zero Telemetry & 100% Local

DeployProof runs completely offline on your machine. The only outbound network call is checking package existence against the public PyPI registry. Zero code, findings, or telemetry ever leave your machine.

---

### Target Audience

DeployProof is built for:

Python Developers & Engineering Teams: Who want an automated, deterministic local gate before opening pull requests to ensure new code actually has assertion backing.

AI-Assisted Workflows: Developers using Cursor, Claude, Copilot, or ChatGPT who need a fast sanity gate to catch hallucinated package imports, unverified test mocks, and hollow line-coverage tests before pushing.

CI/CD Pipeline Maintainers: Teams looking for structured machine-readable JSON output (`deployproof check --json`) to enforce mutation thresholds in GitHub Actions without waiting 45 minutes.

---

### Comparison to Existing Tools

vs. pytest-cov / Line Coverage: Line coverage measures execution paths, not assertion quality. A test that calls a function without an `assert` gives 100% line coverage. DeployProof inverts logic operators (`==` to `!=`, `<` to `>`) to prove your tests actually fail when a bug is introduced.

vs. mutmut: Mutmut is the standard for full-repo mutation testing, but running it across an entire codebase takes 20 to 60+ minutes sequentially. DeployProof is designed specifically as a pre-push hook: it scopes mutations to the git diff in 2โ€“5 seconds, and provides isolated parallel multi-worker sandboxes when running full audits.

vs. bandit / trufflehog: Linters like Bandit analyze static security patterns, and Trufflehog searches for git history secrets. DeployProof combines diff-scoped credential entropy with live PyPI package existence verification and AST mutation testing into a single sub-5-second pre-push command.

---

### Quick Start

```bash

# Install via pip or pipx

pip install deployproof

# or

pipx install deployproof

# Run check on your active changes / git diff:

deployproof check

# Run a parallel full-repository audit:

deployproof check --full-repo --workers 8

# Output machine-readable JSON for CI/CD:

deployproof check --json

```


r/Python 1d ago

Discussion Thank You | from Nova

70 Upvotes

Hello!
I'm Nova, I'm a college student taking CS in Norway. And I just wanted to share a bit of my story.

I started my developing career roughly 7 years ago when I was 8-9. I remember watching so many movies about these hackers and programmers growing up, and thinking "Wow, I wish I could be like them!". Luckily my father had a computer science background himself! So he saw this and showed me a couple things such as Scratch, blablabla.
I quickly quit Scratch, cause I thought it was boring and hard. But just a few months later, I installed Python and VSCode on the family computer! I started watching a multi hour Python course by Programming with Mosh and followed along. I remember being so bored haha!

But it clicked. It really did. It scratched (pardon the pun) something that Scratch couldn't. Some abstract yet so understandable logic. At the time it really felt like I was on top of the whole world.
Somewhere in the second last to last years of primary school, I was fully invested. I was making calculator apps and whatever I could think of during the free time at school with the provided iPads that hadn't been there the year before. Heck! I got some other kids in my class to become interested in programming too!

Eventually, a year later when I started middle school/high school (combined into the same three years in Norway), I naturally started learning new things such as Java and C# .NET. My Python usage was mostly just small prototypes for other languages at that time.

Yet I never abandoned it. Not even now.
Python is what started my journey, and I am so grateful for everything it has done.

So thank you,
Thank all of you,

Thank you every random StackOverflow member who posted weirdly specific help threads.

Thank you every StackOverflow member who responded to my silly little questions.

Thank you to all the Python maintainers and contributors.

Thank you Guido van Rossum for founding the language.

And thank you to the whole Python community who made this student's childhood dreams possible and bloom to life.

- Nova


r/Python 15h ago

Discussion I know Iโ€™m late, but Python 3.14.7 is out. Anyone actually upgraded yet?

0 Upvotes

I know Iโ€™m a little late to this, but Iโ€™ve been looking into Python 3.14.7 and something keeps bothering me.

The release itself looks solid. Python 3.14.7 was released on August 5 and is mainly a maintenance release with a lot of bug fixes and improvements.

But for people working on existing projects, the bigger question seems to be:

What makes you decide that itโ€™s finally time to upgrade Python?

A new Python version sounds great until you have to check:

  • dependencies
  • C extensions
  • Docker images
  • CI/CD
  • production servers
  • test suites
  • old packages that nobody wants to touch

And Python 3.14 has some pretty interesting changes compared with 3.13, including officially supported free-threaded Python, t-strings, multiple interpreters, and the new compression.zstd module.

So Iโ€™m curious about real-world experience rather than release notes.

Have you upgraded to 3.14 yet?

If yes, what went smoothly and what broke?

If no, whatโ€™s the main reason youโ€™re waiting?


r/Python 2d ago

Resource Nathan Goldbaum Interviewed about the Move to Free Threading and its Implementation

45 Upvotes

https://alexalejandre.com/interviews/interview-with-nathan-goldbaum/

After a lot of effort, the free threading build works but there is still much community work, making packages compatible etc.


r/Python 1d ago

Daily Thread Monday Daily Thread: Project ideas!

7 Upvotes

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" 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/Python 2d ago

Daily Thread Sunday Daily Thread: What's everyone working on this week?

20 Upvotes

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 3d ago

Discussion Contribution to pyperf

11 Upvotes

I am recently came across the library pyperf because I have to benchmark my changes in a certain open source project to add metrics to the PR I was creating for the changes, but one thing I feel off is types, I don't know why but pyperf has lot of unknown types which is kind of weird so I was planning to contribute to it to make it a little bit better typed.

So I am wondering do projects like pyperf which comes under pdf accept contribution in generally? If there are any maintainers/contributors of pyperf here then then could answer my question.

Thanks in advance.

My Dev Environment

OS: Windows

Type Checker: Pyrefly


r/Python 3d ago

Daily Thread Saturday Daily Thread: Resource Request and Sharing! Daily Thread

0 Upvotes

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 5d ago

News Python 3.15 Release Highlights

330 Upvotes

Python 3.15 has reached Release Candidate 1, and the final release is expected on October 1, 2026.

I went through the changes and tried to summarize the ones that seem most relevant for everyday Python development without going through all the PEP numbers.

- Faster startup with lazy imports

Python 3.15 introduces lazy imports, which means some modules can be loaded only when they are actually needed instead of being loaded immediately.

This could help applications and CLI tools that spend a noticeable amount of time importing modules before doing any actual work.

- UTF-8 becomes the default

UTF-8 is becoming the default encoding, which should reduce encoding-related problems, especially when code is running on different operating systems.

This should make situations where something works on one computer but fails because of a different system encoding less common.

- Built-in immutable dictionaries

Python 3.15 adds a built-in "frozendict"-style immutable mapping.

Similar to how a tuple provides an immutable alternative to a list, this gives Python developers a standard way to work with dictionaries that cannot be modified.

- JIT improvements

The JIT compiler continues to improve in Python 3.15.

Early benchmarks show performance improvements in some workloads, including roughly 8โ€“9% on Linux and larger improvements in some Apple Silicon tests.

These numbers will obviously depend on the workload, so I would wait for more benchmarks before making broader conclusions.

- New profiler: Tachyon

Python 3.15 also introduces Tachyon, a new sampling profiler designed for very low overhead.

It can sample running programs at very high frequencies and can also be attached to an already-running process.

This could be useful for finding performance problems without having to restart an application with a profiler attached from the beginning.

- Some terminal improvements

The interactive Python experience is getting a few smaller improvements, including colored error messages and prompts.

The "sqlite3" command-line interface also gets SQL keyword completion.

- Free-threaded Python is still opt-in

Python 3.15 does not make the no-GIL/free-threaded build the default.

It is still something you have to explicitly use.

However, free-threaded Python is becoming more mature, including improvements to ABI support that should make it easier for C extension developers to support it.

Overall, Python 3.15 doesn't look like a release that completely changes how Python is written. Most of the changes are focused on performance, tooling, and improving some long-standing parts of the language.

Since this is already RC1, the major feature set should be mostly locked and the remaining work should mainly be bug fixes and final polishing.

Has anyone here been testing the Python 3.15 beta or RC?

I'm especially interested in whether lazy imports have caused compatibility problems with existing projects.


r/Python 4d ago

Daily Thread Friday Daily Thread: r/Python Meta and Free-Talk Fridays

5 Upvotes

Weekly Thread: Meta Discussions and Free Talk Friday ๐ŸŽ™๏ธ

Welcome to Free Talk Friday on /r/Python! This is the place to discuss the r/Python community (meta discussions), Python news, projects, or anything else Python-related!

How it Works:

  1. Open Mic: Share your thoughts, questions, or anything you'd like related to Python or the community.
  2. Community Pulse: Discuss what you feel is working well or what could be improved in the /r/python community.
  3. News & Updates: Keep up-to-date with the latest in Python and share any news you find interesting.

Guidelines:

Example Topics:

  1. New Python Release: What do you think about the new features in Python 3.11?
  2. Community Events: Any Python meetups or webinars coming up?
  3. Learning Resources: Found a great Python tutorial? Share it here!
  4. Job Market: How has Python impacted your career?
  5. Hot Takes: Got a controversial Python opinion? Let's hear it!
  6. Community Ideas: Something you'd like to see us do? tell us.

Let's keep the conversation going. Happy discussing! ๐ŸŒŸ


r/Python 4d ago

Discussion Coding to comparing filenames and foldernames on android

0 Upvotes

UPDATE: I have temporary solved my immediate problem with using the find and diff commands from Termux.
This got me a usable list of differences. Although I had to move folders around a bit.

In the long run I will use Python for this and further functions.

END UPDATE.

I need to make a program fรถr comparing file names and subfolder names between 2 folders containing something like 100000 files and subfolders. And it's around 650GB of data on the phone.

(Background: I have programmed professionally since 1979, but not on android or pc. Are totally new to Python. I use the phone almost always, very rarely the pc, even for my own business.)

I have searched for and tried extensively with apps for android but there isn't any useful. Apparently mainly due to permission problems.

The main question is: is it at all possible due to the permission problem?

(The solution by transferring the files to the pc have the problem that it takes very long time. And I really want a way to do it relatively often.)

The second question is: are the any existing code (snippets) for this or have you some advices in general?

Thanks on advance for any suggestions.

//Thomas


r/Python 6d ago

News The Move to Python 3 Begins!

304 Upvotes

As someone who spent decades in the mainframe community, I find it ... humorous ... that there are legacy Python2 code bases that are only just (or have yet to consider!) moving to Python3.

https://www.eveonline.com/news/view/the-move-to-python-3-begins


r/Python 4d ago

News CPythonโ€™s Experimental JIT in Python 3.15

0 Upvotes

Pythonโ€™s JIT compiler has been experimental since Python 3.13, but Python 3.15 is an important step in its development. The first release candidate, Python 3.15.0rc1, was released on August 4, 2026, with the final release expected in October. The main change is not simply the presence of a JIT, but a substantial improvement in how it observes and optimizes Python code.

A New Tracing Frontend

The 3.15 JIT now uses a new tracing frontend that records the execution paths a program actually takes. This gives the compiler better information about which operations are important and which paths should be optimized. Earlier versions had more limited information about the code being executed. The improvement itself is not the main performance gain, but it provides a better foundation for the optimizations that follow.

Better Use of CPU Registers

One of the more practical improvements is basic register allocation. Earlier JIT-generated code moved many intermediate values through memory between operations. Python 3.15 can keep some of these values in CPU registers across multiple operations instead. This reduces unnecessary memory traffic and is particularly useful for code with repeated arithmetic and other tight loops.

Less Reference-Counting Overhead

Reference counting is an important part of CPython's memory-management system, but it also creates work for the CPU. The new JIT can remove some reference-count operations when it can prove that they are unnecessary. This allows compiled code to spend more time doing the actual work rather than repeatedly maintaining object lifetime information.

Faster Numeric Operations

The JIT also introduces in-place optimizations for some int and float operations. When the compiler can determine that an object is not being referenced elsewhere, it can avoid creating another object for every operation. This is particularly useful in numeric loops where the same values are updated repeatedly.

Early Performance Results

The current pyperformance results show roughly 8โ€“9% geometric-mean improvement on x86-64 Linux and around 12โ€“13% on AArch64 macOS, compared with the corresponding non-JIT interpreter configurations. These numbers are useful indicators of progress, but they should not be read as a general claim that every Python program will become 10% faster. The actual effect depends heavily on the workload.

The JIT Is Still Experimental

Despite these improvements, the JIT is still disabled by default. It is intended for experimentation and benchmarking rather than being something most production applications should enable without testing. Some of its interfaces are also explicitly marked unstable, which reflects the fact that the implementation is still evolving.

The Bigger Question: PEP 836

The technical progress is only half of the story. On June 8, 2026, the Python Steering Council paused new JIT development on CPython's main branch and asked the developers to present a formal plan for the project's future. This resulted in PEP 836, โ€œJIT Go Brrr: The Path to a Supported JIT Compiler for CPython.โ€ The proposal describes a multi-release roadmap with measurable performance targets, including a proposed 20% geometric-mean improvement on the pyperformance suite for JIT plus free-threading by Python 3.17.

Where It Stands in August

As of August 2026, PEP 836 is still under discussion rather than being a settled decision. That makes the current state of CPython's JIT unusually interesting: the implementation is considerably more capable than it was in its early releases, while its long-term place in CPython is still being decided.

For now, Python 3.15 looks less like the moment when โ€œPython gets a JITโ€ and more like an important experiment in whether a JIT can become a reliable part of CPython's execution model.


r/Python 5d ago

Daily Thread Thursday Daily Thread: Python Careers, Courses, and Furthering Education!

10 Upvotes

Weekly Thread: Professional Use, Jobs, and Education ๐Ÿข

Welcome to this week's discussion on Python in the professional world! This is your spot to talk about job hunting, career growth, and educational resources in Python. Please note, this thread is not for recruitment.


How it Works:

  1. Career Talk: Discuss using Python in your job, or the job market for Python roles.
  2. Education Q&A: Ask or answer questions about Python courses, certifications, and educational resources.
  3. Workplace Chat: Share your experiences, challenges, or success stories about using Python professionally.

Guidelines:

  • This thread is not for recruitment. For job postings, please see r/PythonJobs or the recruitment thread in the sidebar.
  • Keep discussions relevant to Python in the professional and educational context.

Example Topics:

  1. Career Paths: What kinds of roles are out there for Python developers?
  2. Certifications: Are Python certifications worth it?
  3. Course Recommendations: Any good advanced Python courses to recommend?
  4. Workplace Tools: What Python libraries are indispensable in your professional work?
  5. Interview Tips: What types of Python questions are commonly asked in interviews?

Let's help each other grow in our careers and education. Happy discussing! ๐ŸŒŸ


r/Python 7d ago

News The Python (3.16) docs now have a page detailing the time complexity of operations on built-in types

517 Upvotes

r/Python 6d ago

Discussion Pyrefly opinion

0 Upvotes

Pyrefly is a new language server pubblished a week ago.

Has anyone tried it?

I was randomly looking for a new python language server before switching to vs codium and found it.

EDIT

Aparently it's not new, I'm just a bit dumb


r/Python 6d ago

Discussion Iโ€™m building a C++ app for managing Python environments โ€” would you use it? [Survey]

0 Upvotes

Rundesk โ€” Quick User Survey

A note before you read:
The idea and feature concepts behind Rundesk are mine. I used AI to help organize and explain the idea below.

What is Rundesk?

Rundesk is a lightweight Python development utility that brings Python version management, virtual environments, packages, dependency checking, and program execution into one GUI.

It is not meant to replace VS Code, PyCharm, or your preferred code editor. You keep writing code wherever you like; Rundesk focuses on everything around running and managing your Python projects.

What would Rundesk do?

๐Ÿ Python & Virtual Environment Management

Rundesk would let you manage multiple Python installations and virtual environments through a GUI.

You could easily see and select:

Python version โ†’ Virtual environment โ†’ Project

A project can be associated with its appropriate Python interpreter and environment without manually switching between environments in a terminal.

๐Ÿ“ฆ GUI Package Management

Instead of manually using commands such as pip install, Rundesk would provide a GUI for managing packages inside the selected virtual environment.

You could:

  • Search for packages
  • Install packages
  • Remove packages
  • View installed packages and versions
  • Upgrade packages
  • See which environment a package belongs to

The goal is to make package management easier without accidentally installing something into the wrong Python environment.

โš ๏ธ Automatic Dependency Detection

Rundesk would continuously check whether the project's environment matches its declared requirements, such as a requirements.txt.

For example:

Project requires:

numpy==2.1.0
pandas==2.2.3
requests==2.32.3

Current environment:

numpy 1.26.4
pandas not installed
requests 2.32.3

Rundesk could show:

The button would attempt to synchronize the environment with the project's requirements.

โ–ถ๏ธ Program Execution

Rundesk would provide an easy way to run, stop, and restart Python programs using the project's selected environment.

It would also display live program output so you don't have to repeatedly open a terminal just to see what your program is doing.

๐Ÿ“Š Lightweight Monitoring

While a program is running, Rundesk could display information such as:

Status: RUNNING
CPU:    12%
RAM:    183 MB

> program output...

๐ŸชŸ Compact Mode

Rundesk would have a small Compact Mode designed to sit beside your normal code editor.

The idea is that you could keep an eye on:

  • Program status
  • Output
  • CPU usage
  • Memory usage
  • Basic execution information

without having a huge second IDE covering your screen.

The main philosophy

Rundesk isn't trying to become another giant IDE.

Instead:

You write code in your preferred editor.
Rundesk manages the Python environment around it.

The overall workflow is:

Project โ†’ Python โ†’ Virtual Environment โ†’ Packages โ†’ Dependencies โ†’ Run โ†’ Monitor

The actual question

If Rundesk existed and worked reliably as described, would you use it?

A. Yes โ€” I'd probably use it regularly
B. I'd try it, but I'm not sure I'd switch
C. Maybe โ€” only for certain projects
D. No โ€” my current workflow is already better
E. I don't use Python enough to need it

If you chose Aโ€“C:

Which feature would make you most likely to use Rundesk?

If you chose D:

What would Rundesk need to do differently for you to consider using it?

Optional:

What Python tools do you currently use?
For example: VS Code, PyCharm, terminal/pip, uv, Poetry, Conda, etc.

Please be brutally honest. I'm trying to determine whether Rundesk would actually be useful to developers, not just whether the idea sounds cool.


r/Python 7d ago

Discussion pdftotext -layout still isn't enough when a government PDF is secretly a 3-column table

19 Upvotes

Working through an old government safety document today and the raw text order was completely scrambled, hazard descriptions and countermeasures kept interleaving mid sentence. Turned out the whole page is a 3-column table, and if you don't slice by column x-position it just reads left to right across the whole line like it's one paragraph.

Fixed that with -layout and cutting at the column boundaries, but then hit a dumber problem: some lines have two โ–ก markers on them, one for the subcategory heading and one for the first hazard item. Grab the first โ–ก naively and the subcategory swallows the whole first hazard entry, and you don't notice until you're 40 rows in and something reads wrong.

Also found two pages where a single set of countermeasures gets shared by two different subcategories, which nothing in the text structure hints at, you just have to know the source document does that.


r/Python 7d ago

Tutorial Fun and entertaining Content and Resource for Python?

0 Upvotes

Was checking an old thread asking for fun content for Python newbies and novices and there weren't many responses. Bringing the topic up again to ask what new entertaining books, challenges, and content that helped you understand python, that can accompany equally entertaining but dense programming books.

I am also porting of "Why's Poignant Guide to Ruby" for Python and keeping it with CC share alike license. It uses comics and surreal humor to introduce programming. I'll include the link in the comments in case anyone is interested.


r/Python 8d ago

Discussion TIL: Dict Patterns Don't Match Dict Shapes

42 Upvotes

TL;DR: Unlike sequence patterns (which require an exact shape match), pattern matching on dictionaries simply ignores any unspecified keys rather than failing.

If you care about the details, I wrote about it on my blog:ย https://ravencentri.cc/blog/dict-patterns-dont-match-dict-shapes/