Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем свежие релизы, заинтересовавшие нас инструменты и статьи. В этом выпуске для вас говорили Михаил Корнеев и Григорий Петров.

Вы также можете посмотреть на нас:

Или послушать на платформах —  AppleGoogle, Spotify, Яндекс.Музыка, сайт подкаста

Python уже 32 года 

20 февраля 1991 года Гвидо ван Россум написал 20 писем с исходным кодом Python в рассылку alt.sources. Это были 90-е, форумов не было, люди общались в основном в email-листах. Почитать больше

Субъективно самое яркое событие за 32 года – переход с двойки на тройку. Ничего не работало. Были мысли «а не закопать ли переход на третью версию, как PHP закопала переход на шестую версию или Perl закопал свой переход вообще». 

Зато Python отбросил устаревшее. Появился нормальный юникод, с байтиками, это было круто. Другие классные вехи: 

  • Концепция gradual typing (постепенного ввода типов в стибилизирующиеся части кода) была популяризирована именно Python. Это мега круто. 

  • F-strings – мелочь, но очень приятная.

  • Async/await, появление FastAPI показало, что оно прямо взлетает. 

  • Pattern matching, добавлен в последних версиях Python. 

  • Refactoring stdlib, который начался много лет назад.

  • Jupyter – классная штука, если надо погонять какие-то данные. 

  • Pandas тоже сделал работу с данными очень удобной для людей, которые не хотят глубоко погружаться в программирование. 

  • Инструменты для улучшения кода – был Pylint, потом Flake, Black, делают очень много инструментов.

Phylum отловили три атаки на PyPI

В репозитории выкладывали много пакетов с вредоносным кодом, которые должны были уводить крипто-кошельки. Конечно, если ты сам добровольно себе этот пакет не поставишь, то он плохо тебе не сделает. Но их скачивали из-за похожих названий с настоящими пакетами. Подробнее про атаки – первая, вторая и третья

Связанная новость, Python Foundation ищет разработчика в штат, который будет заниматься безопасностью PyPI и Python. Это очень классно, ведь supply-chain атакуют. По GitHub ходят краулеры, заходят в package.json и анализируют на уязвимость. Классно, что экосистема Python переходит на более серьезные рельсы безопасности.

Rust, fullstack-фреймворки и аннотации типов 

Или Python-тренды в 2023

  • Использование Rust вместо С. Изучить Rust сильно сложнее, чем C на базовом уровне. Но гарантии Rust очень хороши для системного кода: если все-таки удалось написать код, то он не потечет по памяти и не упадет по неправильному к ней доступу. По этой причине Rust сейчас завоевывает такую популярность.

  • Fullstack фреймворки – Streamlit, NiceGUI, Pynecone. Куча попыток нащупать какое-нибудь рабочее решение, сейчас нет единого мнения, как правильно делать. Можно пощупать каждый и решить самому. 

  • Аннотации типов все больше и больше завоевывают мир Python. Писать типы в первый раз больно и неприятно, особенно, если тебе надо описать сложную штуку. Но при этом выгоды от типов гораздо больше. 

Автор Pydantic поднял инвестиции от Sequoia Capital

Sequoia Capital – это очень старая, известная венчурная компания, которая вкладывается в стартапы. Если Sequoia дала человеку деньги, это во многом знак качества. Сам Сэмуэль Колвин сейчас работает над Pydantic 2. Хочет выпустить до конца квартала, но пока не говорит, что там будет. 

Pydantic скачивают больше, чем Django, хотя Django – это один из самых популярных Python пакетов последние много лет. Венчурные фирмы вкладывают в основателя. Самюэль Колвин не просто писал код. Он создал сообщество и сделал свой пакет популярным. В это вложила деньги Sequoia. Детали тут

Короткой строкой 

Два новых эпизода Moscow Python Podcast. В феврале мы обсудили обновления в Python 3.12 и Copilot.

В марте готовим еще два эпизода:

  • Python в блокчейн-разработке — если вы как-то относитесь или хотите относиться к тому, что называется Web 3.0, посмотрите отчет. Там очень много Python-библиотек для практически всех типов применений.

  • Релиз MyPy 1.0 — перешли на что-то близкое к SemVer,  для обозначения версии. Говорят, что на 40% быстрее чем версия 0.991. Это очень круто.

Комментарии (12)


  1. Pastoral
    00.00.0000 00:00
    -9

    Ага, конечно, «если все-таки удалось написать код, то он не потечет по памяти». Только программист на Python может такое написать, не копенгаген - не суйся с … рылом в … ряд. Читайте Книгу, пункт 15.6.

    Иногда молодёжь ДОСТАЁТ.


    1. grigoryvp
      00.00.0000 00:00
      +11

      Мимо) Мне почти полтинник и начинал я в середине 90-х как сишник и плюсовик. Делал, к примеру, Radmin. Он не течет ???? Я чуть-чуть знаю про работу с памятью в разных языках ????


    1. ValentinDom
      00.00.0000 00:00
      +2

      У ведущих подкаста на двоих больше 40 лет опыта программирования, но так-то да, "молодёжь". :)


  1. gigimon
    00.00.0000 00:00
    +1

    А дайте ссылку на fullstack framework Pinecone? Гуглится только векторная база данных. А то первая два в списке - это скорее ui фреймворки


    1. Voldar Автор
      00.00.0000 00:00
      +2

      Там опечатка, сейчас поправлю. Имелся ввиду https://github.com/pynecone-io/pynecone


      1. 0Bannon
        00.00.0000 00:00

        Почему перестали выходить выпуски Хитрый питон?


        1. Voldar Автор
          00.00.0000 00:00

          Очень много всего происходит и не хватает сил чтобы записывать. Есть планы продолжить, но пока не могу сказать когда.


  1. fichten_saft
    00.00.0000 00:00
    +3

    Отличный подкаст у вас, приятно периодически посмотреть


    1. Voldar Автор
      00.00.0000 00:00
      +1

      Спасибо!


  1. avshkol
    00.00.0000 00:00
    +1

    Вопрос к @grigoryvp- какие из существующих python-библиотек лучше всего помещаются в кошелёк Миллера? )

    Что лучше для библиотеки - больше классов, но меньше функций в каждом или наоборот, больше функций/методов , но меньше атрибутов в каждой или наоборот?

    Например, количество атрибутов в pandas.to_csv (21 штука) - это норм? Или лучше было бы несколько видов этого метода?


    1. grigoryvp
      00.00.0000 00:00

      А вот тот же FastAPI как мне кажется берет как раз лаконичностью. За счет креативного использования типов получается короткий, хорошо "ложащийся" в голову код.

      Для библиотеки лучше, чтобы в одном месте не собиралось больше 5-7 сущностей. Любых сущностей) Но без фанатизма, конечно.

      Конкретно про пандас - зависит от использования. Если из этих 21 на практике используются 3, а остальные 18 встречаются раз в год по местным праздникам - то они никого не напрягают. А вот если постоянно надо все 21 осматривать и выбирать - то нужен другой дизайн КМК.


  1. dolfinus
    00.00.0000 00:00

    Сэмуэль Колвин сейчас работает над Pydantic 2. Хочет выпустить до конца квартала, но пока не говорит, что там будет.

    Все же детально описано в документации