Du har sikkert allerede forsøgt at automatisere Cisco-infrastruktur, og du er sandsynligvis stødt på de samme problemer som os: inkonsistente SDK’er, besværlige autentificeringsflows og alt for meget tid brugt på at oversætte API-dokumentation til brugbar kode.
Vi lavede wingpy for at løse det.
Er du træt af at opfinde den dybe tallerken, hver gang du arbejder med en ny Cisco-platform?
Problemet: for mange SDKer og for lidt konsistens
Ciscos API’er er kapable og forholdsvis omfattende, men ikke altid ligefrem udviklervenlige. Hver platform (ISE, FMC osv.) har sit eget SDK – eller værre, intet SDK overhovedet. Selv når de findes, har de ofte følgende problemer:
- Kræver manuel token-håndtering
- Mangler async-understøttelse
- Følger ikke konsistente mønstre
- Er tæt koblet til specifikke versioner eller platforme
Det er fint til engangsscripts. Men hvis du bygger genanvendelig automatisering eller integrerer i et større system, bliver det hurtigt rodet. Prøv bare at se tabellen her, som er et eksempel på nogle af de forskelle der er, og det er ikke engang et komplet overblik over platforme som wingpy allerede understøtter.

Billedet viser de forskelle, der er mellem Cisco-systemer, men det er totalt overflødigt, hvis du bruger wingpy.
Hvad wingpy gør anderledes
Wingpy er et open source Python-bibliotek, der pakker Cisco API’er ind i et konsistent, modulært og udviklervenligt interface. Det er bygget oven på httpx, understøtter både synkrone og asynkrone workflows og abstraherer boilerplate koden – som f.eks. autentificering, sidehåndtering, token-fornyelse, backoff og parallel eksekvering.
Her er et eksempel på, hvordan det ser ud i praksis:

Hov! {domainUUID}??
Wingpy erstatter den automatisk. Du kan kopiere stier direkte fra Ciscos API-dokumentation, og de vil ofte fungere uden ændringer.
(Du kan kopiere koden direkte herfra).
Bygget til Udviklere
- Konsistente signaturer: Uanset om du kalder get(), post() eller get_all(), er interfacet forudsigeligt.
- Async-klar: Bygget på httpx, så du kan skalere med async hvis nødvendigt.
- Skalerbart: Du kan subclass’e eller wrappe klienterne til din egen arkitektur.
Vi har også gjort det let – ingen tunge afhængigheder, ingen frameworks. Bare ren, komponerbar Python.
Open source med rammer
Wingpy er open source og tilgængelig på PyPI og GitHub, men med et fokuseret scope. Selvom kildekoden og dokumentationen er offentlige, er vores interne test-suite og CI/CD pipelines (hostet i Azure DevOps) ikke. Vi accepterer i øjeblikket ikke eksterne bidrag, men vi modtager gerne fejlrapporter og feedback via GitHub issues.
Det hjælper os med at opretholde kvalitet og konsistens, samtidig med at vi giver fællesskabet et pålideligt værktøj at bygge videre på.
Vi har gjort os umage med dokumentationen, hvor du kan læse tilpassede brugervejledninger og API-referencer. Uanset om du skriver et hurtigt script eller bygger en fuld automatiseringspipeline, er wingpy udviklet for at gøre dit liv lidt lettere.