# Python

> Utvalt arbete från Engineer ApS som visar Python — resultaten som bevisar det.

- [Byggde en pipeline som aggregerar elförbrukning per timme i Python / SQL / Bash + Jq och nådde 180 ms för datamängder på 30 dagar från heterogena JSONL‑källor.](https://engineer.company/sv/portfolio/engineered-hourly-electricity-consumption-aggregation-pipeline-in-python-4/)
- [Utformade, implementerade och administrerade 6 ETL/ELT‑pipelines med Google BigQuery, MSSQL, PostgreSQL, Shell‑skript, PL/pgSQL och Transact‑SQL och integrerade data för effektiv bearbetning i ett Python‑API.](https://engineer.company/sv/portfolio/designed-implemented-and-administered-6-etl-elt-pipelines-8/)
- [Levererade 8 Power BI‑projekt med utförliga handböcker och integrerade Microsoft Power BI‑verktygen med ett NodeJS‑API och Python FastAPI för effektiv dataanalys och visualisering.](https://engineer.company/sv/portfolio/delivered-8-power-bi-projects-with-comprehensive-manuals-10/)
- [Automatiserade driftsättningen av en GIS‑applikation som SaaS, databearbetningen och rapporteringssystemet med GitHub Actions CI/CD, Python, Bash och SQL.](https://engineer.company/sv/portfolio/automated-gis-saas-application-deployment-data-processing-and-16/)
- [Automatiserade 100 kritiska säkerhetskopior av data med Barman, Google Cloud, Bash och Python och säkerställde dataintegriteten i samtliga databaser.](https://engineer.company/sv/portfolio/automated-100-critical-data-backups-using-barman-google-18/)
- [Ledde utveckling, driftsättning och support av över 30 GIS‑projekt och visade expertis inom PostgreSQL, Bash, Python, JavaScript, GDAL, ArcGIS, PostGIS och Mapbox.](https://engineer.company/sv/portfolio/led-the-development-deployment-and-support-of-over-35/)
- [Effektiviserade processerna för dataanalys och mjukvaruutveckling och sparade 4 000 timmar genom att införa CI/CD‑arbetssätt med GitHub, GitLab, Bash och Python.](https://engineer.company/sv/portfolio/streamlined-data-analysis-and-software-development-processes-saving-43/)
- [Utvecklade ett rapportsystem för dataanalys som ökade de kvartalsvisa mjukvaruintäkterna med 400 % genom Python‑baserade PDF‑rapporter.](https://engineer.company/sv/portfolio/developed-a-data-analytics-reporting-system-increasing-quarterly-44/)
- [Automatiserade uppgifter inom databearbetning med Shell‑skript, PL/pgSQL, Python och Transact‑SQL och ökade produktiviteten och effektiviteten.](https://engineer.company/sv/portfolio/automated-data-processing-tasks-using-shell-scripting-pl-45/)
- [Utvecklade 100 webbapplikationer med HTML/HTML5, CSS/SCSS och ramverken Django, WordPress och Joomla och säkerställde en mångsidig närvaro på nätet.](https://engineer.company/sv/portfolio/developed-100-web-applications-using-html-html5-css-51/)
- [Utvecklade och underhöll Django‑webbapplikationer för IPTV‑plattformen, levererade nya funktioner och förbättrade prestanda och stabilitet.](https://engineer.company/sv/portfolio/developed-and-maintained-django-web-applications-for-the-84/)
- [Stämde av en DNS‑zon med 20 poster deklarativt mot Cloudflare‑API:t med separata ingångar för granskning och BIND‑export, och stängde av CDN‑proxyn igen av integritetsskäl efter att ha byggt den.](https://engineer.company/sv/portfolio/reconciled-a-dns-zone-declaratively-118/)
- [Automatiserade provisioneringen av en andra server hos en andra molnleverantör och skapade brandväggen före maskinen så att den föds bakom en, med båda leverantörernas brandväggar skrivna direkt mot deras REST‑API:er för att undvika en collection från tredje part.](https://engineer.company/sv/portfolio/provisioned-a-second-server-from-code-123/)
- [Byggde en commit‑grind med 22 linters på en rad var plus fem som förtjänar ett eget stycke, utan varningsnivå och utan tillåtna inline‑undantag, som täcker HTML, CSS, JavaScript, Python, YAML, Markdown, shell, länkar, stavning, hemligheter och typografi.](https://engineer.company/sv/portfolio/built-a-22-linter-commit-gate-127/)
- [Kortade webbplatsens webbläsarstyrda kvalitetsgrind från 1 636 sekunder till 615 genom att schemalägga kontrollerna med den längsta först i en workerpool begränsad till fyra spår, efter att ha mätt att alfabetisk ordning kostade 320 sekunder mot 224.](https://engineer.company/sv/portfolio/cut-the-visual-quality-gate-to-ten-minutes-128/)
- [Genererade 495 resultatsidor på tre språk från en skrivskyddad SQLite‑export, med sidadressen angiven som data så att en rättad mening inte längre flyttade sidan och bröt länken.](https://engineer.company/sv/portfolio/generated-321-achievement-pages-from-a-sqlite-export-132/)
- [Rättade en sitemap där 172 av 176 URL:er delade samma ändringstidsstämpel genom att hämta datumet ur git‑historiken, efter att ha konstaterat att exporten skriver om varje fil vid varje körning.](https://engineer.company/sv/portfolio/fixed-a-sitemap-with-one-shared-timestamp-140/)
- [Satte dokumentationen under en egen linter — en radbudget per fil som bara kan skruvas nedåt, ett krav på index och en kontroll av verkliga sökvägar — som hittade sex av nio planer markerade som klara trots okryssade rutor, och fjorton commit‑spärrande uppgifter som inget dokument nämnde.](https://engineer.company/sv/portfolio/put-the-documentation-under-its-own-linter-142/)
- [Förde in 10 242 rader JavaScript för kvalitetsgrinden under en formaterare och en linter efter att ha konstaterat att det var den största kodmassan i repot och den enda som inget läste, och åtgärdade 13 fynd utan att undertrycka något.](https://engineer.company/sv/portfolio/brought-the-quality-gate-code-under-a-linter-143/)
- [Byggde en databasdriven generator för CV, referenser, portfolio och personliga brev i Python — 41 moduler, 10 580 rader — som renderar sex utdataformat från en SQLite‑källa med 23 tabeller, sammanställd av en idempotent pipeline i 19 steg.](https://engineer.company/sv/portfolio/built-a-database-driven-cv-and-portfolio-generator-144/)
- [Krävde 981 testfall och minst 92 % grentäckning av generatorn, med varningar behandlade som fel, och säkerställde idempotens genom att köra hela byggpipelinen två gånger från en tom fil och kräva att den andra körningen inte ändrade något.](https://engineer.company/sv/portfolio/held-the-generator-to-964-tests-and-a-coverage-floor-145/)
- [Etablerade PDF/UA‑1‑överensstämmelse i nio dokument med 106 av 106 regler, och upptäckte att arkivvarianten föll på en regel av 146 — ett knappt underkännande som ser ut som godkänt för den som inte kör valideraren.](https://engineer.company/sv/portfolio/established-pdf-ua-1-conformance-across-nine-documents-146/)
- [Aktiverade varje regel i Python‑lintern på felnivå och arbetade igenom 1 815 fynd ned till noll, där vart och ett av de få undantagen har ett skriftligt skäl och två av dem backas upp av en kontroll i stället för en kommentar.](https://engineer.company/sv/portfolio/enabled-every-python-linter-rule-as-an-error-147/)
- [Byggde in en QR‑kodare — Reed‑Solomon över GF(256), fast modullayout, åtta maskmönster — på 522 rader i stället för att ta in ett tredje körtidsberoende, och verifierade den genom att läsa tillbaka den färdiga matrisen med en oberoende skriven avkodare.](https://engineer.company/sv/portfolio/vendored-a-qr-encoder-in-522-lines-148/)
- [Skrev tester för själva kontrollerna efter att ha konstaterat att en kontroll som bara matas med felfri indata en dag rapporterar felfritt för att den inte läste något — lade in en avsiktlig felstavning för att bekräfta att stavningskontrollen hittar den och hämtade ett id‑intervall från databasen i stället för från ett tal i testet.](https://engineer.company/sv/portfolio/wrote-tests-for-the-checkers-themselves-149/)
- [Upptäckte att commit‑hookarna och kvalitetsgrinden körde olika kontroller medan ett dokument lovade att de var desamma, genom att jämföra de två listorna i ett test — de fem som bara någonsin kördes för hand var just de som läste CV‑texten.](https://engineer.company/sv/portfolio/found-the-commit-hooks-and-the-gate-disagreeing-150/)
- [Repeterade CI‑hooken på forge‑sidan och hittade två fel som inte gick att se genom att läsa filen: en reservväg som lade ett argument som inte gick att lösa upp i hookens indata, och en miljövariabel från git själv som följde med grinden in i utcheckningen och gjorde 19 tester röda.](https://engineer.company/sv/portfolio/rehearsed-the-forge-side-ci-hook-151/)
- [Flyttade varje sträng som användarna ser ut ur Python till ett innehållsträd med 874 filer på tre språk, efter att ha hittat döda översättningar som ingen kunde se var döda och en kontroll som i tysthet bedömde en tredjedel av resultaten.](https://engineer.company/sv/portfolio/moved-every-user-facing-string-into-a-content-tree-152/)
- [Byggde en innehållskontroll mellan språken som fäller när en översättning tappar en siffra som den engelska texten anger, och när ett språk använder en notation som det inte använder — och hittade två danska beskrivningar som saknade ett mätvärde och sexton ukrainska textavsnitt som citerade på engelskt sätt.](https://engineer.company/sv/portfolio/built-a-cross-language-figure-and-notation-check-153/)
- [Mätte tretton adresser enbart utifrån webbserverns egen åtkomstlogg — ingen cookie, ingen spårare och ingen tjänst från tredje part — maskerade klientens nätverk när varje rad skrivs och förde in resultatet i ett permanent arkiv med 21 dagliga räkningar och 20 månatliga fasetter.](https://engineer.company/sv/portfolio/measured-thirteen-addresses-from-the-access-log-alone-166/)
- [Fick sex rapporterande insamlare att ange den del av sin indata som de aldrig läste — filer som förblev stängda, sonder som inte installerats, journalrader som inte kändes igen — och anpassade tröskelvärden till 116 mätningar, efter att ha konstaterat att en blind insamling och en värd i gott skick ger samma sida.](https://engineer.company/sv/portfolio/made-six-collectors-state-what-they-never-read-167/)

<https://engineer.company/sv/categories/python/>
