DEV Community

Waylon Walker
Waylon Walker

Posted on • Originally published at waylonwalker.com

3 1

Copier Tasks | Python templating post run task

Copier allows you to run post render tasks, just like cookiecutter. These are defined as a list of tasks in your copier.yml. They are simply shell commands to run.

The example I have below runs an update-gratitude bash script after the copier template has been rendered.

# copier.yml
num: 128
_answers_file: .gratitude-copier-answers.yml
_tasks:
  - "update-gratitude"
Enter fullscreen mode Exit fullscreen mode

I have put the script in ~/.local/bin so that I know it's always on my
$PATH. It will reach back into the copier.yml and update the default
number.

#!/bin/bash
# ~/.local/bin/update-gratitude
current=`awk '{print $2}' ~/.copier-templates/gratitude/copier.yml | head -n 1` new=`expr $current + 1` echo $current echo $new sed -i "s/$current/$new/g" ~/.copier-templates/gratitude/copier.yml
Enter fullscreen mode Exit fullscreen mode

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

While many AI coding tools operate as simple command-response systems, Qodo Gen 1.0 represents the next generation: autonomous, multi-step problem-solving agents that work alongside you.

Read full post

Top comments (1)

Collapse
 
alblimubtel profile image
alblimubtel

In Python's Copier library, post-run tasks offer a powerful way to automate actions after a template has been copied, making the templating process highly customizable and efficient. With post-run tasks, you can execute scripts, install dependencies, or configure settings automatically, streamlining workflow setup and reducing manual steps. This functionality is particularly useful for creating templates that require specific configurations immediately after they’re generated. For example, if you're using templates for social media automation, post-run tasks could be set up to instantly configure integrations, similar to how RunPost Instagram helps streamline and automate Instagram posting, making it easier to manage content effortlessly.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay