I’m really excited about vim-quickui [1], an amazing project by skywind3000 [2]. It’s worth exploring!
The missing UI extensions for Vim 9 (and NeoVim) !! 😎
References:
[1]: https://github.com/skywind3000/vim-quickui
[2]: https://github.com/skywind3000
Published
All published posts
2493 posts
latest post 2026-05-11
Publishing rhythm
If you’re into interesting projects, don’t miss out on bashtop [1], created by aristocratos [2].
Linux/OSX/FreeBSD resource monitor
References:
[1]: https://github.com/aristocratos/bashtop
[2]: https://github.com/aristocratos
TIL: Bind arguments to dynamically generated lambdas in python
This past week I had a really weird bug in my
kedro [1] 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.
[2] # [3]
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 sql files stored and a read_sql 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 [1] framework a bit less.
I have dynamically created lists of pipeline nodes many times in the past, but typically I take data from kedro [1] input and use it in the lambda. I prefer the simplicity of using lambdas over functools.partial. It typically looks something like this.
#...
python-deepwatch
Is it possible to deep watch a single python function for changes?
Shallow Watch # [1]
keeping track of a python functions hash is quite simple. There is a__hash__ method attached to every python function. Calling it will return a hash of the function. If the function changes the hash will change.
[ins] In [1]: def test():
...: return "hello"
[ins] In [2]: test.__hash__()
Out[2]: 8760526380347
[ins] In [3]: test.__hash__()
Out[3]: 8760526380347
[ins] In [4]: def test():
...: return "hello world"
[ins] In [5]: test.__hash__()
Out[5]: 8760525617988
[ins] In [6]: def test():
...: return "hello"
[ins] In [7]: test.__hash__()
Out[7]: 8760526380491
Using hashlib provides a consistent hash.
import inspect
import hashlib
def test():
return "hello"
[ins] In [17]: m.update(inspect.getsource(test).encode())
[ins] In [18]: m
Out[18]: <sha256 HASH object @ 0x7f7b7b70fde0>
[ins] In [19]: m.hexdigest()
Out[19]: '1f2ff4c69eb69b545469686edd6f849136e104cd535785891586d90620328757'
[i...
Looking for inspiration? autoreload [1] by stevekrenzel [2].
A small python script to watch a directory for changes and reload a process when a change is detected.
References:
[1]: https://github.com/stevekrenzel/autoreload
[2]: https://github.com/stevekrenzel
Check out madzak [1] and their project python-json-logger [2].
Json Formatter for the standard python logger
References:
[1]: https://github.com/madzak
[2]: https://github.com/madzak/python-json-logger
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.
h2 img { width: 100%; box-shadow: .5rem .5rem 3rem #141F2D, -.5rem -.5rem 3rem rgba(255,255,255,.1);}
img{ max-width: 100% !important;}
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 # [1]
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...
Check out justmarkham [1] and their project scikit-learn-tips [2].
🤖⚡ 50 scikit-learn tips
References:
[1]: https://github.com/justmarkham
[2]: https://github.com/justmarkham/scikit-learn-tips
Check out Textualize [1] and their project rich [2].
Rich is a Python library for rich text and beautiful formatting in the terminal.
References:
[1]: https://github.com/Textualize
[2]: https://github.com/Textualize/rich
Variables names don't need their type
So often I see a variables type() inside of its name and it hurts me a little
inside. Tell me I’m right or prove me wrong below.
Examples # [1]
Pandas DataFrames are probably the worst offender that I see
# bad
sales_df = get_sales()
# good
sales = get_sales()
Sometimes vanilla structures too!
# bad
items_list = ['sneakers', 'pencils', 'paper', ]
# good
items = ['sneakers', 'pencils', 'paper', ]
Edge Cases? # [2]
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.
# bad ??
sales = get_sales()
sales_dict = sales.to_dict()
# good
🤷♀️
Containers are plural # [3]
Always name your containers plural, so that naming while iterating is simple.
prices = {}
items = ['sneakers', 'pencils', 'paper', ]
for item in items:
prices[item] = get_price(item)
Before I start fights 🥊 in code review, am I inline here or just being pedantic?
References:
[1]: #examples
[2]: #edge-cases...
I’m really excited about cpython [1], an amazing project by python [2]. It’s worth exploring!
The Python programming language
References:
[1]: https://github.com/python/cpython
[2]: https://github.com/python
I recently discovered scully [1] by scullyio [2], and it’s truly impressive.
The Static Site Generator for Angular apps
References:
[1]: https://github.com/scullyio/scully
[2]: https://github.com/scullyio
I came across pydevto [1] from lpellis [2], and it’s packed with great features and ideas.
Unofficial dev.to api
References:
[1]: https://github.com/lpellis/pydevto
[2]: https://github.com/lpellis
I’m really excited about kedro-pandas-profiling [1], an amazing project by brickfrog [2]. It’s worth exploring!
A simple wrapper to use Pandas Profiling easily in Kedro
References:
[1]: https://github.com/brickfrog/kedro-pandas-profiling
[2]: https://github.com/brickfrog
The work on gregives.co.uk [1] by gregives [2].
Personal site and portfolio of software engineer Greg Ives
References:
[1]: https://github.com/gregives/gregives.co.uk
[2]: https://github.com/gregives
I’m impressed by act [1] from nektos [2].
Run your GitHub Actions locally 🚀
References:
[1]: https://github.com/nektos/act
[2]: https://github.com/nektos
Send Emails with GitHub Actions
Here is one useful thing that you can do with GitHub actions no matter what language you use, send email. You might want to know right away when your ci passes. You might want to give your team a nice pat on the back when a new release is deployed. There might be subscribers wanting to see the latest release notes in their inbox as soon as the latest version is deployed. Whatever it is, its pretty easy to do with an action right out of the actions marketplace.
Mail on Star # [1]
Here is a silly example that sends an email to yourself anytime someone stars your repo.
name: Mail on Star
on:
watch:
types: [ started ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "email"
email:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: ✨ Send email, you star
uses: dawidd6/acti...
I’m really excited about awesome-python-bytes [1], an amazing project by JackMcKew [2]. It’s worth exploring!
😎 🐍 Awesome lists about Python Bytes https://pythonbytes.fm/
References:
[1]: https://github.com/JackMcKew/awesome-python-bytes
[2]: https://github.com/JackMcKew
Check out get-diff-action [1] by technote-space [2]. It’s a well-crafted project with great potential.
GitHub Actions to get git [3] diff
References:
[1]: https://github.com/technote-space/get-diff-action
[2]: https://github.com/technote-space
[3]: /glossary/git/
If you’re into interesting projects, don’t miss out on react-toastify [1], created by fkhadra [2].
React notification made easy 🚀 !
References:
[1]: https://github.com/fkhadra/react-toastify
[2]: https://github.com/fkhadra