<?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:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Python - Law Explained India]]></title><description><![CDATA[Thoughts, stories and ideas.]]></description><link>http://anweshadas.in/</link><image><url>http://anweshadas.in/favicon.png</url><title>Python - Law Explained India</title><link>http://anweshadas.in/</link></image><generator>Ghost 5.81</generator><lastBuildDate>Fri, 03 Apr 2026 18:25:44 GMT</lastBuildDate><atom:link href="http://anweshadas.in/tag/python/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[ssh version output in stderr]]></title><description><![CDATA[<p>Generally Linux commands print their version on <code>stdout</code>, for example<br>
<code>git --version</code>  or <code>python --version</code>.  But not <code>ssh</code>. <code>ssh -V</code> prints output  to <code>stderr</code>.</p>
<p>To test it you can do the following:</p>
<h3 id="git-version-on-stdout">git version on stdout</h3>
<pre><code>&gt; git --version 2&gt; error 1&gt; output 
&gt; cat output
git version</code></pre>]]></description><link>http://anweshadas.in/ssh-version-output-in-stderr/</link><guid isPermaLink="false">68ec16c641dcec000189c60b</guid><category><![CDATA[Ansible]]></category><category><![CDATA[System Administration]]></category><category><![CDATA[linux]]></category><category><![CDATA[ssh]]></category><category><![CDATA[Python]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Sun, 12 Oct 2025 21:01:13 GMT</pubDate><content:encoded><![CDATA[<p>Generally Linux commands print their version on <code>stdout</code>, for example<br>
<code>git --version</code>  or <code>python --version</code>.  But not <code>ssh</code>. <code>ssh -V</code> prints output  to <code>stderr</code>.</p>
<p>To test it you can do the following:</p>
<h3 id="git-version-on-stdout">git version on stdout</h3>
<pre><code>&gt; git --version 2&gt; error 1&gt; output 
&gt; cat output
git version 2.51.0
</code></pre>
<h3 id="ssh-version-on-stderr">ssh version on stderr</h3>
<pre><code>&gt; ssh -V 2&gt;&gt; error 1&gt;&gt; output
&gt; cat error
OpenSSH_9.9p1, OpenSSL 3.2.4 11 Feb 2025
</code></pre>
<p>Hope this will be helpful.</p>
]]></content:encoded></item><item><title><![CDATA[Joy of automation]]></title><description><![CDATA[<p>After 145+ commits spread over <a href="https://github.com/ansible-community/ansible-build-data/pull/265?ref=anweshadas.in">multiple</a> <a href="https://github.com/ansible/ansible-documentation/pull/121?ref=anweshadas.in">PRs</a>, 450+ conversations and feedback, and accountable communication via several different communication mediums spanning over 2 years, the Ansible Release Management is finally completely automated, using GitHub Actions.  When I joined Red Hat in November 2022, I was tasked with releasing the Ansible Community</p>]]></description><link>http://anweshadas.in/joy-of-automation/</link><guid isPermaLink="false">68867f6e41dcec000189c5e3</guid><category><![CDATA[Python]]></category><category><![CDATA[Ansible]]></category><category><![CDATA[community]]></category><category><![CDATA[automation]]></category><category><![CDATA[github action]]></category><category><![CDATA[PyLadies]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Sun, 27 Jul 2025 22:42:59 GMT</pubDate><content:encoded><![CDATA[<p>After 145+ commits spread over <a href="https://github.com/ansible-community/ansible-build-data/pull/265?ref=anweshadas.in">multiple</a> <a href="https://github.com/ansible/ansible-documentation/pull/121?ref=anweshadas.in">PRs</a>, 450+ conversations and feedback, and accountable communication via several different communication mediums spanning over 2 years, the Ansible Release Management is finally completely automated, using GitHub Actions.  When I joined Red Hat in November 2022, I was tasked with releasing the Ansible Community Package.</p>
<p>The first hurdle I faced was that there was no documented release process. What we had were release managers&apos; private notes. It was over in personal repositories, internal Red Hat Google Docs, and personal code. Since all those past release managers left the organization (apart from one), it was very difficult to gather and figure out what, why, and how the release process worked. I had one supporter, my trainer (the then-release manager), Christian. He shared with me his notes and the steps he followed. He guided me on how he did the release.</p>
<p>Now we have a community release managers working group where contributors from the community also take part and release Ansible. And we have the two aforementioned GitHub actions.</p>
<ul>
<li>First one builds the package and also opens a PR to the repository, and then waits for human input.</li>
<li>Meanwhile, the release manager can use the second action to create another PR to the Ansible documentation repository from the updated porting guide from the first PR.</li>
<li>After the PRs are approved, the release manager can continue with the first action and release the Ansible wheel package and the source tarball to <a href="https://pypi.org/?ref=anweshadas.in">PyPI</a> in a fully automated way using <a href="https://docs.pypi.org/trusted-publishers/?ref=anweshadas.in">trusted publishing</a>.</li>
</ul>
<p>I would like to thank <a href="https://www.linkedin.com/in/felixfontein/?ref=anweshadas.in">Felix</a>, <a href="https://floss.social/@maxgot?ref=anweshadas.in">Gotmax</a> and <a href="https://github.com/webknjaz?ref=anweshadas.in">Sviatoslav</a> for feedback during the journey, thank you.</p>
<p>Many say automation is bad. In many companies, management gets the wrong idea that, when good automation is in place, they can fire senior engineers and get interns or inexperienced people to get the job done. That works till something breaks down. The value of experience comes when we have to fix things in automation. Automation enables new folks to get introduced to things, and enables experienced folks to work on other things.</p>
]]></content:encoded></item><item><title><![CDATA[Creating Pull request with GitHub Action]]></title><description><![CDATA[<pre><code class="language-YAML">---
name: Testing Gha
on:
  workflow_dispatch:
    inputs:
      GIT_BRANCH:
        description: The git branch to be worked on
        required: true

jobs:
  test-pr-creation:
    name: Creates test PR
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write
      contents: write
    env:
      GIT_BRANCH: ${{ inputs.GIT_BRANCH }}
    steps:
      - uses: actions/checkout@v4
      - name: Updates README
        run:</code></pre>]]></description><link>http://anweshadas.in/creating-pull-request-with-github-action/</link><guid isPermaLink="false">686ab0ec41dcec000189c58c</guid><category><![CDATA[Python]]></category><category><![CDATA[github]]></category><category><![CDATA[ci]]></category><category><![CDATA[git]]></category><category><![CDATA[github action]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Sun, 06 Jul 2025 18:22:04 GMT</pubDate><content:encoded><![CDATA[<pre><code class="language-YAML">---
name: Testing Gha
on:
  workflow_dispatch:
    inputs:
      GIT_BRANCH:
        description: The git branch to be worked on
        required: true

