Faster Data Experimentation With cookiecutter

<p>In the long quest of owning my own data, I have created some services where I experiment with data and different tech stacks. They all have in common a few elements, and while I like to copy/paste since it&rsquo;s my day-to-day job, I&rsquo;ve decided to create a cookiecutter for myself. In this article, we will go through what a cookiecutter is, how to create one yourself, and how to use it.</p> <h1>Cookiecutter</h1> <p>OK, I get it. All Python libraries do seem to have hilarious names! But don&rsquo;t blame us for it. ChatGPT explains it nicely: &ldquo;The name &ldquo;cookiecutter&rdquo; comes from the concept of a cookie cutter, a tool used to cut cookie dough into a specific shape. In the same way, Cookiecutter allows developers to quickly create new projects with a predefined structure and configuration based on a template.&rdquo;</p> <p>And that&rsquo;s the fact: with cookiecutter, we can easily define project templates. It is based on Jinja templates, and it generates the basic setup as defined by the developer of the cookiecutter. In my data experimentation case, what I need is the following:</p> <ol> <li>a Poetry configuration that installs&nbsp;<code>streamlit</code>&nbsp;for the web application,&nbsp;<code>plotly</code>&nbsp;for graphing, and&nbsp;<code>duckdb</code>&nbsp;for data query</li> <li>a Dockerfile based on Python 3.11 that installs the libraries from step 1</li> <li>a docker-compose file that creates a container from the above Dockerfile.</li> </ol> <p><a href="https://betterprogramming.pub/faster-data-experimentation-with-cookiecutter-14a80f1859cd">Visit Now</a>&nbsp;</p>