Posts tagged: python
All posts with the tag "python"
Running My Blog on 3.11-dev
3.10.5: 109.441 3.11-dev: 108.856
A common meta thing that I need in python is to find the version of a package. Most of the time I reach for package_name.__version__, but that does not always work.
In searching the internet for an answer nearly every one of them pointed me to __version__. This works for most projects, but is simply a convention, its not required. Not all projects implement a __version__, but most do. I’ve never seen it lie to me, but there is nothing stopping someone from shipping mismatched versions.
I appreciate it
While its not required its super handy and easy for anyone to remember off the top of their head. It makes it easy to start debugging differences between what you have vs what you see somewhere else. You can do this by dropping a __version__ variable inside your __init__.py file.
...
xrandr is a great cli to manage your windows in a linux distro using x11, which is most of them. The issue is that I can never remember all the flags to the command, and if you are using it with something like a laptop using a dock the names of all the displays tend to change every time you redock. This makes it really hard to make scripts that work right every time.
Check out the deresmos/xrandr-manager for more details on it.
xrander-manager is a python cli application that is simply a nice interface into xrandr. So you must have xrandr already installed, which is generally just there on any x11 window manager, I’ve never had to install it.
As with any python cli that is indended to be used as a global/system level cli application I always install them with pipx. This automates the process of creating a
So many terminal applications bind After digging way too deep into how IPython implements its ... It’s no secret that I love automation, and lately my templating framework of choice has been copier. One hiccup I recently ran into was having spaces in my templated directory names. This makes it harder to run commands against as you need to escape them, and if they end up in a url you end up with ugly Yes the solution comes from a competing templating framework. I install copier with pipx, so I need to inject cookiecutter in to my copier environment to use the slugify filter. If you are using a normal virtual environment you can just pip install it. ... Textual has devtools in the upcoming css branch, and its pretty awesome! Textual is still very early and not really ready for prime time, but it’s quite amazing how easy some things such as creating keybindings is. The docs are coming, but missing right now so if you want to use textual be ready for reading source code and examples. As @willmcgugan shows in this tweet it’s pretty easy to setup, it requires having two terminals open, or using tmux, and currently you have to use the css branch. https://twitter.com/willmcgugan/status/1531294412696956930 ... totally guessed at this post’s date I’m still trying to understand this one, but this is how you force a python object to stop atexit. Whenever you are installing python packages, you should always use a virtual environment. pip makes this easy to follow by adding some configuration to pip. Pip is the pacakage tool for python. It installs third-party packages and is configurable. One of the configuration settings that I highly reccommend everyone to add is python packages often require many different dependencies, sometimes packages are up to date and sometimes they require different versions of dependencies. If you install everything in one environment its easy to end up with version conflict issues that are really hard to resolve, especially since your system environment cannot easily be restarted. My one exception that I put in my system level packages is ... I’ve been trying to adopt pyenv for a few months, but have been completely blocked by this issue on one of the main machines I use. Whenever I start up ipython I get the following error. I talked about why and how to use pyenv along with my first impressions in this post According to #678 I need to install ... I love using pipx for automatic virtual environment management of my globally installed python cli applications, but sometimes the application is not compatible with your globally installed This one took me a minute to figure out at first, please let me know if there is a better way. I am pretty certain that this is not the ideal way, but it works. My first technique was to make a package that printed out ... Super fun steam Broadcasted live on Twitch – Watch live at https://www.twitch.tv/waylonwalker We worked on markata todoui, a command tui trello board written in python using only markdown files to store the data. I love markdown and I want to make this my workflow. ... I really like the super clean look of no status menus, no url bar, no bookmarks bar, nothing. Don’t get me wrong these things are useful, but honestly they take up screen real estate and I RARELY look at them. What I really want is a toggle hotkey. I found this one from one of DT’s youtube video’s. I can now tap When you first start qutebrowser It will create some config files in your home directory for you, but they will be empty. As far as I know qutebrowser will create this default config out of the box for you, if it doesn’t, then somehow it just appeared for me 😁. You might want to confvert if you are more comfortable with the python config, or if like me you just want config in one place and you are stealing configuration options from others who have thiers in config.py. I am getting ready to do some timeseries analysis on a git repo with python, my first step is to figure out a way to list all of the git commits so that I can analyze each one however I want. The GitPython library made this almost trivial once I realized how. This returns a generator, if you are iterating over them this is likely what you want. The generator will return I recently made myself a handy tool for making screenshots in python and it need to do a git commit and push from within the script. For this I reached for How I Quickly Capture Screenshots directly into My Blog ... When I am creating blog posts it’s often helpful to add screenshots to them to illustrate what I see on my screen. Sometimes I lack good screenshots in my posts because it just takes more effort than I have in the moment, and I prioritize making content over making perfect content. When I have something to take a screenshot of, I need to take the shot, optimize the image, often convert it to a better format, publish it, and create a the img tag in my blog. I created this tool for myself in python because that is what I am most familiar with, but realistically most of what I am calling are shell scripts that I could do in just about any language. ... Copier is a fantastic templating library written in python, but older versions have a dangerous bug if you are using it inside of existing directories. As of May 15, 2022, the stable release of copier now includes these changes, if you have not already make sure you update. I Use copier several times per day and get fantastic benefit from this project, this post is not intended to crap all over copier in any way, but is rather a PSA for other users who do use copier like I do so that they know the dangers of using copier inside an existing directory. ... Python, click install Edit the System Environment Variables Environment Variables button Add the following path to your users Path Variableq to exit, even the python debugger, its muscle memory for me. But to exit ipython I have to type out exit<ENTER>. This is fine, but since q is muscle memory for me I get this error a few times per day.╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮ │ <ipython-input-1-2b66fd261ee5>:1 in <module> │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ NameError: name 'q' is not defined ExitAutoCall I realized there was a very simple solution here. IPython automatically imports all the scripts you put in your profile directory, all I needed was to create...%20 all over.pipx inject copier cookiecutter require-virtualenv. This will stop pip from installing any packages if you have not activated a virtualenv.pipx. pipx is very handy as it manages virtual environments for you and is intended for command line utilities that would end up in your system env or require you to manually manage virtual environments without it.ImportError: No module named '_sqlite3 libsqlite3-dev on ubuntu to resolve this issue.libsqlite3-dev can be installed using aptUsing Different versions of python with pipx | pyenv
pipxsys.version.LIVE-REPLAY - Python dev | Markata todoui | 4/6/2022
xx and both the status bar at the botton and the address bar at the top disappear.❯ tree ~/.config/qutebrowser /home/waylon/.config/qutebrowser ├── autoconfig.yml ├── bookmarks │ └── urls ├── config.py ├── greasemonkey └── quickmarks 2 directories, 5 files Why convert #
from git import Repo repo = Repo('.') commits = repo.iter_commits() commits # <generator object Commit._iter_from_process_or_stream at 0x7f3307584510> git.Commit objects with lots of information about each commit such as hexsha, author, commited_datetime, gpgsig, and message.GitPython is a python api for your git repos, it can be quite handy when you need to work with git from python.GitPython.GitPython is a python library hosted on pypi that we will want to install into our virtual environments using...How I Quickly Capture Screenshots directly into My Blog
Copier < 6.0.0b0 considered dangerous