jobs:
  test-pr-creation:
    name: Creates test PR
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write
      contents: write
    env:
      GIT_BRANCH: ${{ inputs.GIT_BRANCH }}
    steps:
      - uses: actions/checkout@v4
      - name: Updates README
        run: echo date &gt;&gt; README.md

      - name: Set up git
        run: |
          git switch --create &quot;${GIT_BRANCH}&quot;
          ACTOR_NAME=&quot;$(curl -s https://api.github.com/users/&quot;${GITHUB_ACTOR}&quot; | jq --raw-output &apos;.name // .login&apos;)&quot;
          git config --global user.name &quot;${ACTOR_NAME}&quot;
          git config --global user.email &quot;${GITHUB_ACTOR_ID}+${GITHUB_ACTOR}@users.noreply.github.com&quot;

      - name: Add README
        run: git add README.md

      - name: Commit
        run: &gt;-
          git diff-index --quiet HEAD ||
          git commit -m &quot;test commit msg&quot;
      - name: Push to the repo
        run: git push origin &quot;${GIT_BRANCH}&quot;

      - name: Create PR as draft
        env:
          GITHUB_TOKEN: ${{ github.token }}
        run: &gt;-
          gh pr create
          --draft
          --base main
          --head &quot;${GIT_BRANCH}&quot;
          --title &quot;test commit msg&quot;
          --body &quot;pr body&quot;

      - name: Retrieve the existing PR URL
        id: existing-pr
        env:
          GITHUB_TOKEN: ${{ github.token }}
        run: &gt;
          echo -n pull_request_url= &gt;&gt; &quot;${GITHUB_OUTPUT}&quot;

          gh pr view
          --json &apos;url&apos;
          --jq &apos;.url&apos;
          --repo &apos;${{ github.repository }}&apos;
          &apos;${{ env.GIT_BRANCH }}&apos;
          &gt;&gt; &quot;${GITHUB_OUTPUT}&quot;
      - name: Select the actual PR URL
        id: pr
        env:
          GITHUB_TOKEN: ${{ github.token }}
        run: &gt;
          echo -n pull_request_url=
          &gt;&gt; &quot;${GITHUB_OUTPUT}&quot;

          echo &apos;${{steps.existing-pr.outputs.pull_request_url}}&apos;
          &gt;&gt; &quot;${GITHUB_OUTPUT}&quot;

      - name: Log the pull request details
        run: &gt;-
           echo &apos;PR URL: ${{ steps.pr.outputs.pull_request_url }}&apos; | tee -a &quot;${GITHUB_STEP_SUMMARY}&quot;


      - name: Instruct the maintainers to trigger CI by undrafting the PR
        env:
          GITHUB_TOKEN: ${{ github.token }}
        run: &gt;-
            gh pr comment
            --body &apos;Please mark the PR as ready for review to trigger PR checks.&apos;
            --repo &apos;${{ github.repository }}&apos;
            &apos;${{ steps.pr.outputs.pull_request_url }}&apos;
</code></pre>
<p>The above is an example of how to create a <code>draft PR</code> via GitHub Actions. We need to give permissions to the GitHub action to create PR in a repository (<code>workflow permissions</code> in the settings).</p>
<p><img src="http://anweshadas.in/content/images/2025/07/workflow_permissions.png" alt="workflow_permissions.png" loading="lazy"></p>
<p>Hopefully, this blogpost will help my future self.</p>
]]></content:encoded></item><item><title><![CDATA[PyCon Lithuania, 2025]]></title><description><![CDATA[<p>Each year, I try to experience a new PyCon. 2025, <a href="https://pycon.lt/?ref=anweshadas.in">PyCon Lithuania</a> was added to my PyCon calendar.</p>
<p><img src="http://anweshadas.in/content/images/2025/04/pyon_lt_6.jpg" alt="pyon_lt_6.jpg" loading="lazy"></p>
<h2 id="day-before-the-conference">Day before the conference</h2>
<p>What makes this PyCon, is that we were traveling there as a family and the conference days coincided with the Easter holidays. We utilized that to explore the</p>]]></description><link>http://anweshadas.in/pycon-lithuania-2025/</link><guid isPermaLink="false">6811f6e041dcec000189c543</guid><category><![CDATA[Ansible]]></category><category><![CDATA[Python]]></category><category><![CDATA[PyLadies]]></category><category><![CDATA[release]]></category><category><![CDATA[PyPI]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Wed, 30 Apr 2025 10:49:45 GMT</pubDate><content:encoded><![CDATA[<p>Each year, I try to experience a new PyCon. 2025, <a href="https://pycon.lt/?ref=anweshadas.in">PyCon Lithuania</a> was added to my PyCon calendar.</p>
<p><img src="http://anweshadas.in/content/images/2025/04/pyon_lt_6.jpg" alt="pyon_lt_6.jpg" loading="lazy"></p>
<h2 id="day-before-the-conference">Day before the conference</h2>
<p>What makes this PyCon, is that we were traveling there as a family and the conference days coincided with the Easter holidays. We utilized that to explore the city&#x2014;the ancient cathedrals, palaces, old cafes, and of course the Lithuanian cuisine. &#x160;altibar&#x161;&#x10D;iai, Balandeliai and Cepelinai.</p>
<h2 id="tuesday">Tuesday</h2>
<p>22nd, the day before the conference was all about practicing the talk and meeting with the community. We had the pre-conference mingling session with the speakers and volunteers. It was time to meet some old and many new people. Then it was time for PyLadies. <a href="https://www.linkedin.com/in/inga-pliavgo-772136234/?ref=anweshadas.in">Inga</a> from PyLadies Lithuania, <a href="https://www.linkedin.com/in/menezesnina/****?ref=anweshadas.in">Nina</a> from Pyladies London and I had a lovely dinner discussion&#x2014;good food with the <a href="https://pyladies.com/?ref=anweshadas.in">PyLadies</a> community,technology, and us.</p>
<p><img src="http://anweshadas.in/content/images/2025/04/pyon_lt_2.jpg" alt="pyon_lt_2.jpg" loading="lazy"></p>
<h2 id="wednesday">Wednesday</h2>
<p>The morning started early for us on the day of the conference. All the 3 of us had different responsibilities during the conference. While Py was volunteering, I talked and <a href="https://pycon.lt/talks/FRPUZS?ref=anweshadas.in">Kushal was the morning keynoter</a> A Python family in a true sense :)</p>
<p><img src="http://anweshadas.in/content/images/2025/04/pyon_lt_1.jpg" alt="pyon_lt_1.jpg" loading="lazy"></p>
<p>I had my talk, <a href="https://pycon.lt/talks/EDKURL?ref=anweshadas.in">&#x201C;Using PyPI Trusted Publishing to Ansible Release&#x201D;</a> scheduled for the afternoon session. The talk was about automating the Ansible Community package release process with GitHub action using the trusted publisher in PyPI. The talk described - what is trusted publishing.I explanined the need for it and the usage of trusted publishing. I explained the Ansible manual release process in a nutshell and then moved to what the Ansible release process is now with&#xA0; GitHub actions and Trusted Publishing. Then the most important part is, the lessons learned in the process and how other open-source communities can get help and benefit from it.Here is the <a href="https://docs.google.com/presentation/d/1RYiT3zCZqwNgHPN1TfWt8yq6vq0BF0vj8yOmIgL9qOc/edit?slide=id.g2d3dbe7486d_0_0&amp;ref=anweshadas.in#slide=id.g2d3dbe7486d_0_0">link for the slides of my talk</a> I had questions regarding trusted publishing, experience as a release manager, and of course Ansible.</p>
<p><img src="http://anweshadas.in/content/images/2025/04/pyon_lt_0.jpeg" alt="pyon_lt_0.jpeg" loading="lazy"></p>
<p>It was the time to bid goodbye to PyCon Lt and come back home. See you next year. Congratulatios organizers for doing a great job in organizing the coference.</p>
<p><img src="http://anweshadas.in/content/images/2025/04/pyon_lt_4.jpg" alt="pyon_lt_4.jpg" loading="lazy"></p>
]]></content:encoded></item><item><title><![CDATA[Keynote at PyLadiesCon!]]></title><description><![CDATA[<p>Since the very inception of my journey in Python and <a href="https://pyladies.com/?ref=anweshadas.in">PyLadies</a>, I have always thought of having a PyLadies Conference, a celebration of PyLadies. There were conversations here and there, but nothing was fruitful then. In 2023, <a href="https://www.linkedin.com/in/mariatta/?ref=anweshadas.in">Mariatta</a>, <a href="https://www.linkedin.com/in/cheukting-ho/?ref=anweshadas.in">Cheuk</a>, <a href="https://www.linkedin.com/in/mjmolinacontreras/?ref=anweshadas.in">Maria Jose</a>, and many more PyLadies volunteers around the globe made</p>]]></description><link>http://anweshadas.in/pyladiescon-keynote/</link><guid isPermaLink="false">6749e83e41dcec000189c4f7</guid><category><![CDATA[Ansible]]></category><category><![CDATA[red hat]]></category><category><![CDATA[community]]></category><category><![CDATA[Conference]]></category><category><![CDATA[foss]]></category><category><![CDATA[Free Software]]></category><category><![CDATA[PyLadies]]></category><category><![CDATA[Python]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Fri, 29 Nov 2024 17:35:57 GMT</pubDate><content:encoded><![CDATA[<p>Since the very inception of my journey in Python and <a href="https://pyladies.com/?ref=anweshadas.in">PyLadies</a>, I have always thought of having a PyLadies Conference, a celebration of PyLadies. There were conversations here and there, but nothing was fruitful then. In 2023, <a href="https://www.linkedin.com/in/mariatta/?ref=anweshadas.in">Mariatta</a>, <a href="https://www.linkedin.com/in/cheukting-ho/?ref=anweshadas.in">Cheuk</a>, <a href="https://www.linkedin.com/in/mjmolinacontreras/?ref=anweshadas.in">Maria Jose</a>, and many more PyLadies volunteers around the globe made this dream come true, and we had our first ever PyLadiesCon.<br>
I submitted a talk for the first-ever PyLadiesCon (how come I didn&apos;t?), and it was rejected. In 2024, I missed the CFP deadline. I was sad. Will I never be able to participate in PyLadiesCon?</p>
<p>On October 10th, 2024, I had my talk at <a href="https://pycon-nl.org/?ref=anweshadas.in">PyCon NL</a>. I woke up early to practice. I saw an email from <a href="https://conference.pyladies.com/?ref=anweshadas.in">PyLadiesCon</a>, titled &quot;Invitation to be a Keynote Speaker at PyLadiesCon&quot;. The panic call went to <a href="https://www.linkedin.com/in/kushal-das-5a655b8/?ref=anweshadas.in">Kushal Das</a>. &quot;Check if there is any attack in the Python server? I got a spamming email about PyLadiesCon and the address is correct. &quot;No, nothing.&quot;, replied Kushal after checking. Wait then &quot;WHAT???&quot;. PyLadiesCon wants me to give the keynote. THE KEYNOTE in PyLadiesCon.</p>
<p>Thank you <a href="https://www.linkedin.com/in/audreyfeldroy/?ref=anweshadas.in">Audrey</a> for conceptualizing and creating PyLadies, our home.</p>
<p><img src="http://anweshadas.in/content/images/2024/11/keynote_pyladiescon.png" alt="keynote_pyladiescon.png" loading="lazy"></p>
<p>And here I am now. I will give the keynote on 7 December 2024 at PyLadiesCon on how PyLadies gave me purpose. See you all there.</p>
<p>Dreams do come true.</p>
]]></content:encoded></item><item><title><![CDATA[Looking back to Euro Python 2024]]></title><description><![CDATA[<p>Over the years, when&#xA0; I am low, I always go to the <a href>2014 Euro Python talk&#xA0; &quot;Farewell and Welcome Home: Python in Two Genders&quot;</a> by <a href="https://www.linkedin.com/in/naomiceder/?ref=anweshadas.in">Naomi</a>. It has become the first step of my coping mechanism and the door to my safe house. Though 2024 marked</p>]]></description><link>http://anweshadas.in/looking-back-to-euro-python-2024/</link><guid isPermaLink="false">669640c0ff9a2c0001dc472d</guid><category><![CDATA[Ansible]]></category><category><![CDATA[blogging]]></category><category><![CDATA[community]]></category><category><![CDATA[Conference]]></category><category><![CDATA[Free Software]]></category><category><![CDATA[legal]]></category><category><![CDATA[License]]></category><category><![CDATA[Nginx]]></category><category><![CDATA[PyLadies]]></category><category><![CDATA[Python]]></category><category><![CDATA[red hat]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Wed, 17 Jul 2024 11:42:25 GMT</pubDate><content:encoded><![CDATA[<p>Over the years, when&#xA0; I am low, I always go to the <a href>2014 Euro Python talk&#xA0; &quot;Farewell and Welcome Home: Python in Two Genders&quot;</a> by <a href="https://www.linkedin.com/in/naomiceder/?ref=anweshadas.in">Naomi</a>. It has become the first step of my coping mechanism and the door to my safe house. Though 2024 marked my Euro Python journey in person, I had a long connection and respect for the conference. A conference that believes community matters, human values and feelings matter, and not afraid to walk the talk. And how the conference stood up to my expectations in every bit.</p>
<p><img src="http://anweshadas.in/content/images/2024/07/euro_python_3.jpeg" alt="euro_python_3.jpeg" loading="lazy"></p>
<h2 id="my-talk-intellectual-property-law-101">My Talk: Intellectual Property Law 101</h2>
<p>I had <a href="https://ep2024.europython.eu/session/intellectual-property-law-101?ref=anweshadas.in">my talk on Intellectual Property Law</a>, on the first day. After a long time, I was giving a talk on the legal topic. This talk was dedicated to the developers. So, I concentrated on only those issues which concerned the developers. Tried to stitch the concerned topics Patent, Trademarks, and Copyright together. For the smooth flow of the talk, since it becomes easier&#xA0;for the developers to understand and remember for all the practical purposes for future use. I was concerned if I would be able to connect with people. Later, people came to&#xA0; me with several related questions, starting from</p>
<ul>
<li>
<p>Why should I be concerned about patents?</p>
</li>
<li>
<p>Which license would fit my project?</p>
</li>
<li>
<p>Should I be scared about any Trademarks granted to other organizations under some other jurisdiction?</p>
</li>
</ul>
<p>So on and so forth. Though I could not finish the whole talk due to time constraints, I am happy with the overall review.</p>
<h2 id="panel-open-source-sustainability">Panel: Open Source Sustainability</h2>
<p>On Day 1 of the main conference, we had the <a href="https://ep2024.europython.eu/session/open-source-sustainability-panel?ref=anweshadas.in">panel on Open Source Sustainability</a>. This topic lies at the core of open-source ecosystem sustainability for the projects and community for the future and stability. The panel had <a href="https://www.linkedin.com/in/denicholson/?ref=anweshadas.in">Deb Nicholson</a>, <a href="https://ep2024.europython.eu/speaker/armin-ronacher?ref=anweshadas.in">Armin Ronacher</a> <a href="https://ep2024.europython.eu/speaker/cagil-ulusahin-sonmez?ref=anweshadas.in">&#xC7;a&#x11F;&#x131;l Ulu&#x15F;ahin S&#xF6;nmez</a>,<a href="https://ep2024.europython.eu/speaker/deb-nicholson?ref=anweshadas.in">Deb Nicholson</a>, <a href="https://ep2024.europython.eu/speaker/samuel-colvin?ref=anweshadas.in">Samuel Colvin</a>, and me and <a href="https://www.linkedin.com/in/arturczepiel/?ref=anweshadas.in">Artur Czepiel</a> as&#xA0; the moderator.&#xA0; I was happy to represent my community&apos;s side. It was a good discussion, and hopefully, we could give answers to some questions of the community in general.</p>
<h2 id="birds-of-feather-session-open-source-release-management">Birds of Feather session: Open Source Release Management</h2>
<p>This Birds of Feathers (BoF) session is intended to deal with the Release Management of various Open Source projects, irrespective of their size. The discussion includes all projects, from a community-led project to projects maintained/initiated by big enterprises, from a project maintained by one contributor to a project with several hundred contributors.</p>
<ul>
<li>
<p>What methods do we follow regarding versioning, release cadence, and the process?</p>
</li>
<li>
<p>Do most of us follow manual processes or depend on automated ones?</p>
</li>
<li>
<p>What works and what does not, and how can we improve our lives?</p>
</li>
<li>
<p>What are the significant points that make the difference?</p>
</li>
</ul>
<p>We discussed and covered the following topics: different aspects of release management of Open-Source projects, security, automation, CI usage, and documentation. We followed the Chatham House Rules during the discussion to provide the space for open, frank, and collaborative conversation.</p>
<h2 id="pyladies-lunch">PyLadies Lunch</h2>
<p>And then comes my favorite part of the conference: <a href="https://ep2024.europython.eu/pyladies-events?ref=anweshadas.in">PyLadies Lunch</a>. It was my seventh PyLadies lunch, and I was moderating it for the fifth time. But this time, my wonderful friends [<a href="https://www.linkedin.com/in/laisbsc/?ref=anweshadas.in">La&#xED;s</a>] and <a href="https://ep2024.europython.eu/speaker/cagil-ulusahin-sonmez?ref=anweshadas.in">&#xC7;a&#x11F;&#x131;l</a> were by my side, holding me up when I failed. I love every time I am at a PyLadies lunch. This is where I get my strength, energy, and love.</p>
<h2 id="workshop">Workshop</h2>
<p>I attended two workshops organized by <a href="https://www.linkedin.com/in/anezkamll/?ref=anweshadas.in">Anezka Muller</a> , <a href="https://www.linkedin.com/in/mia-bajic/?ref=anweshadas.in">Mia Baji&#x107;</a> and all amazing PyLadies organizers</p>
<ul>
<li>
<p><a href="https://ep2024.europython.eu/pyladies-events?ref=anweshadas.in"><em>Self-defense workshop</em></a> where the moderators helped us navigate challenging situations we face in life, safeguard ourselves from them, and overcome them.</p>
</li>
<li>
<p><em>I AM Remarkable workshop</em>, where we learned to tell people about our successes.</p>
</li>
</ul>
<h2 id="representing-ansible-community">Representing Ansible Community</h2>
<p>I always take the chance to meet the Ansible community members face-to-face. Euro Python gave me another opportunity to do that. I learned about different user stories that we do not get to hear from our work corners, and I learned about these unique problems and their solutions in Ansible.&#xA0;<br>
Fun fact : Maarten gave a review after knowing I am Anwesha from the Ansible project. He said, &apos;Can you Ansible people slow down in releasing new versions of Ansible? Every time we get used to it, we have a new version.&apos;</p>
<p><img src="http://anweshadas.in/content/images/2024/07/euro_python_1.jpeg" alt="euro_python_1.jpeg" loading="lazy"></p>
<h2 id="acknowledging-mental-health-issues">Acknowledging mental health issues</h2>
<p>The proudest moment for me personally was when I acknowledged my mental health issues and later when people came to me saying how they relate to me and how they felt empowered when I mentioned this.</p>
<p><img src="http://anweshadas.in/content/images/2024/07/euro_python_2-1.jpeg" alt="euro_python_2.jpeg" loading="lazy"></p>
<h2 id="pyladies-network-at-red-hat">PyLadies network at Red Hat</h2>
<p>A network of PyLadies within Red Hat has been my dream since I joined Red Hat. She also agreed when I shared this with <a href>Karolina</a> at last year&apos;s DevConf. And finally, we initiated on day 2 of the conference. We are so excited for the future to come.</p>
<h2 id="meeting-friends">Meeting friends</h2>
<p>Conference means friends. It was so great to meet so many friends after such a long time <a href="https://www.linkedin.com/in/tylergoldencz/?ref=anweshadas.in">Tylor</a>, <a href="https://www.linkedin.com/in/nicholas-tollervey/?ref=anweshadas.in">Nicholas</a>, Naomi, <a href="https://ep2024.europython.eu/speaker/honza-kral?ref=anweshadas.in">Honza</a>, <a href="https://www.linkedin.com/in/carolwilling/?ref=anweshadas.in">Carol</a>, <a href="https://www.linkedin.com/in/mike-m%C3%BCller-1937695/?ref=anweshadas.in">Mike</a>, <a href="https://www.linkedin.com/in/arturczepiel/?ref=anweshadas.in">Artur</a>, <a href="https://www.linkedin.com/in/churnikov/?ref=anweshadas.in">Nikita</a>, <a href="https://www.linkedin.com/in/valeriomaggio/?ref=anweshadas.in">Valerio</a> and many new ones <a href="https://www.linkedin.com/in/jezdez/overlay/about-this-profile/?ref=anweshadas.in">Jannis</a> <a href="https://www.linkedin.com/in/joana-owusu-appiah-8751a9166/?ref=anweshadas.in">Joana</a>,[Chirstian], <a href="https://www.linkedin.com/in/martina-guttau-zielke-7b65aa314/?ref=anweshadas.in">Martina</a> <a href="https://www.linkedin.com/in/tereza-iofciu/?ref=anweshadas.in">Tereza</a> , <a href="https://www.linkedin.com/in/mjmolinacontreras/?ref=anweshadas.in">Maria</a>, <a href="https://www.linkedin.com/in/alyonagalyeva/?ref=anweshadas.in">Alyona</a>, Mia, <a href="https://www.linkedin.com/in/naa-ashiorkor-nortey-408240120/?ref=anweshadas.in">Naa</a> , <a href="https://www.linkedin.com/in/boyanmiletic/?ref=anweshadas.in">Bojan</a>and <a href="https://www.linkedin.com/in/jodieburchell/?ref=anweshadas.in">Jodie</a>. A special note of love to Jodie, you to hold my hand and take me out of the dark.</p>
<p><img src="http://anweshadas.in/content/images/2024/07/euro_python_4.jpeg" alt="euro_python_4.jpeg" loading="lazy"></p>
<p>The best is saved for the last. Euro Python 2024 made 3 of my dreams come true.</p>
<ul>
<li>
<p>Gender Neutral Washrooms</p>
</li>
<li>
<p>Sanitary products in restrooms (I remember carrying sanitary napkins in my bag pack in PyCon India and telling girls if they needed it, it was available in the PyLadies booth).</p>
</li>
<li>
<p>Neo-diversity bag (which saved me at the conference; thank you, Karolina, for this)</p>
</li>
</ul>
<p><img src="http://anweshadas.in/content/images/2024/07/euro_python_0-1.jpeg" alt="euro_python_0.jpeg" loading="lazy"></p>
<p>I cannot wait for the next Euro Python; see you all at Euro Python 2025.</p>
<p>PS: Thanks to Lias, I will always have a small piece of Euro Python 2024 with me. I know I am loved and cared for.</p>
]]></content:encoded></item><item><title><![CDATA[Euro Python 2024]]></title><description><![CDATA[<p>It is July, and it is time for <a href="https://ep2024.europython.eu/?ref=anweshadas.in">Euro Python</a>, and 2024 is my first Euro Python. Some busy days are on the way. Like every other conference, I have my diary, and the conference days are full of various activities.</p>
<p><img src="http://anweshadas.in/content/images/2024/07/euro_travel_0.jpeg" alt="euro_travel_0.jpeg" loading="lazy"></p>
<h2 id="day-0-of-the-main-conference">Day 0 of the main conference</h2>
<p>After a long</p>]]></description><link>http://anweshadas.in/euro-python-2024/</link><guid isPermaLink="false">668bb3cdff9a2c0001dc46f3</guid><category><![CDATA[Ansible]]></category><category><![CDATA[blogging]]></category><category><![CDATA[community]]></category><category><![CDATA[Conference]]></category><category><![CDATA[developers]]></category><category><![CDATA[Free Software]]></category><category><![CDATA[legal]]></category><category><![CDATA[PyLadies]]></category><category><![CDATA[Python]]></category><category><![CDATA[pycon]]></category><category><![CDATA[red hat]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Mon, 08 Jul 2024 09:56:17 GMT</pubDate><content:encoded><![CDATA[<p>It is July, and it is time for <a href="https://ep2024.europython.eu/?ref=anweshadas.in">Euro Python</a>, and 2024 is my first Euro Python. Some busy days are on the way. Like every other conference, I have my diary, and the conference days are full of various activities.</p>
<p><img src="http://anweshadas.in/content/images/2024/07/euro_travel_0.jpeg" alt="euro_travel_0.jpeg" loading="lazy"></p>
<h2 id="day-0-of-the-main-conference">Day 0 of the main conference</h2>
<p>After a long time, I will give a legal talk. We are going to dig into some basics of Intellectual Property. What is it? Why do we need it? What are the different kinds of intellectual property? It is a legal talk designed for developers. So, anyone and everyone from the community with previous knowledge can understand the content and use it to understand their fundamental rights and duties as developers.<a href="https://ep2024.europython.eu/session/intellectual-property-law-101?ref=anweshadas.in">Intellectual Property 101</a>, the talk is scheduled at 11:35 hrs.</p>
<h2 id="day-1-of-the-main-conference">Day 1 of the main conference</h2>
<p>Day 1 is <a href="https://ep2024.europython.eu/pyladies-events?ref=anweshadas.in">PyLadies Day</a>, a day dedicated to PyLadies. We have crafted the day with several different kinds of events. The day opens with a self-defense workshop at 10:30 hrs. PyLadies, throughout the world, aims to provide and foster a safe space for women and friends in the Python Community. This workshop is an extension of that goal. We will learn how to deal with challenging, inappropriate behavior.<br>
In the community, at work, or in any social space. We will have a trained Psychologist as a session guide to help us. This workshop is so important, especially today as it was yesterday and may be in the future (at least until the enforcement of CoC is clear). I am so looking forward to the workshop. Thank you, <a href="https://www.linkedin.com/in/mia-bajic/?ref=anweshadas.in">Mia</a>, <a href="https://www.linkedin.com/in/laisbsc/?ref=anweshadas.in">Lias</a> and all the PyLadies for organizing this and giving shape to my long-cherished dream.</p>
<p>Then we have my favorite part of the conference, <em>PyLadies Lunch</em>. I crafted the afternoon with a little introduction session, shout-out session, food, fun, laughter, and friends.</p>
<p>After the PyLadies Lunch, I have my only non-PyLadies session, which is a panel discussion on Open Source Sustainability. We will discuss the different aspects of sustainability in the open source space and community.</p>
<p>Again, it is PyLady&apos;s time. Here, we have two sessions.</p>
<p><em>[IAmRemarkable]</em>(<a href="https://ep2024.europython.eu/pyladies-events?ref=anweshadas.in#iamremarkable">https://ep2024.europython.eu/pyladies-events#iamremarkable</a>), to help you learn to empower you by celebrating your achievements and to fight your impostor syndrome. The workshop will help you celebrate your accomplishments and improve your self-promotion skills.</p>
<p>The second session is a  1:1 mentoring event,  <a href="https://ep2024.europython.eu/pyladies-events?ref=anweshadas.in"><em>Meet &amp; Greet with PyLadies</em></a>. Here, the willing PyLadies will be able to mentor and be mentored. They can be coached in different subjects, starting with programming, learning, things related to job and/or career, etc.</p>
<h2 id="birds-of-feather-session-on-release-management-of-open-source-projects">Birds of feather session on Release Management of Open Source projects</h2>
<p>It is an open discussion related to the release Management of the Open Source ecosystem.<br>
The discussion includes everything from a community-led project to projects maintained/initiated by a big enterprise, a project maintained by one contributor to a project with several hundreds of contributor bases. What are the different methods we follow regarding versioning, release cadence, and the process itself? Do most of us follow manual processes or depend on automated ones? What works and what does not, and how can we improve our lives? What are the significant points that make the difference? We will discuss and cover the following topics: release management of open source projects, security, automation, CI usage, and documentation. In the discussion, I will share my release automation journey with Ansible. We will follow Chatham House Rules during the discussion to provide the space for open, frank, and collaborative conversation.</p>
<p>So, here comes the days of code, collaboration, and community. See you all there.</p>
<p>PS: I miss my little Py-Lady volunteering at the booth.</p>
]]></content:encoded></item><item><title><![CDATA[Event Driven Ansible, what, why and how?]]></title><description><![CDATA[<p>Ansible Playbooks is the known term, now there is a new term which is being floted in the project, which is <a href="https://ansible.readthedocs.io/projects/rulebook/en/stable/?ref=anweshadas.in">Ansible Rulebooks</a>. Today we are going to discuss about Ansible&apos;s journey from Playbook to Rulebook rather Playbook with Rulebook.</p>
<h2 id="what-is-event-driven-ansible">What is Event Driven Ansible?</h2>
<p>What is <a href="https://www.redhat.com/en/technologies/management/ansible/event-driven-ansible?ref=anweshadas.in">Event</a></p>]]></description><link>http://anweshadas.in/event-driven-ansible-what-why-and-how/</link><guid isPermaLink="false">66634460ff9a2c0001dc46c4</guid><category><![CDATA[Ansible]]></category><category><![CDATA[devops]]></category><category><![CDATA[Python]]></category><category><![CDATA[red hat]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Fri, 07 Jun 2024 18:02:46 GMT</pubDate><content:encoded><![CDATA[<p>Ansible Playbooks is the known term, now there is a new term which is being floted in the project, which is <a href="https://ansible.readthedocs.io/projects/rulebook/en/stable/?ref=anweshadas.in">Ansible Rulebooks</a>. Today we are going to discuss about Ansible&apos;s journey from Playbook to Rulebook rather Playbook with Rulebook.</p>
<h2 id="what-is-event-driven-ansible">What is Event Driven Ansible?</h2>
<p>What is <a href="https://www.redhat.com/en/technologies/management/ansible/event-driven-ansible?ref=anweshadas.in">Event Driven Ansible</a>?&#xA0;In simple terms, some action is triggered by some events. The idea of EDA comes from <a href="https://en.wikipedia.org/wiki/Event-driven_architecture?ref=anweshadas.in">Event driven architecture</a>.  Event driven ansible runs code automatically based on  received event notifications.</p>
<h2 id="some-important-terms">Some important terms:</h2>
<blockquote>
<p>What is event in Event Driven Ansible?</p>
</blockquote>
<p>The event is the notification of a certain incident.</p>
<blockquote>
<p>Where do we get the events from?</p>
</blockquote>
<p>We get the events from event sources. Ansible EDA provides different pulgins to support various event sources. There are several event source plugins such as :<br>
url_check (checking the http status code), webhook (providing and checking events from webhook), journald (monitoring the journald logs) and the list goes on.</p>
<blockquote>
<p>When to take actions?</p>
</blockquote>
<p>Rulebook defines conditions and actions in case of fulfilling those actions. Conditions use operators as strings, boolean and numerical data.  And actions are occurrence of events once the conditions are met. Running a playbook, setting a fact, running a module etc.</p>
<h2 id="small-example-project">Small example Project</h2>
<p>Here is a small example of Event Driven Ansible and how it is run. The idea is on receiving of a message (here the number 42) a playbook will run in the host. There are the following 3 files :</p>
<h3 id="demoruleyml">demo_rule.yml</h3>
<pre><code class="language-YAML">---
- name: Listen for events on a webhook
  hosts: all

  sources:
    - ansible.eda.webhook:
        host: 0.0.0.0
        port: 8000

  rules:
    - name: Say thank you
      condition: event.payload.message == &quot;42&quot;
      action:
        run_playbook:
          name: demo.yml

