<?xml version="1.0" encoding="UTF-8"?>
<iCalendar xmlns:xCal="urn:ietf:params:xml:ns:xcal" xmlns:pentabarf="http://pentabarf.org">
  <vcalendar>
    <version>2.0</version>
    <prodid>-//Pentabarf//Schedule 1.0//EN</prodid>
    <x-wr-caldesc/>
    <x-wr-calname>Schedule for sessions at </x-wr-calname>
    <vevent>
      <method>PUBLISH</method>
      <uid>8630@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>8630</pentabarf:event-id>
      <pentabarf:event-slug>python_diversity_gap</pentabarf:event-slug>
      <pentabarf:event-tag>python_diversity_gap</pentabarf:event-tag>
      <pentabarf:title>Beyond the 10%: analysis of the gender-diversity gap </pentabarf:title>
      <pentabarf:subtitle/>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 09:00:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 09:25:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T090000</dtstart>
      <dtend>20190203T092500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Beyond the 10%: analysis of the gender-diversity gap </summary>
      <description>&lt;p&gt;Women represents half of the population. The technological industry claims that around 30% of their work force are women. And that percentage decreases down to 20% when focusing on the tech. teams.&lt;/p&gt;

&lt;p&gt;If we analyze open source communities, those hardly reach 10% of the population as this is the case of the OpenStack Foundation or the Linux Kernel.&lt;/p&gt;

&lt;p&gt;This talk will show previous analysis and data publicly available with this respect, and an analysis of the Python community [1] to compare to.&lt;/p&gt;

&lt;p&gt;In addition to that, this talk will provide the steps done up to having the data: retrieving, curating, cleaning and visualizing the information with Python. For this process GrimoireLab, and specifically Perceval [2] was used used for retrieving information. Perceval retrieves information from the usual data sources found in the open source world. Then Ceres [3] is a small library that handle Perceval's data. These are the basics of the technical infrastructure.&lt;/p&gt;

&lt;p&gt;[1] https://github.com/python [2] https://github.com/chaoss/grimoirelab-perceval, [3] https://github.com/chaoss/grimoirelab-cereslib&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_diversity_gap/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Daniel Izquierdo</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>8587@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>8587</pentabarf:event-id>
      <pentabarf:event-slug>python_discover_graphql</pentabarf:event-slug>
      <pentabarf:event-tag>python_discover_graphql</pentabarf:event-tag>
      <pentabarf:title>Discover GraphQL with Python, Graphene and Odoo</pentabarf:title>
      <pentabarf:subtitle/>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 09:30:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 09:55:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T093000</dtstart>
      <dtend>20190203T095500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Discover GraphQL with Python, Graphene and Odoo</summary>
      <description>&lt;p&gt;GraphQL is the hottest new technology for building APIs, sometimes touted as a better REST. This practical talk aims at explaining what GraphQL is and how it can help expose an elegant and flexible API for advanced business applications in record time. Real code examples will be shown, based on the Graphene library and Odoo Community. Care will be taken so the audience can easily transpose those to other python frameworks such as Django, Tryton or sqlalchemy. A short comparison of GraphQL with other familiar "RPC" technologies such as SOAP and REST will be provided, as well as a discussion of strengths, weaknesses and potential pitfalls.&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_discover_graphql/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Stéphane Bidoul</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>7692@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>7692</pentabarf:event-id>
      <pentabarf:event-slug>python_write_pylint_plugins</pentabarf:event-slug>
      <pentabarf:event-tag>python_write_pylint_plugins</pentabarf:event-tag>
      <pentabarf:title>How to write pylint plugins</pentabarf:title>
      <pentabarf:subtitle/>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 10:00:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 10:25:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T100000</dtstart>
      <dtend>20190203T102500</dtend>
      <duration>00:25:00:00</duration>
      <summary>How to write pylint plugins</summary>
      <description>&lt;p&gt;Pylint is the most popular Python source code analyzer which looks for programming errors, helps enforce a coding standard and sniffs for some code smells. It is possible to write plugins to add your own checks, for example enforce all documentation strings to be enclosed with 3 double quotes!&lt;/p&gt;

