Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What Python automation scripts do you reuse frequently at work?
10 points by jimmyechan 32 days ago | hide | past | favorite | 11 comments
Wondering if there are any automation scripts that people frequently run at work and what the scripts do.

Did you write the scripts to automate your own tasks or for your org/teams' operations?

How often do you run them?

With python, it's more about simplifying the entire process (a.k.a. making it pythonic). In my experience, it tends to be a wrapping mechanism around some binary or api so it's hard to pin point "an exact script everyone runs". Some are clean up scripts that clear out caches manually (until a fix can be pushed), others (like this one https://gitlab.com/sunset-crew/nextrelease) wrap git so you don't need to remember all the things associated with pushing a release and/or tag. Ansible, though it's made in python it's kinda it's own langauge, might be a good place to look if you want scripts that are generic enough for everyone to use. I've written for teams and myself.

How do you usually trigger scripts? Do you do it via Ansible or manually via terminal?

Both. Terminal, and some sort of automation. With Ansible, there's awx and semaphore. I think someone mentioned cronjobs, also systemd-timers. I think kubernetes has a cronjobs feature as well.

Not OP, but I usually trigger Python scripts from cron.

Is your cron running locally or do you have it set up on a server?

I usually have cron jobs set up on servers for simple things.

If I'm doing large scale web development, I tend to use containers, so I'll use a scheduling mechanism appropriate for whatever framework I'm using. For example, if I'm building a Django application, then I use Celery.

There's always the tradeoff of just using the tools you get for free in a Linux distro, but paying the price of handling multiple DSLs, versus installing, configuring, and managing a larger system with a more homogenous interface.

Python is my default language, so... everything.

The static site generator on which my websites are built is Python. The linters for those websites' content? Also Python. The UI tests for those websites? Playwright and Python. The code to rebuild the production site when new changes are pushed? Python.

I have a script to start my projects. It puts me in the right directory, sets up the environment, launches the IDE, etc.

I have a lot of small one-time scripts to export, transform and import data.

Basically, if it's more than a few lines of bash, I'll use Python. It's a wonderful language.

Woa! That's quite a bit. What do you use for your static site generator? Or is a custom tool you built for yourself?

Curious, how do you organize or keep track of all your scripts? I assume you have them easily accessible so you can trigger them quickly?

It’s my own SSG: https://github.com/nicbou/ursus/. I edit text for a living so the effort was worth it.

As for organisation, they are usually in the ./scripts directory of their respective projects. Generic ones are in my dotfiles: https://github.com/nicbou/dotfiles

When we hire a few new people I start a new round of Coffee Chat Bingo.

My python script takes all our employee headshots and makes everybody a unique bingo card (obviously excluding their own headshot). Then they bring their bingo card to our virtual weekly Coffee Chats and get to mark off somebody else who is there.

First person to get a row wins a small prize (coffee gift card) and then we usually have a second place as well (submarine shape gets a sub sandwich gift card) — after that enthusiasm starts to fall off. Helps the new people to get to meet more people than they would if there wasn’t a gameified incentive.

I'm lazy as f... so, I automate everything that I can. Mostly in Python, others with bash/powershell, even SQL, no matter if I'm at work or my homelab.

Not only to make specific tasks, but also, to remove the burden in some of them, why ssh/rdp to a server to execute something if we can quickly create a script and run it with a click?

At home? domotics, remembering to close the blinds or turn off apliances? no thanks, HA takes care of it with schedules and conditions. Leaving home and remembering to turn on the alarm? no thanks, geolocation + condition, if away for more than 5 minutes, assume that I left and close everything, shut down stuff, turn on the alarm, start the vacuum and get a notification on the mobile.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact