<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Be Deep With Data: in English]]></title><description><![CDATA[English section]]></description><link>https://bedeep.substack.com/s/in-english</link><image><url>https://substackcdn.com/image/fetch/$s_!x5w3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4b5709e-85a1-4c98-886c-65517b594f2a_144x144.png</url><title>Be Deep With Data: in English</title><link>https://bedeep.substack.com/s/in-english</link></image><generator>Substack</generator><lastBuildDate>Sat, 09 May 2026 16:31:34 GMT</lastBuildDate><atom:link href="https://bedeep.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[BeDeep s.r.o.]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[bedeep@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[bedeep@substack.com]]></itunes:email><itunes:name><![CDATA[Marek Grác]]></itunes:name></itunes:owner><itunes:author><![CDATA[Marek Grác]]></itunes:author><googleplay:owner><![CDATA[bedeep@substack.com]]></googleplay:owner><googleplay:email><![CDATA[bedeep@substack.com]]></googleplay:email><googleplay:author><![CDATA[Marek Grác]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Creating access tokens for Facebook applications]]></title><description><![CDATA[#facebook #API #howto]]></description><link>https://bedeep.substack.com/p/creating-access-tokens-for-facebook</link><guid isPermaLink="false">https://bedeep.substack.com/p/creating-access-tokens-for-facebook</guid><dc:creator><![CDATA[Marie Stará]]></dc:creator><pubDate>Tue, 28 Mar 2023 09:55:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!x5w3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4b5709e-85a1-4c98-886c-65517b594f2a_144x144.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this text, you will learn how to create an access token for your Facebook application. This token can be used to download information such as likes or comments from Facebook and allows people to work with this information without logging in to Facebook.</p><p>To obtain an access token, you need to register as a Facebook Developer by filling in the registration form: <a href="https://developers.facebook.com/async/registration">https://developers.facebook.com/async/registration</a>. Make sure you are logged in to the account you use to manage your page.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bedeep.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Be Deep With Data! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>Generating an access token</h3><p>Go to <a href="https://developers.facebook.com/tools/explorer/">https://developers.facebook.com/tools/explorer/</a>. Log in to your account if needed.</p><p>Select the app you want to work with, either by its name (for example, Sirius) or ID (for example, 380469262752699). (If you manage multiple Facebook apps, you can check which app is selected in the <em>Meta App</em> menu on the right side of the page.)</p><p>Click the <em>Generate Access Token</em> button. A new window will open in which you need to log in to Facebook.</p><p>Next, select <em>Get Page Access Token</em> from the <em>User or Page</em> menu. Again, a new window will open. First, confirm your login (enter your password, if needed), then approve or select what Facebook page should be used. In the next step, agree to the required permissions (<em>Read content posted on the Page</em>, <em>Show a list of the Pages you manage</em>) and, in the last step, confirm everything by clicking OK.</p><p>The next step is to add the permissions to access user comments using the generated token: in the <em>Permissions </em>menu, specifically in the<em> Add a Permission</em> field, enter <em>pages_read_user_content</em> or select this permission from the drop-down menu.</p><p>When you add the permission, you need to select your Facebook page again. You can find it under <em>Page Access Tokens</em> in the <em>User or Page</em> menu.</p><p>Next, copy the access token using the <em>Copy Token</em> button on the top right of the page.</p><h3>Token validation&nbsp;</h3><p>To verify that the token you created is valid, go to <a href="https://developers.facebook.com/tools/debug/accesstoken/">https://developers.facebook.com/tools/debug/accesstoken/</a>. (Again, you must be logged in to your Facebook account.)</p><p>Paste the token you copied in the previous step into the text box and click the <em>Debug </em>button.</p><p>A table with token information similar to the image below will appear. (The page name or user information will be different, of course.)</p><p>The generated token is valid for approximately 60 minutes. You create it to check that everything is in order &#8211; if so, it is possible to generate a token with extended validity.</p><h3>Generating an extended access token&nbsp;</h3><h4>Re-generating the token</h4><p>Return to<a href="https://developers.facebook.com/tools/explorer/"> https://developers.facebook.com/tools/explorer/</a> and check or add the permissions you have set in the <em>Permissions </em>menu.</p><p>The required permissions are:</p><ul><li><p>pages_show_list</p></li><li><p>pages_read_engagement</p></li><li><p>pages_read_user_content</p></li><li><p>public_profile</p></li></ul><ul><li><p>read_insights</p></li></ul><p>After checking the permissions, select <em>Return to User Token</em> or<em> User Token </em>in the <em>User or Page</em> menu.</p><p>Next, click on<em> Generate Access Token</em>, same as when you first generated the token, i.e. confirm the login, select which Facebook page to use, agree to the required permissions and confirm everything with OK.</p><p>Verify that the <em>User Token</em> is selected in the <em>User or Page</em> menu. Copy the token (by clicking the <em>Copy Token</em> button).</p><h4>Extending the token validity&nbsp;</h4><p>Go to <a href="https://developers.facebook.com/tools/debug/accesstoken/">https://developers.facebook.com/tools/debug/accesstoken/</a> again, enter the token in the text box and click <em>Debug</em>. Again, the table with token information is shown.</p><p>Click on the <em>Extend Access Token</em> button below the table. A new window will open where you enter your password. Then a new token will appear at the bottom of the page, with a <em>Debug </em>button next to it.</p><p>When you click this button, the table appears again; however, the expiration date is extended to two months (see the <em>Expires </em>row).</p><p>Next, copy the generated token.</p><h4>Creating a token with unlimited validity</h4><p>Return to <a href="https://developers.facebook.com/tools/explorer/">https://developers.facebook.com/tools/explorer/</a> and paste the extended access token into the Access Token field. (You need to actually paste the new token, do not click the <em>Generate Access Token </em>button.)</p><p>Select your page in the<em> Users or Page</em> menu (under <em>Page Access Tokens)</em>. The access token value will change. Copy the new token (using the <em>Copy Token</em> button) and check it again at <a href="https://developers.facebook.com/tools/debug/accesstoken/">https://developers.facebook.com/tools/debug/accesstoken/</a> (paste the token into the text box, and click <em>Debug</em>).</p><p>A table similar to the one below will be created; the value in the <em>Expires </em>row should change to <em>Never</em>.</p><p>If everything fits, the token is ready, and you can pass it on or save it for later use.</p>]]></content:encoded></item><item><title><![CDATA[Creating a component in Keboola ]]></title><description><![CDATA[#keboola #developer]]></description><link>https://bedeep.substack.com/p/creating-a-component-in-keboola</link><guid isPermaLink="false">https://bedeep.substack.com/p/creating-a-component-in-keboola</guid><dc:creator><![CDATA[Marie Stará]]></dc:creator><pubDate>Thu, 16 Mar 2023 17:19:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PQho!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e9228d-a467-466c-9b0e-c698cbdea23f_1071x1256.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>To create a component, you need an account at <a href="http://component.keboola.com">components.keboola.com</a>; this tutorial also uses Git, GitHub, Docker, and Flake8. Following the tutorial, you will get the basis for the component using a template to which you can add your code.</p><h3>Creating a new repository from a template</h3><p>First, you need to clone and prepare a template using a series of terminal commands. (The instructions are intended for a Linux or MacOS terminal; if you use Windows PowerShell, some of the commands will be slightly different.)</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bedeep.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Be Deep With Data! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Start with cloning the template you will be working with:</p><pre><code><code>git clone https://bitbucket.org/kds_consulting_team/kbc-python-template/src/master</code></code></pre><p>After that, you can rename the downloaded directory, for example, using the name of the component you are creating.</p><pre><code><code>mv master transformer-psc
cd transformer-psc</code></code></pre><p>In the next step, you will remove the template history, i.e., you will get rid of information you do not need for the new component; on the contrary, it would complicate further work.</p><pre><code><code>rm -rf .git</code> (for Mac OS or Linux)
<code>rm -fo .git</code> (for Windows PowerShell)</code></pre><p>Then, you will (locally) create a new repository with the necessary data:</p><pre><code>git init
git add .
git commit -m 'Keboola Component Template'</code></pre><p>The next step is to create a new (empty) repository on <a href="https://github.com/">GitHub</a>. (Click on your account avatar on the top right -&gt; <em>Your Repositories -&gt; New</em>.) Then, fill in the repository name and description.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PQho!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e9228d-a467-466c-9b0e-c698cbdea23f_1071x1256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PQho!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e9228d-a467-466c-9b0e-c698cbdea23f_1071x1256.png 424w, https://substackcdn.com/image/fetch/$s_!PQho!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e9228d-a467-466c-9b0e-c698cbdea23f_1071x1256.png 848w, https://substackcdn.com/image/fetch/$s_!PQho!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e9228d-a467-466c-9b0e-c698cbdea23f_1071x1256.png 1272w, https://substackcdn.com/image/fetch/$s_!PQho!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e9228d-a467-466c-9b0e-c698cbdea23f_1071x1256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PQho!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e9228d-a467-466c-9b0e-c698cbdea23f_1071x1256.png" width="1071" height="1256" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04e9228d-a467-466c-9b0e-c698cbdea23f_1071x1256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1256,&quot;width&quot;:1071,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PQho!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e9228d-a467-466c-9b0e-c698cbdea23f_1071x1256.png 424w, https://substackcdn.com/image/fetch/$s_!PQho!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e9228d-a467-466c-9b0e-c698cbdea23f_1071x1256.png 848w, https://substackcdn.com/image/fetch/$s_!PQho!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e9228d-a467-466c-9b0e-c698cbdea23f_1071x1256.png 1272w, https://substackcdn.com/image/fetch/$s_!PQho!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e9228d-a467-466c-9b0e-c698cbdea23f_1071x1256.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Once you have created a repository, the next step is to upload the locally prepared data there; you can copy the command from GitHub (see the image below).</p><pre><code>git remote add origin git@github.com:Phalanx-Ai/transformer-psc.git</code></pre><p>Then, run:</p><pre><code>git push --set-upstream origin master</code></pre><p>For everything to work as it should, you need to have a working SSH key. You can also use HTTPS to upload data; in that case, the command sequence will be:</p><pre><code>git remote add origin <a href="https://github.com/Phalanx-Ai/transformer-psc.git">https://github.com/Phalanx-Ai/transformer-psc.git</a>
git push --set-upstream origin master</code></pre><p>When using HTTPS, note that the password used for authentication is not the user's GitHub password but an access token that can be generated in the settings (instructions <a href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-fine-grained-personal-access-token">here</a>).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uve1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd16f6867-3b0b-4a34-9de8-66e2fa3feb1b_1081x799.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uve1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd16f6867-3b0b-4a34-9de8-66e2fa3feb1b_1081x799.png 424w, https://substackcdn.com/image/fetch/$s_!uve1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd16f6867-3b0b-4a34-9de8-66e2fa3feb1b_1081x799.png 848w, https://substackcdn.com/image/fetch/$s_!uve1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd16f6867-3b0b-4a34-9de8-66e2fa3feb1b_1081x799.png 1272w, https://substackcdn.com/image/fetch/$s_!uve1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd16f6867-3b0b-4a34-9de8-66e2fa3feb1b_1081x799.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uve1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd16f6867-3b0b-4a34-9de8-66e2fa3feb1b_1081x799.png" width="1081" height="799" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d16f6867-3b0b-4a34-9de8-66e2fa3feb1b_1081x799.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:799,&quot;width&quot;:1081,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uve1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd16f6867-3b0b-4a34-9de8-66e2fa3feb1b_1081x799.png 424w, https://substackcdn.com/image/fetch/$s_!uve1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd16f6867-3b0b-4a34-9de8-66e2fa3feb1b_1081x799.png 848w, https://substackcdn.com/image/fetch/$s_!uve1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd16f6867-3b0b-4a34-9de8-66e2fa3feb1b_1081x799.png 1272w, https://substackcdn.com/image/fetch/$s_!uve1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd16f6867-3b0b-4a34-9de8-66e2fa3feb1b_1081x799.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Adding the component to Keboola</h3><p>Now that you have the repository ready, it is time to create a new component at <a href="https://components.keboola.com/">components.keboola.com</a>. Log in or create an account and create a component by clicking the <em>Add Component</em> button; enter the name and type of the component.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4jjw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F720fa00a-f9b3-486a-ba19-454952610d67_727x628.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4jjw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F720fa00a-f9b3-486a-ba19-454952610d67_727x628.png 424w, https://substackcdn.com/image/fetch/$s_!4jjw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F720fa00a-f9b3-486a-ba19-454952610d67_727x628.png 848w, https://substackcdn.com/image/fetch/$s_!4jjw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F720fa00a-f9b3-486a-ba19-454952610d67_727x628.png 1272w, https://substackcdn.com/image/fetch/$s_!4jjw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F720fa00a-f9b3-486a-ba19-454952610d67_727x628.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4jjw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F720fa00a-f9b3-486a-ba19-454952610d67_727x628.png" width="727" height="628" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/720fa00a-f9b3-486a-ba19-454952610d67_727x628.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:727,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4jjw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F720fa00a-f9b3-486a-ba19-454952610d67_727x628.png 424w, https://substackcdn.com/image/fetch/$s_!4jjw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F720fa00a-f9b3-486a-ba19-454952610d67_727x628.png 848w, https://substackcdn.com/image/fetch/$s_!4jjw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F720fa00a-f9b3-486a-ba19-454952610d67_727x628.png 1272w, https://substackcdn.com/image/fetch/$s_!4jjw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F720fa00a-f9b3-486a-ba19-454952610d67_727x628.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Once you have added the component, click <em>Continue to update this component</em> and fill in the <em>License URL</em>,<em> Documentation URL</em>,<em> </em>and <em>Source code URL</em>. This information can also be added later.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7joC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239eb617-4904-4487-b1c9-a3ea6721a7c9_705x360.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7joC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239eb617-4904-4487-b1c9-a3ea6721a7c9_705x360.png 424w, https://substackcdn.com/image/fetch/$s_!7joC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239eb617-4904-4487-b1c9-a3ea6721a7c9_705x360.png 848w, https://substackcdn.com/image/fetch/$s_!7joC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239eb617-4904-4487-b1c9-a3ea6721a7c9_705x360.png 1272w, https://substackcdn.com/image/fetch/$s_!7joC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239eb617-4904-4487-b1c9-a3ea6721a7c9_705x360.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7joC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239eb617-4904-4487-b1c9-a3ea6721a7c9_705x360.png" width="705" height="360" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/239eb617-4904-4487-b1c9-a3ea6721a7c9_705x360.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:360,&quot;width&quot;:705,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7joC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239eb617-4904-4487-b1c9-a3ea6721a7c9_705x360.png 424w, https://substackcdn.com/image/fetch/$s_!7joC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239eb617-4904-4487-b1c9-a3ea6721a7c9_705x360.png 848w, https://substackcdn.com/image/fetch/$s_!7joC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239eb617-4904-4487-b1c9-a3ea6721a7c9_705x360.png 1272w, https://substackcdn.com/image/fetch/$s_!7joC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239eb617-4904-4487-b1c9-a3ea6721a7c9_705x360.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It is recommended to create a service account for the component in order to use it safely. Go to <em>Service accounts</em> and click <em>Create a service account</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mJVI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa068d303-3c86-465f-9e79-6af3e3786448_1443x232.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mJVI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa068d303-3c86-465f-9e79-6af3e3786448_1443x232.png 424w, https://substackcdn.com/image/fetch/$s_!mJVI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa068d303-3c86-465f-9e79-6af3e3786448_1443x232.png 848w, https://substackcdn.com/image/fetch/$s_!mJVI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa068d303-3c86-465f-9e79-6af3e3786448_1443x232.png 1272w, https://substackcdn.com/image/fetch/$s_!mJVI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa068d303-3c86-465f-9e79-6af3e3786448_1443x232.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mJVI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa068d303-3c86-465f-9e79-6af3e3786448_1443x232.png" width="1443" height="232" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a068d303-3c86-465f-9e79-6af3e3786448_1443x232.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:232,&quot;width&quot;:1443,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mJVI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa068d303-3c86-465f-9e79-6af3e3786448_1443x232.png 424w, https://substackcdn.com/image/fetch/$s_!mJVI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa068d303-3c86-465f-9e79-6af3e3786448_1443x232.png 848w, https://substackcdn.com/image/fetch/$s_!mJVI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa068d303-3c86-465f-9e79-6af3e3786448_1443x232.png 1272w, https://substackcdn.com/image/fetch/$s_!mJVI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa068d303-3c86-465f-9e79-6af3e3786448_1443x232.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Enter an account name (e.g., <em>czech-psc</em>) and description. After creating the service account, you will be shown a username and password you will need in the next step &#8211; remember to save them.</p><h3>Adding component access information on GitHub</h3><p>Go to the GitHub repository with the component template and open <em>Settings</em>. In the left menu, under <em>Security</em>, expand the <em>Secrets and variables</em> menu and select <em>Actions</em>. Click <em>New repository secret </em>and add the information needed to work with the component, as shown in the list below.</p><ul><li><p>KBC_DEVELOPERPORTAL_USERNAME - service account name</p></li><li><p>KBC_DEVELOPERPORTAL_PASSWORD - service account password</p></li><li><p>KBC_DEVELOPERPORTAL_APP - Component ID</p></li><li><p>KBC_DEVELOPERPORTAL_VENDOR - component prefix (Vendor ID found in the profile)</p></li><li><p>APP_IMAGE - text &#8220;keboola-component&#8221;</p></li></ul><h3>Docker&nbsp;</h3><p>After adding the data to the GitHub repository, return to the terminal. Make sure you are in the directory where the<em> docker-compose.yml</em> file is located; then run the command that prepares the container image.</p><pre><code>docker-compose build</code></pre><p>(Before running this command, it is necessary to start Docker (service docker start); you may also need to run commands as root: sudo docker-compose build).</p><p>Next, check that everything works as it should; the template includes a component that prints the text Hello World.</p><pre><code>docker-compose run --rm dev</code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1as2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556734bf-680c-492a-a537-c731a92bc982_1040x241.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1as2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556734bf-680c-492a-a537-c731a92bc982_1040x241.png 424w, https://substackcdn.com/image/fetch/$s_!1as2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556734bf-680c-492a-a537-c731a92bc982_1040x241.png 848w, https://substackcdn.com/image/fetch/$s_!1as2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556734bf-680c-492a-a537-c731a92bc982_1040x241.png 1272w, https://substackcdn.com/image/fetch/$s_!1as2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556734bf-680c-492a-a537-c731a92bc982_1040x241.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1as2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556734bf-680c-492a-a537-c731a92bc982_1040x241.png" width="1040" height="241" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/556734bf-680c-492a-a537-c731a92bc982_1040x241.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:241,&quot;width&quot;:1040,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1as2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556734bf-680c-492a-a537-c731a92bc982_1040x241.png 424w, https://substackcdn.com/image/fetch/$s_!1as2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556734bf-680c-492a-a537-c731a92bc982_1040x241.png 848w, https://substackcdn.com/image/fetch/$s_!1as2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556734bf-680c-492a-a537-c731a92bc982_1040x241.png 1272w, https://substackcdn.com/image/fetch/$s_!1as2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F556734bf-680c-492a-a537-c731a92bc982_1040x241.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Deploying the application</h3><p>Upload the newly created component to GitHub, i.e., change<em> src/component.py</em>, and edit <em>README.MD</em>. The next step is to edit the <em>component_long_description.md</em>, <em>component_short_description.md</em>, and<em> configSchema.json </em>&nbsp;files in the <em>component_config</em> folder as the information from there is transferred into the Keboola component.</p><p>The <em>configSchema</em> file specifies what parameters the component receives from the user. The details of setting up the schema are described in the <a href="https://developers.keboola.com/extend/component/ui-options/configuration-schema/">documentation</a>; usually, a form with entries for a string or number will suffice.&nbsp;</p><p>As an example, see the example below from the <a href="https://github.com/Phalanx-Ai/transformer-psc/blob/master/component_config/configSchema.json">schema of the Transform Czech ZIP code to district/county component</a>:</p><pre><code>{
&nbsp;&nbsp;"type": "object",
&nbsp;&nbsp;"title": "Parameters",
&nbsp;&nbsp;"required": [
    "column_psc"
&nbsp;&nbsp;],
&nbsp;&nbsp;"properties": {
    "column_psc": {
&nbsp;&nbsp;    "type": "string",
&nbsp;&nbsp;    "title": "Name of existing column with ZIP/PS&#268;",
&nbsp;&nbsp;    "propertyOrder": 1
    }
&nbsp;&nbsp;}
}</code></pre><p>Now, a little sidestep: if you have not filled in the<em> License URL</em>, <em>Documentation URL</em>, and <em>Source Code URL</em> in the component description on <a href="https://components.keboola.com/">components.keboola.com</a>, fill them in now.</p><p>The following steps are done in the terminal. Again, make sure you run the commands in the correct directory.&nbsp;</p><p>Once you have a working application, it is time to test it. Run the tests that are included with the template. In this step, a linter is used to verify that nothing prevents the component from being accepted into Keboola. Any deficiencies must be corrected even if they do not affect the functionality of the code.</p><pre><code>docker-compose run --rm test</code></pre><p>Add a tag corresponding to the <a href="https://semver.org">semantic versioning</a> to be used in Keboola as the version number.</p><pre><code>git tag 0.1.0 -m "0.1.0"
git push origin 0.1.0</code></pre><p>Now you just need to wait a bit and you get a component you can use in Keboola.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bedeep.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Be Deep With Data! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item></channel></rss>