&lt;p&gt;This presentation will focus on how the pylint plugin system works, how to examine AST tree of a piece of code and create a minimalistic plugin from scratch. It will also examine couple of plugins that are used in the Kiwi TCMS project.&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_write_pylint_plugins/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Alexander Todorov</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>8139@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>8139</pentabarf:event-id>
      <pentabarf:event-slug>python_application_configuration</pentabarf:event-slug>
      <pentabarf:event-tag>python_application_configuration</pentabarf:event-tag>
      <pentabarf:title>Mastering Application/Service Configuration</pentabarf:title>
      <pentabarf:subtitle>How to cover your configuration needs with oslo.config</pentabarf:subtitle>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 10:30:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 10:55:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T103000</dtstart>
      <dtend>20190203T105500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Mastering Application/Service Configuration- How to cover your configuration needs with oslo.config</summary>
      <description>&lt;p&gt;This talk covers oslo.config as a replacement option for ConfigParser, ArgumentParser and os.environ integrating all of their main features.&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_application_configuration/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Moisés Guimarães</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>7350@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>7350</pentabarf:event-id>
      <pentabarf:event-slug>python_demystifying_coroutines</pentabarf:event-slug>
      <pentabarf:event-tag>python_demystifying_coroutines</pentabarf:event-tag>
      <pentabarf:title>Demystifying Coroutines and Asynchronous Programming in Python</pentabarf:title>
      <pentabarf:subtitle/>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 11:00:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 11:25:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T110000</dtstart>
      <dtend>20190203T112500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Demystifying Coroutines and Asynchronous Programming in Python</summary>
      <description>&lt;p&gt;In this talk we will explore how coroutines work and how they are implemented in Python. We will learn that generators lie at the heart of coroutines, and how this long-standing feature of Python evolved over time to support the new capabilities of asynchronous programming.&lt;/p&gt;

&lt;p&gt;It’s a time travelling tale that explores the milestones in Python that relate to generators, coroutines, and asynchronous programming.&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_demystifying_coroutines/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Mariano Anaya</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>8594@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>8594</pentabarf:event-id>
      <pentabarf:event-slug>python_matching_with_behavior_trees</pentabarf:event-slug>
      <pentabarf:event-tag>python_matching_with_behavior_trees</pentabarf:event-tag>
      <pentabarf:title>Tree matchings with Behavior Trees</pentabarf:title>
      <pentabarf:subtitle>How to recognize a complex subtree in a big tree</pentabarf:subtitle>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 11:30:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 11:55:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T113000</dtstart>
      <dtend>20190203T115500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Tree matchings with Behavior Trees- How to recognize a complex subtree in a big tree</summary>
      <description>&lt;p&gt;Any python data structure could be seen as a big tree of related objects.
Would it be useful for you to recognize in this big tree some specific form?&lt;/p&gt;

&lt;p&gt;Recognizing of subtrees is really a common aim in compilers implementation. But it's not an easy task.
I recently found that I could easily use behavior trees to do such things. However this kind of techniques could be useful in other situation.
This talk want to popularize this technique by explaining how behavior trees work in common way, how to adapt then for a bottom-up tree matching algorithm.&lt;/p&gt;

&lt;p&gt;For instance, some HTML parser provide CSS Selector function to match one node at the time optionally related to some ancestor. Here, with this kind of matching algorithm you could match many nodes in only one pass.&lt;/p&gt;

