Archive

All published posts

2586 posts latest post 2026-10-03
Publishing rhythm
Sep 2026 | 27 posts

🤓 What’s on your GitHub Profile

I ran this post on dev.to and got a great response of great examples, check it out.!! 🤓 What's on your GitHub Profile The GitHub profile feature just went live for a subset of users. Simply creating a repo named after your username, and clicking share to Profile on the sidebar will create a custom profile that shows up just above your pinned projects. I am still trying to figure out what to put on mine, but this is what I have so far. I feel like mine is a bit big at the moment, I don’t like that my pinned repos end up blow the fold. updated # I tightened mine up and took inspiration from a few others. Share a screenshot and link of yours on dev. updated again # Updated with a list of latest Twitter followers, using GitHub actions.

🙋‍♂️ Can Anyone Explain Twitter Cards to me?

Can someone explain how or why twitter cards render differently from device to device? I do understand that twitter cards a built from meta tags, the full list can be found in their docs Rendered on Mobile # Mobile Looks fine. Not Rendered on Desktop # On Desktop it is not picking up the image. Twitter Card Validator # The Validator renders the card correctly. I tried the official twitter card validator, as well as heymeta.com, and metatags.io. All look good. Can Cards be updated? # even with a redirect? I tried seting up a pinned tweet that uses a netlify redirect to always keep my latest post up to date. Again this one looks good in the validator, doesnt render the image on desktop, does render the image on mobile, but does not update. I have heard that you need to hit the card validator to update cards? I am not sure if this is true, but for me this is not even upating the card. 👋 Hello, ―――――― I'm Waylon Walker ―――――― I work with data using 🐍 #python and utilize #webdev to 〽visuali…

How I Built My GitHub Profile

I ran a discussion on dev that collected quite a list of examples in the comment section. So many great calls to action, animations, memes, and weird tricks. My current profile # social icons # Upload all of your icons to the repo in a directory such as or, then link them with a attribute like below. I used html for mine, not sure if you can set the in markdown. note I did add a bit of (non-breaking-whitespace) between my icons. Without adding css this seemed like the simplest way to do it. Center # Aligning things in the center of the readme is super simple. I used this trick to align my social icons in the middle. right # For my latest post I floated it to the right with a little bit of action. You may need to play with where you put this in the document, and the size of elements to get things to flow right. redirects # In order to keep my latest post always up to date on my readme I implemented a netlify redirect to always point to my latest post. As a digital gardener this helps me…
staged-recipes by conda-forge is a game-changer in its space. Excited to see how it evolves. A place to submit conda recipes before they become fully fledged conda-forge feedstocks
I’m really excited about log_to_json, an amazing project by rwhitt2049. It’s worth exploring! Yet another Python library to log to JSON

SLIDES - understanding python \*args and \*\*kwargs

Python and are super useful tools, that when used properly can make you code much simpler and easier to maintain. Large manual conversions from a dataset to function arguments can be packed and unpacked into lists or dictionaries. Beware though, this power can lead to some really unreadable/unusable code if done wrong. I generally post these as a carousel on LinkedIn based on a full article. Let mw know what you think of it shown inside of a blog @_waylonwalker. See the full article here Slides #
1 min read

Gracefully adopt kedro, the catalog

Why use kedro catalog? # While using the catalog alone will not reap all of the benefits of the framework, it does get you and your project ready for the full framework eventually. For me the full benefit of the catalog comes when you combine it with the pipeline and dont even touch read/write steps at all. Taking a step into kedro by adopting the catalog first will give you a way to organize all of your data loads in one place, and stop manually writing read/write code, which can be different for each data and storage type. You just don’t need to think about it. iperitive loading style organizes your data all file locations can be quickly identified can be dropped into kedro later “can be dropped into kedro later” Let’s talk a bit more about that 2 Ways to Gracefully adopt the catalog # How do I get started with the kedro catalog add with the code api load from yaml ( recommended) 1. Adding to the catalog with the code api # how to use the kedro catalog code api It is possible to keep…

How to find things in your kedro catalog

kedro 0.16.2 just dropped last week with a long-awaited feature… catalog search! I went as far as monkey patching this into each of my projects. I work jump between a few really big projects that have tons of datasets. Being able to quickly search for what I need is so useful. The Catalog # The kedro data catalog is a key component to the kedro framework. It handles all data loading and saving for you. It is configurable and hackable. Having all your data connections listed in one place make it so easy to pick your project up and move it to a completely new environment. That sweet imperative loading style saves so much read/write overhead. I can load all my data with a single command whether it’s in amazon s3, google cloud platform, or a local file. Kick start a toy project # Just like with most of these articles, I am going to create a conda environment so that I don’t break any existing projects and scaffold up a toy project to learn from. Expect this set of commands to take a few mi…

