🐍 Π˜Ρ‚ΠΎΠ³ΠΈ Π½Π΅Π΄Π΅Π»ΠΈ Π² ΠΌΠΈΡ€Π΅ Python ΠΈ ΠΎΠ±Π·ΠΎΡ€Ρ‹ Π½ΠΎΠ²Ρ‹Ρ… инструмСнтов: ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ собствСнный Google Π½Π° 80 строках Python-ΠΊΠΎΠ΄Π°

🐍  Π˜Ρ‚ΠΎΠ³ΠΈ Π½Π΅Π΄Π΅Π»ΠΈ Π² ΠΌΠΈΡ€Π΅ Python ΠΈ ΠΎΠ±Π·ΠΎΡ€Ρ‹ Π½ΠΎΠ²Ρ‹Ρ… инструмСнтов: ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ собствСнный Google Π½Π° 80 строках Python-ΠΊΠΎΠ΄Π°

ΠŸΡ€ΠΈΠ²Π΅Ρ‚!

Π’ΡΡŽ нСдСлю ΠΌΡ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΠ΅ ΠΏΡ€ΠΈΡΠ»Π°Ρ‚ΡŒ Ρ‚Π΅Π±Π΅ интСрСсноС письмо. Наша Ρ†Π΅Π»ΡŒ – Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ Π² курсС послСдних ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΉ ΠΈ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΉ Π² ΠΌΠΈΡ€Π΅ Python. Π’ Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΈΡΡŒΠΌΠ°Ρ… Ρ‚Ρ‹ найдСшь:

  • НовыС возмоТности Π² послСдних вСрсиях Python
  • Π Π°Π±ΠΎΡ‚Π° с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ SQL Π² Python.
  • Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Django ΠΈ Flask.
  • МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python.
  • Автоматизация ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с API Π½Π° Python.
  • ВСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π° Python.
  • Π—Π°Π΄Π°Ρ‡ΠΈ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² с Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ.

Поисковик Π½Π° 80 строках ΠΊΠΎΠ΄Π°; Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€ ΠΈ Π΄Π²ΠΈΠΆΠΎΠΊ Elasticsearch; ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π°Ρ‚-Π±ΠΎΡ‚Π°, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΡΡ‚ΠΈΠ»ΡŒ Π­ΠΌΠΈΠ½Π΅ΠΌΠ°; Ρ‡Ρ‚ΠΎ ΠΊΡ€ΡƒΡ‡Π΅ Poetry?

πŸ”Ž Поисковик Π½Π° 80 строках ΠΊΠΎΠ΄Π°

ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ рассказываСт, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²ΡƒΡŽ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡƒΡŽ систСму Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π½Π° 80 строках Python-ΠΊΠΎΠ΄Π°. Автор ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» всС основныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ поисковика:

  • ΠšΡ€Π°ΡƒΠ»Π΅Ρ€ – собираСт ΠΈ сохраняСт Π΄Π°Π½Π½Ρ‹Π΅ с Ρ€Π°Π·Π½Ρ‹Ρ… сайтов. Автор использовал Π±Π»ΠΎΠ³ΠΈ ΠΈ RSS-Π»Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π» Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΊΡ€Π°ΡƒΠ»Π΅Ρ€Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ асинхронности Π² Python.
  • Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ индСкс – структура Π΄Π°Π½Π½Ρ‹Ρ…, которая для Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов Ρ…Ρ€Π°Π½ΠΈΡ‚ список Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π³Π΄Π΅ эти слова Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ. Π­Ρ‚ΠΎ позволяСт быстро ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ словарСй.
  • Π Π°Π½ΠΆΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ – сортируСт Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ рСлСвантности запросу. Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ использован Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ BM25.
  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ – простоС Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ FastAPI для взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с поисковой систСмой.

Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² поисковиках, ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ. Π₯отя это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ PoC, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄Π°Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ поисковой систСмы.

