{"id":13544025,"url":"https://github.com/OpenTechSchool/python-beginners","last_synced_at":"2025-04-02T13:31:33.702Z","repository":{"id":4439096,"uuid":"5577383","full_name":"OpenTechSchool/python-beginners","owner":"OpenTechSchool","description":"Workshop material for \"Introduction to Programming with Python\"","archived":false,"fork":false,"pushed_at":"2024-04-15T07:44:41.000Z","size":3285,"stargazers_count":175,"open_issues_count":32,"forks_count":262,"subscribers_count":49,"default_branch":"master","last_synced_at":"2024-11-03T10:33:33.105Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://opentechschool.github.io/python-beginners/","language":"Python","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/OpenTechSchool.png","metadata":{"files":{"readme":"README.rst","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":"2012-08-27T21:32:17.000Z","updated_at":"2024-08-01T17:31:36.000Z","dependencies_parsed_at":"2024-11-03T10:32:21.472Z","dependency_job_id":null,"html_url":"https://github.com/OpenTechSchool/python-beginners","commit_stats":{"total_commits":207,"total_committers":19,"mean_commits":"10.894736842105264","dds":0.7342995169082125,"last_synced_commit":"73b080fa8c315b914cf73daa4cc4b9ec24886e62"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenTechSchool%2Fpython-beginners","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenTechSchool%2Fpython-beginners/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenTechSchool%2Fpython-beginners/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenTechSchool%2Fpython-beginners/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenTechSchool","download_url":"https://codeload.github.com/OpenTechSchool/python-beginners/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246823759,"owners_count":20839775,"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-08-01T11:00:40.901Z","updated_at":"2025-04-02T13:31:28.683Z","avatar_url":"https://github.com/OpenTechSchool.png","language":"Python","readme":"Introduction to programming with Python\n***************************************\n\nThis workshop is an introduction to basic programming concepts and\nabstractions.  It is laid out for hands-on workshops taking up roughly 4 hours.\nWhile we have tried to be compatible with Python 2 _and_ 3 wherever possible,\nwe'd strongly encourage you to use Python 3.\n\nThe initial version of this material was loosely based on the \"Python für Kids\"\nbook by Gregor Lingl.  It is conceptual-- rather than incidental --that it\ntrades in idioms for learnability.  We believe that beginners sometimes have to\njump through one or another hoop to fully comprehend the scope and\napplicability of a concept.  Every introduced abstraction solves another pain\npoint in the life of a beginning programmer.\n\nHTML Version\n============\n\nYou can view this workshop being hosted here: \nhttp://opentechschool.github.io/python-beginners/\n\nThe following sections are for people who want to contribute.\n\nSetup\n=====\n\nThis workshop is written in the reStructuredText_ format. The \n``.rst`` files can be edited with a normal text editor.\n\nIt can be rendered to several output formats using Sphinx_. To do that, you \nneed to have the following Python packages installed:\n\n- Sphinx (and its dependencies docutils and Pygments)\n- Fabric\n- sphinx-intl\n- sphinx-bootstrap-theme\n\nYou can install these with pip using ``pip install -r requirements.txt``\n\nTo push / pull translations from Transifex you will need the package\n``transifex-client`` as well.\n\nBuild\n=====\n\nThe fabric script ``fabfile.py`` contains tasks making the \nbuild process very easy.\n\nIf you just want to render the HTML version, it's sufficient to run::\n\n    $ fab build:en\n\nReplace `en` with the language you'd like to build.\n\nThis will create a directory ``_build``, containing the HTML version.\n\nYou can view this in a browser by running ``fab serve`` and visiting the \nweb address listed.\n\nOther `builders \u003chttp://sphinx.pocoo.org/builders.html#builders\u003e`_ can be \npassed as an argument. For instance use ``singlehtml`` to render the whole \ntutorial into a single HTML file::\n\n    $ fab build:en,singlehtml\n\nTranslation\n===========\n\nTranslations should normally be done through Transifex.\n\nYou can see the project on Transifex \n`here \u003chttps://www.transifex.com/projects/p/python-for-beginners/\u003e`_.\n\nAfter editing the tutorial, it is desirable to update sources for it.\n\n1. New translation templates (.pot) must be created, then po translation \n   files are updated (or created for the first time) - ``fab gen_pots``\n2. If you wish to upload new sources to transifex, you should use their\n   cli client. ``tx push -s``.\n3. To pull down translations for a particular language, use e.g. \n   ``tx pull -l de``, for de (german) or others.\n4. ``fab build:de`` will compile po files, and build the docs for that \n   language.\n\nIt is also possible to edit and update po files manually, you can check out \nthe other fab command (``fab list``) for help with that.\n\n.. note:: only .po files should be committed to version control. .pot and .mo\n   files are built automatically.\n\nDeploy\n======\n\nThe workshop is deployed as a `GitHub Page`_. A good way to do \nthat is described `right here \u003chttps://gist.github.com/791759\u003e`_. To simplify \nthis process, you can use a nifty fabric target::\n\n    $ fab setup\n\nThis recreates the ``_build/html`` folder, cloning the folder to the \n``gh-pages`` branch of this repo. Then you should build updates for the \ndesired language. Then `cd` into this folder, and git push the updates to \nupdate the branch. Like so::\n\n    $ fab build:en\n    $ cd _build/html\n    $ git status\n    $ git commit --all\n    $ git push\n\nCredits\n=======\n\nThe material presented here is a collaborative work.  It has been created\nlargely by OpenTechSchool_ Python coaches.  Every bit, from exercises to\ntranslations, has been contributed by the community.  After every workshop\nwhere this material is used we try to gather feedback on how to improve the\nmaterial.\n\nLicense\n=======\n\nThis work is licensed under the Creative Commons Attribution-ShareAlike \n3.0 Unported License. To view a copy of this license, visit \nhttp://creativecommons.org/licenses/by-sa/3.0/ or send a letter to \nCreative Commons, 444 Castro Street, Suite 900, Mountain View, \nCalifornia, 94041, USA.\n\n.. _OpenTechSchool: http://opentechschool.org\n.. _reStructuredText: http://docutils.sourceforge.net/docs/\n.. _Sphinx: http://sphinx.pocoo.org/index.html\n.. _GitHub Page: https://help.github.com/categories/20/articles\n","funding_links":[],"categories":["Educational resources"],"sub_categories":["Python"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenTechSchool%2Fpython-beginners","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOpenTechSchool%2Fpython-beginners","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenTechSchool%2Fpython-beginners/lists"}