Skip to content

odense-rpa/stil-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

stil-client

Python-klientbibliotek til STIL UniLogin-webservicen, der giver maskintypad adgang til institutionsdata (elever, medarbejdere og grupper) via SOAP.

Denne klient er ikke officielt støttet eller godkendt af STIL (Styrelsen for IT og Læring). Brug på eget ansvar.

Nuværende funktionalitet

  • Autentificering mod STIL UniLogin SOAP-webservicen via Basic Auth
  • Hentning af fuld institutionseksport (eksporterXmlFuldMyndighed) for et givent institutionsnummer
  • Parsing af SOAP XML-svar til typede Python-dataklasser:
    • Elev (elev inkl. CPR, adresse og tilknyttede værger)
    • Medarbejder (medarbejder inkl. kontaktoplysninger)
    • Gruppe (gruppe med medlemslister)
    • Vaerge (værge/forældrerepr. med juridisk forældremyndighed)
  • HTTP-primitiver (GET, POST, PUT, DELETE samt SOAP POST) via StilClient med automatisk response-logging
  • Lazy-loadede under-klienter via StilClientManager-facaden (designet til fremtidig udvidelse)

Installation

uv add git+https://github.com/odense-rpa/stil-client

Forudsætninger

  • Python ≥ 3.13
  • Adgang til STIL UniLogin SOAP-webservicen samt gyldige legitimationsoplysninger

Konfiguration

Følgende miljøvariabler skal sættes (f.eks. via .env):

Variabel Beskrivelse
BASE_URL URL til STIL UniLogin SOAP-webservicen
USERNAME Brugernavn til webservicen
PASSWORD Adgangskode til webservicen

Brug

from dotenv import load_dotenv
import os
from stil_client import StilClientManager

load_dotenv()

manager = StilClientManager(
    base_url=os.environ["BASE_URL"],
    username=os.environ["USERNAME"],
    password=os.environ["PASSWORD"],
)

institution = manager.institutioner.hent_institution("12345")

for elev in institution.elever:
    print(elev.navn, elev.cpr)

for medarbejder in institution.medarbejdere:
    print(medarbejder.navn)

GDPR og sikkerhed

Biblioteket håndterer særligt følsomme personoplysninger for elever og medarbejdere ved danske uddannelsesinstitutioner, herunder CPR-numre, fulde navne, hjemmeadresser, postnumre, køn, e-mailadresser, telefonnumre samt oplysninger om forældrerepr. og juridisk forældremyndighed. Data hentes direkte fra STIL og må udelukkende behandles i overensstemmelse med gældende databeskyttelseslovgivning (GDPR).

Licens

MIT

About

No description or website provided.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages