Ещё одна новость про форматирование.
Одна из популярных причин, почему люди не в восторге от идеи внедрить форматтер кода в свои старые проекты — это замусоривание истории изменений. Появляется царь-коммит, который изменяет весь код сразу, и
Начиная с версии 2.23.0 (это 2019 год) Git поддерживает возможность игнорировать некоторые коммиты в
Крутая новость в том, что GitHub теперь тоже в своём Blame View научился игнорировать такие коммиты. Создаёте специальный файлик, записываете туда хэши своих коммитов с форматированием кода и вуаля!
https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view
#formatter #github #git #blame #black
Одна из популярных причин, почему люди не в восторге от идеи внедрить форматтер кода в свои старые проекты — это замусоривание истории изменений. Появляется царь-коммит, который изменяет весь код сразу, и
git blame
бессилен пробиться через него к более старым изменениям. Получается, с точки зрения Git, человек, запустивший Black, становится автором всего проекта 😅Начиная с версии 2.23.0 (это 2019 год) Git поддерживает возможность игнорировать некоторые коммиты в
git blame
, что как раз и решает эту проблему.Крутая новость в том, что GitHub теперь тоже в своём Blame View научился игнорировать такие коммиты. Создаёте специальный файлик, записываете туда хэши своих коммитов с форматированием кода и вуаля!
https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view
#formatter #github #git #blame #black
GitHub Docs
Viewing and understanding files - GitHub Docs
Explore file content and trace changes over time to understand a new codebase and its evolution.
❤16
Питонические атаки
Ещё одна новость про форматирование. Одна из популярных причин, почему люди не в восторге от идеи внедрить форматтер кода в свои старые проекты — это замусоривание истории изменений. Появляется царь-коммит, который изменяет весь код сразу, и git blame бессилен…
Если вдруг кому нужна такая же фича в локальном консольном Git или в GUI, типа PyCharm или VSCode, то вот как это делается:
#formatter #git #blame #black
git config --local blame.ignoreRevsFile .git-blame-ignore-revsНужно выполнить после клонирования репозитория. К сожалению, самостоятельно Git находить этот файл пока что не научился.
#formatter #git #blame #black
❤7
Питонические атаки
Ещё одна новость про форматирование. Одна из популярных причин, почему люди не в восторге от идеи внедрить форматтер кода в свои старые проекты — это замусоривание истории изменений. Появляется царь-коммит, который изменяет весь код сразу, и git blame бессилен…
А если кому нужна такая же фича в веб-интерфейсе BitBucket, то голосуйте за нашего кандидата вот здесь:
https://jira.atlassian.com/browse/BSERV-12730
#git #bitbucket #blame #black
https://jira.atlassian.com/browse/BSERV-12730
#git #bitbucket #blame #black
❤2
Питонические атаки
Ещё одна новость про форматирование. Одна из популярных причин, почему люди не в восторге от идеи внедрить форматтер кода в свои старые проекты — это замусоривание истории изменений. Появляется царь-коммит, который изменяет весь код сразу, и git blame бессилен…
Для GitLab такая фича тоже обсуждается, ставьте свои пальцы вверх вот сюда:
https://gitlab.com/gitlab-org/gitlab/-/issues/31423
#git #gitlab #blame #black
https://gitlab.com/gitlab-org/gitlab/-/issues/31423
#git #gitlab #blame #black
GitLab
Support ignoring commits in blame (blame.ignoreRevsFile config option) (#31423) · Issues · GitLab.org / GitLab · GitLab
Problem to solve I want to ignore commits when viewing blame (available as of git 2.23)
👍9
Конфетку не желаете?
(На самом деле конфеты не существует. Мы живём в симуляции, птицы — это дроны, а конфета — это просто 3D-модель, нарисованная кем-то в Blender.)
https://www.reddit.com/r/Python/comments/rgaoy7/comment/hoiw67v/?utm_source=share&utm_medium=web2x&context=3
(На самом деле конфеты не существует. Мы живём в симуляции, птицы — это дроны, а конфета — это просто 3D-модель, нарисованная кем-то в Blender.)
https://www.reddit.com/r/Python/comments/rgaoy7/comment/hoiw67v/?utm_source=share&utm_medium=web2x&context=3
❤4
А давайте устроим перекличку. Кто чем пользуется для форматирования кода? И форматируете ли вы код вообще?
Anonymous Poll
46%
black
34%
isort
1%
yapf
3%
autopep
35%
запускаю форматирование в PyCharm
2%
другое (напишу в комментарии)
37%
просто сразу пишу красиво 🗿
👏5🥰1
Вижу, что многие пользуются black, isort или как минимум форматируют код в PyCharm. Инструменты хорошие, но они ориентируются на устаревший PEP-8, поэтому в ближайшее время придётся подыскивать им замену.
Опубликован черновик нового стайл-гайда PEP-9001, который через какое-то время станет обязательным для соблюдения, поэтому рекомендую всем ознакомиться уже сейчас и присоединиться к обсуждению:
https://peps.pythondiscord.com/pep-9001/
#pep
Опубликован черновик нового стайл-гайда PEP-9001, который через какое-то время станет обязательным для соблюдения, поэтому рекомендую всем ознакомиться уже сейчас и присоединиться к обсуждению:
https://peps.pythondiscord.com/pep-9001/
#pep
😁32🤔5👏4💩3🥰2
Многие пользовались возможностью импортировать синтаксис из будущего (
Документ описывает установку для отправки синтаксиса в прошлое на основе наработок по «потоковому накопителю» доктора Эмметта Брауна.
https://peps.pythondiscord.com/pep-2241/
#pep
from __future__ import …
), но задумывались ли вы когда-нибудь ОТКУДА на самом деле приходит этот синтаксис? Ведь если мы можем получить фичи из будущего, значит кто-то в будущем должен отправлять их в прошлое?Документ описывает установку для отправки синтаксиса в прошлое на основе наработок по «потоковому накопителю» доктора Эмметта Брауна.
https://peps.pythondiscord.com/pep-2241/
#pep
🤯2👍1🥰1
Vim-like браузер на питоне.
Ладно-ладно, это, конечно, не совсем правда. Там под капотом QtWebEngine, который по сути Chromium и написан он на C++. Тем не менее, вся обвязка вокруг непосредственно отображения страницы написана на питоне.
Сразу хочу предупредить, что если вы не большой фанат горячих клавиш, командной строки и работы напильником и изолентой, то вам не зайдёт. Это браузер с очень минималистичным интерфейсом (страшненький), и чтобы научиться им управлять нужно немножко сойти с ума (вим), зато позволяет сёрфить веб (почти) без мышки.
Из коробки есть блокировщик рекламы и прочие мелкие приятности. Можно просто брать и пользоваться. Но истинный экстаз, конечно, достигается лишь после кропотливой настройки всего этого дела под себя. Например, я прикрутил к браузеру свою парольницу в Bitwarden, и каждый раз радуюсь как дитя, когда нажимаю хоткей, а оно заполняет за меня формочку авторизации 🤩
Короче, сижу на этом уже полгода, годная гиковская дурь.
https://github.com/qutebrowser/qutebrowser
Ладно-ладно, это, конечно, не совсем правда. Там под капотом QtWebEngine, который по сути Chromium и написан он на C++. Тем не менее, вся обвязка вокруг непосредственно отображения страницы написана на питоне.
Сразу хочу предупредить, что если вы не большой фанат горячих клавиш, командной строки и работы напильником и изолентой, то вам не зайдёт. Это браузер с очень минималистичным интерфейсом (страшненький), и чтобы научиться им управлять нужно немножко сойти с ума (вим), зато позволяет сёрфить веб (почти) без мышки.
Из коробки есть блокировщик рекламы и прочие мелкие приятности. Можно просто брать и пользоваться. Но истинный экстаз, конечно, достигается лишь после кропотливой настройки всего этого дела под себя. Например, я прикрутил к браузеру свою парольницу в Bitwarden, и каждый раз радуюсь как дитя, когда нажимаю хоткей, а оно заполняет за меня формочку авторизации 🤩
Короче, сижу на этом уже полгода, годная гиковская дурь.
https://github.com/qutebrowser/qutebrowser
👍11👎2🔥2👏2🥰1
Питонические атаки
Переезд с BPO на GitHub Issues начнётся сегодня. Думаю, на выходных оба баг-трекера будут недоступны. Так что если вы вдруг обнаружите баг в питоне, лучше попридержите проблему до понедельника и зашлите её сразу же в GitHub Issues 🌝 https://discuss.python.org/t/github…
Миграция из BPO в GitHub Issues заняла больше времени, чем ожидалось, но она наконец-то завершена.
BPO переведён в read-only режим.
Новый питонячий баг-трекер теперь официально находится здесь: https://github.com/python/cpython/issues
BPO переведён в read-only режим.
Новый питонячий баг-трекер теперь официально находится здесь: https://github.com/python/cpython/issues
GitHub
python/cpython
The Python programming language. Contribute to python/cpython development by creating an account on GitHub.
🔥5
Что думаю по этому поводу.
С одной стороны, использовать стандартные решения — это хорошо и удобно. Все уже привыкли использовать гитхаб. У большинства есть там аккаунты. Все уже научились писать свои мысли в маркдауне. Удобно ссылаться из пулл-реквестов в ишьюсы, и наоборот. Есть API, и уже написана куча разных скриптов и браузерных плагинов, которые позволяют делать с гитхабом практически что угодно. Есть собственная удобная CI платформа.
С другой стороны, централизация — это однозначно плохо. Появляется единая точка отказа. Хоть они в последнее время и няшки, но всё равно — Microsoft начинает иметь слишком много влияния над опенсорсом. Такие перекосы обязательно рано или поздно выльются в проблемы. Например, мир разоссорится ещё сильнее, в США придумают очередные какие-нибудь весёлые ограничения для жителей недружественных стран, а GitHub (американская компания) будет обязан подчиниться.
В любом случае — спасибо, что переехали не в Jira!
С одной стороны, использовать стандартные решения — это хорошо и удобно. Все уже привыкли использовать гитхаб. У большинства есть там аккаунты. Все уже научились писать свои мысли в маркдауне. Удобно ссылаться из пулл-реквестов в ишьюсы, и наоборот. Есть API, и уже написана куча разных скриптов и браузерных плагинов, которые позволяют делать с гитхабом практически что угодно. Есть собственная удобная CI платформа.
С другой стороны, централизация — это однозначно плохо. Появляется единая точка отказа. Хоть они в последнее время и няшки, но всё равно — Microsoft начинает иметь слишком много влияния над опенсорсом. Такие перекосы обязательно рано или поздно выльются в проблемы. Например, мир разоссорится ещё сильнее, в США придумают очередные какие-нибудь весёлые ограничения для жителей недружественных стран, а GitHub (американская компания) будет обязан подчиниться.
В любом случае — спасибо, что переехали не в Jira!
👍9😁4🤔2🥰1
Опубликовали статистику скачиваний интерпретатора с python.org за последний год. Вычислено на основе access-логов.
Больше всего оттуда качают предсобранные установщики для Windows, но много и тех, кто скачивает просто исходники (это, вероятно, линуксоиды и маководы с pyenv и тому подобным). Чуть-чуть есть и людей, которые скачивают предсобранные установщики для macOS.
Python 2.7 держится по популярности примерно на уровне 3.6.
Для Windows самая популярная с большим отрывом версия интерпретатора сейчас — 3.10.
Но при этом в исходниках нет такого явного фаворита: качают все версии — и 2.7, и с 3.6 по 3.10 — примерно одинаково. Причём больше всего качают 3.7, а меньше всего 3.10. Может быть дело в том, что в современных линуксах обычно есть свежий питон, а более старые версии приходится откуда-то ставить? (А я обычно в любом случае ставлю все нужные мне версии из pyenv — системный питон лучше вообще не трогать, пусть спокойно себе лежит).
Там же в треде есть и ссылки на похожие исследования за 2020 и 2019 годы.
https://discuss.python.org/t/python-download-stats-for-march-2022/14908
Больше всего оттуда качают предсобранные установщики для Windows, но много и тех, кто скачивает просто исходники (это, вероятно, линуксоиды и маководы с pyenv и тому подобным). Чуть-чуть есть и людей, которые скачивают предсобранные установщики для macOS.
Python 2.7 держится по популярности примерно на уровне 3.6.
Для Windows самая популярная с большим отрывом версия интерпретатора сейчас — 3.10.
Но при этом в исходниках нет такого явного фаворита: качают все версии — и 2.7, и с 3.6 по 3.10 — примерно одинаково. Причём больше всего качают 3.7, а меньше всего 3.10. Может быть дело в том, что в современных линуксах обычно есть свежий питон, а более старые версии приходится откуда-то ставить? (А я обычно в любом случае ставлю все нужные мне версии из pyenv — системный питон лучше вообще не трогать, пусть спокойно себе лежит).
Там же в треде есть и ссылки на похожие исследования за 2020 и 2019 годы.
https://discuss.python.org/t/python-download-stats-for-march-2022/14908
Discussions on Python.org
Python download stats for March 2022
Previously: May 2020 and March 2019 Every now and then I’m given permission to pull the access logs for python.org downloads and run some analysis. We don’t currently have a pipeline set up to make this data publicly available, but I’ll share my high level…
👍7🥰1
httpie — популярный консольный curl-like HTTP-клиент, написанный на питоне — потерял 54k звёзд на гитхабе из-за глупой ошибки. Репо входил в топ-80 самых популярных репо на гитхабе. 🤦♂️
Короче, можно пойти и снова поставить им звёздочку: https://github.com/httpie/httpie
Вот тут постмортем: https://httpie.io/blog/stardust
Короче, можно пойти и снова поставить им звёздочку: https://github.com/httpie/httpie
Вот тут постмортем: https://httpie.io/blog/stardust
GitHub
GitHub - httpie/cli: 🥧 HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions…
🥧 HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. - httpie/cli
🤔1😱1😢1🤮1
И если у вас на гитхабе что-то ценное лежит, то вы на всякий случай склонируйте себе эти репо. Ходят слухи, что гитхаб начал блокировать аккаунты россиян. В панику не впадайте, но подготовьтесь к худшему.
https://habr.com/ru/news/t/661113/
https://habr.com/ru/news/t/661113/
Хабр
С 13 апреля GitHub начал блокировать аккаунты российских компаний и разработчиков
По состоянию на 15 апреля 2022 года, заблокированы по меньшей мере десятки аккаунтов. Среди них — аккаунты Сбербанка, Альфа-Банка, других компаний, а также отдельных индивидуальных разработчиков....
🥰8😢4🤬3😱1
Слышал, что ещё не все познали радость использования тайп хинтов в своих больших программах на питоне. Поэтому держите хороший вводный видос на эту тему от Łukasz Langa (Вукаш Ланга!).
Хотя этому выступлению уже 5 лет и типизация в питоне всё это время постоянно развивалась, информация всё ещё актуальная, потому что основные принципы не поменялись. Сейчас в основном только доуточняются разные краевые случаи.
И я наконец понял, почему
https://www.youtube.com/watch?v=Mn4AOttRmpI
#typing
Хотя этому выступлению уже 5 лет и типизация в питоне всё это время постоянно развивалась, информация всё ещё актуальная, потому что основные принципы не поменялись. Сейчас в основном только доуточняются разные краевые случаи.
И я наконец понял, почему
List[str]
несовместимо с List[Optional[str]]
.https://www.youtube.com/watch?v=Mn4AOttRmpI
#typing
YouTube
«Gradual Typing of Production Applications» Łukasz Langa, Facebook
Выступление на конференции PYCON RUSSIA 2017
❤12💩3👍1🥰1
Питонические атаки
И если у вас на гитхабе что-то ценное лежит, то вы на всякий случай склонируйте себе эти репо. Ходят слухи, что гитхаб начал блокировать аккаунты россиян. В панику не впадайте, но подготовьтесь к худшему. https://habr.com/ru/news/t/661113/
Зашёл в настройки на гитхабе, чтобы на всякий случай экспортировать оттуда архив со всеми своими данными, и заметил, что там можно назначить наследника, который после моей смерти сможет управлять моими репозиториями.
Хочу, чтобы потомки передавали мою коллекцию хелло ворлдов по наследству из поколения в поколение!
https://docs.github.com/en/site-policy/other-site-policies/github-deceased-user-policy
P.S. А на самом деле это крутая практика. С начала эпохи интернета уже прошло достаточно много времени, и люди начали умирать, и вполне логично начать как-то управлять их цифровым наследием. Такое рано или поздно должно появиться во всех приличных сервисах.
#github
Хочу, чтобы потомки передавали мою коллекцию хелло ворлдов по наследству из поколения в поколение!
https://docs.github.com/en/site-policy/other-site-policies/github-deceased-user-policy
P.S. А на самом деле это крутая практика. С начала эпохи интернета уже прошло достаточно много времени, и люди начали умирать, и вполне логично начать как-то управлять их цифровым наследием. Такое рано или поздно должно появиться во всех приличных сервисах.
#github
👍21🥰1