Framework Bottle pro Python

Framework Bottle pro Python
« kdy: 04. 01. 2025, 22:24:47 »
Mátě někdo zkušenosti s Bottle frameworkem? Používám Flask, ale mám k němu nějaké výhrady, jako např. pochybnosti o nutnosti mít všechno přes plugin, zejména SQL Alchemy.

U SQL Aclhemy si pamatuju, že plugin zrovna nefungoval, protože měl nějaké issue, takže jsem si tam dal to SQL Alchemy stejně ručně.

Dále se mi nelíbí nějaké věci, co jsou udělané Flask-way, jako třeba že když z restu vrátím Dictionary, tak nevím kterou chytrou hlavu napadlo, že Flask implicitně převádí datetime na nějaký pofiderní imperiální textový formát namísto ISO. A nebere mi můj custom JSON encoder, nevím proč, už se mi to nechce řešit.

Potom se mi nelíbí, že pro errory implicitně vrací HTML stránku a nikoliv json, určitě to jde změnit, ale prostě štve mě to že se to tak implicitně chová, navíc je to archaická věc.

A další drobnosti, jako třeba že mi stejně nefunguje life reload a musel jsem ho vypnout, protože nějaký chytrák udělal plugin pro scheduler jobů, kterému se pak v průběhu life reload joby načtou 2x a tak se i spouští 2x. Atd.

Prostě Flask obsahuje implicitní chytristiky, které si říkám, že bych raději neměl a pluginy, které mi do této chvíle asi způsobily víc problému než užitku, protože nejsou napsané pořádně. Dále pokud vím tak flask obsahuje v sobě nějaký serverside rendering framework, což mi přijde opět poněkud úsměvné - v Pythonu je takový blbý zvyk dělat do-it-all knihovny a je v tom v podstatě horší než Java.
« Poslední změna: 04. 01. 2025, 22:28:14 od registrovany123 »


Re:Framework Bottle pro Python
« Odpověď #1 kdy: 04. 01. 2025, 23:47:54 »
ja jsem flask zkousel jen tak povrchne, ale nechapu proc by mel vsecko delat jeden framework/knihovna?!
jednu knihovnu (flask) jako webovy router, na db sql zase jiny, na datumy zase neco, na json zase neco jineho.

sel bych po samostatnych knhovnach, ktere delaji samy dobre co maji a delaji jednu vec.
a pak bych si je integroval do svych trid a teprve nad nimi delal nejakou vyssi logiku.

Re:Framework Bottle pro Python
« Odpověď #2 kdy: 05. 01. 2025, 00:42:34 »
Flask je na to svoje konkretni pouziti super.
Robustnejsi projekt, Django ne?

A co ti neslo na SQLalchemy, kdyz se s tim naucis tak se s tim pracuje super. Nebo co pouzivas jako alternativu? SQL query co si slozis z textu, nebo co? :)

CPU

  • *****
  • 1 006
    • Zobrazit profil
    • E-mail
Re:Framework Bottle pro Python
« Odpověď #3 kdy: 05. 01. 2025, 01:45:40 »
Vážně to považujete za bezpečné v produkci a přístupné rovnou z webu?

Re:Framework Bottle pro Python
« Odpověď #4 kdy: 05. 01. 2025, 06:08:12 »
Dneska všechny cool děcka používají FastAPI. Taky toho podle mě dělá trochu víc, než by web framework měl (snaží se například řešit dependency injection, ale dost nešťastně), ale třeba by byl pro tvoje potřeby OK.


Re:Framework Bottle pro Python
« Odpověď #5 kdy: 24. 01. 2025, 17:34:23 »
Dneska všechny cool děcka používají FastAPI. Taky toho podle mě dělá trochu víc, než by web framework měl (snaží se například řešit dependency injection, ale dost nešťastně), ale třeba by byl pro tvoje potřeby OK.

Potvrzuji, používám FastAPI a jsem velmi cool. "Depends" mám akorát pro HTTPBearer (přihlašovací tokeny), takže o (ne)šťastnosti této funkce ve FastAPI moc nevím. Akorát pro SQL používá FastAPI knihovnu "sqlmodel", který staví na SQLAlchemy a ta mi přišla hodně kostrbatá, byla nahrazen pomocí "psycopg2". Jiné divné chování nepozoruji.

Re:Framework Bottle pro Python
« Odpověď #6 kdy: 28. 02. 2025, 13:57:06 »
Bootle máme použitý v rámci jednoho malého projektíku made by PyLadies.
Dělá nám co potřebujeme takže za nás OK, ale je vidět, že to není nic robustního, ani tam nemíří.

Podle toho popisu problému mě nenapadá co doporučit.
Možná Hug?

Re:Framework Bottle pro Python
« Odpověď #7 kdy: 01. 03. 2025, 18:44:36 »
Vážně to považujete za bezpečné v produkci a přístupné rovnou z webu?

Není to bezpečné v produkci pro korporaci, ani Flask není, ale v mojí osobní produkci, když si něco dělám, je to více než bezpečné. Jde vidět, že sis doma ještě nikdy nic nevyráběl, protože neznáš jeden trik. Tak třeba někdy poznáš.

Asi není moc co jiného doporučit, prostě v Pythonu je Flask, Django a Bottle, není co doporučovat. A na ten Bottle jsem se právě tady ptal, jestli je v pohodě. Tak nezbývá, než to někdy vyzkoušet.

