A preview of the new Pallets Projects logos by @georgically in sticker form! Find me at the PyCon open spaces and sprints to get one before they run out. #PyCon #Python #Flask #PythonFlask
#pythonflask #flask #Python #pycon
A preview of the new Pallets Projects logos in sticker form! Find me at the PyCon open spaces and sprints to get one before they run out. #PyCon #Python #Flask #PythonFlask
#pythonflask #flask #Python #pycon
Back at inbox zero for Flask 🎉 version 2.3 coming soon ™️
#Python #Flask #PythonFlask
Just finished a massive PR to deprecate bytes and charsets other than UTF-8 in Werkzeug 2.3. (You can still work with raw bytes in requests/responses, so it's still possible to use other charsets.) Surprisingly, very few tests failed due to it, which was a relief. Looking forward to making the PR removing all the deprecations 😈 https://github.com/pallets/werkzeug/pull/2641 #Python #Flask #Werkzeug #PythonFlask #PythonWerkzeug
#pythonwerkzeug #pythonflask #Werkzeug #flask #Python
Last year at PyCon US 2022, @tonybaloney ran a basic benchmark of Flask. I finally got around to it, and achieved a ✨ 35% ✨ speedup to routing and environ processing.
Due to Python 2/3, Werkzeug had its own modified copy of `urlparse`/`urllib.parse`, with a lot of unnecessary encoding/decoding due to str/bytes support. I finally replaced that with the standard library, and got a huge speed boost.
#pythonwerkzeug #pythonflask #flask #Python
It's kind of nice to have a fix for a high severity CVE in Werkzeug 2.2.3, because it's finally forcing people to stop pinning to old versions and instead update their dependency tree.
Wish there was a way to encourage that without the CVE. But people just _love_ Stack Overflow answers that say "I pinned to this old version and it worked" full stop, even if there's already an updated version available.
#Werkzeug #pythonflask #flask #Python
Just documented the Flask application setup, serving, and request lifecycle. A pretty dense but important topic, one I was surprised wasn't documented already. I gave a talk on this at PyCon Canada 2018 then forgot to write it down 😅 https://flask.palletsprojects.com/en/2.2.x/lifecycle/ #Python #PythonFlask
My latest sample uses #PythonFlask with Flask Blueprints, Flask-SQLAlchemy with PostgreSQL, pytest, ruff, black, pre-commit, Github actions, plus Docker for local dev and deployment to Azure Container Apps.
Code @
https://github.com/pamelafox/flask-surveys-container-app
Flask-SQLAlchemy 3.0.3 released https://pypi.org/project/Flask-SQLAlchemy/3.0.3/ with SLSA provenance for the build.
It adds error messages around some common incorrect uses of the extension, which started failing more obviously (but mysteriously) with the 3.0 release.
Now that I've got the publish workflow created, it's really easy to copy it to each project, and the automation is really nice.
#flasksqlalchemy #sqlalchemy #pythonflask #Python
For me, one of the hardest parts about writing a #PythonFlask app is deciding on my directory structure / overall project organization.
For those of you who use Flask Blueprints, do you use this folder structure, /blueprints/<blueprintname> ?
Hello! First post here - my background includes a bachelor degree in computer information systems and a diploma in rail traffic control.
My career has been in the rail industry. After train dispatching I moved into developing positive train control and lately developing new dispatch systems.
For fun I enjoy spending time in the #mountains, lots of #iPhone #photography and tinkering with #arduino, #raspberrypi, and #pythonflask
I’m actively involved in my church also as a tech leader. Using #NDI cameras and desktop screen sharing to run a video production using #vmix
#mountains #iphone #photography #arduino #raspberrypi #pythonflask #ndi #vmix
I gave a workshop today about containerizing #PythonFlask web apps, both for local development and deployment.
My first time teaching containers! As usual, teaching is helping me to understand #Docker better.
https://pamelafox.github.io/my-py-talks/containers-workshop/
Anyone familiar with Rust and PyO3 want to jump on Discord and help me improve MarkupSafe in Rust? My initial implementation is about 6 times slower than the native implementation on a basic benchmark. https://discord.gg/pallets #Python #Rust #PyO3 #PythonFlask
#pythonflask #pyo3 #Rust #Python
Making a very lightweight surveys app as a #PythonFlask demo and I don't want to require any user login.
Should I check if someone has already answered based on cookie, localStorage, or sessionStorage?
Flask and the other Pallets projects are all using `pyproject.toml` instead of `setup.py` and `setup.cfg`. Only MarkupSafe still has a `setup.py`, in order to configure the C speedups. #Python #PythonFlask #pyproject
#pyproject #pythonflask #Python
Just released MarkupSafe 2.1.2. Aside from fixing a bug, it also provides Python 3.11 wheels, as well as SLSA provenance.
This was the first automated release through GitHub workflows. Push a tag, and it automatically builds sdist and 49 platform wheels, generates SLSA provenance, creates a GitHub release with all the files, waits for review, then publishes them to PyPI.
#SLSA #pythonmarkupsafe #pythonflask #Python
Flask and all Pallets projects now test against Python 3.12-dev, all tests passing. Didn't have to fix any code, only updated the CI config. #Python #PythonFlask