{"id":16519260,"url":"https://github.com/rsokl/learning_python","last_synced_at":"2025-04-13T00:45:47.233Z","repository":{"id":43188949,"uuid":"114948349","full_name":"rsokl/Learning_Python","owner":"rsokl","description":"Source material for Python Like You Mean it","archived":false,"fork":false,"pushed_at":"2024-10-31T18:20:19.000Z","size":38272,"stargazers_count":168,"open_issues_count":26,"forks_count":54,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-04-13T00:45:37.367Z","etag":null,"topics":["data-science","educational","numpy","numpy-tutorial","python","python-tutorial","textbook","tutorial"],"latest_commit_sha":null,"homepage":"https://www.pythonlikeyoumeanit.com/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rsokl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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-12-21T01:32:38.000Z","updated_at":"2024-11-06T12:26:45.000Z","dependencies_parsed_at":"2024-11-24T02:15:26.510Z","dependency_job_id":null,"html_url":"https://github.com/rsokl/Learning_Python","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsokl%2FLearning_Python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsokl%2FLearning_Python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsokl%2FLearning_Python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsokl%2FLearning_Python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsokl","download_url":"https://codeload.github.com/rsokl/Learning_Python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650420,"owners_count":21139672,"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":["data-science","educational","numpy","numpy-tutorial","python","python-tutorial","textbook","tutorial"],"created_at":"2024-10-11T16:46:06.285Z","updated_at":"2025-04-13T00:45:47.206Z","avatar_url":"https://github.com/rsokl.png","language":"Jupyter Notebook","readme":"# Python Like You Mean It\nView this content as hosted on [Python Like You Mean It](https://www.pythonlikeyoumeanit.com/)\n\nThis repository contains the source material for the website [Python Like You Mean It](pythonlikeyoumeanit.com). The site is written primarily in [Jupytext-markdown](https://jupytext.readthedocs.io/en/latest/formats.html#jupytext-markdown) (which are eventually transformed into html using [nbsphinx](https://nbsphinx.readthedocs.io/en/0.3.4/)). A huge perk of this of this is that you simply need to be familiar with Jupyter notebooks and some [markdown syntax](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) in order to contribute to this project!\n\n## Asking Questions\nPlease feel free to post questions (or point out mistakes) about the reading by opening a [GitHub issue](https://github.com/rsokl/Learning_Python/issues). Someone from the PLYMI team will respond ASAP! Refer to [this reference](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code-and-syntax-highlighting) to see how to include python-codeblocks  in your post. This will make it much easier for us to discuss code with each other. \n\n## How To Contribute\nContributions to this project are very welcome!  I will be sure to credit any/all contributions (unless your want to remain anonymous). Some great ways to help out are to:\n- proofread \n- add reading comprehension exercises to existing sections\n- provide general feedback about the organization of the website, the consistency of the material, etc.\n- create lengthier standalone problems to serve as holistic examples of how to apply the concepts presented in the reading \n- recommend new sections to be added to PLYMI\n \nYou can either open an issue to provide feedback or point out errors, or you can create a [pull request](https://help.github.com/articles/creating-a-pull-request/) if you want to submit new/modified materials. The other maintainers of PLYMI and I are happy to help you refine your issues and PRs, so please do not be discouraged if you are new to Git/GitHub.\n\nI have posted a number of \"To-Do\" tasks in this project's [issues](https://github.com/rsokl/Learning_Python/issues) page, and I will be adding to these as this project progresses. Included are requests for proofreading and exercises. Please post within an issue if you are working on a to-do item, so multiple people don't end up working on the same task. General feedback on content is also hugely valuable, so feel free to open a new issue to provide your feedback on any of the material.\n\n[Here is a nice Markdown \"cheat sheet\"](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) for looking up how to make tables, code-blocks, etc., in Markdown.\n\n### Making a Pull Request\nIf you want to submit a change to some of the content (e.g. correcting typos), do the following:\n1. [Fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) this repository\n2. Create a new branch, appropriately named for whatever task you are performing: `git checkout -b your_branch_name`\n3. In your new branch, make the relevant changes and commit them.\n4. Push your branch to your fork: `git push origin your_branch_name`\n5. Create a [Pull Request](https://help.github.com/articles/creating-a-pull-request/) from your fork branch into the master branch of this repo.\n\n# Building the Site\n**Important Note: it is strongly preferred that pull requests *do not* contain changes to the HTML of this site. Rather, it is better if PRs simply contain changes to text files (.rst or .md). A site administrator (@rsokl, @davidmascharka) will be responsible for publishing the actual site-HTML**. Thus the following instructions are useful for you to view your changes as they will appear in the site, but you likely need not go through the process of committing the changes to the HTML. \n\n## Creating a Conda Environment From Scratch\n\nFirst, create a miniconda environment. We'll call it `plymi` and will use Python 3.8\n\n```shell\nconda create -n plymi python=3.8\n```\n\nIt is important that we activate the environment before proceeding\n\nNext, we'll use the `conda-forge` package channel to install our dependencies\n\n```shell\nconda install -c conda-forge sphinx==4.4.0 jupytext==1.13.6 nbsphinx==0.8.8 pandoc==2.1.3 sphinx_rtd_theme==1.0.0 ipykernel==6.7.0 numpy matplotlib\n\npip install mygrad\n```\n\nFinally, we will install the `plymi` code base from this repo. Clone the present repository and run:\n\n```shell\npip install .\n```\n\nUsing this environment, you should now be able to run sphinx to build the html for this site from the source-code. To do this, run the following commands in your Python terminal:\n\n```python\nimport plymi\nplymi.convert_src_to_html(\"./Python\") # point to the dir containing `conf.py`\n```\n\nThis will convert all of the \"restructured text\" (.rst) files to html via `sphinx`. `jupytext` is responsible for converting the markdown (.md) files to jupyter notebooks (.ipynb) and then `nbsphinx` converts these notebooks to html.\nThese html files will be located in `Python/_build`. You can open the `index.html` page in your browser to view how the locally-built site looks on your computer. \n\nNote that, if you are introducing a new page to the site or are doing anything that would affect the site's navigation-bar, it is a good idea to delete the `_build` directory before building the html. This will make sure that sphinx fully generates the pages from scratch.\n\n# Publishing HTML for this site\nOnce you have built the html and have verified that it looks good to you, navigate to the top level of the repository and run:\n\n```python\nimport plymi\nplymi.build_to_doc(\".\") # point to the top-level dir (contains both `docs/` and `docs_backup`)\n```\n\nThis will back-up your current `docs` directory, and will move the html from `_builds` to `docs`. It will also ensure some essential \"meta\" files, `.nojekyll` and `CNAME` are present. The former is required for githubpages to build the site correctly, the latter ensures that the canonical name for the site is `pythonlikeyoumeanit.com`.\n\n\nThe only directories in this repository that contain html should be `docs` and `docs_backup`. **Do not commit the `_build` directory**  \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frsokl%2Flearning_python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frsokl%2Flearning_python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frsokl%2Flearning_python/lists"}