&lt;p&gt;I create on my github a "treematching" module that use this algorithm to provide an Embedded DSL to write patterns, match any python data structure and in some case, allow you to do tree rewriting.&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_matching_with_behavior_trees/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Lionel Auroux</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>8489@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>8489</pentabarf:event-id>
      <pentabarf:event-slug>python_ast_module</pentabarf:event-slug>
      <pentabarf:event-tag>python_ast_module</pentabarf:event-tag>
      <pentabarf:title>Making your Python code write your Python code</pentabarf:title>
      <pentabarf:subtitle>Discover Python's 'ast' module to see how you can analyze and generate Python code</pentabarf:subtitle>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 12:00:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 12:25:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T120000</dtstart>
      <dtend>20190203T122500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Making your Python code write your Python code- Discover Python's 'ast' module to see how you can analyze and generate Python code</summary>
      <description>&lt;p&gt;Have you ever wondered how much of your code could be generated automatically? Introspection, mutation, extension - Python's uber-dynamic nature allows us to do all kinds of kinky stuff. In this presentation we will take a look at the 'ast' module and see how it allows us to analyze and produce Python code. By leveraging it's power, we will try to create useful tools and even our own DSLs!&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_ast_module/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Marcin Sobczyk</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>8509@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>8509</pentabarf:event-id>
      <pentabarf:event-slug>python_memory_management</pentabarf:event-slug>
      <pentabarf:event-tag>python_memory_management</pentabarf:event-tag>
      <pentabarf:title>Memory Management in Python</pentabarf:title>
      <pentabarf:subtitle>A Short Overview of CPythons Memory Management</pentabarf:subtitle>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 12:30:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 12:55:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T123000</dtstart>
      <dtend>20190203T125500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Memory Management in Python- A Short Overview of CPythons Memory Management</summary>
      <description>&lt;p&gt;Learn what is going on behind the scene about memory. How CPython allocates memory? How it manages Private Heap? Does it uses abstractions for managing the memory? Does python relase memory back to the system? Learn how python GC works, reference counting and generational GC. How generations classified? How does reference counting mechanism work? This talk is going to try to answer all this questions.&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_memory_management/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Batuhan Taşkaya</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>8659@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>8659</pentabarf:event-id>
      <pentabarf:event-slug>python_pyodide</pentabarf:event-slug>
      <pentabarf:event-tag>python_pyodide</pentabarf:event-tag>
      <pentabarf:title>Pyodide: scientific Python stack compiled in WebAssembly</pentabarf:title>
      <pentabarf:subtitle/>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 13:00:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 13:25:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T130000</dtstart>
      <dtend>20190203T132500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Pyodide: scientific Python stack compiled in WebAssembly</summary>
      <description>&lt;p&gt;The &lt;a href="https://github.com/iodide-project/pyodide/"&gt;Pyodide project&lt;/a&gt; aims to compile the scientific Python stack to
WebAssembly, so that it can be run directly in the browser. It currently
supports data science libraries such as NumPy, Pandas, matplotlib
(and more planned in the future). In this talk we will outline the current
capabilities, existing challenges, and possible future development directions.&lt;/p&gt;

