{"id":24911558,"url":"https://github.com/hackoregon/civicu-pythonii-summer-2017","last_synced_at":"2026-02-12T16:07:20.980Z","repository":{"id":77886510,"uuid":"96719417","full_name":"hackoregon/civicu-pythonii-summer-2017","owner":"hackoregon","description":"Repo for the Civic U summer Python II course","archived":false,"fork":false,"pushed_at":"2017-09-12T22:28:47.000Z","size":11124,"stargazers_count":1,"open_issues_count":0,"forks_count":17,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-08-31T12:39:03.316Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PLpgSQL","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/hackoregon.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":"2017-07-10T00:18:53.000Z","updated_at":"2020-09-01T20:18:18.000Z","dependencies_parsed_at":"2023-09-07T00:31:08.148Z","dependency_job_id":null,"html_url":"https://github.com/hackoregon/civicu-pythonii-summer-2017","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hackoregon/civicu-pythonii-summer-2017","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackoregon%2Fcivicu-pythonii-summer-2017","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackoregon%2Fcivicu-pythonii-summer-2017/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackoregon%2Fcivicu-pythonii-summer-2017/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackoregon%2Fcivicu-pythonii-summer-2017/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackoregon","download_url":"https://codeload.github.com/hackoregon/civicu-pythonii-summer-2017/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackoregon%2Fcivicu-pythonii-summer-2017/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29371583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2025-02-02T04:20:54.640Z","updated_at":"2026-02-12T16:07:20.967Z","avatar_url":"https://github.com/hackoregon.png","language":"PLpgSQL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Python II (Advanced Python) Hack University Course\n\n## Teachers\n\n* Zak Kent: [zak.kent@gmail.com](mailto:zak.kent@gmail.com)\n* Hobson Lane: [hobsonlane@gmail.com](mailto:hobsonlane@gmail.com)\n* Mark Wheeler: [wheelerma55@gmail.com](mailto:wheelerma55@gmail.com)\n\n## GitHub Repos:\n\nYou'll want to clone both of these 2 repos to your computer.\n\n1.  http://github.com/hack -- The Django App called `labeler` that we're building\n2.  http://github.com/totalgood/civicu_app -- My version of the Django App you'll build\n\nIt may be possible to build your own version of the \"Labeler\" app (second link above) if you're able to read and type along in class.\nBut it's nice to have the reference implementation in case something seems confusing or you miss a class.\nWe'll try to tag versions of the software by their lesson number and name for each class when we add code.\nThat way you can check out the version for a particular lesson before and be all caught up at the beginning of class\nFor example\n\n* `$ git checkout 14-imageinfo` at the beginning of the class for lesson-14 to get all caught up\n* `$ git diff 14-imageinfo-done` at the end of the class to see if you missed anything during class\n* `$ git diff 14-imageinfo-enhanced` at the end of the class to see if there are some enhancements you'd like to add\n\n\n\nWelcome to the Civic U Python II class!\n\nWe’re super excited that you’re able to take time out of your busy schedule to learn Python with us.\nThis is a guide to what we will be learning throughout the session.\nWe will do our best to adhere to this schedule but ask that you be flexible if we need to change the pacing of some lessons based on the speed in which the group can complete them.\n\n## Course description: \n\nThis course will focus on using Python to collect, clean, transform and share data from various 3rd party APIs.\nWe will also be looking at some features and best practices with Python that fall more towards the intermediate level of the spectrum which you may\nnot have seen in many introductory tutorials.\nSharing the data we collect will primarily be accomplished using the Django REST Framework (DRF).\nThe DRF is a super useful tool for building APIs quickly and comes with tons of extra functionality to make our lives easier.\nAbove all we will be writing code and tests every day that we’re in class and will strive to have a good mix of hands on activities and meaningful\nlectures that give real world context to what we’re learning.\n\n## Preparation for class:\n\nWhen preparing for this class, you should make sure that you have a text editor installed that you’re comfortable with (Sublime Text and Visual Studio Code are both good options).\nWe will also be using Python 3 so please do your best to have it installed beforehand.\nIf any of the documentation below gets too tricky feel free to reach out via Slack or wait until the first day of class and we can work on the installation together.\n\n### Installation docs for Python 3: \n\n* Mac (recommended) : [http://python-guide-pt-br.readthedocs.io/en/latest/starting/install3/osx/](https://www.google.com/url?q=http://python-guide-pt-br.readthedocs.io/en/latest/starting/install3/osx/\u0026sa=D\u0026ust=1501107467506000\u0026usg=AFQjCNFbbY3DPVB53J3k6LLdMhtGAJRY5w)\n* Main installation page (Linux, Mac, Windows): [https://www.python.org/downloads/](https://www.google.com/url?q=https://www.python.org/downloads/\u0026sa=D\u0026ust=1501107467506000\u0026usg=AFQjCNHxsd3uhuvdTXBVzEnOIMje4T-1pw)\n\nIf you’re looking for some materials to study before class TreeHouse and Lynda both have good introductory videos.\nAlso, with a Multnomah county library card you’re able to get a free access to a *Lynda* account :)\n\n[Optional course list](https://www.google.com/url?q=https://docs.google.com/document/d/1kRzzybmQOi_uw2-BWnxZtIEQ5ajo48G4X0WyQ8ByjPE/edit?usp%3Dsharing\u0026sa=D\u0026ust=1501107467507000\u0026usg=AFQjCNEGgBLCbZJkV8e_y5hi5Q7vVHQ9OQ)\n\n### Your Editor and Linter (I like Sublime + Flake8)\n\nSet up your editor to highlight lint in your code when you save!\n\n1. [install sublime](https://www.sublimetext.com/3)\n2. [install package control](https://packagecontrol.io/installation)\n3. [`shift-ctrl-p` then `install` then `linter` then \u003center\u003e or \u003ctab\u003e](http://sublimelinter.readthedocs.io/en/latest/installation.html#installing-via-pc)\n4. [`pip install flake8`](https://github.com/SublimeLinter/SublimeLinter-flake8#linter-installation)\n5. [`shift-ctrl-p` then `install` then `linter-flake8` then `\u003center\u003e` or `\u003ctab\u003e`](https://github.com/SublimeLinter/SublimeLinter-flake8)\n6. find the settings for sublime-linter and adjust them to your taste\n7. \n\nSet up your environment to automatically lint your code with every push!\n\n```bash\n$ cd ~/src/civicu-pythonii-summer-2017/\n$ cp shared-resources/pre-commit .git/hooks/\n$ # ln -s shared-resources/pre-commit .git/hooks/pre-commit\n$ cp shared-resources/flake8.cfg .git/hooks/\n$ # ln -s shared-resources/flake8.cfg .git/hooks/flake8.cfg\n$ cp shared-resources/delint_working_dir .git/hooks/\n$ # ln -s shared-resources/delint_working_dir .git/hooks/delint_workin_dir\n$ git commit -am 'force flake8 linting'\n$ git push\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackoregon%2Fcivicu-pythonii-summer-2017","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackoregon%2Fcivicu-pythonii-summer-2017","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackoregon%2Fcivicu-pythonii-summer-2017/lists"}