
Type Server Protocol (TSP) është një protokoll JSON-RPC për marrjen e të dhënave të analizës së tipeve në Python. Serveri ruan gjendjen e analizës për një hapësirë pune dhe u përgjigjet kërkesave për versionin e protokollit, pamjet e gjendjes, shtigjet e kërkimit në Python, zgjidhjen e importeve dhe tipet e llogaritura, të deklaruara ose të pritshme.
TSP përdor struktura dhe konventa të Language Server Protocol (LSP), si Position dhe Range, ndërsa metodat kanë prefiksin typeServer/. Për pajtueshmërinë klient–server përdoren versione semantike: në serinë 0.x, ndryshimet e versionit minor mund të prishin pajtueshmërinë, ndërsa përditësimet patch mbeten të pajtueshme brenda së njëjtës linjë minor.
Klienti nis serverin dhe komunikon përmes një lidhjeje kryesore JSON-RPC, me transport si stdio ose Node IPC. Kur përdoret stdio, stdout rezervohet për mesazhet e protokollit. Inicializimi dhe sinkronizimi i dokumenteve zakonisht kryhen përmes LSP në të njëjtën lidhje.
Protokolli mbështet edhe lidhje shtesë vetëm për lexim, për kërkesa paralele pa bllokuar lidhjen kryesore, e cila kontrollon gjendjen e ndryshueshme. Ky funksion është opsional dhe aktivizohet vetëm kur të dyja palët deklarojnë mbështetje dhe kanë një transport të përbashkët. Transporti i integruar i mbështetur për këto lidhje është ipc; hapja dhe mbyllja kërkohen me typeServer/connection në lidhjen kryesore. Serveri duhet të funksionojë saktë edhe me vetëm një lidhje.
Burimi: Hacker News — lexoni artikullin e plotë në anglisht.