&lt;p&gt;Pyodide is closely related to the &lt;a href="https://iodide.io/"&gt;Iodide&lt;/a&gt; project, which implements
a notebook environment (including but not limited to Pyodide) that allows
performing calculations in the client-only mode (without sending requests to a server).&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_pyodide/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Roman Yurchak</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>7862@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>7862</pentabarf:event-id>
      <pentabarf:event-slug>python_games_with_micropython</pentabarf:event-slug>
      <pentabarf:event-tag>python_games_with_micropython</pentabarf:event-tag>
      <pentabarf:title>Computer Games with MicroPython</pentabarf:title>
      <pentabarf:subtitle>Become a full-stack game developer.</pentabarf:subtitle>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 13:30:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 13:55:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T133000</dtstart>
      <dtend>20190203T135500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Computer Games with MicroPython- Become a full-stack game developer.</summary>
      <description>&lt;p&gt;MicroPython lets you program your own hardware easily, so why not use it for programming your own games on your own custom handheld game console? And once you have the game console, why not make it super-easy to program and use it for education and workshops?&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_games_with_micropython/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Radomir Dopieralski</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>8515@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>8515</pentabarf:event-id>
      <pentabarf:event-slug>python_extending_numba</pentabarf:event-slug>
      <pentabarf:event-tag>python_extending_numba</pentabarf:event-tag>
      <pentabarf:title>Extending Numba</pentabarf:title>
      <pentabarf:subtitle/>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 14:00:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 14:25:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T140000</dtstart>
      <dtend>20190203T142500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Extending Numba</summary>
      <description>&lt;p&gt;Over the years the Numba project has proven itself to be a pragmatic and effective tool to accelerate numerical computations significantly. Numba however puts some restrictions on the code that can be accelerated. These restrictions can force you to compromise, making your code less readable or more difficult to integrate with the rest of your code. This tradeoff makes Numba less attractive. In this talk I'll share what I've learned integrating Numba in our simulator. We'll look at the architecture of Numba and explore how we can extend it to ensure our code can be accelerated without having to trade in expressiveness.&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_extending_numba/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Joris Geessels</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>8494@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>8494</pentabarf:event-id>
      <pentabarf:event-slug>python_extending_syslog_ng</pentabarf:event-slug>
      <pentabarf:event-tag>python_extending_syslog_ng</pentabarf:event-tag>
      <pentabarf:title>Extending syslog-ng in Python</pentabarf:title>
      <pentabarf:subtitle>Best of both worlds</pentabarf:subtitle>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 14:30:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 14:55:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T143000</dtstart>
      <dtend>20190203T145500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Extending syslog-ng in Python- Best of both worlds</summary>
      <description>&lt;p&gt;The syslog-ng application collects logs from many different sources, performs real-time log analysis by processing and filtering them, and finally it stores the logs, or forwards them for further analysis. It was originally developed in C due to its low footprint and high performance. Recently Python language bindings were added, so you can collect, process, and store log messages using embedded Python code.&lt;/p&gt;

&lt;p&gt;Learn how to customize your log processing infrastructure in Python using syslog-ng, integrate your logs to local and cloud services, and the implementation details and benefits of such solutions.&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_extending_syslog_ng/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Peter Czanik</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>8067@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>8067</pentabarf:event-id>
      <pentabarf:event-slug>python_markup_to_pdf</pentabarf:event-slug>
      <pentabarf:event-tag>python_markup_to_pdf</pentabarf:event-tag>
      <pentabarf:title>Text Markup to PDF with Python</pentabarf:title>
      <pentabarf:subtitle/>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 15:00:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 15:25:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T150000</dtstart>
      <dtend>20190203T152500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Text Markup to PDF with Python</summary>
      <description>&lt;p&gt;Python is brilliant at many things, but did you know it could also create beautiful documents from simple markup? Discover rst2pdf in this session.&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_markup_to_pdf/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Lorna Mitchell</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>8419@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>8419</pentabarf:event-id>
      <pentabarf:event-slug>python_compute_qos_of_your_infrastructure</pentabarf:event-slug>
      <pentabarf:event-tag>python_compute_qos_of_your_infrastructure</pentabarf:event-tag>
      <pentabarf:title>Compute the QOS of your infrastructure with DEPC</pentabarf:title>
      <pentabarf:subtitle/>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 15:30:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 15:55:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T153000</dtstart>
      <dtend>20190203T155500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Compute the QOS of your infrastructure with DEPC</summary>
      <description>&lt;p&gt;DepC is an open source tool written in Python 3.5+ : https://github.com/ovh/depc&lt;/p&gt;

&lt;p&gt;We use it to compute the Quality Of Service (QoS) of our IT infrastructure and customers (14k servers and 5M websites in the WebHosting department).&lt;/p&gt;

&lt;p&gt;To be able to do this we use some open source technologies :
- TimeSeries databases and Pandas / Numpy for the QoS computing,
- Neo4j to store the graph of our dependencies (a customer depends on several servers and some services, like databases, themselves depends on servers. If a server fails, several customers QOS are impacted),
- Kafka consumer to update in real time the graph in Neo4j,
- Apache Airflow to schedule the jobs used to compute the QOS of the whole infrastructure (the graph in Neo4j contains ~10M nodes).&lt;/p&gt;

