{"id":26495007,"url":"https://github.com/linuxuser255/getgood","last_synced_at":"2025-06-14T17:02:30.087Z","repository":{"id":282256794,"uuid":"947990228","full_name":"LinuxUser255/GetGood","owner":"LinuxUser255","description":"Python basics, intermediate, advanced using separation of concerns.","archived":false,"fork":false,"pushed_at":"2025-03-18T00:22:47.000Z","size":61,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-14T17:02:12.084Z","etag":null,"topics":["learnpython","pycharm","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LinuxUser255.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":"2025-03-13T15:11:20.000Z","updated_at":"2025-03-18T00:22:51.000Z","dependencies_parsed_at":"2025-03-13T16:36:47.471Z","dependency_job_id":null,"html_url":"https://github.com/LinuxUser255/GetGood","commit_stats":null,"previous_names":["linuxuser255/getgood"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LinuxUser255/GetGood","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinuxUser255%2FGetGood","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinuxUser255%2FGetGood/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinuxUser255%2FGetGood/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinuxUser255%2FGetGood/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LinuxUser255","download_url":"https://codeload.github.com/LinuxUser255/GetGood/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinuxUser255%2FGetGood/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259851651,"owners_count":22921625,"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":["learnpython","pycharm","python3"],"created_at":"2025-03-20T10:33:04.423Z","updated_at":"2025-06-14T17:02:30.058Z","avatar_url":"https://github.com/LinuxUser255.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cbr\u003e\n\n# Creating a Python code base, to learn Python\n\n\n## About this repo\n\n```\nThis project was designed to serve as a tutorial/reference in a few different ways.\nYes, there is a beginner, intermediate, and advanced section.\nBut, most importantly, is the construction of this repo.\n\nFirst, all the Python basics are in their own separate files/scripts/modules.\nAdditionally, the design of this code-base, uses separation of concerns. \nAnd, does so in a way that is beginner friendly.\n\nMeaning, all the basics are tied together using main.py, (via imports and name guarding).\nThis is important, because virtually all the online beginner Python courses I've come across,\ndo not introduce this, nor show how code bases are constructed.\nThese concepts are not introduced until advanced lessons, OOP for example.\n\nI wish I had learned this concept from the get go when I first started.\n\nSeparation of concerns, is a simple concept that can be picked up from the start.\nAnd, is one that will pay off immediately, as the student will have a much easier time making sense of \nother people's repos on GitHub, etc..\n\nIn summary, the student, or hobbyist, can learn the basics of Python, and code base architecture simultaniously.\n\n```\n\n**All the basic scripts can be run from `main.py`**\n\n(They can also be run separately)\n\n### Table of contents\n\n- All the individual beginner/basic concepts are in the base directory, (GetGood).\n- They cover the usuals such as strings, control flow, functions, etc. The file names are self-explanatory\n- Then the mid-directory contains  intermediate level Python\n- And, the advanced directory is self-explanatory and contains topics such as:\n  - Explanations and examples of Data Models/Dunder methods\n  - Generators\n  - Object Oriented Programming, etc.\n  - And some code samples from a talk by James Powell, a Python dev who spoke at [Pydata Seattle 2017](https://youtu.be/cKPlPJyQrt4?si=PWPkMXvEtn-Y7bYv)\n    It's a really informative talk, some advanced material and abstract concepts.\n\nThis is not a comprehensive repo, (yet), some of the files in the advanced directory are empty.\nFeel free to submit a PR with your own examples if you'd like.\n\n## _If you like this, then [Give me a follow on GitHub](https://github.com/LinuxUser255), \u0026 star and watch this repo_\n\n\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinuxuser255%2Fgetgood","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinuxuser255%2Fgetgood","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinuxuser255%2Fgetgood/lists"}