Server
Bez diskuse Google AppEngine v Python verzi. Ne, že by to byla zase taková pecka, ale většinou je to požadavek zákazníka. Ovšem pecka je náš GAP a GAPI.
GAP
GAP je naše odpověď na to, že AppEngine neví, co to je virtualenv. AppEngine dokonce ani neví, co to je PIP. To naše pythonáře trochu (víc) zaskočilo, ale naštěstí Robin dal rychle dohromady náhradu. Jak funguje? Takhle:
workon <myvirtualenv>
pip install gap
gap start-project <applicationid>
cd <applicationid>
vi requirements.gip
bin/gip install -r requirements.gip
Každý, kdo někdy dělal s virtualenv v Pythonu se zorientuje relativně rychle - jen místo pip install
napíše bin/gip install
a GAP se postará o stažení knihoven a jejich nalinkování do adresáře se zdrojákama. Závislosti se ukládají do requirements.gip
(místo requirements.pip
) a svět je zase veselejší místo k životu. GAP nám umožnil mít pořádek v knihovnách jednotlivých projektů a nezas*rat si instalaci Pythonu.
GAPI
Další náš příspěvek světu je GAPI – mimochodem na originálních názvech GAP/GAPI je vidět, že jsme především programátoři. Copywritera aby člověk pohledal… Takže GAPI. Rozhraní (API) Google služeb je navržené šikovně, ale knihovna pro Python, která ho implementuje, už je na tom hůř. O dost. GAPI umí navíc:
- cachovat autorizační tokeny
- dávkové requesty
- opakovat requesty v případě chyby
- stránkovat odpovědi
- a běží v pohodě na AppEngine
Ke GAPu patří i další rozšíření jako GAP-Resources, GAP-Angular (to jsem psal já!) a GAP-DatastoreAdmin, ale o těch až jindy.