@underdarkGIS@oslandia Yes, and that should definitely not have happened ! Changing a major version of critical Python dependency in a minor QGIS release, without any warning, is totally nuts. There should have been a QEP for that, and at least clear communication to plugin developers.
I've been working on a tool to visualize code flows. It's understanding-oriented, meant to include interactive graphs in your docs for users to see interactions between different parts of your #Python code base.
It records the execution of a Python function/program, then generates a call graph with #Graphviz and replays all function calls/returns.
For example, here is Griffe visiting modules (high speed for the dopamine):
💜 We would love nothing more than to have you join our ever-growing community of volunteers! We're currently expanding our editorial board, and could use your help.
Volunteer editors:
🔍 find reviewers
👷♀️ oversee the review process
🌸 support submitters
✅ determine package acceptance
Working in #Python is weird because sometimes I have to google something like "unable to import pandas" and I'm pretty sure I'm on a government list now.
Mostly you shouldn't subclass #Python built-in types. But if you do, dict subclasses can define missing: it's called when a key is missing. Instead of hiding a dict in a function as a cache, how about hiding a function in a dict!? A Fibonacci dictionary:
Each year, our friends at JetBrains, the creators of PyCharm, run an incredible deal. You get a 30% discounted year of PyCharm, AND the DSF gets 100% of the money. Yes, 100%! It's making a donation and directly getting a great product in return!
The fundraiser will be split this year, and the first half runs until June 15th! Buy PyCharm and support Django!
In the past, JetBrains through the PyCharm fundraiser has provided approximately one quarter of the Django Software Foundation's budget!
Donations like this fundraiser allow the DSF to function. Our two wonderful Fellows, Natalia Bidart and Sarah Boyce keep Django running smoothly, picking up pieces that would otherwise not happen.
The other side of the DSF is our support for Django groups across the globe. We supported every DjangoCon, particularly with donating funding towards opportunity grants for more people to be able to attend these conferences. The DSF also supports smaller events around the world, including DjangoGirls events.
Finally, I want to tell you about PyCharm itself.
PyCharm is an integrated development environment (IDE) that helps professional Python web developers be more productive, be more confident, and write better code. It supports the full Python web workflow out of the box, including popular Python web frameworks, such as Django, frontend technologies, and databases.
Here are the main benefits of using PyCharm in your Django development:
The built-in Django run/debug configuration type makes it easy to configure and start the Django server.
First-in-class code assistance for Django and Django templates, including navigation between views and templates, the ability to debug templates visually.
Code assistance for the Django REST Framework.
Refactoring and navigation for endpoints across your project in the Endpoints tool window.
Built-in HTTP Client.
Database integration, including PostgreSQL, SQLite, Redis and more!
Support for your frontend stack: JavaScript, React, Node.js, Tailwind CSS, and more.
Get Django work done with PyCharm, a powerful IDE tailored for Django web development!
Consider this the easiest charitable donation you will ever make, when you get such a great product in return!
The exclusivity of the stop index actually has a nice side effect: if you slice up to index 3 and then start slicing again from 3 onward, those two slices won't overlap.