Po pěti letech jsem vydal jednu z částí původního balíku PoorHttp, PoorWSGI. Jde o lehký WSGI konektor, který řeší obsluhu url a základní práci s požadavkem. Za dobu pěti let se velmi změnil, i když záměr zůstal stejný. Co bude dál ?
Proč jsem se rozhodl psát vlastní WSGI konektor, nebo chcete-li framework jsem psal již mnohokrát. V každém případě, ať už se na to každý dívá jakkoliv kriticky, ten projekt mě dal hodně. Naučil sem se díky němu mnoho z jazyka Python. Pročítal jsem několik PEP specifikací a několik RFC dokumentů, abych správně implementoval různé funkcionality. A naučil jsem se vlastně i díky němu něco z marketingu, viz Jaké to je propagovat vlastní projekt ?. Práce na PoorWSGI mi přinesla mnoho a podle statistik webu se zdá, že i když jsem verzi neprohlásil za stabilní, lidé jej zřejmě začali používat. No uvidíme jaká čísla budou na pypi za měsíc.
Stejně jako v případě Jinja24doc, kterou průběžně používám, tudíž testuji a tedy nalézám chyby, nebo chybějící funkčnost, je PoorWSGI jedním z nástrojů, jenž aktivně využívám ve svých projektech. A sám tedy potřebuji, aby byl projekt stabilní a funkční. Bohužel zatím se ke mně mnoho feedbacku nedostalo. A ten co dostal, se netýkal kódu, ale prezentace, resp. angličtiny, nebo jiných „maličkostí“. I za takové reakce jsem rád, ale to že mi nechodí bug-reporty neznamená, že kód je bezchybný, i když myslím že dobře otestovaný je.
Vedle běžných oprav, mám v záloze ještě nějaké ty maličkosti, které možná časem připíšu, i když pravdou je, že zejména proto, aby projekt nevypadal mrtvý. S výsledkem jsem totiž spokojen, podoba API i funkčnost mě přijde dostačující. Pokud něco bude mě, nebo nějakému uživateli chybět, určitě konektor doplním. Tedy, pokud to nebude porušovat jeho koncept ;)
PoorHttp se ale skládá ze čtyř jednotlivých projektů a jen dva jsou ve veřejné, stable verzi na pypi.
I když sám nakonec PoorHTTP nepoužívám, přemýšlím, že alespoň na jednom projektu jej využiji, minimálně proto, abych jej řádně otestoval. Nicméně čas od času je i pro mě PoorHTTP dobrá náhrada za uWsgi. A přeci jen se chystám na platformu OpenWRT, kde asi uWsgi není. Server se zdá být v dobré kondici, chybí jen pořádné zátěžové otestování, úklid setup.py a hlavně dokumentace. PoorHTTP je tedy další pán na holení, který bude zřejmě brzy následovat PoorWSGI a Jinja24doc.
Pokud o PoorHTTP pochybujete, věřte, že nejde o jedinou implementaci WSGI serveru v Pythonu. Asi bych si netroufl jej nasadit bez proxy serveru do provozu, ale jde spíš o mou technologickou paranoiu, než o relevantní důvody. To co je vlastně mé dílo, je jen obal okolo standardního WSGI serveru, který je konfigurovatelný, loguje do souborů a umí switchovat uživatele.
PoorPublisher je taková černá ovce rodiny, kterou jsem si myslel že nechám bez povšimnutí, leda by náhodou někdo fakt moc prosil. Jde o původní implementaci PoorWSGI dispatch tabulky pro mod_python. Vlastně PoorPublisher tu byl dřív než PoorWSGI nebo PoorHTTP. Sám jej dokonce na jednom projektu aktivně používám, ale také to je projekt, který mám v hledáčku na přepsání téměř od základu :)
Zdá se ale, že mod_python prošel reinkarnací a má se čile k světu. Nezkoumal jsem důvody, proč se to tak stalo, ale zřejmě jej používá mnoho projektů, a je snazší přepsat / dopsat / opravit mod_python než všechny ty samotné projekty. A možná právě proto, že mod_python žije, dostane se zřejmě i na PoorPublisher. Ono, ruku na srdce, hostovat Python aplikace tak, jako PHP prostě nejde, leda přes mod_python. Nechci zde proto slibovat, ale pokud mi to čas dovolí a zvědavost vydrží, dotáhnu API PoorPublisheru na PoorWSGI, aby pak mohl uživatel v podstatě velmi snadno zaměnit mod_python za samostatný server, nebo naopak.
S tímto a ještě jedním projektem jsem zároveň započal pokus. Facebook nepoužívaje, vytvořil jsem dvě projektové stránky, z toho jednu právě PoorHttp. A za rok uvidíme, zda to bude mít vůbec smysl. Pokud ne, zůstane uživatelům pouze fórum na SourceForge.Net, které je však zatím úplně prázdné, vlastně nikdo nic nechce, žádný problém zdá se nemá.
© 2023 Ondřej Tůma McBig. Ondřej Tůma | Based on: Morias | Twitter: mcbig_cz | RSS: články, twitter