<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: David Vujic</title>
    <description>The latest articles on DEV Community by David Vujic (@davidvujic).</description>
    <link>https://dev.to/davidvujic</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3172788%2F5c5d2495-6da9-459b-87bf-2a13d8e55ee5.jpg</url>
      <title>DEV Community: David Vujic</title>
      <link>https://dev.to/davidvujic</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/davidvujic"/>
    <language>en</language>
    <item>
      <title>Python Monorepos &amp; the Polylith Developer Experience [video]</title>
      <dc:creator>David Vujic</dc:creator>
      <pubDate>Sun, 18 May 2025 09:33:11 +0000</pubDate>
      <link>https://dev.to/davidvujic/python-monorepos-the-polylith-developer-experience-video-37bm</link>
      <guid>https://dev.to/davidvujic/python-monorepos-the-polylith-developer-experience-video-37bm</guid>
      <description>&lt;p&gt;What if writing software would be more like when building things with LEGO bricks? For me, a more playful and productive Developer Experience is all about writing &amp;amp; experimenting with code - without the hassle.&lt;/p&gt;

&lt;p&gt;A productive setup should also let us make design &lt;strong&gt;decisions while learning&lt;/strong&gt; what to actually build, and allow changes during the way.&lt;/p&gt;

&lt;p&gt;The Polylith Architecture solves this in a &lt;strong&gt;Nice&lt;/strong&gt; and &lt;strong&gt;Simple&lt;/strong&gt; way. I am the developer of the Open Source tooling for Polylith in Python.&lt;/p&gt;

&lt;p&gt;In this video from FOSDEM 2025, I go through the basics of the Polylith Architecture &amp;amp; the Developer friendly tooling for a joyful and hassle-free Python Experience.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/vtJS2O_P0ek"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;br&gt;
The Python tools for the Polylith Architecture &lt;a href="https://davidvujic.github.io/python-polylith-docs/" rel="noopener noreferrer"&gt;docs&lt;/a&gt;&lt;br&gt;
The Python tools for the Polylith Architecture &lt;a href="https://github.com/DavidVujic/python-polylith" rel="noopener noreferrer"&gt;at GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>polylith</category>
      <category>fosdem</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Introducing a new command to the Python Polylith tool</title>
      <dc:creator>David Vujic</dc:creator>
      <pubDate>Sat, 17 May 2025 07:41:10 +0000</pubDate>
      <link>https://dev.to/davidvujic/introducing-a-new-command-to-the-python-polylith-tool-5a7c</link>
      <guid>https://dev.to/davidvujic/introducing-a-new-command-to-the-python-polylith-tool-5a7c</guid>
      <description>&lt;p&gt;The Python tools for the Polylith Architecture now has a new command called &lt;code&gt;poly test&lt;/code&gt;. As of this release, the command is used with a sub-command: &lt;code&gt;poly test diff&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But wait, what's Polylith?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The main use case is to support having one or more &lt;strong&gt;Microservices&lt;/strong&gt; (or apps) in a &lt;strong&gt;Monorepo&lt;/strong&gt;, and share code between the services.&lt;/p&gt;

&lt;p&gt;Polylith is an architecture, with tooling support. Polylith is using a components-first architecture. You can think of it as building blocks, very much like &lt;strong&gt;LEGO&lt;/strong&gt; bricks. All code lives in a &lt;strong&gt;Monorepo&lt;/strong&gt;, available for reuse. Python code, the set of LEGO bricks, is separated from the infrastructure and the actual building of your deployable artifacts. Have a &lt;a href="https://davidvujic.github.io/python-polylith-docs/" rel="noopener noreferrer"&gt;look at the docs&lt;/a&gt; for more details, or the &lt;a href="https://dev.to/t/polylith"&gt;#polylith tag&lt;/a&gt; here in this community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The poly test command&lt;/strong&gt;&lt;br&gt;
This new command is adding the possibility to identify bricks and projects that are affected by changes in tests. In its structure, the new command is very much like the existing &lt;code&gt;poly diff&lt;/code&gt; command (that will display changed bricks compared to a git tag).&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;poly test diff&lt;/code&gt; command will show you any affected bricks or projects when the &lt;em&gt;automated tests&lt;/em&gt; have been updated. When changing a test that imports a brick, the command will report the brick as affected. The command can also report on the affected project(s), based on the affected brick.&lt;/p&gt;

&lt;p&gt;Example usage:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Poetry
poetry poly test diff

# CLI users, such as uv
uv run poly test diff
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Affected bricks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Poetry
poetry poly test diff --bricks

# CLI users, such as uv
uv run poly test diff --bricks
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Affected projects:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Poetry
poetry poly test diff --projects

# CLI users, such as uv
uv run poly test diff --projects
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fserzpzh7cq6x9a1fqd00.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fserzpzh7cq6x9a1fqd00.gif" alt="Example usage of the new poly test command" width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;br&gt;
The Python tools for the Polylith Architecture &lt;a href="https://davidvujic.github.io/python-polylith-docs/" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;&lt;br&gt;
The Python tools for the Polylith Architecture &lt;a href="https://github.com/DavidVujic/python-polylith" rel="noopener noreferrer"&gt;at GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>polylith</category>
      <category>python</category>
      <category>opensource</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