πŸ‘ ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Web2PDF – CLI-инструмСнт для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π²Π΅Π±-страниц (ΠΏΠΎ URL) Π² PDF-Ρ„Π°ΠΉΠ»Ρ‹. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ мноТСства ссылок ΠΈ прСдоставляСт всС возмоТности ΠΏΠΎ кастомизации внСшнСго Π²ΠΈΠ΄Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²: ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ всС – ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π° Π΄ΠΎ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° страниц.

<p>Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Web2PDF ΠΎΡ‡Π΅Π½ΡŒ просто</p>

Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Web2PDF ΠΎΡ‡Π΅Π½ΡŒ просто

PyPDFForm – Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с PDF-Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ:

  • инспСктируСт Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ заполняСт Π½ΡƒΠΆΠ½Ρ‹Π΅ поля значСниями ΠΈΠ· словарСй;
  • вставляСт изобраТСния Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹;
  • ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ страницы Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°;
  • создаСт подмноТСства Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΈ ΠΏΠΎΠ»Π΅ΠΉ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… PDF-Ρ„ΠΎΡ€ΠΌΠ°Ρ….
<p>Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ· Python-словаря</p>

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ· Python-словаря

Rexi – инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгулярными выраТСниями Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности:

  • Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Π½Π° Π±Π°Π·Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ textual.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ²: match ΠΈ finditer для примСнСния regex.
  • МгновСнная визуализация Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² примСнСния regex ΠΊ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ.
  • ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° использования – запуск ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· stdin.

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ:

  • Π—Π°ΠΏΡƒΡΠΊΠ°Π΅ΡˆΡŒ rexi ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.
  • Π’Π²ΠΎΠ΄ΠΈΡˆΡŒ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅.
  • Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΡˆΡŒ Ρ€Π΅ΠΆΠΈΠΌ match ΠΈΠ»ΠΈ finditer.
  • Π‘Ρ€Π°Π·Ρƒ видишь Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ примСнСния regex ΠΊ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ· stdin.

Rexi Π² дСйствии

Skorche – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для простого управлСния всСвозмоТными заданиями. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈ асинхронноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡.

Django HTMX Components – Π½Π°Π±ΠΎΡ€ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Django-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

πŸ•Ή Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ зависимостями

Когда ΠΏΠΎΡ€Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ с requirements.txt Π½Π° Poetry?

Π€Π°ΠΉΠ» requirements.txt ΠΈ Poetry Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ зависимостями Π² Python-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π½ΠΎ возмоТностСй Ρƒ Poetry, разумССтся, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС:

  • Для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… ΠΈ практичСских ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π²ΠΏΠΎΠ»Π½Π΅ достаточно requirements.txt. Π­Ρ‚ΠΎ простой тСкстовый Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
  • Если Π½ΡƒΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² – Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Poetry. Он Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Π΅ окруТСния ΠΈ вСрсии Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ….
  • Poetry идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² со мноТСством зависимостСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ срСдами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, тСстирования ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°.
  • Если Π½ΡƒΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сборку ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Poetry – ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€.

Π’ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Poetry:

  • На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ нСбольшого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ всС основныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Poetry (созданиС структуры ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, установка ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ зависимостСй, гСнСрация Ρ„Π°ΠΉΠ»Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ вСрсий ΠΈ Ρ‚. Π΄.)
  • РассказываСтся ΠΏΡ€ΠΎ Ρ„Π°ΠΉΠ» pyproject.toml, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ замСняСт Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ requirements.txt ΠΈ позволяСт Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ зависимостями.

Π§Ρ‚ΠΎ ΠΊΡ€ΡƒΡ‡Π΅ Poetry?

Rye – новСйшая Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Poetry. Π­Ρ‚ΠΎΡ‚ инструмСнт создал Π°Π²Ρ‚ΠΎΡ€ Flask – Армин Π ΠΎΠ½Π°Ρ…Π΅Ρ€. Как ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΌΠΎΠ΄Π½Ρ‹Π΅ ΡˆΡ‚ΡƒΠΊΠΈ, Rye написан Π½Π° Rust, ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ всС Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ Poetry, Π½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ быстрСС, плюс управляСт вСрсиями самого Python.

