<?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: EuroPython</title>
    <description>The latest articles on DEV Community by EuroPython (@europython).</description>
    <link>https://dev.to/europython</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%2Forganization%2Fprofile_image%2F2525%2F01af9403-2d29-4b77-a315-baefd206a596.png</url>
      <title>DEV Community: EuroPython</title>
      <link>https://dev.to/europython</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/europython"/>
    <language>en</language>
    <item>
      <title>A better development experience with PyCharm. Now with AI Assistant</title>
      <dc:creator>whykay 👩🏻‍💻🐈🏳️‍🌈 (she/her)</dc:creator>
      <pubDate>Tue, 18 Jul 2023 14:06:53 +0000</pubDate>
      <link>https://dev.to/europython/a-better-development-experience-with-pycharm-now-with-ai-assistant-1o6c</link>
      <guid>https://dev.to/europython/a-better-development-experience-with-pycharm-now-with-ai-assistant-1o6c</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Learn how our tool can help your web development, data science, or machine learning work get done.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Whether you’re a web developer, a data scientist, or a machine learning engineer, you want to get your work done fast and achieve the best possible results. This is exactly where your choice of tooling comes in.&lt;/p&gt;

&lt;p&gt;Having everything set up for your work, getting smart assistance and code insight, having a seamless integration with your databases and Git repositories can make a huge difference, both keeping you in the loop and creating extra inspiration.&lt;/p&gt;

&lt;p&gt;This is what PyCharm is built for. To help you get your work done. In the most productive way.&lt;/p&gt;

&lt;p&gt;PyCharm is an integrated development environment designed for all Python workflows, including full-stack web development, data science, and machine learning engineering.&lt;/p&gt;

&lt;p&gt;PyCharm allows you to set your project environment straight out of the box, offering integration with your databases, Git, and other development tools – all without leaving the IDE.&lt;/p&gt;

&lt;p&gt;With PyCharm, you can be confident to navigate and refactor large codebases with ease, and even debug complex code sets.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI assistant in PyCharm 2023.2
&lt;/h2&gt;

&lt;p&gt;The upcoming release will bring a new AI Assistant tool to PyCharm. Let’s take a closer look at what this new feature has got in store.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI chat
&lt;/h3&gt;

&lt;p&gt;We’ve implemented an AI Assistant tool window that you can use to have a conversation with the LLM, ask questions, or iterate on a task. The IDE will provide some project-specific context, such as the languages and technologies used in your project. You will be able to ask the AI about a specific code fragment, with functionality such as &lt;em&gt;Explain code&lt;/em&gt;, &lt;em&gt;Suggest refactoring&lt;/em&gt;, and &lt;em&gt;Find potential problems&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Documentation generation
&lt;/h3&gt;

&lt;p&gt;You will be able to generate the documentation for a declaration using an LLM.&lt;/p&gt;

&lt;h3&gt;
  
  
  Name suggestions
&lt;/h3&gt;

&lt;p&gt;When you rename a Python declaration, the AI will suggest name ideas variants for the declaration, based on its contents.&lt;/p&gt;

&lt;h3&gt;
  
  
  Commit message generation
&lt;/h3&gt;

&lt;p&gt;The commit message dialog will have a Generate Commit Message with AI Assistant button. Clicking it you will be able to send the diffs of your changes to the LLM, which will generate a commit message describing your changes.&lt;/p&gt;

&lt;p&gt;You can learn more about AI Assistant in PyCharm in &lt;a href="https://jb.gg/89bf9z" rel="noopener noreferrer"&gt;this blog post&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Never used PyCharm before? Here are some of the features our team recommends!
&lt;/h2&gt;

&lt;p&gt;Mukul Mantosh, PyCharm Content Writer, on his favorite features for Django development:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In 2017, I made the decision to transition from PHP to Python, embarking on a journey to learn the language. During my exploration, I stumbled upon the Django framework. At the time, I was on the lookout for an IDE that would cater to my specific needs. I experimented with various options, but none of them seemed to fulfill all my requirements. That is, until I discovered PyCharm. Ever since then, I haven't looked back in nearly five years.&lt;/p&gt;

&lt;p&gt;PyCharm offers exceptional support for Django, particularly through features like Live Templates, Run/Debug Configuration, and Python Packaging. One of the standout features is the ability to check for the latest version of packages, such as NumPy, without the need to visit external websites like pypi.org. This functionality can be accessed directly from within the IDE. The design of PyCharm is meticulously crafted to keep everything conveniently in one place, whether it's integrating with version control systems (VCS), utilizing DataGrip for databases, or collaborating with other remote developers (via Code with Me). Personally, one of my favorite aspects is the flexibility of running applications either through a remote interpreter on a cloud server or via the Windows Subsystem for Linux (WSL) on a Windows machine.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Jodie Burchell, JetBrains developer advocate for data science, on the functionality that helps her efficiently work on her data science projects:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Coming into data science from an academic background, I didn’t think much about my tooling. In fact, I was happy with plain Jupyter notebooks without any extensions for many years! When I started using PyCharm for my data science and machine learning work, I was amazed at how much easier it was to work with both Jupyter notebooks and large code bases. Even core PyCharm features such as setting up a new virtual or Conda environment in a few clicks, code completion, inbuilt documentation, and code introspection made me much more productive and saved me a lot of time, and made me wonder why I hadn’t tried to update my tooling earlier.&lt;br&gt;
Over time, I started exploring more advanced features, such as the ability to connect to and query databases in SQL right within the IDE and the UI to help me fix my &lt;em&gt;many&lt;/em&gt; mistakes with Git. PyCharm also saved me when I needed to understand and document a large legacy codebase for a machine learning product. As the entire codebase was indexed when I opened it in PyCharm, it was simple for me to find all uses of methods and piece together what was happening.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Learn more from PyCharm team at Europython
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Come to our booth!
&lt;/h3&gt;

&lt;p&gt;If you want to learn how you can get your work done faster and stay in the flow longer, come to the JetBrains booth to talk to members of the PyCharm team, such as our developer advocates Paul Everitt, &lt;a href="mailto:jodie.burchell@jetbrains.com"&gt;Jodie Burchell&lt;/a&gt;, and Helen Scott.&lt;/p&gt;

&lt;h3&gt;
  
  
  Join a talk “Power Django with PyCharm”
&lt;/h3&gt;

&lt;p&gt;Join a talk by &lt;a href="mailto:paul.everitt@jetbrains.com"&gt;Paul Everitt&lt;/a&gt; to learn how your IDE can make your development joyful. Paul will also demonstrate “test-first” development within the IDE, plus how this can apply to frontends. There will be a surprise gift at the end! Catch up with Paul at the PyCharm booth to learn more about full-stack web development and test driven development with Pytest.&lt;/p&gt;

&lt;h3&gt;
  
  
  Challenge your knowledge and win a prize
&lt;/h3&gt;

&lt;p&gt;For those of you who are up for a challenge, we will be having two web development and two machine learning quizzes a day at our booth from Wednesday through to Friday. Check the quiz schedule at the booth. The top three scorers in each web development quiz will win a copy of &lt;a href="https://adamchainz.gumroad.com/l/byddx" rel="noopener noreferrer"&gt;Boost Your Django DX&lt;/a&gt; by Adam Johnson, while the top three winners in each machine learning quiz will have their choice of Matt Harrison’s &lt;a href="https://store.metasnake.com/effective-pandas-book" rel="noopener noreferrer"&gt;Effective Pandas&lt;/a&gt; or &lt;a href="https://store.metasnake.com/xgboost" rel="noopener noreferrer"&gt;Effective XGBoost&lt;/a&gt;. Best of luck!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally posted on &lt;a href="https://blog.europython.eu/a-better-development-experience-with-pycharm-now-with-ai-assistant/" rel="noopener noreferrer"&gt;https://blog.europython.eu/a-better-development-experience-with-pycharm-now-with-ai-assistant/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>europython</category>
      <category>pycharm</category>
    </item>
    <item>
      <title>Microsoft at EuroPython 2023</title>
      <dc:creator>whykay 👩🏻‍💻🐈🏳️‍🌈 (she/her)</dc:creator>
      <pubDate>Wed, 12 Jul 2023 20:28:33 +0000</pubDate>
      <link>https://dev.to/europython/microsoft-at-europython-2023-5587</link>
      <guid>https://dev.to/europython/microsoft-at-europython-2023-5587</guid>
      <description>&lt;p&gt;We’re thrilled to be a Platinum Sponsor of &lt;a href="https://ep2022.europython.eu/" rel="noopener noreferrer"&gt;EuroPython&lt;/a&gt; again this year, happening from July 17th-23rd in Prague, Czechia. If you can’t make it in person, you can still attend the &lt;a href="https://ep2023.europython.eu/remote" rel="noopener noreferrer"&gt;conference remotely&lt;/a&gt;, as EuroPython is a hybrid event this year!&lt;/p&gt;

&lt;p&gt;Our team member: Steve Dower, will be giving talks during the conference:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ep2023.europython.eu/session/python-visual-studio-code-copilot-revolutionizing-the-way-you-do-data-science" rel="noopener noreferrer"&gt;Python &amp;amp; Visual Studio Code, Copilot – Revolutionizing the way you do data science.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ep2023.europython.eu/session/cpython-core-developer-panel" rel="noopener noreferrer"&gt;CPython Developer Panel.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Make sure you don’t miss them!  We’ll also be at the Microsoft booth talking about the hard work our teams have been doing to continue supporting the Python community, and to improve the experience for Python developers across our products over the past year.&lt;/p&gt;

&lt;p&gt;For instance, &lt;strong&gt;&lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt;&lt;/strong&gt;, which has become &lt;a href="https://lp.jetbrains.com/python-developers-survey-2021/#DevelopmentTools" rel="noopener noreferrer"&gt;the most used editor for Python developers in 2021&lt;/a&gt;, has a new and improved experience when working with &lt;a href="https://code.visualstudio.com/docs/python/jupyter-support" rel="noopener noreferrer"&gt;Jupyter notebooks&lt;/a&gt;, a revamped test explorer via the &lt;a href="https://code.visualstudio.com/docs/python/python-tutorial" rel="noopener noreferrer"&gt;Python extension&lt;/a&gt;, and now comes with new Python dev tools extensions (such as &lt;a href="https://aka.ms/vscode-pylint" rel="noopener noreferrer"&gt;pylint&lt;/a&gt;, &lt;a href="https://aka.ms/vscode-black-formatter" rel="noopener noreferrer"&gt;black&lt;/a&gt; and &lt;a href="https://aka.ms/vscode-isort" rel="noopener noreferrer"&gt;isort&lt;/a&gt;). We have also enabled a smooth and lightweight editing experience on the web with &lt;a href="https://vscode.dev/" rel="noopener noreferrer"&gt;vscode.dev&lt;/a&gt; and &lt;a href="https://github.dev/" rel="noopener noreferrer"&gt;github.dev&lt;/a&gt;, and a feature-rich one in &lt;strong&gt;&lt;a href="https://docs.github.com/en/codespaces/setting-up-your-project-for-codespaces/setting-up-your-python-project-for-codespaces" rel="noopener noreferrer"&gt;GitHub Codespaces&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We have also improved Data Science workflows inside of Visual Studio Code. &lt;a href="https://code.visualstudio.com/docs/languages/polyglot" rel="noopener noreferrer"&gt;Polyglot notebooks&lt;/a&gt; now supports Python, allowing you to use multiple programming languages natively all in the same notebook in Visual Studio Code! No more needing wrapper libraries or magic commands to work with your favorite languages in the same notebook! With polyglot notebooks, each language in Polyglot Notebooks gets a first-class editing experience with language server support such as autocompletion, syntax highlighting, and signature help. Variable explorer now allows you to check values and share variables across all the supported languages.&lt;/p&gt;

&lt;p&gt;Additionally, we have launched the Data Wrangler extension in Visual Studio Code. With &lt;a href="https://devblogs.microsoft.com/python/data-wrangler-release/" rel="noopener noreferrer"&gt;Data Wrangler&lt;/a&gt;, you can seamlessly clean and explore your data in &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;VS Code&lt;/a&gt;. It offers a variety of features that will help you quickly identify and fix errors, inconsistencies, and missing data. You can perform data profiling and data quality checks, visualize data distributions, and easily transform data into the format you need. Plus, Data Wrangler comes with a library of built-in transformations and visualizations, so you can focus on your data, not the code. As you make changes, the tool generates code using open-source Python libraries for the data transformation operations you perform. This means you can write better data preparation programs faster and with fewer errors. The code also keeps Data Wrangler transparent and helps you verify the correctness of the operation as you go.&lt;/p&gt;

&lt;p&gt;In the machine learning and AI realm, &lt;a href="https://learn.microsoft.com/en-us/azure/machine-learning/how-to-launch-vs-code-remote?view=azureml-api-2&amp;amp;tabs=vscode-web" rel="noopener noreferrer"&gt;Azure Machine Learning Visual Studio Code Web integration&lt;/a&gt; is now in public preview. VS Code for the Web provides you with a &lt;strong&gt;full-featured development environment&lt;/strong&gt; for building your machine learning projects, all from the browser and &lt;strong&gt;without required installations or dependencies&lt;/strong&gt;. And by connecting your Azure Machine Learning compute instance, you get the rich and integrated development experience VS Code offers, enhanced by the power of Azure Machine Learning. Furthermore, &lt;a href="https://azure.microsoft.com/en-us/blog/build-next-generation-ai-powered-applications-on-microsoft-azure/#:~:text=We%20are%20also%20excited%20to%20announce%20the%20upcoming,connect%20to%20various%20language%20models%20and%20data%20sources." rel="noopener noreferrer"&gt;Prompt Flow for Azure Machine Learning&lt;/a&gt; is now in preview! Prompt Flow provides a streamlined experience for prompting, evaluating, tuning, and operationalizing large language models. With prompt flow, you can quickly create prompt workflows that connect to various language models and data sources. This allows for building intelligent applications and assessing the quality of your workflows to choose the best prompt for your case.&lt;/p&gt;

&lt;p&gt;These are only some of the many things we look forward to chatting with you at EuroPython. But if you can’t make it there, no problem - you can always connect to us through our &lt;a href="http://aka.ms/python-discord-invite" rel="noopener noreferrer"&gt;Discord channel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Whether it’s in person or virtually, we all look forward to meeting you!&lt;/p&gt;




&lt;p&gt;Original Post: &lt;a href="https://blog.europython.eu/microsoft-at-europython-2023/" rel="noopener noreferrer"&gt;https://blog.europython.eu/microsoft-at-europython-2023/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>europython</category>
    </item>
    <item>
      <title>Kraken Technologies: How we organize our very large Python monolith</title>
      <dc:creator>whykay 👩🏻‍💻🐈🏳️‍🌈 (she/her)</dc:creator>
      <pubDate>Tue, 11 Jul 2023 10:55:17 +0000</pubDate>
      <link>https://dev.to/europython/kraken-technologies-how-we-organize-our-very-large-python-monolith-5doc</link>
      <guid>https://dev.to/europython/kraken-technologies-how-we-organize-our-very-large-python-monolith-5doc</guid>
      <description>&lt;p&gt;&lt;em&gt;By David Seddon from Kraken Technologies.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hi, I’m David, a Python developer at Kraken Technologies. I work on Kraken: a Python application which has, at last count, 27,637 modules. Yes, you read that right: nearly 28k separate Python files - not including tests. I do this along with 400 other developers worldwide, constantly merging in code. And all anyone needs to make a change - and kick start a deployment of the software that runs 17 different energy and utility companies, with many millions of customers - is one single approval from a colleague on Github.&lt;/p&gt;

&lt;p&gt;Now you may be thinking this sounds like a recipe for chaos. Honestly, I would have said the same. But it turns out that large numbers of developers can, at least in the domain we work in, work effectively on a large Python monolith. There are lots of reasons why this is possible, many of them cultural rather than technical, but in this blog post I want to explain about how the organization of our code helps to make this possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layering our code base
&lt;/h2&gt;

&lt;p&gt;If you’ve worked on a code base for any length of time, you will have felt the drift towards unpleasant complexity. Strands of logic tangle together across your application, and it becomes increasingly difficult to think about parts of it in isolation. This is what started happening to our young code base, and so we decided to adopt what is known as a ‘layered architecture’ where there are constraints about what parts of the code base can know about each other.&lt;/p&gt;

&lt;p&gt;Layering is a well-known software architecture pattern in which components are organized, conceptually, into a stack. A component is not allowed to depend on any components higher up the stack.&lt;/p&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%2Frxski7mweqwuj2bnajmc.png" 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%2Frxski7mweqwuj2bnajmc.png" alt="Layered architecture where dependancies flow downwards" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, in the above diagram, C would be allowed to depend on B and A, but not D.&lt;/p&gt;

&lt;p&gt;The idea of a layered architecture is broad: it may be applied to different kinds of components. For example, you could layer several independently-deployable services; or alternatively your components could just be a set of source code files.&lt;/p&gt;

&lt;p&gt;What constitutes a dependency is also broad. In general, if a component has direct knowledge of another component (even if purely at a conceptual level) then it depends on it. Indirect interaction (e.g. via configuration) is not usually seen as a dependency.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layers in Python
&lt;/h2&gt;

&lt;p&gt;In a Python code base, the layers are best thought of as Python modules, and dependencies as import statements.&lt;/p&gt;

&lt;p&gt;Take the following code base:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;myproject
    __init__.py
    payments/
        __init__.py
        api.py
        vendor.py
    products.py
    shopping_cart.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The top-level modules and subpackages are good candidates for layers. Let’s say we decide the layers should be in this order:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- shopping_cart
- payments
- products
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Our architecture would thus forbid, for example, any of the modules within payments from importing from shopping_cart. They could, however, import from products.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- api
- vendor
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There’s no single, correct way of choosing which layers exist, and in which order - that’s an act of design. But layering like this leads to a less tangled code base, making it easier to understand and change.&lt;/p&gt;

&lt;p&gt;As Kraken grew into a multi-client platform, we evolved our layering to help with this. Broadly speaking, it now looks like this at the top level:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kraken/
    __init__.py
    clients/
        __init__.py
        oede/
        oegb/
        oejp/
        ...
    territories/
        __init__.py
        deu/
        gbr/
        jpn/
        ...
    core/

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The clients layer is at the top. Each client gets a subpackage inside that layer (for example, &lt;em&gt;oede&lt;/em&gt; corresponds to Octopus Energy Germany). Below that is territories, for all the country-specific behaviour, again with territory-specific subpackages. The bottom layer is core, which contains code that is used by all clients. There is an additional rule, which is that client subpackages must be independent (i.e. not import from other clients), and the same goes for territories.&lt;/p&gt;

&lt;p&gt;Layering Kraken like this allows us to make changes with a limited ‘blast radius’. Because the clients layer is at the top, nothing depends on it directly, making it easier to change something that relates to a particular client without accidentally affecting behavior on a different client. Likewise, changes that relate only to one territory won’t affect anything in a different one. This allows us to move quickly and independently across teams, especially when we are making changes that only affect a small number of Kraken instances.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enforcing layering with Import Linter
&lt;/h2&gt;

&lt;p&gt;When we introduced layering, we quickly found that just talking about the layering was not enough. Developers would often accidentally introduce layering violations. We needed to enforce it somehow, and we do this using Import Linter.&lt;/p&gt;

&lt;p&gt;Import Linter is an open source tool for checking that you are following layered architectures. First, in an INI file you define a contract describing your layering - something like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[importlinter:contract:top-level]

name = Top level layers
type = layers
layers =
    kraken.clients
    kraken.territories
    Kraken.core
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can also enforce the independence of the different clients and territories, using two more contracts (this time &lt;code&gt;independence&lt;/code&gt; contracts)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[importlinter:contract:client-independence]
name = Client independence
type = independence
layers =
    kraken.clients.oede
    kraken.clients.oegb
    kraken.clients.oejp
    ...

[importlinter:contract:territory-independence]
name = Territory independence
type = independence
layers =
    kraken.territories.deu
    kraken.territories.gbr
    kraken.territories.jpn
    ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then you can run lint-imports on the command line and it will tell you whether or not there are any imports that break our contracts. We run this in the automated checks on every pull request, so if someone introduces an illegal import, the checks will fail and they won’t be able to merge it.&lt;/p&gt;

&lt;p&gt;These are not the only contracts. Teams can add their own layering deeper in the application: kraken.territories.jpn, for example, is itself layered. We currently have over 40 contracts in place.&lt;/p&gt;

&lt;h2&gt;
  
  
  Burning down technical debt
&lt;/h2&gt;

&lt;p&gt;When we introduced the layered architecture, we weren’t able to adhere to it from day one. So we used a feature in Import Linter which allows you to ignore certain imports before checking the contract.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[importlinter:contract:my-layers-contract]
name = My contract
type = layers
layers =
    kraken.clients
    kraken.territories
    kraken.core
ignore_imports =
    kraken.core.customers -&amp;gt;
    kraken.territories.gbr.customers.views
    kraken.territories.jpn.payments -&amp;gt; kraken.utils.urls
    (and so on...)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We then used the number of ignored imports as a metric for tracking technical debt. This allowed us to observe whether things were improving, and at what rate.&lt;/p&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%2Fc029h3lqrn8yjxzn5quo.png" 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%2Fc029h3lqrn8yjxzn5quo.png" alt="Graph of ignored imports since 1 May 2022" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here’s our graph of how we’ve been working through ignored imports over the last year or so. Periodically I share this to show people how we’re doing and encourage them to work towards complete adherence. We use this burndown approach for several other technical debt metrics too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Downsides, there are always downsides
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Local complexity
&lt;/h3&gt;

&lt;p&gt;At some point after adopting a layered architecture, you will run into a situation where you want to break the layers. Real life is complex, there are interdependencies everywhere, and you will find yourself wanting to, say, call a function that’s in a higher layer.&lt;/p&gt;

&lt;p&gt;Fortunately, there is always a way around this. It’s called &lt;a href="https://seddonym.me/2019/04/15/inversion-of-control/" rel="noopener noreferrer"&gt;inversion of control&lt;/a&gt; and it’s easy to do in Python, it just requires a mindset shift. But it does lead to an increase in ‘local’ complexity (i.e. in a little part of your code base). However, it’s a price worth paying for a simpler system overall.&lt;/p&gt;

&lt;h3&gt;
  
  
  Too much code in higher layers
&lt;/h3&gt;

&lt;p&gt;The higher the layer, the easier the change. We deliberately made it easy to change code for specific clients or territories. Code in the core, which everything depends on, is more costly and risky to make changes to.&lt;/p&gt;

&lt;p&gt;As a result, there has been a design pressure, brought about partly by the layering we chose, to write more client and territory-specific rather than introduce deeper, more globally useful code into the core. As a result, there is more code in the higher layers than we might ideally like. We’re still learning about how to tackle this.&lt;/p&gt;

&lt;h3&gt;
  
  
  We’re still not finished
&lt;/h3&gt;

&lt;p&gt;Remember those ignored imports? Well, years on, we still have some! At last count, 15. Those last few imports are the stubbornest, most tangled ones of all.&lt;/p&gt;

&lt;p&gt;It can take serious effort to retrospectively layer a code base. But the sooner you do it, the less tangling you’ll have to address.&lt;/p&gt;

&lt;h2&gt;
  
  
  In summary
&lt;/h2&gt;

&lt;p&gt;Layering Kraken has kept our very large code base healthy and relatively easy to work with, especially considering its size. Without imposing constraints on the relationships between the tens of thousands of modules, our code base would probably have tangled into an enormous plate of spaghetti. But the large scale structure we chose - and evolved along with the business - has helped us work in large numbers on a single Python code base. It shouldn’t be possible, but it is!&lt;/p&gt;

&lt;p&gt;If you’re working on a large Python codebase - or even a relatively small one - give layering a try. The sooner you do, the easier it will be.&lt;/p&gt;




&lt;p&gt;Kraken Technologies LTD's is sponsor of EuroPython 2023, check them out on &lt;a href="https://octopusenergy.group/kraken-technologies" rel="noopener noreferrer"&gt;https://octopusenergy.group/kraken-technologies&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Original post: &lt;a href="https://blog.europython.eu/kraken-technologies-how-we-organize-our-very-large-pythonmonolith/" rel="noopener noreferrer"&gt;https://blog.europython.eu/kraken-technologies-how-we-organize-our-very-large-pythonmonolith/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>europython</category>
      <category>python</category>
      <category>guest</category>
    </item>
    <item>
      <title>EuroPython 2021: All edited videos now available</title>
      <dc:creator>whykay 👩🏻‍💻🐈🏳️‍🌈 (she/her)</dc:creator>
      <pubDate>Tue, 12 Oct 2021 18:21:24 +0000</pubDate>
      <link>https://dev.to/europython/europython-2021-all-edited-videos-now-available-4f80</link>
      <guid>https://dev.to/europython/europython-2021-all-edited-videos-now-available-4f80</guid>
      <description>&lt;p&gt;We’re happy to release another batch of 41 cut videos of &lt;a href="https://ep2021.europython.eu/" rel="noopener noreferrer"&gt;EuroPython 2021&lt;/a&gt; covering the &lt;a href="https://ep2021.europython.eu/schedule/30-july" rel="noopener noreferrer"&gt;third day sessions of the conference&lt;/a&gt; and a number of edited videos for the previous days. In total, we now have 118 videos waiting for you. You can watch them on &lt;a href="http://europython.tv/" rel="noopener noreferrer"&gt;our YouTube channel&lt;/a&gt;. We have created a &lt;a href="https://www.youtube.com/playlist?list=PL8uoeex94UhFuRtXhkqOrROsdNI6ejuiq" rel="noopener noreferrer"&gt;EuroPython 2021 playlist&lt;/a&gt; for this.&lt;/p&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%2F7rbw056oarddxod0gkdc.png" 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%2F7rbw056oarddxod0gkdc.png" alt="image" width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  All EuroPython Videos
&lt;/h2&gt;

&lt;p&gt;Our YouTube channel has videos of all EuroPython conferences going back to 2011. Check out &lt;a href="https://www.youtube.com/playlist?list=UU98CzaYuFNAA_gOINFB0e4Q" rel="noopener noreferrer"&gt;more than 1500 Python videos&lt;/a&gt; covering 10 conference years.&lt;/p&gt;

&lt;p&gt;In the coming weeks, we'll upload the EuroPython 2021 videos to &lt;a href="https://archive.org/details/@europythonvideos" rel="noopener noreferrer"&gt;our archive.org channel&lt;/a&gt; as well.&lt;/p&gt;

&lt;p&gt;Enjoy,&lt;br&gt;
&lt;a href="https://ep2021.europython.eu/europython/team/" rel="noopener noreferrer"&gt;EuroPython 2021 Team&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.europython-society.org/" rel="noopener noreferrer"&gt;EuroPython Society&lt;/a&gt;&lt;br&gt;
&lt;a href="https://ep2021.europython.eu/" rel="noopener noreferrer"&gt;EuroPython 2021 Website&lt;/a&gt;&lt;/p&gt;

</description>
      <category>europython</category>
      <category>videos</category>
      <category>python</category>
    </item>
    <item>
      <title>👏 New EuroPython Fellows</title>
      <dc:creator>whykay 👩🏻‍💻🐈🏳️‍🌈 (she/her)</dc:creator>
      <pubDate>Fri, 08 Oct 2021 18:00:07 +0000</pubDate>
      <link>https://dev.to/europython/new-europython-fellows-2ob2</link>
      <guid>https://dev.to/europython/new-europython-fellows-2ob2</guid>
      <description>&lt;p&gt;The board has selected two new &lt;a href="https://www.europython-society.org/europython-society-fellow-grant/#europython-fellows" rel="noopener noreferrer"&gt;EuroPython Fellows&lt;/a&gt;, after receiving nominations from the membership:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Laura Creighton (2021)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.europython-society.org/farewell-to-oier-echaniz-beneitez/" rel="noopener noreferrer"&gt;Oier Etxaniz Beneitez&lt;/a&gt; (2021, posthumously)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  EuroPython Fellows
&lt;/h2&gt;

&lt;p&gt;EuroPython Fellows have contributed significantly towards our mission, the EuroPython conference and the Society as an organization. They are eligible for a lifetime free attendance of the EuroPython conference and will be listed on our &lt;a href="https://www.europython-society.org/europython-society-fellow-grant/" rel="noopener noreferrer"&gt;EuroPython Society Fellow Grant page&lt;/a&gt; in recognition of their work.&lt;/p&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%2Fhuul7ge077l6ltq9lntr.png" 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%2Fhuul7ge077l6ltq9lntr.png" alt="image" width="800" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt; has been very active in the early days of the conference, especially in running the EuroPython editions in Gothenburg and helping with the selection process for later editions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Oier&lt;/strong&gt; was one of the team members who ran the conference in Bilbao. Sadly, he passed away last year, so we can only recognize him for his efforts posthumously. Still, we believe that he would have liked his new status. &lt;/p&gt;

&lt;p&gt;The EuroPython Society Board would like to congratulate and thank Laura and Oier for their tireless work towards our goals.&lt;/p&gt;

&lt;p&gt;Many thanks,&lt;br&gt;
EuroPython Society&lt;br&gt;
&lt;a href="https://www.europython-society.org/" rel="noopener noreferrer"&gt;https://www.europython-society.org/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Originally posted on &lt;a href="https://www.europython-society.org/new-europython-society-fellows/" rel="noopener noreferrer"&gt;https://www.europython-society.org/new-europython-society-fellows/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>europython</category>
      <category>fellows</category>
      <category>community</category>
    </item>
    <item>
      <title>🎞 EuroPython 2021: Edited videos of the second day available</title>
      <dc:creator>whykay 👩🏻‍💻🐈🏳️‍🌈 (she/her)</dc:creator>
      <pubDate>Tue, 05 Oct 2021 20:59:05 +0000</pubDate>
      <link>https://dev.to/europython/europython-2021-edited-videos-of-the-second-day-available-3m8o</link>
      <guid>https://dev.to/europython/europython-2021-edited-videos-of-the-second-day-available-3m8o</guid>
      <description>&lt;p&gt;(Originally posted on &lt;a href="https://blog.europython.eu/europython-2021-edited-videos-of-the-second-day-available/" rel="noopener noreferrer"&gt;https://blog.europython.eu/europython-2021-edited-videos-of-the-second-day-available/&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;We’re happy to release another batch of 35 cut videos of &lt;a href="https://ep2021.europython.eu/" rel="noopener noreferrer"&gt;EuroPython 2021&lt;/a&gt; covering most of &lt;a href="https://ep2021.europython.eu/schedule/29-july" rel="noopener noreferrer"&gt;the second day sessions of the conference&lt;/a&gt;. Together with the first day videos, we now have 77 videos waiting for you. You can watch them on &lt;a href="http://europython.tv/" rel="noopener noreferrer"&gt;our YouTube channel&lt;/a&gt;.&lt;/p&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%2Fvohwpcbx4wa6sqdldbcu.png" 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%2Fvohwpcbx4wa6sqdldbcu.png" alt="image" width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We’ll release the final batch of EuroPython 2021 videos next week. In total, we will have more than 115 videos with lots of valuable and interesting content for you, so please stop by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;check the &lt;a href="https://www.youtube.com/playlist?list=PL8uoeex94UhFuRtXhkqOrROsdNI6ejuiq" rel="noopener noreferrer"&gt;playlist&lt;/a&gt; for more videos&lt;/li&gt;
&lt;li&gt;subscribe to &lt;a href="http://europython.tv/" rel="noopener noreferrer"&gt;our YouTube channel&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;BTW: Our YouTube channel has videos of all EuroPython conferences going back to 2011. Check out more than &lt;a href="https://www.youtube.com/playlist?list=UU98CzaYuFNAA_gOINFB0e4Q&amp;amp;playnext=1&amp;amp;index=1" rel="noopener noreferrer"&gt;1500 Python videos&lt;/a&gt; covering 10 conference years.&lt;/p&gt;

&lt;p&gt;Enjoy,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ep2021.europython.eu/europython/team/" rel="noopener noreferrer"&gt;EuroPython 2021 Team&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.europython-society.org/" rel="noopener noreferrer"&gt;EuroPython Society&lt;/a&gt;&lt;br&gt;
&lt;a href="https://ep2021.europython.eu/" rel="noopener noreferrer"&gt;EuroPython 2021 Website&lt;/a&gt;&lt;/p&gt;

</description>
      <category>videos</category>
      <category>europython</category>
      <category>python</category>
    </item>
    <item>
      <title>🌈 Launching the EuroPython Society Fellow Grant</title>
      <dc:creator>whykay 👩🏻‍💻🐈🏳️‍🌈 (she/her)</dc:creator>
      <pubDate>Tue, 28 Sep 2021 15:31:54 +0000</pubDate>
      <link>https://dev.to/europython/launching-the-europython-society-fellow-grant-5bli</link>
      <guid>https://dev.to/europython/launching-the-europython-society-fellow-grant-5bli</guid>
      <description>&lt;p&gt;&lt;em&gt;(Originally posted on &lt;a href="https://www.europython-society.org/launching-the-europython-society-fellow-grant/" rel="noopener noreferrer"&gt;https://www.europython-society.org/launching-the-europython-society-fellow-grant/&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We are excited to announce the new EuroPython Society Fellow Grant.&lt;/p&gt;

&lt;p&gt;The grant is intended to honor and show gratitude towards members of the &lt;a href="https://www.europython-society.org/" rel="noopener noreferrer"&gt;EuroPython Society (EPS)&lt;/a&gt; and the &lt;a href="https://www.europython-society.org/workgroups/" rel="noopener noreferrer"&gt;EuroPython Workgroups&lt;/a&gt; who have contributed significantly towards our mission, the EuroPython conference and the Society as an organization.&lt;/p&gt;

&lt;h2&gt;
  
  
  EuroPython Fellows
&lt;/h2&gt;

&lt;p&gt;EuroPython Fellows are eligible to a lifetime free attendance of the EuroPython conference and will be listed on our &lt;a href="https://www.europython-society.org/europython-society-fellow-grant/" rel="noopener noreferrer"&gt;EuroPython Society Fellow Grant page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The EuroPython Board will decide on new Fellowships based on nominations by the EPS members and its own deliberations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Our first Fellows
&lt;/h2&gt;

&lt;p&gt;To launch the grant, the current board has decided to make all board members since 2012 who have served at least two terms and are not members of the current board &lt;a href="https://www.europython-society.org/europython-society-fellow-grant/#fellows" rel="noopener noreferrer"&gt;EuroPython Fellows&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hendorf" rel="noopener noreferrer"&gt;Alexander Hendorf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/alex_savio" rel="noopener noreferrer"&gt;Alexandre Manhaes Savio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/avanderneut" rel="noopener noreferrer"&gt;Anthon van der Neut&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/bayerdi" rel="noopener noreferrer"&gt;Borja Ayerdi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/christianbarra" rel="noopener noreferrer"&gt;Christian Calogero Barra&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/DaryaChyzhyk" rel="noopener noreferrer"&gt;Darya Chyzhyk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/b_smoke" rel="noopener noreferrer"&gt;Fabio Pliger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jacobhallen" rel="noopener noreferrer"&gt;Jacob Hallén&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/whykay"&gt;Vicky Twomey-Lee&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The board will announce more Fellows in the coming weeks. If you are an EPS member and want to nominate another member as a Fellow, please write to &lt;a href="mailto:board@europython.eu"&gt;board@europython.eu&lt;/a&gt; and include the reasons why you believe the member should become a Fellow.&lt;/p&gt;

&lt;p&gt;The EPS Board would like to congratulate all of the above Fellows and thank them for their tireless work towards our goals.&lt;/p&gt;

&lt;p&gt;Enjoy,&lt;br&gt;
EuroPython Society&lt;br&gt;
&lt;a href="https://www.europython-society.org/" rel="noopener noreferrer"&gt;https://www.europython-society.org/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>EuroPython 2021: Edited videos of the first day available</title>
      <dc:creator>whykay 👩🏻‍💻🐈🏳️‍🌈 (she/her)</dc:creator>
      <pubDate>Tue, 28 Sep 2021 11:02:48 +0000</pubDate>
      <link>https://dev.to/europython/europython-2021-edited-videos-of-the-first-day-available-59ln</link>
      <guid>https://dev.to/europython/europython-2021-edited-videos-of-the-first-day-available-59ln</guid>
      <description>&lt;p&gt;We’re happy to release the first 42 cut videos of &lt;a href="https://ep2021.europython.eu/" rel="noopener noreferrer"&gt;EuroPython 2021&lt;/a&gt; covering the &lt;a href="https://ep2021.europython.eu/schedule/28-july" rel="noopener noreferrer"&gt;first day sessions&lt;/a&gt; of the conference. You can watch them on our YouTube channel: &lt;a href="http://europython.tv/" rel="noopener noreferrer"&gt;http://europython.tv/&lt;/a&gt;&lt;/p&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%2Fsv0mnihnqdlu3fqk9f5w.png" 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%2Fsv0mnihnqdlu3fqk9f5w.png" alt="image" width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Over the next few weeks, we’ll continue releasing the videos for the second and third day of the conference. &lt;/p&gt;

&lt;p&gt;In total, we will have more than 115 videos with lots of valuable and interesting content for you, so please stop by and check the playlist for more videos, or subscribe to our YouTube channel.&lt;/p&gt;

&lt;p&gt;Enjoy,&lt;/p&gt;

&lt;p&gt;EuroPython 2021 Team&lt;br&gt;
&lt;a href="https://ep2021.europython.eu/" rel="noopener noreferrer"&gt;https://ep2021.europython.eu/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.europython-society.org/" rel="noopener noreferrer"&gt;https://www.europython-society.org/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;(Original post on &lt;a href="https://blog.europython.eu/europython-2021-edited-videos-of-the-first-day-available/" rel="noopener noreferrer"&gt;https://blog.europython.eu/europython-2021-edited-videos-of-the-first-day-available/&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;

</description>
      <category>europython</category>
      <category>videos</category>
      <category>conference</category>
    </item>
    <item>
      <title>👏 List of EPS board candidates for the board vote at this year's General Assembly</title>
      <dc:creator>whykay 👩🏻‍💻🐈🏳️‍🌈 (she/her)</dc:creator>
      <pubDate>Thu, 23 Sep 2021 18:36:31 +0000</pubDate>
      <link>https://dev.to/europython/list-of-eps-board-candidates-for-the-board-vote-at-this-year-s-general-assembly-3865</link>
      <guid>https://dev.to/europython/list-of-eps-board-candidates-for-the-board-vote-at-this-year-s-general-assembly-3865</guid>
      <description>&lt;p&gt;At this year’s EuroPython Society General Assembly (GA), planned for October, we will vote in a new board of the &lt;a href="https://www.europython-society.org/" rel="noopener noreferrer"&gt;EuroPython Society&lt;/a&gt; for the term 2021/2022.&lt;/p&gt;

&lt;h2&gt;
  
  
  List of Board Candidates
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://www.europython-society.org/bylaws" rel="noopener noreferrer"&gt;EPS bylaws&lt;/a&gt; require one chair, one vice chair and 2 - 7 board members. The following candidates have stated their willingness to work on the EPS board. We are presenting them here (in alphabetical order by surname).&lt;/p&gt;

&lt;p&gt;We will be updating this list in the days before the GA. Please send in any nominations or self-nominations to &lt;a href="mailto:board@europython.eu"&gt;board@europython.eu&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Please note that our bylaws do not restrict nominations to people on this list. It is even possible to self-nominate or nominate other candidates at the GA itself. However, in the interest of giving members a better chance to review the candidate list, we’d like to encourage all nominations to be made before the GA.&lt;/p&gt;

&lt;p&gt;The following fine folks have expressed their desire to run as a group for the next EPS board elections: Patrick Arminio, Prof. Martin Christen, Nicolás Demarchi, Raquel Dou, Anders Hammarquist, Cheukting Ho, Francesco Pierfederici and Silvia Uberti. They have a good track record of working well together and share a common vision for the betterment of the EPS via strengthening ties to the larger Python community. They will present their plans and vision during the GA.&lt;/p&gt;

&lt;p&gt;Marc-André Lemburg, who has been serving on the EPS board since 2012 and as its chair since 2017 is not running for the board again, as already announced in last year’s GA. He’s looking forward to enjoying the conference from the attendee perspective again.&lt;/p&gt;

&lt;h3&gt;
  
  
  Patrick Arminio
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Software Developer / Python Italia Chair
&lt;/h4&gt;

&lt;p&gt;Patrick started his journey with the Python community at PyCon Italia 2 in 2008. After many years of helping run PyCon Italia (and other conferences) as a volunteer he became the Chair of Python Italia in 2017.&lt;/p&gt;

&lt;p&gt;He has also been nominated as a PSF Fellow for his contribution to conferences and also open source software.&lt;/p&gt;

&lt;p&gt;He currently works as a Software Engineer in London.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prof. Martin Christen
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Teaching Python / using Python for research projects
&lt;/h4&gt;

&lt;p&gt;Martin Christen is a professor of Geoinformatics and Computer Graphics at the Institute of Geomatics at the University of Applied Sciences Northwestern Switzerland (FHNW). His main research interests are geospatial Virtual- and Augmented Reality, 3D geoinformation, and interactive 3D maps.&lt;/p&gt;

&lt;p&gt;Martin is very active in the Python community. He teaches various Python-related courses and uses Python in many research projects. He organizes the PyBasel meetup - the local Python User Group Northwestern Switzerland. He also organizes the yearly GeoPython conference. He is also a board member of the Python Software Verband e.V.&lt;/p&gt;

&lt;p&gt;I would be glad to help with EuroPython, to be part of a great team that makes the next edition of EuroPython even better. I’m looking forward to a great physical/hybrid conference in Dublin.&lt;/p&gt;

&lt;h3&gt;
  
  
  Artur Czepiel
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Software developer
&lt;/h4&gt;

&lt;p&gt;Artur started writing in Python around 2008, originally using it mostly to implement backends for websites and later expanding to other areas.&lt;/p&gt;

&lt;p&gt;He joined the EuroPython team in 2017 after watching a talk about the state of the conference software at the time. Then contributed patches, joined various work groups and helped with EuroPython 2018 and 2019 editions.&lt;/p&gt;

&lt;p&gt;For the 2019 conference, he also joined the board where he helped with due diligence in the RFP process, but kept the focus on web/infra including major updates to the website software, and supporting other workgroups. Other than Europython, he's co-organising two local Python meetups in Kraków, Poland where he's based. He was also part of the team behind Remote Python Pizza, and provided minor software updates to other conferences.&lt;/p&gt;

&lt;p&gt;I would like to join the EPS board again, with my main focus being (again) infrastructure. I've learned a lot, both during the 2019 term and since then, and I believe that for the 2022 conference we can improve the conference setup even more. My main focus will be the ease of organisation and ultimately making the conference experience better for everyone.&lt;/p&gt;

&lt;h3&gt;
  
  
  Nicolás Demarchi
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Pythonista / Software Engineer
&lt;/h4&gt;

&lt;p&gt;Nicolás is a self-taught software engineer working professionally for more than 15 years. After participating on some Linux User Groups and the Mozilla community, Nicolás joined the Python community around 2012, fell in love with it and never left. He is a founder and has been a board member of the Python Argentina NGO since 2016. In the PyAr community, as an organizer, he participated several events and conferences as organizer and/or speaker, ranging from Python Days in various cities, PyCamp and the Python Argentina national conference, being a core organizer in the 2018 one in Buenos Aires (an open and free conference with ~1500 attendees). Since 2014 Nicolás has been maintaining the Python Argentina infrastructure that supports the mailing list, webpages, etc.  He was (still helping a bit) the host of the Buenos Aires Python Meetup. In June 2019, Nicolás moved to Amsterdam and he is currently living and working there.  A few months after the move, he joined the organization of the Python Amsterdam meetup and he is working with a small team to build the local community: py.amsterdam. He also joined the &lt;a href="https://pycamp.es/" rel="noopener noreferrer"&gt;https://pycamp.es/&lt;/a&gt; team trying to replicate the Pycamp Argentina experience in Europe. In 2020 he volunteered in the Media Workgroup of Europython 2020 online as a core organizer.&lt;br&gt;
He joined the EPS board in 2021 and helped to organize Europython2021-online.&lt;/p&gt;

&lt;p&gt;I would like to continue in the EPS board because I think Europython is the event connecting all European communities and therefore the right place to invest my time. In addition, I believe I can learn a lot as a volunteer. For 2022 I want to work for the whole European Python community to have a better relation with EPS and to work on other smaller/local events apart from EuroPython.&lt;/p&gt;

&lt;h3&gt;
  
  
  Raquel Dou
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Linguist / Python enthusiast
&lt;/h4&gt;

&lt;p&gt;Raquel first met Python in 2013, during her MSc studies in Evolution of Language and Cognition, where she used Python to model the evolution of a simple communication system over time. She operates a small business providing language and technical services, in which Python is one of her primary tools.&lt;/p&gt;

&lt;p&gt;She first attended EuroPython when it took place at her doorstep (Edinburgh) in 2018, and was an onsite volunteer. Since then she remained closely engaged in the EPS, as well as the organisation and execution of the conferences. She has been serving on the EPS board since 2019, working closely with the brilliant teams which delivered the two recent EuroPython Online editions. In 2021, besides leading the two amazing Sponsor and Support teams, she was also heavily involved in the conference lineup and speaker management.&lt;/p&gt;

&lt;p&gt;During these 3 years, she has experienced warmth, openness, creativity and desire to do good in every aspect of her engagement with the Python community which proudly serves. For the next edition, she hopes to finally meet in Dublin every one of the volunteers she has worked so closely with for years. She shares a community building vision with the amazing EuroPython team and would love to continue in this exhilarating journey with them to take the Society to new heights.&lt;/p&gt;

&lt;h3&gt;
  
  
  Anders Hammarquist
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Pythonista / Consultant / Software architect
&lt;/h4&gt;

&lt;p&gt;Anders is running his own Python consultancy business, AB Struse, since 2019 and is currently mostly involved with using Python in industrial automation. He has been using Python since 1995, and fosters its use in at least four companies.&lt;/p&gt;

&lt;p&gt;He helped organize EuroPython 2004 and 2005, and has attended and given talks at several EuroPythons since then. He has handled the Swedish financials of the EuroPython Society since 2016 and has served as board member since 2017.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cheuk Ting Ho
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Pythonista / Developer Advocate / Data Scientist
&lt;/h4&gt;

&lt;p&gt;After spending 5 years researching theoretical physics at Hong Kong University of Science and Technology, Cheuk has transferred her analytical and logical skills in natural science and built a career in data science. Cheuk has been a Data Scientist before working in a team of developers building a revolutionary graph database.&lt;/p&gt;

&lt;p&gt;Cheuk constantly contributes to the community by giving AI and deep learning workshops and organizing sprints for open source projects, at the same time contributing to open source projects including Pandas, Keras, Scikit-learn, Dateutil and maintaining open-source libraries. On top of speaking at conferences, Cheuk has joined the organizing team of EuroPython as a member of the programming workgroup since 2019 and was hosting the lightning talk in the same year.&lt;/p&gt;

&lt;p&gt;Last year, Cheuk joined the EuroPython Society Board and was nominated to be the Python Software Foundation fellow. Cheuk has been leading the Financial Aid team to provide accessible tickets for people around the world to join EuroPython. Cheuk has also started a speaker mentorship program and organize workshops for new speakers. Believing in the benefit the society has with diversity and inclusion, Cheuk would like to continue bringing new faces to the society and keep connecting people in it. In 2021, hopefully we will meet again in person and Cheuk would like to make sure that EuroPython is accessible to everyone both online and in-person.&lt;/p&gt;

&lt;h3&gt;
  
  
  Francesco Pierfederici
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Pythonic Beer Brewer and Drinker
&lt;/h4&gt;

&lt;p&gt;The year 2000 was the year that Python saved Francesco from Perl and Java. He worked on a large variety of projects over the last 20 odd years all involving Python, mostly in scientific environments.&lt;/p&gt;

&lt;p&gt;He is currently driving a 30m telescope with Python at IRAM (&lt;a href="https://www.iram-institute.org" rel="noopener noreferrer"&gt;https://www.iram-institute.org&lt;/a&gt;). In his free time, he is trying to optimise his beer brewing with a host of sensors and micro controllers running MicroPython and still failing at that.&lt;/p&gt;

&lt;p&gt;He has been volunteering with and in the EuroPython community since the conference in Rimini in 2017 and has helped with the website since 2019.&lt;/p&gt;

&lt;p&gt;Why serve on the EPS board for a second year? Francesco loves the EuroPython conference and its volunteers, organisers and attendees. He would love the opportunity to give back to this community and to the Python community in general. A community that has given him so much.&lt;/p&gt;

&lt;h3&gt;
  
  
  Silvia Uberti
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Sysadmin / IT Consultant
&lt;/h4&gt;

&lt;p&gt;She is a Sysadmin with a degree in Network Security, really passionate about technology, traveling and her piano.&lt;/p&gt;

&lt;p&gt;She’s an advocate for women in STEM disciplines and supports inclusiveness of underrepresented people in tech communities.&lt;/p&gt;

&lt;p&gt;She fell in love with Python and its warm community during PyCon Italia in 2014 and became a member of EuroPython Sponsor Workgroup in 2017.&lt;/p&gt;

&lt;p&gt;She enjoys working in it a lot and wants to help more!&lt;/p&gt;

&lt;h2&gt;
  
  
  Chair / Vice-Chair Nominations
&lt;/h2&gt;

&lt;p&gt;Raquel Dou is running for the chair position and Artur Czepiel for the vice chair position.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does the EPS Board do ?
&lt;/h2&gt;

&lt;p&gt;The EPS board runs the day-to-day business of the EuroPython Society, including running the EuroPython conference events. It is allowed to enter contracts for the society and handle any issues that have not been otherwise regulated in the bylaws or by the General Assembly. Most business is handled on the board’s Telegram group or by email on the board mailing list. Board meetings are usually run as conference calls.&lt;/p&gt;

&lt;p&gt;It is important to note that the EPS board is an active board, i.e. the board members are expected to put in a significant amount of time and effort towards the goals of the EPS and for running the EuroPython conference. This usually means 200+ hours work over a period of one year, with most of this being needed in the last six months before the conference. Many board members put in even more work to make sure that the EuroPython conferences become a success.&lt;/p&gt;

&lt;p&gt;Board members are generally expected to take on leadership roles within the EuroPython Workgroups in order to facilitate good communication and quick decision making. They should be passionate about EuroPython, the Python community and working in a team of volunteers.&lt;/p&gt;

&lt;p&gt;Enjoy,&lt;br&gt;
EuroPython Society&lt;br&gt;
&lt;a href="https://www.europython-society.org/" rel="noopener noreferrer"&gt;https://www.europython-society.org/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>EuroPython 2021: Data Science Mini-Conference</title>
      <dc:creator>whykay 👩🏻‍💻🐈🏳️‍🌈 (she/her)</dc:creator>
      <pubDate>Thu, 22 Jul 2021 17:45:24 +0000</pubDate>
      <link>https://dev.to/europython/europython-2021-data-science-mini-conference-pg7</link>
      <guid>https://dev.to/europython/europython-2021-data-science-mini-conference-pg7</guid>
      <description>&lt;p&gt;It has become a tradition at EuroPython to include a special data science track. This year, we have expanded on the theme and included more data science related content than ever before, including keynotes and workshops -- our own &lt;a href="https://ep2021.europython.eu/events/data-science/" rel="noopener noreferrer"&gt;EuroPython Data Science mini-conference&lt;/a&gt; which includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;37 Talks&lt;/li&gt;
&lt;li&gt;9 Workshops&lt;/li&gt;
&lt;li&gt;2 Keynotes&lt;/li&gt;
&lt;li&gt;2 Interactive Sessions&lt;/li&gt;
&lt;li&gt;1 Poster&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;[Tickets are still available]&lt;a href="https://ep2021.europython.eu/registration/buy-tickets/" rel="noopener noreferrer"&gt;https://ep2021.europython.eu/registration/buy-tickets/&lt;/a&gt;) through our online shop and will be throughout next week.&lt;/p&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%2F8uo0twxm24qfgpxah1xv.png" 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%2F8uo0twxm24qfgpxah1xv.png" alt="image" width="800" height="335"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Science Keynotes
&lt;/h2&gt;

&lt;p&gt;We would like like to highlight our data science keynotes on Thursday:&lt;/p&gt;

&lt;h3&gt;
  
  
  Claudia Comito: &lt;a href="https://ep2021.europython.eu/talks/keynote-3-connecting-communities-the-helmholtz-analytics-framework-and-the-making-of-heat/" rel="noopener noreferrer"&gt;Connecting Communities: the Helmholtz Analytics Framework and the making of Heat&lt;/a&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;HPC, Scientific Big Data, co-design, Python: beneath the buzzwords, bringing together academics from the most disparate research fields to work on a common product is no easy feat. What worked, what didn't, and lessons learned from the Helmholtz Analytics Framework experience.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Dr. Kimberly Arcand: &lt;a href="https://ep2021.europython.eu/talks/keynote4-our-universe-through-sight-sound-touch/" rel="noopener noreferrer"&gt;Our Universe through Sight, Sound &amp;amp; Touch&lt;/a&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Information of our Universe doesn't have to be just a two-dimensional snap shot. We can transform these data to be able to listen, feel, or (virtually) move through cosmic objects.  Listen to the debris from an exploded star, walk through the core of our Milky Way in virtual reality, feel vibrations of a stellar nursery, and experience our universe anew.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For full information, please check our &lt;a href="https://ep2021.europython.eu/events/data-science/" rel="noopener noreferrer"&gt;Data Science @ EuroPython 2021 page&lt;/a&gt;, which lists the complete data science program.&lt;/p&gt;

&lt;p&gt;Access to the data science parts of the conference is part of our regular conference tickets. If you want to participate in the data science content, please obtain a combined ticket.&lt;/p&gt;

&lt;p&gt;Enjoy,&lt;br&gt;
&lt;a href="https://ep2021.europython.eu/europython/team/" rel="noopener noreferrer"&gt;EuroPython 2021 Team&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.europython-society.org/" rel="noopener noreferrer"&gt;EuroPython Society&lt;/a&gt;&lt;br&gt;
&lt;a href="https://ep2021.europython.eu/" rel="noopener noreferrer"&gt;EuroPython 2021 Website&lt;/a&gt;&lt;/p&gt;

</description>
      <category>europython</category>
      <category>conference</category>
      <category>keynotes</category>
    </item>
    <item>
      <title>EuroPython 2021: Full-Day Workshops (by Django Girls and Humble Data)</title>
      <dc:creator>whykay 👩🏻‍💻🐈🏳️‍🌈 (she/her)</dc:creator>
      <pubDate>Tue, 20 Jul 2021 11:02:23 +0000</pubDate>
      <link>https://dev.to/europython/europython-2021-full-day-workshops-by-django-girls-and-humble-data-4h69</link>
      <guid>https://dev.to/europython/europython-2021-full-day-workshops-by-django-girls-and-humble-data-4h69</guid>
      <description>&lt;p&gt;This year's edition of EuroPython begins with two days of training sessions as outlined in &lt;a href="https://ep2021.europython.eu/schedule/" rel="noopener noreferrer"&gt;the schedule&lt;/a&gt;. Many of these last 3 hours, however, we would like to highlight two specific workshops available to those who want a deeper dive. They are most valuable for people new to the Python language and ecosystem, and focus on different things.&lt;/p&gt;

&lt;h2&gt;
  
  
  Django Girls Workshop
&lt;/h2&gt;

&lt;p&gt;Returning for another year, Django Girls will be running a workshop that will teach you how to build your own blog from scratch over the course of the day. Attendees will be split into small groups, and there are no special requirements!&lt;br&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%2Fw23ctn5sxrx6v2xf8512.png" 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%2Fw23ctn5sxrx6v2xf8512.png" alt="image" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Django Girls Workshop is scheduled on Monday, July 26th, starting at 09:30 CEST (07:30 UTC). Registration for this workshop is handled via application on their website, which details the criteria they look for in applicants.&lt;br&gt;
To apply: &lt;a href="https://djangogirls.org/nottingham/apply/" rel="noopener noreferrer"&gt;https://djangogirls.org/nottingham/apply/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Read on to learn more about the workshop and Django Girls: &lt;a href="https://ep2021.europython.eu/events/django-girls/" rel="noopener noreferrer"&gt;https://ep2021.europython.eu/events/django-girls/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Beginners' Day Workshop
&lt;/h2&gt;

&lt;p&gt;There is also another workshop facilitated by &lt;a href="https://humbledata.org/" rel="noopener noreferrer"&gt;Humble Data&lt;/a&gt;, serving as an introduction to how Python is used in the data science community. This also has no special requirements, and attendees will similarly be working in small, focused groups.&lt;br&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%2Fgghwclvajx7t0cqpyyjh.png" 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%2Fgghwclvajx7t0cqpyyjh.png" alt="image" width="800" height="350"&gt;&lt;/a&gt;&lt;br&gt;
The Beginners’ Day Workshop run by Humble Data is scheduled for Tuesday, July 27, starting at 09:30 CEST (07:30 UTC). Attendance is free for conference and combined ticket holders.&lt;/p&gt;

&lt;p&gt;Read on to learn more about the workshop and Humble Data: &lt;a href="https://ep2021.europython.eu/events/beginners-day/" rel="noopener noreferrer"&gt;https://ep2021.europython.eu/events/beginners-day/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enjoy,&lt;br&gt;
&lt;a href="https://ep2021.europython.eu/europython/team/" rel="noopener noreferrer"&gt;EuroPython 2021 Team&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.europython-society.org/" rel="noopener noreferrer"&gt;EuroPython Society&lt;/a&gt;&lt;br&gt;
&lt;a href="https://ep2021.europython.eu/" rel="noopener noreferrer"&gt;EuroPython 2021 Website&lt;/a&gt;&lt;/p&gt;

</description>
      <category>europython</category>
      <category>workshops</category>
      <category>djangogirls</category>
      <category>humbledata</category>
    </item>
    <item>
      <title>EuroPython 2021: Keynotes and Booklet</title>
      <dc:creator>whykay 👩🏻‍💻🐈🏳️‍🌈 (she/her)</dc:creator>
      <pubDate>Mon, 19 Jul 2021 11:50:18 +0000</pubDate>
      <link>https://dev.to/europython/europython-2021-keynotes-and-booklet-5d38</link>
      <guid>https://dev.to/europython/europython-2021-keynotes-and-booklet-5d38</guid>
      <description>&lt;p&gt;EuroPython 2021 begins next week. We are proud to present the keynote speakers and our conference booklet.&lt;/p&gt;

&lt;h1&gt;
  
  
  Keynotes
&lt;/h1&gt;

&lt;p&gt;The following keynotes will take place on Wednesday, Thursday and Friday. &lt;a href="https://ep2021.europython.eu/registration/buy-tickets/" rel="noopener noreferrer"&gt;Tickets&lt;/a&gt; are still available.&lt;/p&gt;

&lt;p&gt;If you want to find out more about our keynote speakers, please head on to the &lt;a href="https://ep2021.europython.eu/events/keynotes/" rel="noopener noreferrer"&gt;keynotes page on our website&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pablo Galindo Salgado: &lt;a href="https://ep2021.europython.eu/talks/keynote1-nobody-expects-the-spanish-inquisition/" rel="noopener noreferrer"&gt;Nobody expects the Spanish inquisition&lt;/a&gt;
&lt;/h3&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%2Fvungd7pud6724g45v2s0.png" 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%2Fvungd7pud6724g45v2s0.png" alt="image" width="300" height="300"&gt;&lt;/a&gt;&lt;br&gt;
In this talk I will go into some interesting stories of how (C)Python is made. We will go through a journey that will show you how Python is developed, who works on it, interesting battles against the most obscure of bugs and lots of unexpected situations and things to learn and to reflect on.&lt;/p&gt;

&lt;h3&gt;
  
  
  Abigail Dogbe: &lt;a href="https://ep2021.europython.eu/talks/keynote-2-python-in-a-world-of-pan-africanism/" rel="noopener noreferrer"&gt;Python in a world of Pan-Africanism&lt;/a&gt;
&lt;/h3&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%2Fup0fpkj6ysz7rubvang8.png" 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%2Fup0fpkj6ysz7rubvang8.png" alt="image" width="300" height="300"&gt;&lt;/a&gt; &lt;br&gt;
The use of Python in Africa is widely spread daily. In this talk, I will take you on a journey of what Python means to us in a Pan-African setting, lessons learned from organizing PyCon Africa, the people behind it, challenges we are facing and reflections on what works in our ecosystem.&lt;/p&gt;

&lt;h3&gt;
  
  
  Claudia Comito: &lt;a href="https://ep2021.europython.eu/talks/keynote-3-connecting-communities-the-helmholtz-analytics-framework-and-the-making-of-heat/" rel="noopener noreferrer"&gt;Connecting Communities: the Helmholtz Analytics Framework and the making of Heat&lt;/a&gt;
&lt;/h3&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%2Fg1w3wumj2cldxgyf139m.png" 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%2Fg1w3wumj2cldxgyf139m.png" alt="image" width="300" height="300"&gt;&lt;/a&gt;&lt;br&gt;
HPC, Scientific Big Data, co-design, Python: beneath the buzzwords,&lt;br&gt;
bringing together academics from the most disparate research fields to work on a common product is no easy feat. What worked, what didn't, and lessons learned from the Helmholtz Analytics Framework experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dr. Kimberly Arcand: &lt;a href="https://ep2021.europython.eu/talks/keynote4-our-universe-through-sight-sound-touch/" rel="noopener noreferrer"&gt;Our Universe through Sight, Sound &amp;amp; Touch&lt;/a&gt;
&lt;/h3&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%2Fv5ruoo3px5x8nzzptmo6.png" 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%2Fv5ruoo3px5x8nzzptmo6.png" alt="image" width="300" height="300"&gt;&lt;/a&gt;&lt;br&gt;
Information of our Universe doesn't have to be just a two-dimensional snap shot. We can transform these data to be able to listen, feel, or (virtually) move through cosmic objects.  Listen to the debris from an exploded star, walk through the core of our Milky Way in virtual reality, feel vibrations of a stellar nursery, and experience our universe anew.&lt;/p&gt;

&lt;h3&gt;
  
  
  David Beazley: &lt;a href="https://ep2021.europython.eu/talks/keynote-5-no-not-typing-types/" rel="noopener noreferrer"&gt;No, not typing. Types.&lt;/a&gt;
&lt;/h3&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%2F61e9nwk9ytts6ite7kgr.png" 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%2F61e9nwk9ytts6ite7kgr.png" alt="image" width="300" height="300"&gt;&lt;/a&gt;&lt;br&gt;
While biking through the forest preserve on a dark December morning, I found myself suddenly staring face-to-face with Bambi.  Picking myself off the ground with a broken wrist and an assortment of broken fingers, I embarked on an unexpected journey of discovery.   Then the pandemic hit.   In this talk, I provide a trip report.&lt;/p&gt;

&lt;h3&gt;
  
  
  Joannah Nanjekye: &lt;a href="https://ep2021.europython.eu/talks/keynote-6-python-the-bad-parts/" rel="noopener noreferrer"&gt;Python the Bad Parts&lt;/a&gt;
&lt;/h3&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%2Fafpjbvs3pes5cu42wjs8.png" 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%2Fafpjbvs3pes5cu42wjs8.png" alt="image" width="330" height="330"&gt;&lt;/a&gt;&lt;br&gt;
Python is great but it definitely has faults too.In this talk, I will talk about some of the Python challenges as a language, and the current efforts in the community to alleviate them. I will also talk about how I plan to engage scientists and academics during my time on the PSF board, to highlight some of the research we are working on as a community.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conference Booklet
&lt;/h1&gt;

&lt;p&gt;Our designer Jessica has created &lt;a href="https://ep2021.europython.eu/events/conference-booklet/" rel="noopener noreferrer"&gt;a beautiful conference booklet&lt;/a&gt; for you to refer to during the conference and keep as a memory afterwards. It details all of the information regarding the schedule, talks, workshops and sponsors as a single PDF file. &lt;br&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%2Fgejlv5l619czotpb0obf.png" 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%2Fgejlv5l619czotpb0obf.png" alt="image" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enjoy,&lt;br&gt;
&lt;a href="https://ep2021.europython.eu/europython/team/" rel="noopener noreferrer"&gt;EuroPython 2021 Team&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.europython-society.org/" rel="noopener noreferrer"&gt;EuroPython Society&lt;/a&gt;&lt;br&gt;
&lt;a href="https://ep2021.europython.eu/" rel="noopener noreferrer"&gt;EuroPython 2021 Website&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(via Original blog post: &lt;a href="https://blog.europython.eu/europython-2021-keynotes-and-booklet/" rel="noopener noreferrer"&gt;https://blog.europython.eu/europython-2021-keynotes-and-booklet/&lt;/a&gt;)&lt;/p&gt;

</description>
      <category>europython</category>
      <category>conference</category>
      <category>python</category>
    </item>
  </channel>
</rss>
