Looking for inspiration? techstructive-blog by Mr-Destructive.
Blogging Platform powered by Django.
GitHub stars posts
Looking for inspiration? techstructive-blog by Mr-Destructive.
Blogging Platform powered by Django.
I’m really excited about meetgor.com, an amazing project by Mr-Destructive. It’s worth exploring!
My Personal Blog and Portfolio made with Markata SSG and Python
The work on jinja2-fragments by sponsfreixes.
Render Jinja2 template block as HTML page fragments on Python web frameworks.
Looking for inspiration? ansible-language-server by ansible.
🚧 Ansible Language Server codebase is now included in vscode-ansible repository
I’m really getting into using hatch as my go to build system, and I am really liking it so far. I am slowly finding new things that just work really well. hatch new is one of those things that I didn’t realize I needed until I had it.
creating new versions created by myself with stable diffusion
❯ pipx run hatch new --help Usage: hatch new [OPTIONS] [NAME] [LOCATION] Create or initialize a project. Options: -i, --interactive Interactively choose details about the project --cli Give the project a command line interface --init Initialize an existing project -h, --help Show this message and exit.
Note! I am running all of these commands with pipx. I like to use pipx for all of my system level cli applications. To emphasis this point in the article I am going to use
pipx run hatch, but you canpipx install hatchthen just runhatchfrom there.Running
hatch new -iwill ask let you interactivly choose details about the project, such as the project’s name....
Hatch has an amazing versioning cli for python packages that just works. It takes very little config to get going and you can start bumping versions without worry.
creating new versions created by myself with stable diffusion
For trying out the hatch version cli let’s make a simple project with the terrible name pkg.
...
Just starred cloak.nvim by laytan. It’s an exciting project with a lot to offer.
Cloak allows you to overlay *’s over defined patterns in defined files.
Markata is a great python framework that allows you to go from markdown to a full website very quickly. You can get up and running with nothing more than Markdown. It is also built on a full plugin architecture, so if there is extra functionality that you want to add, you can create a plugin to make it behave like you want.
Full transparancy… I built markata.
The talk is live on YouTube. Make sure you check out the other videos from the conference. There were quite a few quality talks that deserve a watch as well.
I spoke at python webconf in March 2022 about how I deploy this blog on a continuous basis.
Building this blog has brought me a lot of benefits. I have a set of custom curated notes to help describe a problem and how to solve it to me. At theis point it’s not uncommon to google an Issue I am having and finding my own blog with exactly the solution I need at the top.
I also bump into people from time to time that recognize me from the blog, its a nice conversation starter, and street cred.
The talk recently released on Youtube, you can watch it without having a ticket to the conference for free. There were a bunch of other talks that you should check out too!
...
rofi-network-manager by P3rf is a game-changer in its space. Excited to see how it evolves.
A manager for network connections using bash, rofi, nmcli,qrencode.
I got all the pypi packages that I own behind 2 factor authentication. 💪
Recently this really made it’s rounds in the python news since pypi was requiring critical package maintainers to have 2FA on and even offering them hardware tokens to help them turn this on.
I feel like this caused a bit of confusion as turning on 2FA does not mean that you need to do anything different to deploy a package, and it DOES NOT require a hardware token. You can continue using your favorite 2FA app.
You might wonder what this means for my projects. It means that to edit any sensitive content such as pull a new api token, add/remove maintainers, or deleting a release I need to use a TOPT (time based one time password) application such as Google Authenticator, Microsoft Authenticator, Authy, or FreeOTP.
...
Check out squidfunk and their project mkdocs-material.
Documentation that simply works
I just love how some features of vim are so discoverable and memorable once you really start to grasp it. Sorting and uniqing your files or ranges is one of those examples for me.
" sort the file :sort " sort the file only keeping unique lines :sort u " sort a range :'<,'> sort " sort a range only keeping unique lines :'<,'> sort u
I recently used this to dedupe my autogenerated links section for rich-syntax-range-style. More often I am using it to sort and uniqify objects like arrays and lists.
Here is what the markdown looks like.
* [py-tree-sitter](https://github.com/tree-sitter/py-tree-sitter) * [rich](https://github.com/Textualize/rich) * [@textualizeio](https://twitter.com/textualizeio) * [rich](https://github.com/Textualize/rich) * [another post](https://waylonwalker.com/designing-kedro-router) *...
Today I’ve been playing with py-tree-sitter a bit and I wanted to highlight match ranges, but was unable to figure out how to do it with rich, so I reached out to @textualizeio for help.
https://twitter.com/_WaylonWalker/status/1562469770766589952
While waiting for that reply let’s show how we got this far.
Lets import all the classes that we need from rich and setup a console...
...
{% for year in markata.map(“date.year”, filter=‘published’)|unique %}
{% for post in markata.map(‘post’, filter=“published and date.year == “+year|string, sort=‘date’) %}
How to vimgrep over hidden files.
I needed to delete all build pipeline steps that were named upload docs. I currently have about 60 projects running from the same template all running very similar builds. In the past I’ve scripted out migrations for large changes like this, they involved writing a python script that would load the yaml file into a dictionary, find the corresponding steps make the change and write it back out.
Today’s job was much simplar, just delete the step, were all steps are surrounded by newlines. My first thought was to just open all files in vim and run dap. I just needed to get these files:positions into my quickfix. My issue is that all the builds reside within hidden directories by convention.
variability
...
a sprinter edging out his opponent by Dall-e
It’s about time to release Markata 0.3.0. I’ve had 8 pre-releases since the last release, but more importantly it has about 3 months of updates. Many of which are just cleaning up bad practices that were showing up as hot spots on my pyinstrument reports
Markata started off partly as a python developer frustrated with using nodejs for everything, and a desire to learn how to make frameworks in pluggy. Little did I know how flexible pluggy would make it. It started out just as my blog...
...
Check out stable-diffusion by CompVis. It’s a well-crafted project with great potential.
A latent text-to-image diffusion model