# Python

> Selected Engineer ApS work demonstrating Python — the achievements that prove it.

- [Automated GIS SaaS application deployment, data processing, and reporting system using GitHub Actions CI/CD, Python, Bash, and SQL.](https://platform.engineer.company/portfolio/automated-gis-saas-application-deployment-data-processing-and-16/)
- [Automated 100 critical data backups using Barman, Google Cloud, Bash, and Python, ensuring data integrity across databases.](https://platform.engineer.company/portfolio/automated-100-critical-data-backups-using-barman-google-18/)
- [Streamlined data analysis and software development processes, saving 4,000 hours by introducing GitHub, GitLab, Bash, and Python CI/CD practices.](https://platform.engineer.company/portfolio/streamlined-data-analysis-and-software-development-processes-saving-43/)
- [Automated data processing tasks using Shell scripting, PL/pgSQL, Python, and Transact‑SQL, increasing productivity and efficiency.](https://platform.engineer.company/portfolio/automated-data-processing-tasks-using-shell-scripting-pl-45/)
- [Reconciled a 20‑record DNS zone declaratively against the Cloudflare API with separate audit and BIND‑export entry points, and turned the CDN proxy back off on privacy grounds after building it.](https://platform.engineer.company/portfolio/reconciled-a-dns-zone-declaratively-118/)
- [Automated the provisioning of a second server on a second cloud provider, creating the firewall before the machine so it is born behind one, with both providers' firewalls written directly against their REST APIs to avoid a third‑party collection.](https://platform.engineer.company/portfolio/provisioned-a-second-server-from-code-123/)
- [Built a commit gate of 22 one‑line linters plus five that earn a paragraph, with no warning tier and no inline suppressions permitted, covering HTML, CSS, JavaScript, Python, YAML, Markdown, shell, links, spelling, secrets and typography.](https://platform.engineer.company/portfolio/built-a-22-linter-commit-gate-127/)
- [Cut the site's browser‑driven quality gate from 1,636 seconds to 615 by scheduling its checks longest‑first through a worker pool bounded to four lanes, after measuring that alphabetical order cost 320 seconds against 224.](https://platform.engineer.company/portfolio/cut-the-visual-quality-gate-to-ten-minutes-128/)
- [Fixed a sitemap where 172 of 176 URLs shared one modification timestamp, by taking the date from git history after establishing that the export rewrites every file on every run.](https://platform.engineer.company/portfolio/fixed-a-sitemap-with-one-shared-timestamp-140/)
- [Brought 10,242 lines of quality‑gate JavaScript under a formatter and a linter after establishing it was the largest body of code in the repository and the only one nothing read, fixing 13 findings and suppressing none.](https://platform.engineer.company/portfolio/brought-the-quality-gate-code-under-a-linter-143/)
- [Held the generator to 981 test cases at a 92% branch‑coverage floor with warnings treated as failures, and asserted idempotence by running the whole build pipeline twice from an empty file and requiring the second pass to change nothing.](https://platform.engineer.company/portfolio/held-the-generator-to-964-tests-and-a-coverage-floor-145/)
- [Selected every rule the Python linter has as an error, working through 1,815 findings to reach zero, with each of the few exemptions carrying a written reason and two of them backed by a checker instead of a comment.](https://platform.engineer.company/portfolio/enabled-every-python-linter-rule-as-an-error-147/)
- [Wrote tests for the checkers themselves after establishing that a checker fed only clean input will one day report clean because it read nothing — planting a misspelling to confirm the spell‑check finds it, and taking an id range from the database rather than from a number in the test.](https://platform.engineer.company/portfolio/wrote-tests-for-the-checkers-themselves-149/)
- [Found the commit hooks and the quality gate running different checks while a document promised they were the same, by comparing the two lists in a test — the five that only ever ran by hand were the ones reading the CV prose.](https://platform.engineer.company/portfolio/found-the-commit-hooks-and-the-gate-disagreeing-150/)
- [Rehearsed the forge‑side CI hook and found two defects unreachable by reading the file: a fallback that put an unresolvable argument on the hook's input, and git's own environment variable following the gate into the checkout and turning 19 tests red.](https://platform.engineer.company/portfolio/rehearsed-the-forge-side-ci-hook-151/)

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