</code></pre>
<p>This is the rulebook. We are using the <code>webhook</code> plugin here as the event source. As a rule in the event of receiving the message <code>42</code> as json payload in the webhook, we run the playbook called <code>demo.yml</code></p>
<h3 id="demoyml">demo.yml</h3>
<pre><code class="language-YAML">- hosts: localhost
  connection: local
  tasks:
    - debug:
        msg: &quot;Thank you for the answer.&quot;

</code></pre>
<p><code>demo.yml</code>, the playbook which run on the occurrence of the event mentioned in the rulebook and prints a debug message.</p>
<pre><code class="language-YAML">---
local:
  hosts:
    localhost
</code></pre>
<p><code>inventory.yml</code>  mentions the hosts to run the action against.</p>
<p>Further there are 2 files to one to test <code>42.json</code>  and <code>43.json</code> to test the code.</p>
<pre><code class="language-JSON">{
  &quot;message&quot; : &quot;42&quot;
}
</code></pre>
<pre><code class="language-JSON">{
  &quot;message&quot; : &quot;43&quot;
}
</code></pre>
<p>First we have to install all related dependencies before we can run the rulebook.</p>
<pre><code>$ python -m venv .venv
$ source .venv/bin/activate
$ python -m pip install ansible ansible-rulebook ansible-runner psycopg
$ ansible-galaxy collection install ansible.eda
$ ansible-rulebook --rulebook demo_rule.yml -i inventory.yml --verbose
</code></pre>
<p>Go to another terminal and on the same directory path and  run the following command to test the Rulebook. After receiving the message, the playbook runs.</p>
<pre><code class="language-sh">curl -X POST -H &quot;Content-Type: application/json&quot; -d @42.json 127.0.0.1:8000/endpoint
</code></pre>
<h2 id="output">Output</h2>
<pre><code>2024-06-07 16:48:53,868 - ansible_rulebook.app - INFO - Starting sources
2024-06-07 16:48:53,868 - ansible_rulebook.app - INFO - Starting rules