πŸ”₯ Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹

Β«Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€ ΠΈ Π΄Π²ΠΈΠΆΠΎΠΊ ElasticsearchΒ» – это сСмантичСская поисковая систСма Π½Π° основС Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ всСлСнной Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€Π°:

  • Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ части создаСтся индСкс Π² Elasticsearch, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ – это пСрсонаТ со своими Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ. Π­Ρ‚ΠΎΡ‚ индСкс ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для поиска пСрсонаТСй ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ критСриям.
  • Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Elasticsearch. БоздаСтся индСкс Π½Π° основС сцСнария ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΠΌΠ° ΠΏΡ€ΠΎ Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Hugging Face для Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ тСкста ΠΈ построСния Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… прСдставлСний слов. ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС сСмантичСскиС поисковыС запросы ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ с встроСнными возмоТностями Elasticsearch. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Elasticsearch ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описаны Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.
  • Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ части с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Flask создаСтся простоС Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ интСрфСйс для поиска – ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС процСсса ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ здСсь. Π’Π°ΠΊΠΆΠ΅ вводится Π½ΠΎΠ²Ρ‹ΠΉ индСкс для хранСния истории поисковых запросов.

Π’ΠΈΠ΄Π΅ΠΎΡ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π°Ρ‚-Π±ΠΎΡ‚Π°, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΡΡ‚ΠΈΠ»ΡŒ Π­ΠΌΠΈΠ½Π΅ΠΌΠ°. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Π½Π° основС Streamlit, Langchain ΠΈ OpenAI API. Π”Π΅ΠΌΠΎ-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ здСсь (ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚Π΅ со своим OpenAI-ΠΊΠ»ΡŽΡ‡ΠΎΠΌ), Π° вСсь исходный ΠΊΠΎΠ΄ находится Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

🎨 Визуализация Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² тСстирования с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Rich

Автор ΡΡ‚Π°Ρ‚ΡŒΠΈ столкнулся с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ слоТный ΠΊΠΎΠ΄ финансовых расчСтов, пСрСнСсСнный ΠΈΠ· старого прилоТСния ColdFusion. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ использовал стандартный Π²Ρ‹Π²ΠΎΠ΄ pytest для чисСл, Π½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π±Ρ‹Π»ΠΎ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

<p>Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ числа ΠΏΡ€ΠΈ стандартном Π²Ρ‹Π²ΠΎΠ΄Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ</p>

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ числа ΠΏΡ€ΠΈ стандартном Π²Ρ‹Π²ΠΎΠ΄Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π΅ΡˆΠΈΠ» Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Rich:

  • Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ сравнСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  • Если Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΈ фактичСскими значСниями, Π° совпадСния ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π΅Π»Π΅Π½Ρ‹ΠΌΠΈ – Π΄Π΅Π»ΠΎ ΠΈΠ΄Π΅Ρ‚ Π΅Ρ‰Π΅ быстрСС.
<p>Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² тСстирования Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Rich</p>

Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² тСстирования Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Rich

πŸŽ₯ ВидСокурс ΠΏΠΎ созданию ΠΈ дСплою фуллстСк-прилоТСния

9-часовой курс Π²ΠΎ всСх подробностях ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Django-прилоТСния. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ этапы:

  • ΠŸΡ€ΠΎΡ†Π΅ΡΡ создания ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° Π±Π°Π·Π΅ Django, PostgreSQL ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Amazon S3. На Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Tailwind ΠΈ HTMX.
  • Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° прилоТСния Π² Docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.
  • Π”Π΅ΠΏΠ»ΠΎΠΉ Π² Kubernetes – настройка ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния, сСкрСтов, сСтСвых ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

Автор рассылки: ΠΠ°Ρ‚Π°Π»ΡŒΡ Кайда

55
2 коммСнтария

Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΡ€Π°Π²Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ 😏😏

1
ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