My first eight years as a working professional.

This day 8 years ago I started my first day as a Mechanical Engineer. I am so grateful for this journey that I have been able to have. There is no way that I could have planned this journey from the beginning. Keep Learning # My initial career plans were down a completely different path. I have been very flexible in taking on a new career path. I have been eager to learn new things and respond to life changes that I never would have imagined. Life Changes # Very severe chronic health issues from my family restricted my ability to travel to the facilities I served as a Mechanical Engineer. I was able to stay strong and make it work. But in the meantime, I was learning new skills that enabled me to be more effective remotely. I was scared. # It was in these times that I found a love for data, and taking action from insights I found with data. I learned how to use python to enable me to be more effective. I did this primarily from hospital waiting rooms and many overnight stays. This gave…
2 min read

How Kedro handles your inputs

Passing inputs into kedro is a key concept. Understanding how it accepts a single catalog key as input is quite trivial that easily makes sense, but passing a list or dictionary of catalog entries can be a bit confusing. *args/**args review # Check out this post for a review of how work in python. understanding python *args and **kwargs python args and kwargs article by @_waylonwalker All Kedro inputs are catalog Entries # When kedro runs your pipeline it uses the catalog to imperatively load your data, meaning that you don’t tell kedro how to load your data, you tell it where your data is and what type it is. These catalog entries are like a store. You just need to give the key when setting up a node. Single Inputs # These are fairly straightforward to understand. In the example below when runs the pipeline it will load the input from the catalog, then pass that input to the func, then save the returned value to the output catalog entry. List of inputs # Let’s look at an example node…
visit1985 has done a fantastic job with mdp. Highly recommend taking a look. A command-line based markdown presentation tool.
Check out hotreload by say4n. It’s a well-crafted project with great potential. hot reload your python code!
I came across kedro-great from tamsanh, and it’s packed with great features and ideas. The easiest way to integrate Kedro and Great Expectations

Master No More

It’s been a long time coming. We use some very harsh language within tech so much sometimes that we become numb to it. It’s time to do my very small part in this movement and purge this language from my active repos starting with this blog right here. Large Refactor At The Command Line this post follows my method of refactoring code bases from the command line, read more about that in this article. c-s-f # First off browsing through the content of my blog I found many references to master. I cannot completely whole-sale find and replace each one of them, because some of them are links that I do not own. Any set of instructions got upgraded from to There were countless cases of examples like this to comb through, but it feels good to have them purged of old language. rename routes # Following yesterdays post, I am going to rename my markdown files /static/_redirects shorteners # redirect posts # redirect external links to repo # More info on refactoring your blog routes with netlify her…
2 min read

Refactoring your blog urls

I just did a quick refactoring of my JAMStack blog urls. Some didn’t fit with my style, some had that I wanted to switch to, and others were ridiculously long. I’ve been using forestry as my CMS, I write many of my posts there, and sometimes it picks some crazy file names (based on my titles). It was time to refactor. Large Refactor At The Command Line When refactorings similar to this get really big I often need to do some project wide find an replace, I usually do this right from the command line. 🖊 Rename posts change the filename # My post urls are based on the file name of my markdown file, so I can simply go through my filesystem and rename anything I want. From here its probably best to only commit the addition of the new file name, until the redirects clear, but these are all low traffic posts for me so I just commited both at once. Safely redirect without breaking links _redirects ⤴ /redirects # I am hosted on netlify, which automatically puts very ⚡ performant redirects on th…

understanding python \*args and \*\*kwargs

Python and are super useful tools, that when used properly can make you code much simpler and easier to maintain. Large manual conversions from a dataset to function arguments can be packed and unpacked into lists or dictionaries. Beware though, this power can lead to some really unreadable/unusable code if done wrong. Python and are super useful tools, that when used properly can make you code much simpler and easier to maintain. Large manual conversions from a dataset to function arguments can be packed and unpacked into lists or dictionaries. Beware though, this power can lead to some really unreadable/unusable code if done wrong. *args are for lists # *args are some magical syntax that will collect function arguments into a list, or unpack a list into individual arguments. recieving *args # When recieving variables as a, commonly, the arguments get packed into an ordered list. Never add *args to your function definition (almost never) Generally I find poor naming and it only drives…
3 min read
I recently discovered pytest-sugar by Teemu, and it’s truly impressive. a plugin for py.test that changes the default look and feel of py.test (e.g. progressbar, show tests that fail instantly)
the-hub by ari-hacks is a game-changer in its space. Excited to see how it evolves. 📈📊 A hub where users can experiment with graphing and Python in the browser ( https://pyodide-experiment.herokuapp.com/)

pre-commit is awesome

I recently discovered the ✨ awesomeness that is pre-commit. I steered away from it for so long because it seemed like a big daunting thing to set up, but really it’s easy. It will automatically run checks for you. In some cases, it will even automatically fix them for you. Out of the box, it will do things like automatically trim extra whitespace, fix file endings, and ensure file sizes are not too large for git. I recently discovered the ✨ awesomeness that is pre-commit. I steered away from it for so long because it seemed like a big daunting thing to set up, but really it’s easy. It will automatically run checks for you. In some cases, it will even automatically fix them for you. Out of the box, it will do things like automatically trim extra whitespace, fix file endings, and ensure file sizes are not too large for git. Quickstart # It comes with a that is pretty general purpose and use for just about any project in git. Cloned Repo # Once someone has created the everyone on the team…
4 min read

Building kedro.dev

Follow along the Journey as I build out kedro.dev. Building a Community # I have really enjoyed my own personal journey as I have started to build all of my data pipeline projects with the kedro framework. I want to start building a place to share resources with the community. I want to see this community grow and flourish. They say in front end web development if you are not using a framework you end up building one. That’s exactly what I was doing before I started using kedro. I want to build out a set of resources that this community can learn from and start to use the framework at their own pace without needing to develop their own from scratch. research # Looking into the front end frameworks to see how they welcome their community. Much of my inspiration is from them, bringing lessons learned to data. pages # banner nav docs -> readthedocs tutorial -> kedro-examples blog -> medium community support team courses examples meetups conferences articles podcasts videos external resour…
1 min read
I recently discovered kedro-wings by tamsanh, and it’s truly impressive. Kedro Wings automatically creates catalog entries to simplify Kedro pipeline writing. See the video here: https://www.youtube.com/watch?v=p4ELo1tqbYY

Kedro Static Viz 0.3.0 is out with Hooks Support

kedro-static-viz is out with support for the newly released hooks feature. This means that you can have automatically deploy a full gatsby site keeping your visualization always up to date. Even though it is a static site there is no functionality lost. The only thing that’s missing is the flask server. With kedro-static-viz you can deploy your visualization to a number of static hosting providers such as GitHub pages free of charge with wicked fast performance ⚡ It’s Fast # Even though it’s built on gatsbyjs the full site builds in under 2s even on slower hardware. This is because the site is already pre-rendered and stripped of any excess. It’s zipped up right into the python package and is typically used with the cli, but now can be used with python, or as a hook as well. What is kedro-viz 🤔 # Kedro viz is a fantastic kedro plugin that allows you to visualize your data pipeline. Kedro allows you to quickly build production-ready pipelines where you just configure a catalog, then tos…
I’m really excited about pytest-watch, an amazing project by joeyespo. It’s worth exploring! Local continuous test runner with pytest and watchdog.
Check out aws and their project aws-cli. Universal Command Line Interface for Amazon Web Services

Create Configurable Kedro Hooks

There are two main ways to create kedro hooks, with modules and classes. Each one still uses the same verbiage as the function/method names. Class hooks seem a bit special as they give you a way to configure them so that they are a bit more generally useful. What is Kedro If you are completely unsure what kedro is be sure to check out my what is kedro post Installation #.create a new environment manager of choice. Here I will use. Then we will install from pypi. Create a sample project # Kedro new # For more details check out my full post on kedro new For this post I really just want a working pipeline as fast as possible. For this I am going to use iris pipeline that is generated from the command in the cli. It’s important that you answer to create an example pipeline. Hold On ✋ # Did you create a separate environment for this? Please do. After you run the command it will ask a series of questions. 👇 Here is how I answered them. Install the Project # Next install the project itself an…
3 min read

Brainstorming Kedro Hooks

This post is a 🧠 branstorming work in progress. I will likely use it as a storage location/brain dump of hook ideas. What is Kedro 🤔 # If you are completely unsure what kedro is be sure to check out my what is kedro post after_catalog_created # filepath replacer bucket replacer before_pipeline_run # preflight check that data exists run run mypy run interrogate run flake8 after_pipeline_run # Great Expectations send email send slack before_node_run # after_node_run # Great Expectations save stats/meta data Execution Order # hooks are executed in reverse order of the hooks list. hooks with will be moved to the end of the list hooks with will be moved to the end of the list after_catalog_created before_pipeline_run args run_params = run_params = {‘run_id’: ‘2020-05-23T15.24.23.958Z’, ‘project_path’: ‘/mnt/c/temp/kedro0160’, ’env’: ’local’, ‘kedro_version’: ‘0.15.9’, ’tags’: (), ‘from_nodes’: [], ’to_nodes’: [], ’node_names’: (), ‘from_inputs’: [], ’load_versions’: {}, ‘pipeline_name’: Non…

How to get Dev Comments from an article Url

I want to incorporate some of the wonderful comments, \U0001F495, \U0001F984, and \U0001F516’s that I have been getting on dev.to on my website. I have dabbled once or twice with no avail this time I am taking notes on my journey, so follow along and let’s get there together. By the end of this post, I will have a way to get comments from posts on the client-side thanks to the wonderfully open dev.to API. I want to incorporate some of the wonderful comments, 💕, 🦄, and 🔖’s that I have been getting on dev.to on my website. I have dabbled once or twice with no avail this time I am taking notes on my journey, so follow along and let’s get there together. By the end of this post, I will have a way to get comments from posts on the client-side thanks to the wonderfully open dev.to API. The API # dev.to has an open API that allows us to easily get comments as HTML. They have their API hosted at https://docs.forem.com/api/#tag/comments, let’s take a look at it. Here we can see that going to ht…

Four github actions for your website

GitHub’s actions are a new GitHub feature that will trigger GitHub to spin up a virtual machine and run some tasks with some special access to your repo. It can interact with comments/issues, it can clone your repo, You can explicitly pass in secrets so that it can commit back to the repo or deploy to another service. The environment may be a Linux, windows, or even a mac machine. I believe this is wildly incredible for the open-source community, putting these tools in the same place that we are already collaborating is so convenient. What can they do for my personal website? 🤔 # GitHub actions can give you confidence that your site is up and running, with the latest JavaScript packages, does not have broken links, and can even take screenshots of what your website looks like on different screen sizes and operating systems. periodically check that the website is up update npm url checker screenshot website srt32/uptime # srt32/uptime is an action that you can run on any public website.…

Create Custom Kedro Dataset

Kedro provides an efficient way to build out data catalogs with their yaml api. It allows you to be very declaritive about loading and saving your data. For the most part you just need to tell Kedro what connector to use and its filepath. When running Kedro takes care of all of the read/write, you just reference the catalog key. But what is happening behind the scenes # Under the hood there is an that each connector inherits from. It sets up a lot of the behind the scenes structure for us so that we dont have to. For the most part kedro has connectors for about anything that you want to load, csv, parquet, sql, json, from about anywhere, http, s3, localfile system are just some of the examples. Here is a DataSet implementation from their docs. Here you can see the barebones example straight from the docs. Parameters from the yaml catalog will get passed in

Interrogate is a pretty awesome, brand new, cli for Python packages

As usual while listening to python bytes 181 I heard of a tool that I had to try out right away! This thing is 🔥 hot off the press folks, we’re talking the first release only 3 weeks ago. Its something that the python community needed years ago, and it belongs in your CI today. I had tried several tools that tried to do docstring coverage in the past but they were a bit cumbersome and were quickly forgotten about. Not interrogate, its dead simple! Nothing I have tried has come close to being this good Interrogate # It runs documentation coverage for your python project. It allows you to set the minimum amount of docstring coverage for your project and has some great setup instructions right in the readme. Install it # Interrogate is on pypi so it is super simple to install with run it # This is the best part, its super easy to run right from the command line! Just call it, and give it a path to run. 😲 I have some work to do # One of my new open source packages find-kedro only hit 71%.…
2 min read
Just starred pyp by hauntsaninja. It’s an exciting project with a lot to offer. Easily run Python at the shell! Magical, but never mysterious.

drawing ascii boxes

When creating cli’s I often want some nice full-width character. I find it tough to find them, and when I do half the time it is an image or something that cannot be copied 👿. I rarely get very complex with my semi-manual ASCII art. I can do 98% of what I need with bars and corners. Using some simple full-width characters can really give your cli a nice clean look. Example # I’d say 50% of what I need is just a full-width horizontal bar to give some visual flair or separation. Bars # Square Corners # Round Corners # Harpoons # Double Boxes # Dashed Boxes # Connectors # Others # Arrows # Rounded Box # Resources # As I was putting this together I stumbled accross a good site to find ascii characters and copy them. Unicode Full-Width Characters
1 min read

creating the kedro-preflight hook

Kedro Hooks Intro - kedro hooks are an exciting upcoming feature of kedro. They allow you to hook into,, and (nouns). With a, or (adjective). This really reminds me of reacts lifecycle hooks, that let you hook into various state of react web components. This is going to make kedro so extendable by the community. I am super pumped to see what the community is able to do with this ability. kedro hooks are an exciting upcoming feature of kedro. They allow you to hook into,, and (nouns). With a, or (adjective). This really reminds me of reacts lifecycle hooks, that let you hook into various state of react web components. This is going to make kedro so extendable by the community. I am super pumped to see what the community is able to do with this ability. What is Kedro If you are completely unsure what kedro is be sure to check out my what is kedro post Docs # a work in progress As this is a part of an upcoming release you will need to look in the docs, not and you will find a 15_hoooks pa…