...

TASK [debug] *******************************************************************
ok: [localhost] =&gt; {
    &quot;msg&quot;: &quot;Thank you for the answer.&quot;
}

PLAY RECAP *********************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
2024-06-07 16:50:08,224 - ansible_rulebook.action.runner - INFO - Ansible runner Queue task cancelled
2024-06-07 16:50:08,225 - ansible_rulebook.action.run_playbook - INFO - Ansible runner rc: 0, status: successful

</code></pre>
<p>Now if we run the other json file <code>43.json</code> we see that  the playbook does not run even after the <code>http status code</code> being <code>200</code>.</p>
<pre><code>curl -X POST -H &quot;Content-Type: application/json&quot; -d @43.json 127.0.0.1:8000/endpoint
</code></pre>
<p>Output :</p>
<pre><code>2024-06-07 18:20:37,633 - aiohttp.access - INFO - 127.0.0.1 [07/Jun/2024:17:20:37 +0100] &quot;POST /endpoint HTTP/1.1&quot; 200 159 &quot;-&quot; &quot;curl/8.2.1&quot;


</code></pre>
<p>You can try this yourself follwoing <a href="https://github.com/anweshadas/eda_example?ref=anweshadas.in">this git repository</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Test container image with eercheck]]></title><description><![CDATA[<p>Execution Environments serves us the benefits of containerization by solving the issues such as software dependencies, portability. <a href="https://docs.ansible.com/ansible/devel/getting_started_ee/index.html?ref=anweshadas.in">Ansible Execution Environment</a> are Ansible control nodes packaged as container images. There are two kinds of Ansible execution environments</p>
<ul>
<li>
<p>Base, includes the following</p>
<ul>
<li>fedora base image</li>
<li>ansible core</li>
<li>ansible collections : The following set</li></ul></li></ul>]]></description><link>http://anweshadas.in/test-container-image-with/</link><guid isPermaLink="false">6613fd56114d22000165b2a2</guid><category><![CDATA[Ansible]]></category><category><![CDATA[community]]></category><category><![CDATA[Free Software]]></category><category><![CDATA[Python]]></category><category><![CDATA[red hat]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Mon, 08 Apr 2024 14:25:29 GMT</pubDate><content:encoded><![CDATA[<p>Execution Environments serves us the benefits of containerization by solving the issues such as software dependencies, portability. <a href="https://docs.ansible.com/ansible/devel/getting_started_ee/index.html?ref=anweshadas.in">Ansible Execution Environment</a> are Ansible control nodes packaged as container images. There are two kinds of Ansible execution environments</p>
<ul>
<li>
<p>Base, includes the following</p>
<ul>
<li>fedora base image</li>
<li>ansible core</li>
<li>ansible collections : The following set of collections<br>
ansible.posix<br>
ansible.utils<br>
ansible.windows</li>
</ul>
</li>
<li>
<p>Minimal, includes the following</p>
<ul>
<li>fedora base image</li>
<li>ansible core</li>
</ul>
</li>
</ul>
<p>I have been the release manager for Ansible Execution Environments. After building the images I perform certain steps of tests to check if the versions of different components of the newly built correct or not.  So I wrote <a href="https://github.com/anweshadas/eercheck?ref=anweshadas.in">eercheck</a> to  ease the steps of tests.</p>
<h2 id="what-is-eercheck">What is <code>eercheck</code>?</h2>
<p><a href="https://github.com/anweshadas/eercheck?ref=anweshadas.in">eercheck</a>  is a command line tool to  test Ansible community execution environment before release.  It uses <a href="https://podman-py.readthedocs.io/en/latest/?ref=anweshadas.in">podman py</a> to connect and work with the podman container image, and Python <a href="https://docs.python.org/3/library/unittest.html?ref=anweshadas.in">unittest</a> for testing the containers.</p>
<p><code>eercheck</code> is a command line tool to  test Ansible Community Execution Environment before release. It uses <a href="https://podman-py.readthedocs.io/en/latest/?ref=anweshadas.in">podman-py</a> to connect and work with the podman container image, and Python <a href="https://docs.python.org/3/library/unittest.html?ref=anweshadas.in">unittest</a> for testing the containers. The project is licensed under GPL-3.0-or-later.</p>
<h2 id="how-to-use-eercheck">How to use <code>eercheck</code>?</h2>
<p>Activate the virtual environment in the working directory.</p>
<pre><code>python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt

