Posts tagged: python

All posts with the tag "python"

311 posts latest post 2026-07-10
Publishing rhythm
Feb 2026 | 1 posts

006

Setup ** for _

1 min

005

** setup is _

1 min

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

004

🔥 #kedrotips use find-kedro to assembly your pipelines

1 min

002

** 0.3.0 just launched with _ support 🎉

1 min

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…

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…

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

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…

📝 Kedro Preflight Notes

This is a very rough idea for a kedro package to prevent time lost to get partway through a pipeline run only to realize that you dont have access to data or resources. Must Haves # check that inputs exist or are of a type to skip (sql) Good to haves check that all input and output databases are accessible with good credentials check for s3 bucket access check for spark install Implementation # run params #

📢 Announcing find-kedro

is a small library to enhance your kedro experience. It looks through your modules to find kedro pipelines, nodes, and iterables (lists, sets, tuples) of nodes. It then assembles them into a dictionary of pipelines, each module will create a separate pipeline, and being a combination of all pipelines. This format is compatible with the kedro format. # is a ✨ fantastic project that allows for super-fast prototyping of data pipelines, while yielding production-ready pipelines. enhances this experience by adding a pytest like node/pipeline discovery eliminating the need to bubble up pipelines through modules. When working on larger pipeline projects, it is advisable to break your project down into different sub-modules which requires knowledge of building python libraries, and knowing how to import each module correctly. While this is not too difficult, in some cases, it can trip up even the most senior engineers, losing precious feature development time to debugging a library. # is deplo…

TIL: Bind arguments to dynamically generated lambdas in python

This past week I had a really weird bug in my kedro pipeline. For some reason data running through my pipeline was coming out completely made no sense, but if I manually request raw data outside of the pipeline it matched expectations. NOTE While this story is about a kedro pipeline, it can be applied anywhere closures are put into an iterable. # After a few days of looking at it off and on, I pinpointed that it was all the way down in the raw layer. Right as data is coming off of the database. For this I already had existing files stored and a function to get the data so I opted to just set up the pipeline to utilize the existing code as much as possible, leaning on the kedro framework a bit less. I have dynamically created lists of pipeline nodes many times in the past, but typically I take data from kedro input and use it in the lambda. I prefer the simplicity of using lambdas over. It typically looks something like this. What was different this time is that I needed to pass in the…
2 min read

python-deepwatch

Is it possible to deep watch a single python function for changes? Shallow Watch # keeping track of a python functions hash is quite simple. There is a method attached to every python function. Calling it will return a hash of the function. If the function changes the hash will change. Using hashlib provides a consistent hash. Now we have a consistent way to hash function code. Deep hashing # Find dependencies # setup a function in a module with a dependency Create Generic module importer by filepath # get code of dependency # the inspect module can tell us the filename of our current module. now we can hash the dependency
1 min read

Four Github Actions for Python

If you are developing python packages and using GitHub here are four actions that you can use today to automate your release workflow. Since python tools generally have such a simple cli I have opted to use the cli for most of these, that way I know exactly what is happening and have more control over it if I need. If you are developing python packages and using GitHub here are four actions that you can use today to automate your release workflow. Since python tools generally have such a simple cli I have opted to use the cli for most of these, that way I know exactly what is happening and have more control over it if I need. Lint Test Package Upload to PyPi Lint With flake8 # flake8 is pythons quintessential linting tool to ensure that your code is up to the standards that you have set for the project, and to help prevent hidden bugs. I am a heavy user of and as well, but for ci flake8 is typically considered the gold standard. and will help you automate many fixes suggested by flake8…

Variables names don’t need their type

So often I see a variables inside of its name and it hurts me a little inside. Tell me I’m right or prove me wrong below. Examples # Pandas are probably the worst offender that I see Sometimes vanilla structures too! Edge Cases? # It’s so common when you need to get inside a data structure in a special way that itsn’t provided by the library…. I am not exactly sure of a good way around it. Containers are plural # Always name your containers plural, so that naming while iterating is simple. Before I start fights 🥊 in code review, am I inline here or just being pedantic?

Create New Kedro Project

This is a quickstart to getting a new kedro pipeline up and running. After this article you should be able to understand how to get started with kedro. You can learn more about this Hello World Example in the docs 🧹 Install Kedro 🛢 Create the Example Pipeline 💨 Run the example 📉 Show the pipeline visualization Create a Virtual Environment # I use conda to control my virtual environments and will create a new environment called with the following command. note the latest compatible version of python is 3.7. EDIT: as of kedro 0.16.0 kedro supports up to 3.8 Options Activate your conda environment # I try to keep my base environment as clean as possible. I have ran into too many issues installing things in the base environment. Almost always its some dependency that starts causing issues making it even harder to realize where its coming from as I never even installed it in base. Install Kedro # Currently is available on pypi and can be pip installed. EDIT kedro is up to Make sure you are…

What is YOUR Advice for New Data Scientists

Learn the business Learn Git Your code does not need to be amazing Keep Learning Learn Git # You dont have to start out as a git wizard with the cleanest possible commit history. At first dont let yourself get too wrapped up in it, the most important part is that you make commits. You will find needs for more advanced stuff later. Get comfortable with this, then learn how to,,, etc… Your code does not need to be amazing # Get the job done. Keep it in small bite size pieces. Make readable function definitions and variable names. You will thank yourself for naming things well later. Readability counts more than performance in most cases of data science. If it gets the job done try not to over worry about things like performance. A few extra seconds to clean a dataset or build a model is not worth hours of your time. As you go you will have cases that performance is more critical and you will learn what to do from the start to avoid them.