TGViewer
Cododel.dev | Александр Cododel.dev | Александр @cododel_dev · 228 subscribers
Post #251 127
🔴 Прошел стрим по Python, где я сделал форк библиотеки MailTm

Сделал перестановку, убрал с рабочего места все лишнее, чтобы не отвлекаться от работы, после чего запустил тестовый стрим.

В форке улучшил функционал, добавил типизацию, опубликовал его в PyPi и подключил к реальному проекту!

Для самых любопытных в конце поста ссылка на запись стрима 🫡
В целом получилось неплохо, если будет время нарежу его в видос (но это не точно, тк неплохо бы переозвучить)

В чем суть библиотеки?
Бывают проекты по автоматизации работы с сайтами, где требуется регистрировать новые аккаунты.
В таком случае супер удобно использовать временную почту. Для этого можно просто взять существующую библиотеку MailTm.
Но сервис, с которым она работает, дает возможность повторного использования почт, которые мы регистрируем. А бибиотека НЕТ!
Я был конечно удивлен... Особенно тем, что она лежит на официальном сайт, рядом с библиотекой для TypeScript, в которой весь этот функционал, внимание... ЕСТЬ!
Думал уже переписать свой проект с python на typescript, и даже начал это, как можно было заметить в предыдущих постах.
Сегодня же я принял решение переписать саму библиотеку, сделав форк и опубликовав её в официальные репозитории PyPi, чтобы можно было легко подключить и использовать в любом проекте. Ну и поделиться ей со всеми, естественно)

Что вышло
Теперь после регистрации аккаунта - можно сохранить не только адрес почты, но и пароль. Функция регистрации сама выдает pydantic модель Credentials с полями address и password
А затем, можно переиспользовать полученные данные без регистрации, сразу на новом методе login, вместо register
Плюс меня бесило отсутствие хоть каких подсказок при работе с библиотекой, например получая message в хэндлере для listener, который передается в start - мы получаем просто, какой-то dict...
Сейчас это pydantic модель Message, с довольно конкретным набором полей. Ну и плюсом будет, что ее можно обратно конвертировать в dict, просто вызвав message.model_dump() (из функционала pydantic)
Второе, чего мне не хватало, это остановка выполнения кода, пока не придет новое письмо, например с кодом подтверждения почты.
Приходилось реализовать класс-обертку для прошлой библиотеки, где все же реализовать удалось такой функционал, но в каждом проекте делать это не особо хотелось бы)
Теперь просто на нашем объекте класса Email достаточно вызвать wait_for_new_message(), и он будет ждать, пока не придет новое письмо, после чего вернет как результат модель Message и продолжится выполнение скрипта)

Итог:
Я с вдохновлением подошел к процессу, потому половину работы прокомментировал, хотя и вышло это непроизвольно, но подконец немного разошелся, подключил наушники и более активно стал выдавать детали, показал как подключить её в реальный проект, пофиксил баги, обновил в репозитории.
И даже показал на реальном проекте результат.

📹YouTube
🖼️ PyPi
🖼️ Github
  • ❤ 2
More from @cododel_dev
  1. Sep 30, 2026OpenAI: Мы порезали лимиты в 2 раза, и релизнули Dot ботов на Astra High Me: найди мем
  2. Sep 30, 2026Выехал из дома на велике Дорогу назад помню слабо. Единственный минус телефона по итогу -…
  3. Sep 21, 2026Ого какие вакансии бывают Больше удивлен что предложения на почти пустой линкдин приходят…
  4. Sep 15, 2026Все что нужно знать сегодня о “Работать будет только на английском” 😐
  5. Sep 15, 2026Post #1153
  6. Sep 14, 2026200 🤝 Всех новоприбывших обнял-приподнял Умного пока ничего не придумал, чем хотел бы сро…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →