{"id":16507800,"url":"https://github.com/noahgift/python-for-devops-april-2022","last_synced_at":"2025-04-09T09:07:16.747Z","repository":{"id":49767384,"uuid":"481150659","full_name":"noahgift/python-for-devops-april-2022","owner":"noahgift","description":"This is a new repository for Python for DevOps Lecture/Workshop","archived":false,"fork":false,"pushed_at":"2025-01-10T23:00:02.000Z","size":24,"stargazers_count":39,"open_issues_count":0,"forks_count":54,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T08:09:42.440Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/noahgift.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-13T09:21:42.000Z","updated_at":"2025-03-21T16:20:15.000Z","dependencies_parsed_at":"2024-10-28T10:13:51.525Z","dependency_job_id":"bbbcb7c8-defc-4a05-9775-b61661488c68","html_url":"https://github.com/noahgift/python-for-devops-april-2022","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noahgift%2Fpython-for-devops-april-2022","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noahgift%2Fpython-for-devops-april-2022/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noahgift%2Fpython-for-devops-april-2022/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noahgift%2Fpython-for-devops-april-2022/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/noahgift","download_url":"https://codeload.github.com/noahgift/python-for-devops-april-2022/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248008631,"owners_count":21032556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T15:30:36.573Z","updated_at":"2025-04-09T09:07:16.724Z","avatar_url":"https://github.com/noahgift.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Python application test with Github Actions](https://github.com/noahgift/python-for-devops-april-2022/actions/workflows/devops.yml/badge.svg)](https://github.com/noahgift/python-for-devops-april-2022/actions/workflows/devops.yml)\n[![Python application test with Github Actions](https://codebuild.us-east-1.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiYitYTGMvQzV3YW16TUlGc1BwbkR2UlUrSkhRMkdEZ3RUVVpWUjBXaCtiVmhhTU5kbmVxcmFJVytoamMrMklReTdDdGNtQ1VKb1hxaFNKV0NGRm13YjlrPSIsIml2UGFyYW1ldGVyU3BlYyI6IncvNEs0QXgrck43V0xwNWoiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D\u0026branch=main)\n\n## 🎓 Pragmatic AI Labs | Join 1M+ ML Engineers\n\n### 🔥 Hot Course Offers:\n* 🤖 [Master GenAI Engineering](https://ds500.paiml.com/learn/course/0bbb5/) - Build Production AI Systems\n* 🦀 [Learn Professional Rust](https://ds500.paiml.com/learn/course/g6u1k/) - Industry-Grade Development\n* 📊 [AWS AI \u0026 Analytics](https://ds500.paiml.com/learn/course/31si1/) - Scale Your ML in Cloud\n* ⚡ [Production GenAI on AWS](https://ds500.paiml.com/learn/course/ehks1/) - Deploy at Enterprise Scale\n* 🛠️ [Rust DevOps Mastery](https://ds500.paiml.com/learn/course/ex8eu/) - Automate Everything\n\n### 🚀 Level Up Your Career:\n* 💼 [Production ML Program](https://paiml.com) - Complete MLOps \u0026 Cloud Mastery\n* 🎯 [Start Learning Now](https://ds500.paiml.com) - Fast-Track Your ML Career\n* 🏢 Trusted by Fortune 500 Teams\n\nLearn end-to-end ML engineering from industry veterans at [PAIML.COM](https://paiml.com)\n\n# python-for-devops-april-2022\nThis is a new repository for Python for DevOps Lecture/Workshop\n\n![Drawing-22 sketchpad](https://user-images.githubusercontent.com/58792/163148696-f4fb8833-a6d9-44b2-9ce4-62f6c73aeaf4.png)\n\n\n## Scaffold\n\n![Drawing-23 sketchpad](https://user-images.githubusercontent.com/58792/163155437-bb9c6d4e-68cf-48be-a3c3-1b7bacd8a2df.png)\n\n1. Create a Python Virtual Environment `python3 -m venv ~/.venv` or `virtualenv ~/.venv`\n2. Create empty files: `Makefile`, `requirements.txt`, `main.py`, `Dockerfile`, `mylib/__init__.py`\n3. Populate `Makefile`\n4. Setup Continuous Integration, i.e. check code for issues like lint errors\n\n![lint-failure](https://user-images.githubusercontent.com/58792/163162836-4d5a814a-146e-44dc-ba1c-b8d03cc5b46f.png)\n\n5. Build cli using Python Fire library ` ./cli-fire.py --help` to test logic \n\n## Containerized Continuous Delivery\n\nLearn to build real-world Python Microservices that enable Continuous Delivery. This is a cool walkthrough because it is very similar to what someone would do at work building NLP Microservices on Amazon Web Services (AWS)\n\n* 00:00 Intro\n* 05:00 Scaffolding a project in Python\n* 08:00 Setup Virtualenv\n* 13:10 Building Makefile\n* 24:00 Setup Github Actions\n* 29:00 Formatting code with Python Black\n* 45:09 Test code with Pytest and Pytest Coverage\n* 50:30 Using Python Fire to build CLI\n* 59:30 Write Wikipedia scraper\n* 1:02:00 Use IPython to interact and debug code in Github Codespaces\n* 1:08:00 Pinning FastAPI version number\n* 1:12:00 Building FastAPI Microservice\n* 1:18:00 Using Text blob NLP service to parse phrases\n* 1:29:00 Debugging broken code\n* 1:34:00 Building container\n* 1:54:00 Setup AWS Code Build push to ECR (Elastic Container Registry)\n* 2:02:00 Setup AWS Code Build to ECR to AWS App Runner Continuous Delivery\n\nWatch on Pragmatic AI Labs YouTube: https://lnkd.in/e5xHfaMG\nWatch on O'Reilly Media: https://lnkd.in/eAECgyCi\n\n\n![5-10-ecr-workflow](https://user-images.githubusercontent.com/58792/163280392-1de7f99a-221b-439b-b970-e84c67091ee4.png)\n\n\n\n![app-runner](https://user-images.githubusercontent.com/58792/163263487-3e48e983-61dc-4054-b612-d2343e8b5224.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoahgift%2Fpython-for-devops-april-2022","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnoahgift%2Fpython-for-devops-april-2022","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoahgift%2Fpython-for-devops-april-2022/lists"}