&lt;p&gt;The goal of this conference is to show you how do we assemble these technologies to construct DepC in OVH.&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_compute_qos_of_your_infrastructure/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Nicolas Crocfer</attendee>
      <attendee>Anthony Olea</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>8621@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>8621</pentabarf:event-id>
      <pentabarf:event-slug>python_salut_a_toi_network</pentabarf:event-slug>
      <pentabarf:event-tag>python_salut_a_toi_network</pentabarf:event-tag>
      <pentabarf:title>Salut à Toi: A Python Based Social Network And More</pentabarf:title>
      <pentabarf:subtitle>A multi-platforms communication ecosystem based on XMPP and Python</pentabarf:subtitle>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 16:00:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 16:25:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T160000</dtstart>
      <dtend>20190203T162500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Salut à Toi: A Python Based Social Network And More- A multi-platforms communication ecosystem based on XMPP and Python</summary>
      <description>&lt;p&gt;"Salut à Toi" is a Python based multi-platforms decentralized communication ecosystem. It is using a standard protocol (XMPP) and offers a lot of features like chat, e2e encryption, files sharing, photo albums, events, (micro)blogging, forums, remote control, tickets, merge-requests and even a decentralized web framework. This talk is an overview and a demonstration of the project, and it will explain how the Python technologies helped.&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_salut_a_toi_network/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Jérôme Poisson (Goffi)</attendee>
    </vevent>
    <vevent>
      <method>PUBLISH</method>
      <uid>7971@FOSDEM19@pentabarf.org</uid>
      <pentabarf:event-id>7971</pentabarf:event-id>
      <pentabarf:event-slug>python_solving_polynomial_systems</pentabarf:event-slug>
      <pentabarf:event-tag>python_solving_polynomial_systems</pentabarf:event-tag>
      <pentabarf:title>Solving Polynomial Systems in Python</pentabarf:title>
      <pentabarf:subtitle>phcpy: a scripting interface for PHCpack</pentabarf:subtitle>
      <pentabarf:language>en</pentabarf:language>
      <pentabarf:language-code>en_US</pentabarf:language-code>
      <pentabarf:track>Python</pentabarf:track>
      <pentabarf:start>2019-02-03 16:30:00 +0100</pentabarf:start>
      <pentabarf:end>2019-02-03 16:55:00 +0100</pentabarf:end>
      <pentabarf:duration>00:25:00:00</pentabarf:duration>
      <dtstart>20190203T163000</dtstart>
      <dtend>20190203T165500</dtend>
      <duration>00:25:00:00</duration>
      <summary>Solving Polynomial Systems in Python- phcpy: a scripting interface for PHCpack</summary>
      <description>&lt;p&gt;PHCpack is a software package for solving polynomial systems
with homotopy continuation.  The talk will tell the story of
the development of phcpy, a scripting interface for PHCpack,
which has been under development for the past five years.
One result is the availability of the software in a Python2,
Python3, and SageMath kernel of JupyterHub, which runs at
https://pascal.math.uic.edu/hub/login (www.phcpack.org).&lt;/p&gt;

&lt;p&gt;Other relevant details:
https://arxiv.org/abs/1310.0056 (EuroSciPy 2013 proceedings paper)
http://homepages.math.uic.edu/~jan/phcpy&lt;em&gt;doc&lt;/em&gt;html/index.html (documentation)
https://github.com/janverschelde/PHCpack (github repository)&lt;/p&gt;</description>
      <class>PUBLIC</class>
      <status>CONFIRMED</status>
      <categories>Python</categories>
      <url>https:/fosdem.org/2019/schedule/2019/schedule/event/python_solving_polynomial_systems/</url>
      <location>UD2.120 (Chavanne)</location>
      <attendee>Jan Verschelde</attendee>
    </vevent>
  </vcalendar>
</iCalendar>

