<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Gathering Tools - Improve the reliability and security of Excel processes</provider_name><provider_url>https://www.gathering-tools.com/en/</provider_url><title>Automation via Python API - Gathering Tools - Improve the reliability and security of Excel processes</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="HnyQmcOYa1"&gt;&lt;a href="https://www.gathering-tools.com/en/documentation/automation-via-python-api/"&gt;Automation via Python API&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://www.gathering-tools.com/en/documentation/automation-via-python-api/embed/#?secret=HnyQmcOYa1" width="600" height="338" title="&#x201C;Automation via Python API&#x201D; &#x2014; Gathering Tools - Improve the reliability and security of Excel processes" data-secret="HnyQmcOYa1" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
//# sourceURL=https://www.gathering-tools.com/wp-includes/js/wp-embed.min.js
&lt;/script&gt;
</html><description>Introduction Install python &gt;=3.7 Install virtualenv pip install virtualenv Create a development folder mkdir /path/to/dev/folder cd /path/to/dev/folder Create a virtual environment Virtual environments allow you to have isolated space on your computer for Python projects, ensuring that each of your projects can have its own set of dependencies that won&#x2019;t disrupt any of your other [&hellip;]</description></oembed>
