Python Meetup October Talk Videos
- Tutorial

On the last Friday of October in Minsk, Python Meetup was traditionally held, in which three reports from specialists from Viber, Melesta and Wargaming.net were read out with a bite from the burgers. This time, we went over Python shortcomings, figured out an example, what problems you might encounter when porting to Python, and also examined all the stages of developing Python servers for social games. All videos, as well as links to presentations, can be found below.
1. Porting to Python 3 , Nikita Grishko, Wargaming.net | COOO Game Stream
Why you should increasingly think about Python 3 support, and what problems you may encounter when porting. Let's look at examples from Sentry on how to add support for Python 3 using 2to3 , tox, and six .
2. Social game server in Python: from the first commit to production , Alexey Romanov, Melesta
Important needs of a modern person are: communication with other people and games. At the junction of these two needs, various gaming applications appeared on social networks. Typically, such applications require a server side that can handle high loads. In this report, Alexey shares his experience of developing servers in Python for social games, starting from the stage of developing a design document and ending with the release of the game in production and its further support.
3. Disadvantages of Python , Kirill Lashkevich notorca , Viber
The report reveals Python weaknesses, problems with the GC, functional style, implementation of standard data structures and the CPython interpreter.
PS: On November 29, another mitap will take place on near-python topics. 4 reports will be read:
1. Introduction to the GIL and the new GIL Andrey Nekhaychik gnomeby , Wargaming.net | COOO "Game Stream"
- Threads, differences from threads.
- How to use threads.
- Performance testing (and bummer).
- Introducing GIL how it works.
- I / O exemption, 100 ticks.
- Why do I need a GIL.
- Problems switching flows (slow capture).
- The problem is 100 ticks.
- The problem of the lack of priorities and their types.
- New GIL, 5 milliseconds, drop_request.
- When drop_request does not work.
- Competition CPU and I / O threads.
- How to deal with GIL: theses on numpy, Jython, multiprocessing.
2. Using gevent to emulate high load , Alexander Kolesen, SiliconMint
A mandatory action before the release of a more or less serious project is performance testing. On highly loaded projects, you need to know exactly what load they can withstand, and in advance. Therefore, we need a way to emulate high competitiveness, it is desirable that in theory it allows you to fully load the channel with traffic. In addition, it would be nice if you did not need to use dozens of servers for this. The report will tell about the experience of using gevent for a similar task, which would make it possible to get by with one t1.micro instance from which testing is performed.
3. Asynchronous distributed task execution. Stdlib, Celery, RQ and own bikes. , Roman Imankulov, doist.io
When it is necessary to force a web application to do the hard work without degrading the user experience, or if you need to quickly assemble a cluster on the knee, there is a need for distributed execution of command queues. The report will consider options for organizing such queues with improvised means, it will be found out why Celery is so good, whether it has decent alternatives, and how to write a working queue manager in thirty lines of code.
4. Optional typing in Python , Andrey Vlasovskikh, JetBrains
With the advent of new libraries and dialects for typing Python, the
discussion about the necessity and ways of introducing optional types in Python has revived . The report will talk about the current state of this area, including JetBrains initiatives.
As always, an informal atmosphere, interesting questions on the topics of speakers and tasty burgers await you at the meeting. All details can be found on our page in FB . Be all, see you all!