</code></pre>
<p>Activate the <code>podman</code> socket.</p>
<pre><code>systemctl start podman.socket --user
</code></pre>
<p>Update <code>vars.json</code> with correct version numbers.Pick the correct versions of the Ansible Collections from the <code>.deps</code> file of the corresponding Ansible community  package release. For example for 9.4.0 the Collection versions can be found in <a href="https://github.com/ansible-community/ansible-build-data/blob/main/9/ansible-9.4.0.deps?ref=anweshadas.in">here</a>. You can find the appropriate version of Ansible Community Package <a href="https://pypi.org/project/ansible/?ref=anweshadas.in">here</a>. The check needs to be carried out each time before the release of the Ansible Community Execution Environment.</p>
<p>Execute the program by giving the correct container image id.</p>
<pre><code>./containertest.py image_id
</code></pre>
<p>Happy automating.</p>
]]></content:encoded></item><item><title><![CDATA[Opening up Ansible release to the community]]></title><description><![CDATA[<p>Transparency, collaboration, inclusivity, and openness lay the foundation of the Open Source community. As the project&apos;s maintainers, few of our tasks make the entry bar of contribution low, collaboration easy, and the governance model fair. Ansible Community  Engineering Team always thrives on these purposes through our different endeavors.</p>]]></description><link>http://anweshadas.in/opening-up-ansible-release-to-the-community/</link><guid isPermaLink="false">660bf5df114d22000165b294</guid><category><![CDATA[Ansible]]></category><category><![CDATA[Python]]></category><category><![CDATA[red hat]]></category><category><![CDATA[Free Software]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Tue, 02 Apr 2024 12:52:30 GMT</pubDate><content:encoded><![CDATA[<p>Transparency, collaboration, inclusivity, and openness lay the foundation of the Open Source community. As the project&apos;s maintainers, few of our tasks make the entry bar of contribution low, collaboration easy, and the governance model fair. Ansible Community  Engineering Team always thrives on these purposes through our different endeavors.</p>
<p><a href="https://ansible.com/?ref=anweshadas.in">Ansible</a> has historically been released by Red Hat employees. We planned to open up the release to the community. And I was asked about that. My primary goal was releasing Ansible, which should be dull and possible for the community. This was my first time dealing with Github actions. There is still a lot to learn. But we are there now.</p>
<p>The Release Management working group started releasing the Ansible Community package using GitHub Actions workflow from Ansible version 9.3.0 . The recent 9.4.0 release has also been released following the same workflow.</p>
<p>Thank you <a href="https://www.linkedin.com/in/felixfontein/?ref=anweshadas.in">Felix Fontein</a>, Maxwell G, <a href="https://www.linkedin.com/in/webknjaz/?ref=anweshadas.in">Sviatoslav Sydorenko</a> and <a href="https://www.linkedin.com/in/toshio-kuratomi-481111/?ref=anweshadas.in">Toshio</a>  for helping out in shaping the workflow with you valuable feedback, doing the actual release and giving answers to my enumerable queries.</p>
]]></content:encoded></item><item><title><![CDATA[Ansible 8.3.0 out now]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>I released the  Ansible 8.3.0 on 15th August, 2023. This is the Ansible stable release. You can read the full <a href="https://github.com/ansible-community/ansible-build-data/blob/main/7/CHANGELOG-v8.rst?ref=anweshadas.in">Changelog here</a></p>
<p>You can install it via <code>pip</code>.</p>
<p><code>python3 -m pip install ansible==8.3.0 --user</code></p>
<p>You can have a look at the <a href="https://groups.google.com/g/ansible-announce/c/YRbVjoq3WFE?ref=anweshadas.in">announcement</a>.</p>
<p>Fun fact while</p>]]></description><link>http://anweshadas.in/ansible-8-3-0-out-now/</link><guid isPermaLink="false">64de342ea9203c0001d203c2</guid><category><![CDATA[Ansible]]></category><category><![CDATA[Python]]></category><category><![CDATA[community]]></category><category><![CDATA[devops]]></category><category><![CDATA[Free Software]]></category><category><![CDATA[red hat]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Thu, 17 Aug 2023 14:59:04 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p>I released the  Ansible 8.3.0 on 15th August, 2023. This is the Ansible stable release. You can read the full <a href="https://github.com/ansible-community/ansible-build-data/blob/main/7/CHANGELOG-v8.rst?ref=anweshadas.in">Changelog here</a></p>
<p>You can install it via <code>pip</code>.</p>
<p><code>python3 -m pip install ansible==8.3.0 --user</code></p>
<p>You can have a look at the <a href="https://groups.google.com/g/ansible-announce/c/YRbVjoq3WFE?ref=anweshadas.in">announcement</a>.</p>
<p>Fun fact while working on the release Github worked below 30 KiB/s speed the whole day.</p>
<p><img src="http://anweshadas.in/content/images/2023/08/ansible_logo.png" alt="ansible_logo" loading="lazy"></p>
<p>To follow all our updates on Ansible project and community <a href="https://bit.ly/subscribe-bullhorn?ref=anweshadas.in">susbcribe</a> to <a href="https://github.com/ansible/community/wiki/News?ref=anweshadas.in#the-bullhorn">Bullhorn, our weekly Newsletter</a>. Join us in our community discussion at this <a href="https://matrix.to/?ref=anweshadas.in#/#community:ansible.com">Matrix room</a>.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Two more Ansible Releases]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>After coming from <a href="https://www.devconf.info/cz/?ref=anweshadas.in">DevConf.cz</a>,  on 22nd of June I released Ansible Community Package 7.7.0 and  8.1.0. This is the last release of the Ansible 7 series and first minor release of the Ansible 8 series.</p>
<h3 id="ansible-community-package-770">Ansible Community Package 7.7.0</h3>
<p>Ansible 7.7.0</p>]]></description><link>http://anweshadas.in/two-more-ansible-releases/</link><guid isPermaLink="false">64a2e9b1a9203c0001d2039c</guid><category><![CDATA[Ansible]]></category><category><![CDATA[community]]></category><category><![CDATA[Free Software]]></category><category><![CDATA[GPL]]></category><category><![CDATA[Python]]></category><category><![CDATA[System Administration]]></category><category><![CDATA[devops]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Mon, 03 Jul 2023 15:41:22 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p>After coming from <a href="https://www.devconf.info/cz/?ref=anweshadas.in">DevConf.cz</a>,  on 22nd of June I released Ansible Community Package 7.7.0 and  8.1.0. This is the last release of the Ansible 7 series and first minor release of the Ansible 8 series.</p>
<h3 id="ansible-community-package-770">Ansible Community Package 7.7.0</h3>
<p>Ansible 7.7.0  requires latest version of ansible-core 2.14 and  includes a curated set of Ansible collections that provides a vast number of modules and plugins.</p>
<p>One can have a look at the <a href="https://github.com/ansible-community/ansible-build-data/blob/main/7/CHANGELOG-v7.rst?ref=anweshadas.in">full Changelog</a>.</p>
<p>You can install it via <code>pip</code>.</p>
<pre><code>pip install ansible==7.7.0 --user
</code></pre>
<h3 id="ansible-community-package-810">Ansible Community Package 8.1.0</h3>
<p>Ansible 8.1.0 requires latest version of ansible-core 2.15.1 and  includes a curated set of Ansible collections providing a huge number of modules and plugins.</p>
<p>You can get the Changelog <a href="https://github.com/ansible-community/ansible-build-data/blob/main/8/CHANGELOG-v8.rst?ref=anweshadas.in">here</a>.</p>
<p>One can install Ansible 8.1.0 via <code>pip</code></p>
<p><code>$ python3 -m pip install ansible==8.1.0 --user</code></p>
<h3 id="roadmap-for-future-releases">Roadmap for future releases</h3>
<p>You can read our <a href="https://docs.ansible.com/ansible/devel/roadmap/COLLECTIONS_8.html?ref=anweshadas.in">Roadmap for the Ansible 8 release cycle here</a>  and the <a href="https://github.com/ansible-community/ansible-build-data/blob/main/8/CHANGELOG-v8.rst?ref=anweshadas.in">changelog here</a> To follow all our updates on Ansible project and community  <a href="https://bit.ly/subscribe-bullhorn?ref=anweshadas.in">susbcribe</a> to <a href="https://github.com/ansible/community/wiki/News?ref=anweshadas.in#the-bullhorn">Bullhorn, our weekly Newsletter</a>. ETA for next Ansible Community Package release, i.e 8.2.0, is 18th July, 2023.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Meeting community at PyCon Italy, 2023]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>The <a href="https://pycon.it/en?ref=anweshadas.in">PyCon Italy, 2023</a> discussion started in PyCon Sweden 2022, when <a href="https://www.linkedin.com/in/valeriomaggio/?ref=anweshadas.in">Valerio</a> invited me for the keynote. From disbelief (since <a href="https://www.youtube.com/watch?v=N9ea00ykQtE&amp;t=32s&amp;ref=anweshadas.in">my talk at PyCon Sweden</a> was not good) to believing, from searching for talk topics to preparation and multiple rounds of rehearsals and feedback sessions, I was finally ready for</p>]]></description><link>http://anweshadas.in/meeting-community-at-pycon-italy-2023/</link><guid isPermaLink="false">6480610ca9203c0001d20289</guid><category><![CDATA[Ansible]]></category><category><![CDATA[community]]></category><category><![CDATA[Conference]]></category><category><![CDATA[developers]]></category><category><![CDATA[PyLadies]]></category><category><![CDATA[Python]]></category><category><![CDATA[red hat]]></category><category><![CDATA[Talk]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Wed, 07 Jun 2023 21:21:44 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p>The <a href="https://pycon.it/en?ref=anweshadas.in">PyCon Italy, 2023</a> discussion started in PyCon Sweden 2022, when <a href="https://www.linkedin.com/in/valeriomaggio/?ref=anweshadas.in">Valerio</a> invited me for the keynote. From disbelief (since <a href="https://www.youtube.com/watch?v=N9ea00ykQtE&amp;t=32s&amp;ref=anweshadas.in">my talk at PyCon Sweden</a> was not good) to believing, from searching for talk topics to preparation and multiple rounds of rehearsals and feedback sessions, I was finally ready for the talk.</p>
<p><img src="http://anweshadas.in/content/images/2023/06/IMG_7801.jpg" alt="IMG_7801" loading="lazy"></p>
<h2 id="the-day-before-the-travel">The day before the travel</h2>
<p>And it was one of the bustiest days on my calendar. I did two <a href="https://www.ansible.com/?ref=anweshadas.in">Ansible</a> releases (7.6.0 and 8.0.0rc1), attended an <a href="https://www.goto10.se/event/inner-source/?ref=anweshadas.in">event on Inner Source</a>, participated (and got elected) in the board meeting of the <a href="https://www.linkedin.com/feed/update/urn:li:activity:7067047377026596864/?ref=anweshadas.in">Python Sweden Board</a>, last minute prep of the talk, not forget the never-ending packing and finally the day arrived for the travel.</p>
<h2 id="arrival-at-florance">Arrival at Florance</h2>
<p>After a 10-hour + journey, we reached Florence. It is a beautiful city. There was history everywhere, in every corner. Fun fact, when checking out from the first hotel to the conference venue, we figured out the hotel was only  500+ years old.</p>
<h2 id="meeting-the-community">Meeting the community</h2>
<p>PyCons always gives me the feeling of meeting family. It was my time to meet my friends whom I am never met post-pandemic. I met many friends from online first time in real life during the conference. And, of course, like always meeting and making new friends.</p>
<p><img src="http://anweshadas.in/content/images/2023/06/pycon_italia_10.jpeg" alt="pycon_italia_10" loading="lazy"></p>
<h2 id="meeting-audrey">Meeting Audrey</h2>
<p>In PyCon 2017, when I met <a href="https://www.linkedin.com/in/carolwilling/?ref=anweshadas.in">Carol</a>, she once said, &quot;Anwesha, I would really like you to meet Jessica and <a href="https://www.linkedin.com/in/audreyfeldroy/?ref=anweshadas.in">Audrey</a>. I believe you will be able to connect.&quot;  I longed for this to happen for so long. This time I finally got to meet Audrey and how Carol was right about us connecting :). I look up to her for all her work in and for the Python and broader open-source community. More than anything, her work in setting up <a href="https://pyladies.com/?ref=anweshadas.in">PyLadies</a> has been the catalyst to change the direction of my life. But now I got know what a wonderful human being she is. Thank you, Audrey, for being you, just you :).</p>
<h2 id="py-the-youngest-volunteer">Py, the youngest volunteer</h2>
<p><img src="http://anweshadas.in/content/images/2023/06/pycon_italy_12.jpeg" alt="pycon_italy_12" loading="lazy"></p>
<p>My kid has always been a conference child. She started attending conferences when she was ten months old and volunteering as a toddler. But what I noticed this time was how dutiful and serious she had become. She used to get up every day on time (no matter how tired she was from the last day) and report to her duty at the Registration desk. It felt good when she did my registration :).</p>
<h2 id="day-0-of-the-leading-conference">Day 0 of the leading conference</h2>
<p><img src="http://anweshadas.in/content/images/2023/06/pycon_italy_0.jpeg" alt="pycon_italy_0" loading="lazy"></p>
<p>It started with a bang with a great <a href="https://www.youtube.com/watch?v=nUmolZkWQIg&amp;t=31552s&amp;ref=anweshadas.in">opening session</a> by Valerio and <a href="https://www.linkedin.com/in/beltramiester/?ref=anweshadas.in">Ester</a>. This is one of the best conference opening presentations I have ever seen. It was well-crafted presentation. It is informative, fun, and even explains the Pacman rule. It established the tone of the conference to the community-first approach.</p>
<p><img src="http://anweshadas.in/content/images/2023/06/pycon_italy_1.jpeg" alt="pycon_italy_1" loading="lazy"></p>
<p>Then was the time for <a href="@carlton@fosstodon.org">Carlton&apos;s</a> <a href="https://www.youtube.com/watch?v=nUmolZkWQIg&amp;t=31552s&amp;ref=anweshadas.in">keynote &quot;Open Source for the long-haul.</a>&quot; It should be a must-watch list for anyone who wants a sustainable career and life in the Open Source ecosystem. It depicts the true picture of our world.</p>
<h2 id="the-day-of-the-keynote">The day of the keynote</h2>
<p>My talk was on the first day of the main conference, ending the keynote. I had a rehearsal of my talk with Carol. She gave me two vital pieces of advice &quot;Take a deep breath every time you start.&quot; The second is, &apos;As a keynote speaker, you are just expected to concentrate on your talk and nothing else.&apos;  I followed them religiously. Generally, during the conferences, I run around, meet new people, talk to everyone, and throw myself into some or other voluntary work. But this time, for the first two days&apos; conference, till my talk was done, I was away saving my energy and practicing. My biggest worry was if I could finish it within time and the technology should not fail me. And finally, the time came for me to go up on stage. It was nerve-racking (and it is so visible from how I was dancing on the stage before the talk :). I ticked all the major  boxes in the <a href="https://www.youtube.com/watch?v=nUmolZkWQIg&amp;t=31552s&amp;ref=anweshadas.in">talk</a>. Never froze during the talk, saying all the things which I wanted to and finish the on time. Only one thing I could not do was to wear my Red Hat during the talk. It seems I have become to Scandinavian to wear it during the spring in Italy.  Everything ended well with a standing ovation at the end :).</p>
<p><img src="http://anweshadas.in/content/images/2023/06/pycon_italy_6.jpg" alt="pycon_italy_6" loading="lazy"></p>
<p>I could only deliver the talk with help from my friends. <a href="https://www.linkedin.com/in/spotfoss/?ref=anweshadas.in">Tom</a>  who made me believe that my journey is inspiring and worth giving a keynote about, others wise I was thinking of talking about legal stuff. <a href="https://www.linkedin.com/in/saptaks/?ref=anweshadas.in">Saptak</a> for his help with the slides and for answering my random 2 am calls and requests for the last couple of months. <a href="https://www.linkedin.com/in/drbrettcannon/?ref=anweshadas.in">Brett</a>, Carol , <a href="https://www.linkedin.com/in/andrea-mcinnes-a921b42b/?ref=anweshadas.in">Andrea</a>, and <a href="https://www.linkedin.com/in/kushal-das-5a655b8/?ref=anweshadas.in">Kushal</a> for helping me to stick to the idea, for sitting with me for rehearsal sessions and listing to my unfiltered blabbering, And not forgetting Py for sitting with Mummy for days, and pointing out to my mistakes. I could mention one line she requested, but quoting her here, &quot;Not all the flowers are to be treated equally, so should not be the lawyers and developers.&quot; This is to elaborate on the difference between law and technology.</p>
<p>And day 0 ended for me with a glass of wine :).</p>
<h2 id="day-1-of-the-main-conference">Day 1 of the main conference</h2>
<p>Day 1 started with the keynote by <a href="https://www.linkedin.com/in/marlenemhangami/?ref=anweshadas.in">Marlene</a>, <a href="https://www.youtube.com/watch?v=ye2s1smuYe8&amp;t=653s&amp;ref=anweshadas.in">&quot;Transcendence: The Power of Representation&quot;</a>.  It had his life lessons, the state of the community, and how we can make things better in the community. Thank you, Marlene, for echoing many of our thoughts. Then it was my time to mingle with the community. I was trying to meet new people from different parts of the world and to know what happens in the part of the community there. I met several Ansible Users, so Python and PyCon Italia allowed me to meet the global Ansible community. A surprise awaited me in the second half of the day. I got to meet <a href="https://www.linkedin.com/in/tylergoldencz/?ref=anweshadas.in">Tyler</a> for the first time. It was unexpected, I did not know she is coming. It was a nice surprise. From Red Hat to community we had a good conversation :).</p>
<p><img src="http://anweshadas.in/content/images/2023/06/pycon_italy_3.jpeg" alt="pycon_italy_3" loading="lazy"></p>
<p>Day 1 ended with a fantastic conference dinner, a local band performance, and some great conversations with friends.</p>
<h2 id="day-2-of-the-main-conference">Day 2 of the main conference</h2>
<p>On day 2 <a href="https://twitter.com/emilyemorehouse?ref=anweshadas.in">Emily</a>, in her <a href="https://www.youtube.com/watch?v=_5Shwz8oiRU&amp;ref=anweshadas.in">keynote on &quot;Stay Curious: Reflections on Passion, Risk-Taking, and Re-Invention&quot;</a>, shared the importance of self-care, time out, and prioritization for a sustainable career. She further shared how to silence &quot;the hum&quot; of being there or doing things. My gratitude to Emily for stressing the point that burnout is genuine.</p>
<p><img src="http://anweshadas.in/content/images/2023/06/pycon_italy_8.jpeg" alt="pycon_italy_8" loading="lazy"></p>
<p>I fixed meetings for the last day on the first two days of the main conference. So my day two was filled with meetings regarding several different things, starting with feedback on the Ansible Project and Community with some users, then discussions on Python Community, including PyLadies and Pycon Sweden Organization and state of Trademark at PSF.</p>
<p><img src="http://anweshadas.in/content/images/2023/06/pycon_italy_13.jpeg" alt="pycon_italy_13" loading="lazy"></p>
<p>PyCon Italia 2023 came to an end with an <a href="https://www.youtube.com/watch?v=_5Shwz8oiRU&amp;ref=anweshadas.in">ending talk</a> by <a href="https://www.linkedin.com/in/ernestoarbitrio/?ref=anweshadas.in">Ernesto</a>. I was surprised to know a few statistics, especially that people from 42 countries attended the conference. The best moment of the day was when Py went up on stage as part of the volunteering team :).</p>
<p>Thank you PyCon Italia team for giving us such a great conference. I hope to meet the community again at PyCon Italia 2024, cheers to that.</p>
<p><img src="http://anweshadas.in/content/images/2023/06/pycon_italy_2.jpeg" alt="pycon_italy_2" loading="lazy"></p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Ansible 7.5.0 is out now]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>Since I moved to Stockholm, I hated the weather more than the practice behavior of the Sun. But today, it did some good; it woke me up at 4:40 and felt like 7:00, so I started working. And what a productive day it was :).</p>
<p>I have been doing</p>]]></description><link>http://anweshadas.in/ansible-7-5-0-is-out-now/</link><guid isPermaLink="false">6449756ea9203c0001d201ad</guid><category><![CDATA[Ansible]]></category><category><![CDATA[Python]]></category><category><![CDATA[community]]></category><category><![CDATA[Free Software]]></category><category><![CDATA[red hat]]></category><category><![CDATA[Open Source]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Wed, 26 Apr 2023 19:15:48 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p>Since I moved to Stockholm, I hated the weather more than the practice behavior of the Sun. But today, it did some good; it woke me up at 4:40 and felt like 7:00, so I started working. And what a productive day it was :).</p>
<p>I have been doing Ansible Release for three months, and before that, I was shadowing Christian to learn more about the process. But today was special. Today, I did two releases on the same day, Ansible 7.5.0 and Ansible 8.0.0a2. It is the second Alpha of the Ansible 8 series.</p>
<p><img src="http://anweshadas.in/content/images/2023/04/ansible.png" alt="ansible" loading="lazy"></p>
<p>I did the  Ansible 7.5.0 release first. It is the Ansible stable release. You can read the complete <a href="https://github.com/ansible-community/ansible-build-data/blob/main/7/CHANGELOG-v7.rst?ref=anweshadas.in">Changelog here</a></p>
<p>You can install it via <code>pip.</code></p>
<pre><code>pip install ansible==7.5.0 --user
</code></pre>
<p>Ansible 8.0.0a2  was my next target.<br>
You can read our <a href="https://docs.ansible.com/ansible/devel/roadmap/COLLECTIONS_8.html?ref=anweshadas.in">Roadmap for the Ansible 8 release cycle here</a>  and the <a href="https://github.com/ansible-community/ansible-build-data/blob/main/8/CHANGELOG-v8.rst?ref=anweshadas.in">Changelog here</a>.</p>
<p>To follow all our updates on the Ansible project and community  <a href="https://bit.ly/subscribe-bullhorn?ref=anweshadas.in">susbcribe</a> to <a href="https://github.com/ansible/community/wiki/News?ref=anweshadas.in#the-bullhorn">Bullhorn, our weekly Newsletter</a>. Fun fact this week will be the 100th edition of Bullhorn.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Keynote in PyCon Italia, 2023]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>My friend <a href="https://www.linkedin.com/in/drbrettcannon/?originalSubdomain=ca&amp;ref=anweshadas.in">Dr. Brett Canon</a>, CPython Core Dev, once said, &quot;Came for the language and stayed for the community.&quot; It is a little different for me. I Came for the community and stayed for the love of it.</p>
<p>I joined the open source community as a lawyer to</p>]]></description><link>http://anweshadas.in/keynote-in-pycon-italia-2023/</link><guid isPermaLink="false">6435d7a9a9203c0001d2018a</guid><category><![CDATA[Ansible]]></category><category><![CDATA[community]]></category><category><![CDATA[Conference]]></category><category><![CDATA[Free Software]]></category><category><![CDATA[Python]]></category><category><![CDATA[red hat]]></category><category><![CDATA[PyLadies]]></category><dc:creator><![CDATA[Anwesha Das]]></dc:creator><pubDate>Wed, 12 Apr 2023 09:44:00 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p>My friend <a href="https://www.linkedin.com/in/drbrettcannon/?originalSubdomain=ca&amp;ref=anweshadas.in">Dr. Brett Canon</a>, CPython Core Dev, once said, &quot;Came for the language and stayed for the community.&quot; It is a little different for me. I Came for the community and stayed for the love of it.</p>
<p>I joined the open source community as a lawyer to up my legal skills. Instead, I am now a community member who knows law.</p>
<p>My journey in the Open Source world has been a sail of happiness, tears, achievements, sweats, and more than anything os dreams. A dream of something which I never saw any of my friends, let alone achieving but even dreaming. Honestly, I do not consider my story to be unique, but some people think otherwise. What do you think? You can figure it out for yourself. I will be talking about this in <a href="https://pycon.it/en/keynotes/altering-lives-with-communities?ref=anweshadas.in">my keynote</a> at <a href="https://pycon.it/en?ref=anweshadas.in">PyCon Italia, 2023</a>.</p>
<p>I will be talking about stories, my favorite <a href="https://pyladies.com/?ref=anweshadas.in">PyLadies</a>,<a href="http://anweshadas.in/python-for-everyone-learning-python/">Python for Everyone program</a> and how an innocent piece of technology and small initiatives from and by the community can alter the lives of real people.</p>
<p>Join us in PyCon Italia, 2023, for 4 days of learning, togetherness, fun, and, not to forget, good food. See you all there.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item></channel></rss>