CPU

  • *****
  • 1 006
    • Zobrazit profil
    • E-mail
Re:Framework Bottle pro Python
« Odpověď #8 kdy: 01. 03. 2025, 19:29:28 »

Já je znám a pro domácí srágorkování používám, protože Jinja2 je kompatibilní s mojí leností.
Ale nestrkám to přímo do netu.
Nicméně mám projekty, které potřebuji vystrčit do netu a tam si s tím může hrát každej pochybnej "Chmod", tak mě zajímalo, jestli má někdo odvahu to vyšpulit do internetu jako veřejnou apku. Protože kde je vyšpulíno, tam je dovolíno  :P
« Poslední změna: 01. 03. 2025, 19:31:17 od CPU »

Re:Framework Bottle pro Python
« Odpověď #9 kdy: 02. 03. 2025, 13:18:10 »
Kdyz to das na Rosti.cz, tak to mas schovane za Gunicorn a za Nginx.

Re:Framework Bottle pro Python
« Odpověď #10 kdy: 03. 03. 2025, 13:35:08 »
Bottle momentálně nepoužívám, ale používal jsem ho víc jak 5 let na hostování mého webu a blogu, a taky k několika REST endpointům. Poslední dobou používám všude Flask, převážně protože jsem s ním později dělal v práci víc a zvykl jsem si na něj.

Nevím moc co o Bottle říkat, ten kód je jednoduchý (4563 řádek v jednom souboru), což je sice na jednu stranu výhoda (já jsem se v tom hodně hrabal a dělal třeba s introspekcí automaticky generované UI pro REST), na druhou stranu mi přijde že to dneska skoro nikdo nepoužívá a jakmile budeš chtít něco složitějšího, tak smůla, vyrob si sám. To mě časem přestalo bavit.

Dále se mi nelíbí nějaké věci, co jsou udělané Flask-way, jako třeba že když z restu vrátím Dictionary, tak nevím kterou chytrou hlavu napadlo, že Flask implicitně převádí datetime na nějaký pofiderní imperiální textový formát namísto ISO. A nebere mi můj custom JSON encoder, nevím proč, už se mi to nechce řešit.

Potom se mi nelíbí, že pro errory implicitně vrací HTML stránku a nikoliv json, určitě to jde změnit, ale prostě štve mě to že se to tak implicitně chová, navíc je to archaická věc.

A další drobnosti, jako třeba že mi stejně nefunguje life reload a musel jsem ho vypnout, protože nějaký chytrák udělal plugin pro scheduler jobů, kterému se pak v průběhu life reload joby načtou 2x a tak se i spouští 2x. Atd.

Ty první dvě věci jsou triviálně řešitelné. Jinak proč by měla být HTML stránka archaická věc?

To poslední zní jako problém dementního pluginu.

Dále pokud vím tak flask obsahuje v sobě nějaký serverside rendering framework, což mi přijde opět poněkud úsměvné - v Pythonu je takový blbý zvyk dělat do-it-all knihovny a je v tom v podstatě horší než Java.

Ses posral, ne? Dělal jsi někdy v Javě web?

Flask závisí na Jinje. To je doslova opak do-it-all.

Vážně to považujete za bezpečné v produkci a přístupné rovnou z webu?

Ano. Nevidím proč by v tom měl být problém. Dělal jsem v několika firmách, kde na tom jela a jede dodneška spousta věcí.

Re:Framework Bottle pro Python
« Odpověď #11 kdy: 03. 03. 2025, 13:56:18 »
Kde (v síti) to provozuješ? Na routeru, ws, nebo izolované krabičce,v Dmz?
Vážně to považujete za bezpečné v produkci a přístupné rovnou z webu?

Jde vidět, že sis doma ještě nikdy nic nevyráběl, protože neznáš jeden trik. Tak třeba někdy poznáš.

Jaký trik nezná ten Ital?


cpu:
Co je špatné, na co narážíš? (2 příspévky : "Vážně...?" a  odvahu...srágorky)

Napadá mě jen ty možné infikované balíčky,závislosti( týkalo se konkrétně nodejs)
A co myslíš to chmodisti?

Re:Framework Bottle pro Python
« Odpověď #12 kdy: 03. 03. 2025, 16:01:30 »

Já je znám a pro domácí srágorkování používám, protože Jinja2 je kompatibilní s mojí leností.
Ale nestrkám to přímo do netu.
Nicméně mám projekty, které potřebuji vystrčit do netu a tam si s tím může hrát každej pochybnej "Chmod", tak mě zajímalo, jestli má někdo odvahu to vyšpulit do internetu jako veřejnou apku. Protože kde je vyšpulíno, tam je dovolíno  :P

Na Flasku bezi plno stranek v produkci, co tim myslis, vysvetli.

CPU

  • *****
  • 1 006
    • Zobrazit profil
    • E-mail
Re:Framework Bottle pro Python
« Odpověď #13 kdy: 03. 03. 2025, 16:19:36 »

Python2 byl beznadějně děravý, byla toho hromada i tam, kde to člověk vůbec nečekal a něco z toho nebylo možné spravit. Už třeba jen vyhodnocení == jak se provádělo  ;D

Python3 je úplně jiná story, ale protože mě Python2 celkem hodně vyškolil, pořád v něj nemám důvěru.