diff --git a/01-package-setup.html b/01-package-setup.html index db4e018..05be384 100644 --- a/01-package-setup.html +++ b/01-package-setup.html @@ -581,19 +581,18 @@

Running CookieCutter2 - BSD-3-Clause 3 - LGPLv3 4 - Not Open Source -Choose from 1, 2, 3, 4 (1, 2, 3, 4) [1]: 2 +Choose from [1/2/3/4] (1): Select dependency_source: 1 - Prefer conda-forge with pip fallback 2 - Prefer default anaconda channel with pip fallback 3 - Dependencies from pip only (no conda) - -Choose from 1, 2, 3 (1, 2, 3) [1]: +Choose from [1/2/3] (1): Select include_ReadTheDocs: 1 - y 2 - n -Choose from 1, 2 (1, 2) [1]: +Choose from [1/2] (1): @@ -824,8 +823,7 @@

Our first modulefunctions.py) in a text editor. We see a few things about this file. The top begins with a description of this module surrounded by three quotations ("""). -Right now, that is the file name, followed by our short description, -then the sentence “Handles the primary functions”. +Right now, that is the sentence “Provides the primary functions”. We will change this to be more descriptive later. CookieCutter has also created a placeholder function called canvas. At the start of the canvas function, we have a docstring (more about this in [documentation]), diff --git a/04-function-style.html b/04-function-style.html index a38ec0b..bc83d53 100644 --- a/04-function-style.html +++ b/04-function-style.html @@ -555,7 +555,7 @@

Editing a function in our packagemolssi_beter_practices/starting_material/data/pdb/. +These are found in molssi_best_practices/starting_material/data/pdb/. We want to store these files in our molecool directory. Luckily, cookiecutter created a folder designed specifically for that purpose. The folder is in molecool/data/. diff --git a/_sources/01-package-setup.md.txt b/_sources/01-package-setup.md.txt index c75fccd..987aced 100644 --- a/_sources/01-package-setup.md.txt +++ b/_sources/01-package-setup.md.txt @@ -103,19 +103,18 @@ Select open_source_license: 2 - BSD-3-Clause 3 - LGPLv3 4 - Not Open Source -Choose from 1, 2, 3, 4 (1, 2, 3, 4) [1]: 2 +Choose from [1/2/3/4] (1): Select dependency_source: 1 - Prefer conda-forge with pip fallback 2 - Prefer default anaconda channel with pip fallback 3 - Dependencies from pip only (no conda) - -Choose from 1, 2, 3 (1, 2, 3) [1]: +Choose from [1/2/3] (1): Select include_ReadTheDocs: 1 - y 2 - n -Choose from 1, 2 (1, 2) [1]: +Choose from [1/2] (1): ``` ```` @@ -355,8 +354,7 @@ Once inside the `molecool` folder (`molecool/molecool`), examine the files that View the module (`functions.py`) in a text editor. We see a few things about this file. The top begins with a description of this module surrounded by three quotations (`"""`). -Right now, that is the file name, followed by our short description, -then the sentence "Handles the primary functions". +Right now, that is the sentence "Provides the primary functions". We will change this to be more descriptive later. CookieCutter has also created a placeholder function called `canvas`. At the start of the `canvas` function, we have a `docstring` (more about this in [documentation]), diff --git a/_sources/04-function-style.md.txt b/_sources/04-function-style.md.txt index 3702a28..f5c0eb9 100644 --- a/_sources/04-function-style.md.txt +++ b/_sources/04-function-style.md.txt @@ -61,7 +61,7 @@ def open_pdb(f_loc): If we want to test our function, we require a pdb file. The workshop materials downloaded during the setup include a set of pdb examples. -These are found in `molssi_beter_practices/starting_material/data/pdb/`. +These are found in `molssi_best_practices/starting_material/data/pdb/`. We want to store these files in our `molecool` directory. Luckily, `cookiecutter` created a folder designed specifically for that purpose. The folder is in `molecool/data/`. diff --git a/searchindex.js b/searchindex.js index c78a452..75d04e4 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["00-code-organization-documentation", "00-command-line-basics", "00-git-and-github", "00-git-standalone", "00-github-standalone", "00-setup", "00-testing-continuous-integration", "01-package-setup", "02-git", "03-github", "04-function-style", "05-package-structure", "06-type-hinting", "07-collaboration", "08-testing", "09-CI", "10-distribution", "10-documentation", "index", "setup"], "filenames": ["00-code-organization-documentation.rst", "00-command-line-basics.md", "00-git-and-github.rst", "00-git-standalone.md", "00-github-standalone.md", "00-setup.rst", "00-testing-continuous-integration.rst", "01-package-setup.md", "02-git.md", "03-github.md", "04-function-style.md", "05-package-structure.md", "06-type-hinting.md", "07-collaboration.md", "08-testing.md", "09-CI.md", "10-distribution.md", "10-documentation.md", "index.rst", "setup.md"], "titles": ["Code Style and Documentation", "Introduction to the Command Line", "git and GitHub", "Introduction to Version Control with git - Standalone Lesson", "Using GitHub", "Set-Up", "Testing, Continuous Integration, and Distribution", "Python Package Set-Up", "Introduction to Version Control using Git", "GitHub", "Python Coding Style", "Deciding Package Structure", "Type Hinting in Python", "Code Collaboration", "Python Testing", "Continuous Integration using GitHub Actions", "Distributing Packages", "Package Documentation", "Overview", "Computer Set Up"], "terms": {"ar": [0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "topic": [0, 3, 8, 18], "often": [0, 1, 7, 8, 10, 11, 14, 15, 17], "overlook": [0, 17], "softwar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19], "project": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19], "howev": [0, 1, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "import": [0, 3, 4, 6, 7, 8, 9, 10, 12, 14, 15, 17, 18, 19], "aspect": 0, "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "make": [0, 1, 3, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "easier": [0, 10, 13, 14, 16, 17, 19], "maintain": [0, 4, 9, 13, 16, 17, 19], "extend": [0, 17], "In": [0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 13, 18, 19], "section": [0, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 19], "we": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19], "discuss": [0, 1, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18], "some": [0, 1, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19], "best": [0, 1, 3, 7, 8, 9, 10, 17, 19], "practic": [0, 1, 3, 7, 8, 9, 10, 11, 14, 15, 17, 19], "lesson": [0, 2, 4, 5, 6, 19], "titl": [0, 1, 2, 3, 5, 6, 8, 10, 13, 17, 18], "question": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "object": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "python": [0, 3, 5, 6, 8, 11, 15, 16, 17, 19], "how": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "i": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 15, 17, 18], "write": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "readabl": [0, 8, 10, 12, 18], "learn": [0, 1, 2, 3, 5, 7, 8, 9, 10, 12, 13, 15, 17, 18, 19], "rais": [0, 11, 14, 18], "except": [0, 1, 3, 12, 18], "understand": [0, 2, 6, 10, 12, 15, 16, 18], "follow": [0, 1, 3, 4, 7, 13, 16, 18, 19], "pep8": [0, 10, 18], "what": [0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "docstr": [0, 7, 8, 11, 12, 14, 18], "why": [0, 3, 6, 10, 11, 13, 15, 17, 18], "thei": [0, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "numpi": [0, 7, 8, 10, 11, 12, 14, 15, 17, 18, 19], "decid": [0, 4, 7, 9, 17, 18, 19], "packag": [0, 3, 5, 6, 8, 9, 12, 13, 15], "structur": [0, 5, 6, 10, 14, 15, 18, 19], "should": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "organ": [0, 7, 11, 18], "my": [0, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 18], "handl": [0, 7, 11, 18], "break": [0, 8, 11, 14, 16, 17, 18], "modul": [0, 3, 6, 8, 10, 14, 15, 16, 18], "subpackag": [0, 14, 18], "base": [0, 2, 7, 8, 11, 12, 15, 17, 18], "function": [0, 3, 7, 8, 11, 14, 15, 16, 17, 18, 19], "__init__": [0, 11, 14, 15, 18], "py": [0, 3, 8, 10, 11, 12, 14, 15, 18, 19], "file": [0, 2, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19], "affect": [0, 4, 9, 11, 14, 16, 18], "your": [0, 2, 5, 10, 12, 16, 18], "type": [0, 1, 3, 4, 8, 9, 11, 13, 14, 15, 18, 19], "hint": [0, 4, 8, 9, 14, 15, 18], "doe": [0, 3, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "do": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19], "about": [0, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "syntax": [0, 3, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 19], "util": [0, 7, 11, 12, 14, 15, 18], "our": [0, 1, 2, 3, 4, 8, 9, 11, 12, 16, 18, 19], "explain": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 17, 18], "tool": [0, 2, 7, 10, 12, 14, 16, 17, 18], "like": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "read": [0, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18], "The": [0, 1, 2, 4, 5, 9, 11, 12, 13, 15, 16, 18, 19], "doc": [0, 7, 8, 10, 11, 16, 18], "basic": [1, 2, 7, 10, 11, 12, 13, 17, 18], "shell": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "workshop": [1, 3, 5, 7, 8, 9, 10, 11, 12, 14, 15, 17], "us": [1, 2, 5, 6, 9, 10, 12, 16, 18], "git": [1, 5, 7, 10, 11, 12, 13, 14, 15, 16, 17], "version": [1, 2, 4, 5, 7, 9, 10, 14, 15, 17, 18], "control": [1, 2, 5, 7, 9, 15, 16, 18, 19], "linux": [1, 7, 8, 15, 19], "text": [1, 3, 4, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18], "interfac": [1, 4, 8, 9, 14, 15, 16, 19], "comput": [1, 3, 4, 5, 7, 9, 13, 15, 18], "when": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "you": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "someth": [1, 3, 8, 11, 13, 14, 15, 16, 19], "call": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "access": [1, 4, 7, 10, 11, 13, 15, 16], "If": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "wsl": 1, "onli": [1, 3, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17], "have": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "oper": [1, 10, 12, 14, 15, 19], "system": [1, 2, 7, 11, 14, 15, 16, 19], "scientif": 1, "need": [1, 3, 4, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19], "high": [1, 15], "perform": [1, 4, 7, 9, 10, 11, 12, 15, 17], "hpc": [1, 19], "server": 1, "know": [1, 4, 9, 10, 12, 13, 14, 15, 16, 17], "also": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "allow": [1, 3, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19], "repetit": 1, "task": [1, 15, 17], "quickli": [1, 5, 7, 9, 11, 16, 18], "through": [1, 3, 8, 11, 12, 13, 14, 15, 16, 17, 19], "script": [1, 3, 7, 8, 11, 16, 18, 19], "For": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "cours": [1, 3, 4, 8, 9, 10, 11, 18], "focu": [1, 15, 17], "creation": [1, 8, 19], "most": [1, 2, 3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 19], "modern": [1, 2], "graphic": 1, "user": [1, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18], "gui": 1, "pronounc": 1, "gooei": 1, "interact": [1, 3, 7, 8, 10, 11, 14, 19], "On": [1, 3, 4, 8, 9, 10, 13, 15, 17, 19], "mac": [1, 7, 8, 15, 19], "abl": [1, 4, 7, 8, 9, 10, 11, 13, 15, 17, 19], "find": [1, 3, 4, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19], "applic": [1, 15, 17], "distribut": [1, 3, 8, 17, 19], "issu": [1, 4, 9, 11, 12, 15, 18], "first": [1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19], "pwd": 1, "stand": [1, 7, 10], "p": [1, 8, 11, 19], "rint": 1, "w": [1, 8, 10, 11], "ork": 1, "d": [1, 3, 8, 10, 13], "irectori": 1, "give": [1, 3, 4, 7, 9, 10, 11, 13, 14, 15, 17], "folder": [1, 3, 4, 7, 9, 10, 11, 14, 15, 16, 17, 19], "current": [1, 3, 4, 7, 8, 9, 11, 12, 17], "mean": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19], "same": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "thing": [1, 4, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19], "output": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "path": [1, 3, 4, 7, 8, 9, 10, 19], "initi": [1, 3, 4, 8, 9, 16], "displai": [1, 8, 10, 14, 15, 17], "whatev": [1, 3, 8, 13], "immedi": [1, 4, 7, 9], "after": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "terrmin": 1, "l": [1, 3, 4, 8, 9, 10, 15, 17], "show": [1, 3, 7, 8, 10, 13, 14, 15, 17], "list": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "want": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "see": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "anoth": [1, 3, 4, 7, 8, 9, 11, 12, 13, 14, 15, 17, 19], "below": [1, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19], "substitut": [1, 16], "previou": [1, 2, 9, 10, 11, 12, 14, 15, 17, 18], "directory_nam": [1, 11], "room": 1, "too": [1, 7, 14, 16], "get": [1, 4, 6, 7, 8, 9, 10, 11, 13, 16, 18, 19], "fresh": 1, "press": [1, 3, 13, 17], "ctrl": [1, 19], "keyboard": 1, "keep": [1, 2, 4, 7, 8, 9, 10, 13, 15, 16, 17, 18, 19], "work": [1, 2, 3, 7, 8, 10, 11, 12, 13, 14, 17, 18, 19], "sake": [1, 11], "uniform": [1, 10], "direct": [1, 4, 7, 9, 11, 16], "tell": [1, 3, 4, 7, 8, 10, 11, 13, 15, 16, 17, 19], "prefer": [1, 7, 8, 19], "where": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "would": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "store": [1, 3, 4, 8, 9, 10, 15, 19], "locat": [1, 4, 8, 9, 10, 11, 14, 16, 19], "m": [1, 3, 4, 8, 9, 10, 11, 13, 14, 15, 16, 17], "k": [1, 8, 11, 14], "e": [1, 4, 7, 8, 9, 10, 14, 15, 16, 17, 19], "dir": [1, 11], "ectori": 1, "mkdir": [1, 3, 11], "command_line_lesson": 1, "so": [1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19], "far": [1, 14, 15, 17], "could": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "newli": [1, 7], "confirm": 1, "now": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "ha": [1, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19], "an": [1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19], "empti": [1, 3, 8, 15], "To": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "insid": [1, 7, 10, 14, 19], "c": [1, 3, 8, 10, 11, 13, 14, 17, 19], "hang": 1, "cd": [1, 3, 4, 7, 8, 9, 13, 17, 19], "gener": [1, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "notic": [1, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17], "contain": [1, 3, 4, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "mani": [1, 3, 7, 8, 10, 11, 14, 15, 16, 17], "mai": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "It": [1, 2, 3, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19], "underscor": [1, 10], "_": [1, 17], "dash": 1, "separ": [1, 3, 8, 10, 11, 16, 17, 19], "word": [1, 3, 4, 9, 10, 13, 14, 15], "descript": [1, 7, 8, 10, 11, 13, 15, 16, 17, 19], "verifi": [1, 3, 8, 14, 19], "editor": [1, 3, 5, 7, 8, 10, 11, 12, 13, 14, 15, 18], "choic": [1, 3, 8, 10, 13], "instal": [1, 3, 5, 8, 10, 11, 12, 13, 14, 15, 17, 18], "vscode": [1, 7, 19], "readm": [1, 3, 4, 7, 8, 9, 11, 13, 16, 17], "md": [1, 3, 7, 8, 11, 13, 15, 17], "note": [1, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 17], "maco": [1, 15, 19], "necessari": [1, 5, 10, 13, 15, 16, 19], "add": [1, 7, 10, 11, 12, 13, 14, 15, 16, 17, 19], "manual": [1, 3, 8, 14, 17], "code": [1, 2, 3, 4, 7, 8, 9, 11, 16, 19], "visual": [1, 3, 8, 12, 13, 14, 17, 19], "studio": [1, 12, 19], "inform": [1, 3, 7, 8, 10, 11, 12, 13, 14, 15, 16, 19], "save": [1, 3, 8, 11, 13, 14, 19], "molssi": [1, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "associ": [1, 7, 10, 14, 15, 16, 17], "markdown": [1, 3, 8, 17], "which": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "mark": [1, 3, 4, 9, 15, 16], "up": [1, 2, 3, 4, 8, 9, 10, 11, 13, 14, 16, 17], "format": [1, 3, 8, 10, 11, 15, 16, 17], "languag": [1, 3, 8, 17], "throughout": [1, 14], "bootcamp": 1, "hashtag": 1, "result": [1, 4, 8, 9, 14, 15, 16], "indic": [1, 3, 7, 8, 10, 12, 13, 14, 15, 16], "exit": [1, 3, 19], "out": [1, 3, 4, 6, 7, 8, 9, 10, 15, 16, 17, 18, 19], "move": [1, 3, 7, 8, 11, 14, 15, 19], "back": [1, 3, 4, 7, 8, 9, 14, 15], "alwai": [1, 2, 3, 8, 10, 13, 14, 15, 17], "return": [1, 3, 7, 8, 11, 12, 14, 15, 17], "other": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19], "mv": 1, "one": [1, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "place": [1, 3, 7, 8, 11, 13, 15, 16, 17], "cp": [1, 8], "copi": [1, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16], "exampl": [1, 3, 4, 8, 9, 11, 12, 13, 15, 17, 19], "dot": [1, 3, 8, 11], "short": [1, 7, 14, 17], "cut": 1, "case": [1, 3, 4, 7, 8, 9, 10, 11, 13, 15, 17], "readme_copi": 1, "behav": [1, 12, 14], "wai": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "origin": [1, 3, 4, 8, 9, 10, 11, 14, 15, 17], "remov": [1, 10, 11, 14, 15, 17], "rm": [1, 3], "let": [1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "": [1, 3, 4, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19], "rid": 1, "those": [1, 3, 7, 8, 11, 13, 14, 15], "just": [1, 3, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17], "made": [1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "execut": [1, 3, 4, 7, 10, 12, 13, 14, 15, 19], "notat": 1, "doesn": [1, 3, 8, 13], "t": [1, 3, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19], "directli": [1, 7, 8, 11, 13, 14, 16], "record": [2, 4, 7, 8, 9, 18], "chang": [2, 4, 7, 8, 9, 10, 11, 14, 15, 16, 17, 19], "set": [2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 17], "over": [2, 4, 9, 12, 14, 15], "time": [2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "view": [2, 7, 13, 15, 17, 18], "specif": [2, 3, 7, 8, 10, 11, 12, 13, 14, 15, 16, 19], "later": [2, 7, 8, 13, 14, 16, 17, 19], "fundament": [2, 16], "develop": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 15, 17], "recommend": [2, 3, 7, 10, 14, 17, 19], "even": [2, 3, 7, 8, 10, 11, 12, 13, 14, 15], "alon": 2, "facilit": [2, 3, 8], "collabor": [2, 3, 4, 8, 9, 18], "between": [2, 3, 4, 7, 8, 9, 10, 11, 12, 14, 15, 19], "multipl": [2, 13, 15, 16, 19], "peopl": [2, 4, 7, 9, 11, 13, 15, 16, 17, 18, 19], "popular": [2, 7, 10], "comptuer": 2, "from": [2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "repositori": [2, 3, 6, 16, 18, 19], "host": [2, 3, 7, 8, 9, 18], "varieti": [2, 15], "platform": [2, 5, 14, 15, 16], "web": [2, 4, 5, 9, 13, 15, 17], "servic": [2, 3, 6, 7, 8, 15, 17, 18], "provid": [2, 3, 7, 8, 10, 11, 12, 14, 16, 17, 18, 19], "number": [2, 3, 8, 10, 11, 12, 13, 14, 15, 18], "cover": [2, 3, 5, 6, 10, 14, 15], "share": [2, 4, 9, 15, 16, 17, 19], "outsid": [2, 16, 18], "context": [2, 11, 13, 18], "cookiecutt": [2, 5, 8, 9, 10, 11, 14, 15, 16, 17, 18], "standalon": [2, 12, 18], "introduct": [2, 18], "purpos": [2, 3, 8, 9, 10, 13, 14, 17, 18], "introduc": [2, 3, 6, 8, 15, 16, 18], "common": [2, 3, 7, 8, 10, 14, 15, 16, 18], "command": [2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18], "creat": [2, 4, 5, 9, 10, 11, 14, 15, 16, 17, 18], "commit": [2, 4, 9, 10, 11, 15, 16, 17, 18], "diff": [2, 3, 8, 18], "togeth": [2, 11, 14, 18], "reason": [2, 4, 6, 7, 9, 11, 13, 14, 18], "contribut": [2, 7, 11, 15, 16, 17, 18, 19], "model": [2, 13, 18], "fork": [2, 18], "open": [2, 3, 4, 8, 9, 10, 11, 14, 15, 17, 18, 19], "pull": [2, 7, 9, 11, 15, 17, 18, 19], "request": [2, 4, 7, 9, 11, 14, 15, 18], "complet": [3, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19], "account": [3, 4, 5, 9, 15, 16, 19], "describ": [3, 4, 7, 8, 9, 10, 13, 15, 16, 17], "instruct": [3, 4, 7, 8, 9, 11, 13, 17, 19], "configur": [3, 6, 7, 8, 11, 15, 16, 17, 18], "histori": [3, 4, 9, 16], "given": [3, 7, 8, 10, 11, 13, 14, 15, 19], "everyon": [3, 4, 8, 9, 13, 15, 19], "freeli": [3, 8], "differ": [3, 4, 7, 8, 9, 10, 11, 12, 15, 16, 17, 19], "part": [3, 4, 8, 9, 11, 13, 17], "without": [3, 7, 8, 10, 12, 13, 14, 17], "overrid": [3, 8], "past": [3, 8, 13], "rollback": 3, "review": [3, 8, 10, 11, 13], "messag": [3, 4, 8, 9, 10, 11, 13, 14, 15, 19], "sourc": [3, 4, 8, 9, 13, 14, 15, 16, 17], "exactli": [3, 4, 8, 9, 14, 15], "been": [3, 8, 10, 11, 13, 14, 15, 16, 19], "modifi": [3, 4, 7, 8, 9, 11, 14, 17], "ani": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "greatli": [3, 4, 8, 9], "benefici": [3, 8], "whether": [3, 7, 8, 10, 14, 16], "independ": [3, 8, 13, 14], "within": [3, 4, 7, 8, 9, 10, 11, 14, 19], "team": [3, 7, 8], "program": [3, 7, 10, 11, 14, 15, 17, 18], "while": [3, 4, 7, 8, 9, 10, 14, 15, 17, 18, 19], "local": [3, 4, 8, 9, 16, 19], "onlin": [3, 4, 7, 8, 9, 17], "gitlab": [3, 8], "bitbucket": [3, 8], "includ": [3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "svn": [3, 8], "mercuri": [3, 8], "though": [3, 10, 12, 15], "option": [3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "setup": [3, 6, 7, 8, 9, 10, 11, 15, 17, 18, 19], "go": [3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17], "track": [3, 4, 8, 9, 15, 19], "termin": [3, 7, 8, 10, 13, 14, 15, 18], "directori": [3, 4, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19], "molssi_best_practic": [3, 7, 19], "Then": [3, 4, 8, 9, 13, 14, 15, 17, 19], "skill": 3, "sure": [3, 4, 8, 9, 10, 12, 13, 14, 15, 16, 17, 19], "abov": [3, 7, 8, 10, 11, 12, 14, 15, 19], "befor": [3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19], "continu": [3, 4, 5, 7, 8, 9, 19], "order": [3, 7, 8, 11, 13, 14, 19], "must": [3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 17], "start": [3, 4, 7, 8, 9, 10, 11, 12, 14, 15, 18, 19], "wish": [3, 8, 13, 15, 17], "repres": [3, 8, 15], "init": [3, 8, 19], "similar": [3, 7, 8, 10, 11, 13, 14, 17, 19], "TO": 3, "content": [3, 4, 8, 9, 14, 15, 16], "still": [3, 7, 8, 9, 10, 11, 13, 14, 15, 16], "look": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "hidden": [3, 8, 13, 15], "begin": [3, 7, 10, 14, 16, 17], "longer": [3, 8, 9, 10, 11, 16], "presenc": 3, "u": [3, 4, 7, 8, 9, 10, 11, 14, 15, 16, 17], "watch": 3, "data": [3, 7, 10, 12, 14, 19], "No": [3, 13, 15], "yet": [3, 8, 11, 13, 16, 19], "noth": [3, 4, 7, 8, 9, 14], "state": 3, "haven": [3, 11, 19], "checkpoint": [3, 8], "A": [3, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19], "particular": [3, 7, 8, 10, 11, 14, 17, 19], "There": [3, 7, 8, 9, 10, 13, 14, 15, 16, 17], "veri": [3, 4, 7, 9, 10, 13, 14, 15, 19], "procedur": [3, 4, 9, 10], "These": [3, 7, 10, 11, 14, 15, 17], "1": [3, 4, 7, 8, 9, 11, 12, 15, 17, 19], "2": [3, 4, 7, 8, 9, 11, 12, 13, 17, 19], "think": [3, 10, 11, 14, 17], "ve": [3, 4, 8, 9, 10, 11, 13, 15, 17], "typic": [3, 4, 7, 9, 14, 15, 17], "accompani": [3, 17], "last": [3, 4, 8, 9, 10, 11, 13, 14, 15, 19], "nice": [3, 8, 12, 15, 16], "again": [3, 4, 8, 9, 10, 11, 14, 15], "untrack": [3, 4, 8, 9], "ad": [3, 4, 7, 9, 10, 11, 13, 16, 19], "present": [3, 4, 8, 9, 13, 14, 17], "actual": [3, 4, 7, 8, 9, 10, 11, 15, 17], "rememb": [3, 7, 14, 15, 17, 19], "next": [3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19], "easili": [3, 7, 8, 10, 14, 16, 17, 19], "revert": [3, 8], "might": [3, 4, 8, 9, 10, 13, 14, 15, 17, 19], "thu": [3, 8], "stage": [3, 8, 16], "area": [3, 8, 13, 15], "cach": 3, "unstag": [3, 4, 8, 9], "second": [3, 4, 5, 8, 9, 10, 11, 14], "had": [3, 8, 11, 15], "whenev": [3, 4, 8, 9], "root": [3, 7, 15], "dc466ff": 3, "insert": [3, 4, 7, 9, 17], "mode": [3, 4, 7, 8, 9, 12], "100644": [3, 4, 8, 9], "tree": [3, 7, 8, 17], "clean": [3, 8, 13, 17], "sinc": [3, 8, 9, 10, 11, 12, 13, 14, 15, 17], "resembl": [3, 8], "dc466ff70070312b622ab0041f4d770bd37bb248": 3, "head": [3, 4, 8, 9, 10, 13, 17], "author": [3, 8, 10, 12, 15, 16], "jessica": [3, 14], "nash": 3, "janash": 3, "vt": 3, "edu": 3, "date": [3, 4, 8, 9, 15, 16], "wed": 3, "jul": 3, "8": [3, 8, 10, 13, 14, 15], "15": [3, 8, 9, 11, 14, 19], "59": 3, "57": 3, "2020": [3, 9], "0400": 3, "each": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "line": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18], "exist": [3, 4, 7, 8, 9, 11, 13, 14, 15, 16], "uniqu": [3, 8, 15, 16, 17], "identifi": [3, 8, 10, 16], "dc466": 3, "refer": [3, 7, 8, 10, 11, 13, 14, 15, 16, 17], "everi": [3, 8, 10, 11, 13, 14, 15, 17, 19], "than": [3, 4, 7, 8, 10, 11, 13, 14, 15, 17, 18, 19], "shown": [3, 4, 9, 10, 19], "name": [3, 4, 7, 8, 9, 11, 13, 14, 15, 16, 17], "who": [3, 4, 8, 9, 10, 13, 16, 17, 18, 19], "your_email": [3, 8], "com": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "anyon": [3, 7, 8, 10, 13, 15, 16], "email": [3, 4, 7, 8, 9, 19], "address": [3, 7, 8, 13, 15, 19], "match": [3, 8, 12, 13, 14, 15], "specifi": [3, 4, 7, 8, 10, 11, 12, 14, 15, 17, 19], "wa": [3, 4, 8, 9, 10, 11, 14, 15, 17], "final": 3, "blank": [3, 7, 8, 10, 17], "whoever": [3, 8], "chose": [3, 8], "took": [3, 8, 14], "ll": [3, 4, 7, 8, 9, 10, 14], "recogn": [3, 7, 8], "wrote": [3, 15], "q": 3, "all": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "right": [3, 4, 7, 8, 9, 11, 13, 14, 15, 17], "edit": [3, 4, 7, 8, 9, 11, 15, 16, 17, 19], "end": [3, 4, 7, 8, 9, 14, 15, 16, 17, 19], "restor": 3, "readi": [3, 4, 9, 15, 16, 18], "filenam": [3, 8], "did": [3, 4, 8, 9, 12, 13, 14, 15], "three": [3, 7, 8, 10, 11, 14, 15, 17], "revers": [3, 8], "chronolog": [3, 8], "full": [3, 7, 8, 10, 17], "here": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "ask": [3, 7, 8, 13], "minu": [3, 8], "green": [3, 4, 8, 9, 13, 15, 17], "plu": [3, 8], "sign": [3, 8, 19], "them": [3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19], "delet": [3, 7, 8, 11, 13, 17], "red": [3, 8, 11, 12, 13, 15], "checkout": [3, 8, 9, 10, 11, 12, 13, 14, 15, 17], "commit_id": [3, 8], "temporarili": [3, 8], "id": [3, 8, 12, 15], "recent": [3, 7, 8, 9, 16, 19], "onelin": [3, 8], "fe357b0": 3, "8c39357": 3, "left": [3, 4, 7, 8, 9, 12, 13, 17], "appropri": [3, 8, 10, 12, 13, 16, 17, 19], "switch": [3, 4, 7, 8, 9, 13, 19], "implement": [3, 8, 10, 11, 13, 14, 15], "good": [3, 8, 9, 10, 11, 14, 15, 16, 17], "isol": [3, 8, 19], "merg": [3, 4, 8, 9, 13, 15], "ensur": [3, 7, 8, 10, 13, 14, 18], "By": [3, 8, 13, 14, 15, 16], "default": [3, 4, 7, 8, 9, 10, 12, 14, 15, 17, 19], "new_branch_nam": [3, 8], "exercis": [3, 4, 9], "print": [3, 7, 8, 15], "hello": [3, 17], "world": [3, 17], "famou": 3, "hello_world": 3, "quot": [3, 7, 8, 10], "abil": [3, 8, 13, 17], "def": [3, 8, 10, 11, 12, 14, 15, 17], "prompt": [3, 7, 8, 19], "repo": [3, 7, 8, 13, 15, 19], "he": 3, "activ": [3, 8, 12, 19], "asterisk": [3, 8], "further": [3, 9, 10, 14, 19], "consid": [3, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19], "document": [3, 5, 7, 8, 9, 10, 11, 12, 15, 16], "updat": [3, 4, 7, 8, 9, 11, 13, 14, 15, 16, 17, 19], "doc_upd": [3, 8], "branch_nam": [3, 8, 13], "incorpor": [3, 8], "recurs": [3, 8], "strategi": [3, 6, 8, 14, 15, 16, 17, 18], "becaus": [3, 4, 7, 8, 9, 11, 14, 15, 16, 17, 19], "diverg": [3, 4, 8, 9], "were": [3, 4, 7, 8, 9, 11, 14, 15, 17, 19], "graph": [3, 8], "workflow": [3, 7, 8, 11, 13], "linear": [3, 8, 14], "onc": [3, 7, 8, 10, 13, 14, 15, 16, 17, 19], "done": [3, 4, 8, 9, 10, 13, 14, 15, 17, 19], "sometim": [3, 4, 8, 13, 14, 15], "temporari": [3, 8], "emac": [3, 8], "lot": [3, 7, 8, 10, 11, 12, 14, 15, 19], "tend": [3, 8], "annoi": [3, 8], "unimport": [3, 8], "ever": [3, 7, 15], "aren": [3, 8, 10, 13], "someon": [3, 8, 10, 15, 17], "els": [3, 4, 8, 9, 11, 15], "courtesi": [3, 8], "few": [3, 4, 7, 8, 9, 10, 13, 15, 17, 19], "dummi": [3, 4, 8, 9], "sai": [3, 4, 7, 8, 9, 10, 11, 13, 15, 17, 19], "stop": [3, 6, 8, 10, 15, 18], "gitignor": [3, 4, 7, 9, 11], "sound": 3, "clone": [3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 17], "select": [3, 4, 7, 9, 12, 14, 15, 17, 19], "told": 3, "plan": [3, 13, 15, 19], "navig": [3, 4, 7, 9, 13, 15, 17, 19], "byte": [3, 8, 13, 16], "compil": [3, 8, 10, 17, 19], "optim": [3, 4, 8, 9], "dll": [3, 8], "__pycache__": [3, 8], "cod": [3, 8], "class": [3, 8, 12, 14, 17], "extens": [3, 8, 12, 17], "env": [3, 7, 8, 11, 14, 15, 19], "build": [3, 5, 7, 8, 11, 15, 18, 19], "egg": [3, 8], "dist": [3, 7, 8, 10], "download": [3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "lib": [3, 8, 15], "lib64": [3, 8], "sdist": [3, 8], "var": [3, 8], "wheel": [3, 8, 16], "info": [3, 7, 8, 15, 17, 19], "cfg": [3, 7, 8, 11, 16, 17], "pyinstal": [3, 8], "usual": [3, 4, 7, 8, 9, 10, 11, 14], "written": [3, 7, 8, 10, 12, 14, 15, 17], "templat": [3, 8, 11, 15, 16], "ex": [3, 8], "inject": [3, 8, 14], "manifest": [3, 7, 8, 11, 16], "spec": [3, 8], "discard": [3, 8, 10], "addit": [3, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19], "becom": [3, 7, 8, 10, 14], "perman": [3, 8], "carpentri": [3, 8, 9, 18], "minut": [3, 7, 8, 9, 10, 11, 13, 15, 19], "requir": [3, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19], "sever": [3, 7, 10, 13, 14, 15, 16, 17, 19], "choos": [3, 5, 7, 10, 13, 14, 15, 17, 18, 19], "browser": [4, 9, 13, 15, 17], "log": [4, 8, 9, 15, 17], "alreadi": [4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "side": [4, 9, 10], "page": [4, 9, 13, 15, 16, 19], "click": [4, 7, 9, 12, 13, 15, 17, 19], "button": [4, 9, 13, 17, 19], "new": [4, 7, 9, 10, 11, 14, 15, 16, 17, 19], "leav": [4, 7, 8, 9, 11, 13, 14], "uncheck": [4, 9], "skip": [4, 9, 13, 14, 19], "step": [4, 9, 12, 13, 15, 19], "re": [4, 8, 9, 10, 13, 14, 15], "conveni": [4, 8, 9, 11, 17], "inclus": 4, "extra": [4, 16], "helpfulli": [4, 9], "remot": [4, 13, 15], "v": [4, 7, 9, 13, 14, 15], "under": [4, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18], "push": [4, 9, 10, 11, 13, 15, 16, 17], "your_github_usernam": [4, 9, 13, 17], "branch": [4, 9, 10, 15, 16, 17, 19], "main": [4, 7, 8, 9, 10, 11, 14, 15, 16, 17, 19], "url": [4, 9, 13, 15, 17], "simpli": [4, 9, 10, 11, 13, 14, 19], "shortcut": [4, 9], "anyth": [4, 9, 13, 14], "banana": [4, 9], "eleph": 4, "convent": [4, 9, 10, 11, 16], "realli": [4, 8, 9, 11, 17], "renam": [4, 11, 13, 15], "third": [4, 8, 9, 17, 19], "everyth": [4, 7, 9, 14], "refresh": [4, 9, 15, 17, 18], "webpag": [4, 9, 13], "One": [4, 7, 8, 9, 10, 14, 17, 19], "potenti": [4, 9, 14, 18], "frustrat": [4, 9], "problem": [4, 8, 9, 10, 12, 13, 14], "desktop": [4, 9], "laptop": [4, 9, 19], "dure": [4, 7, 8, 9, 10, 12, 13, 14, 19], "confer": [4, 9], "supercomput": [4, 9], "ye": [4, 7, 15], "olden": [4, 9], "dai": [4, 9, 15], "accomplish": [4, 9], "via": [4, 9, 15], "usb": [4, 9], "drive": [4, 9], "ssh": [4, 9, 13], "oneself": [4, 9], "easi": [4, 8, 9, 11, 12, 14], "forget": [4, 8, 9, 11, 14, 16], "resum": [4, 9, 19], "forgotten": [4, 9], "reappli": [4, 9], "Of": [4, 8, 9, 11], "dramat": [4, 9], "wors": [4, 9], "simplifi": [4, 9], "process": [4, 7, 9, 10, 13, 15, 16, 18], "action": [4, 6, 7, 9, 11, 18], "statu": [4, 9, 13, 16], "fatal": [4, 9, 13], "Not": [4, 7, 9, 17], "parent": [4, 9, 13], "until": [4, 9, 10, 13, 14], "simul": [4, 9, 11], "check": [4, 9, 10, 13, 15, 16, 19], "automat": [4, 7, 9, 10, 13, 14, 15, 16, 17], "fetch": [4, 9, 13, 16], "test": [4, 5, 7, 8, 9, 10, 11, 16, 17, 19], "txt": [4, 8, 9], "instead": [4, 7, 8, 9, 10, 11, 12, 15, 16, 17, 19], "reset": [4, 8, 9], "newest": [4, 9], "enumer": [4, 9, 13], "4": [4, 7, 8, 9, 12, 14], "count": [4, 8, 9, 13, 14], "100": [4, 9, 13, 15], "compress": [4, 9, 13], "total": [4, 9, 13, 14], "3": [4, 7, 9, 12, 13, 14, 15, 17, 19], "delta": [4, 9, 13], "reus": [4, 9, 13, 15], "pack": [4, 9], "0": [4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "unpack": [4, 9], "fetch_head": [4, 9], "2ac4843": [4, 9], "754da2b": [4, 9], "fast": [4, 9], "forward": [4, 9], "header": [4, 9, 17], "footer": [4, 9], "try": [4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "reject": [4, 9, 13, 16], "error": [4, 8, 9, 10, 12, 14, 15, 17], "fail": [4, 7, 9, 10, 15, 17], "ref": [4, 9], "caus": [4, 9, 12, 14], "integr": [4, 5, 7, 9, 14], "g": [4, 9, 16], "help": [4, 7, 9, 10, 11, 12, 13, 14, 15, 16, 19], "detail": [4, 7, 9, 10, 11, 13, 14, 15, 16, 17], "compat": [4, 16], "projectt": 4, "fix": [4, 9, 14, 15, 16], "reconcil": 4, "config": [4, 11, 19], "rebas": 4, "fals": [4, 8, 11, 14, 15, 17], "run": [4, 8, 9, 10, 11, 12, 15, 16, 18, 19], "9": [4, 9, 10, 12, 14, 15], "6": [4, 8, 9, 10, 11, 14], "5": [4, 8, 9, 11, 13, 14], "de54818": [4, 9], "auto": [4, 9, 10, 17], "unfortun": [4, 9, 13, 14, 15, 17], "due": [4, 9], "respect": [4, 9, 12], "unmerg": [4, 9], "abort": [4, 9], "both": [4, 9, 10, 11, 12, 13, 14, 15, 19], "12651a37de10d61d9e9eea31c260c15b7ef3b5d4": [4, 9], "bit": [4, 9, 11, 12, 14], "come": [4, 9, 10, 11, 12, 13, 17], "tidi": [4, 9, 16], "correctli": [4, 9, 14, 19], "speak": [4, 9, 13], "small": [4, 9, 11, 13, 17, 18], "pencil": [4, 9], "upper": [4, 9], "box": [4, 9, 12, 13], "scroll": [4, 9], "bottom": [4, 9, 12, 15, 19], "appear": [4, 7, 9, 10, 13, 15, 17], "blame": [4, 9, 19], "respons": [4, 9, 16], "reveal": [4, 9], "tab": [4, 9, 13, 15, 16], "bug": [4, 9, 12, 15, 16], "limit": [4, 9, 18], "ongo": [4, 9, 16], "fill": [4, 7, 9, 10, 11, 13, 14, 17], "quick": [4, 9], "comment": [4, 9, 10, 13, 14, 15, 17], "close": [4, 7, 9, 10, 13, 15, 19], "central": [4, 9, 13], "github": [5, 6, 7, 10, 11, 12, 13, 14, 16, 17], "conda": [5, 7, 11, 13, 15, 18], "manag": [5, 13, 16, 19], "teach": [5, 18], "molecular": [5, 7, 17, 18], "scienc": [5, 7, 17, 18, 19], "cm": [5, 7, 8, 11, 18, 19], "skelet": [5, 7], "environ": [5, 7, 11, 13, 15, 16, 17, 18], "credenti": [5, 18], "layout": [5, 7, 13, 18], "licens": [5, 9, 11, 16, 18], "pytest": [6, 15, 17, 18], "overal": [6, 14, 15, 18], "framework": [6, 18], "autom": [6, 10, 15, 18], "link": [6, 7, 13, 15, 16, 17, 18, 19], "concept": [6, 14, 15, 18], "benefit": [6, 12, 14, 15, 18], "marketplac": [6, 15, 18], "shop": [6, 15, 18], "demonstr": [6, 14, 15, 18], "familiar": [6, 15, 17, 18], "learner": [6, 15, 18], "yaml": [6, 7, 11, 15, 17, 18], "commun": [6, 10, 15, 16, 18], "analysi": [7, 11, 12, 14, 17], "molecul": [7, 8, 10, 14, 17], "jupyt": [7, 8, 11, 14, 19], "notebook": [7, 8, 11, 14, 19], "idea": [7, 8, 10, 11, 13, 15], "take": [7, 10, 11, 12, 13, 14, 17], "convert": [7, 11, 12, 17], "That": 7, "lab": 7, "mate": 7, "own": [7, 8, 10, 12, 13, 14, 15, 19], "larg": [7, 11, 12, 13, 18], "scipi": 7, "scikit": 7, "lai": 7, "more": [7, 11, 14, 16, 17, 18, 19], "special": [7, 8, 10, 14, 15, 17], "accord": [7, 10], "portion": [7, 19], "pleas": [7, 11, 14, 18, 19], "subdirectori": [7, 14], "gh": 7, "http": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "valu": [7, 8, 10, 11, 12, 14, 15], "squar": 7, "bracket": 7, "cleverli": 7, "cool": 7, "answer": [7, 8, 14, 16], "colon": [7, 10, 17], "hit": [7, 10], "enter": [7, 14, 17], "project_nam": 7, "projectnam": 7, "repo_nam": 7, "first_module_nam": 7, "author_nam": 7, "compani": 7, "your_name_her": 7, "author_email": 7, "your_email_address_her": 7, "less": [7, 10, 14, 19], "analyz": [7, 11, 14, 19], "xyz": [7, 8, 10, 11, 14, 17, 19], "open_source_licens": 7, "mit": 7, "bsd": 7, "claus": 7, "lgplv3": 7, "dependency_sourc": 7, "forg": [7, 15, 16, 19], "fallback": 7, "anaconda": 7, "channel": [7, 15, 16, 17, 19], "include_readthedoc": 7, "y": [7, 14, 19], "n": [7, 8, 10, 11, 14, 17, 19], "two": [7, 8, 10, 11, 12, 13, 14, 15, 17, 19], "eventu": [7, 16], "rule": [7, 8, 10, 13, 16], "valid": [7, 10, 15], "cannot": [7, 16], "space": [7, 10, 13, 17, 19], "avoid": [7, 11, 12, 14, 16], "confus": 7, "put": [7, 13, 17, 19], "Be": [7, 10, 16, 19], "symbol": [7, 8, 10, 11, 13, 14, 17], "domain": 7, "kept": [7, 14], "itself": [7, 10], "contact": [7, 19], "redistribut": 7, "restrict": 7, "warranti": 7, "chosen": [7, 13], "permiss": [7, 9, 13], "deriv": [7, 12, 16], "copyright": [7, 8], "redistributor": 7, "prohibit": 7, "its": [7, 8, 10, 11, 12, 14, 15, 16], "contributor": [7, 13, 17, 18], "promot": 7, "product": [7, 11], "consent": 7, "choosealicens": 7, "custom": [7, 10, 15], "assum": [7, 8], "won": [7, 11, 13, 17], "matter": 7, "great": [7, 8, 15], "deal": [7, 11], "earli": 7, "either": [7, 10, 12, 13, 14, 15, 17, 19], "copyleft": 7, "spend": [7, 10], "guid": [7, 10, 11, 15, 16], "chodera": 7, "websit": [7, 17], "determin": [7, 14], "mostli": 7, "consequ": [7, 11], "don": [7, 10, 11, 13, 14, 15, 16, 17, 19], "worri": [7, 15], "much": [7, 10, 14], "examin": [7, 10, 14, 17], "code_of_conduct": [7, 11], "conduct": [7, 11, 14], "render": [7, 11, 13, 17], "sampl": [7, 10, 11, 14, 17], "non": [7, 10, 11, 16], "look_and_sai": [7, 11], "dat": [7, 11], "unit": [7, 11, 14, 15], "test_molecool": [7, 11, 14, 15], "devtool": [7, 11, 15, 17], "deploy": [7, 11], "ci": [7, 11], "helper": [7, 11], "test_env": [7, 11, 15], "create_conda_env": [7, 11], "o": [7, 8, 10, 14, 15, 19], "agnost": [7, 11, 16], "simpl": [7, 8, 10, 11, 12, 14, 15, 17], "flag": [7, 11], "makefil": [7, 11, 17], "_static": [7, 11, 17], "_templat": [7, 11, 17], "api": [7, 11], "rst": [7, 11, 17], "conf": [7, 11], "getting_start": [7, 11, 17], "index": [7, 8, 11, 15, 16, 17], "bat": [7, 11, 17], "smaller": [7, 11, 14, 17], "pyproject": [7, 9, 11, 16], "toml": [7, 9, 11, 16], "pep": [7, 11, 16], "517": [7, 11, 16], "yml": [7, 11, 15, 16], "Near": [7, 11], "master": [7, 8, 9, 10, 11, 15], "hous": [7, 11], "ini": [7, 11], "coverag": [7, 11], "flake8": [7, 10, 11], "yapf": [7, 10, 11], "etc": [7, 10, 11, 17], "codecov": [7, 11, 15], "reduc": [7, 11], "verbos": [7, 11], "level": [7, 10, 11, 13, 15, 17], "hook": [7, 11, 17], "pull_request_templ": [7, 11, 15], "stock": [7, 11], "pattern": [7, 11], "ignor": [7, 10, 11], "lgtm": [7, 11], "sudo": 7, "apt": 7, "brew": 7, "label": [7, 12], "window": [7, 13, 14, 15], "thought": 7, "top": [7, 8, 11, 12, 13, 14, 15, 17], "relat": [7, 10, 11, 14], "test_funct": 7, "technic": 7, "talk": 7, "hand": [7, 13, 14], "well": [7, 8, 11, 13, 14, 15, 16, 17], "singl": [7, 10, 11, 14, 17], "definit": [7, 8, 10, 14], "statement": [7, 10, 11, 14, 15], "defin": [7, 9, 10, 11, 12, 14, 15], "module_nam": 7, "function_nam": 7, "collect": [7, 8, 12, 14, 15, 16, 19], "interpret": [7, 10, 11, 14, 19], "_version": [7, 11, 16, 17], "__version__": [7, 11], "string": [7, 8, 10, 16, 17], "quotat": 7, "concern": 7, "goe": [7, 17, 19], "bring": [7, 13], "canva": [7, 8, 10, 17], "surround": [7, 10, 14], "sentenc": [7, 8, 10], "primari": [7, 8, 9, 15], "placehold": [7, 8, 10], "At": [7, 11, 12, 19], "accustom": 7, "retriev": 7, "internet": 7, "known": [7, 14], "anywher": 7, "matplotlib": [7, 8, 11, 15, 17, 19], "particularli": [7, 10, 11, 13], "reflect": [7, 11, 16], "reinstal": 7, "site": [7, 16, 17], "sy": [7, 14], "search": [7, 12, 13, 14, 15], "direct_url": 7, "json": 7, "signifi": 7, "year": 7, "ecosystem": 7, "seen": [7, 11, 13, 15], "numer": 7, "design": [7, 8, 10, 12, 17, 18], "streamlin": 7, "primarili": 7, "altern": [7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "poetri": 7, "flit": 7, "offer": 7, "featur": [7, 10, 11, 15, 16], "encount": [7, 8], "variou": [7, 14, 16], "imagin": [7, 8], "adapt": [7, 8], "henri": [7, 8], "david": [7, 8], "thoreau": [7, 8], "avail": [7, 11, 12, 14, 15, 16, 17, 19], "launch": [7, 16], "happen": [7, 8, 13, 14, 15, 17, 19], "deactiv": [7, 19], "attempt": 7, "zip": [7, 8, 9, 10, 11, 12, 14, 15, 17, 19], "pre": [8, 9, 10, 11, 12, 14, 15, 16, 17], "educ": [8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "molecool": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "overwrit": 8, "roll": 8, "subvers": 8, "hg": 8, "earlier": [8, 14, 19], "outer": 8, "ran": [8, 10, 14], "la": 8, "long": [8, 10, 14, 18], "25ab1f1a066f68e433a17454c66531e5a86c112d": 8, "tag": [8, 14], "mon": 8, "feb": 8, "10": [8, 10, 11, 14, 15, 19], "45": [8, 14], "26": [8, 14], "2019": 8, "0500": 8, "x": [8, 10, 11, 14], "depend": [8, 11, 12, 14, 15, 16, 17], "releas": 8, "25ab1": 8, "hexadecim": 8, "effect": [8, 9, 15, 16], "pip": [8, 10, 11, 14, 15, 17], "development": 8, "neglect": 8, "compos": 8, "argument": [8, 10, 12, 14, 17], "comparison": [8, 10, 14], "alia": 8, "tip": 8, "d857c74": 8, "3c0e1c6": 8, "116f0cf": 8, "mimic": [8, 11], "recreat": 8, "referenc": [8, 10], "b": 8, "94e0b50": 8, "a68f349": 8, "17": 8, "compar": [8, 10, 13, 14], "against": 8, "e778cd4": 8, "13": 8, "undo": 8, "replac": [8, 10, 16, 19], "zen": 8, "figur": [8, 11, 13, 19], "diagram": [8, 13], "circl": 8, "unchang": 8, "illustr": [8, 10], "better": [8, 10, 14, 16, 17, 19], "screen": 8, "19": 8, "principl": [8, 12], "influenc": 8, "with_attribut": [8, 10], "true": [8, 10, 13, 14, 17], "beauti": 8, "ugli": [8, 10], "explicit": [8, 10], "implicit": [8, 12], "complex": [8, 12], "complic": [8, 11], "flat": 8, "nest": 8, "spars": 8, "dens": 8, "enough": [8, 10, 15], "although": [8, 10], "beat": 8, "puriti": 8, "never": [8, 10, 14, 15], "pass": [8, 10, 12, 14, 15, 17], "silent": [8, 10], "unless": [8, 14], "explicitli": [8, 12, 15], "silenc": 8, "face": 8, "ambigu": 8, "refus": 8, "temptat": 8, "guess": 8, "obviou": 8, "dutch": 8, "hard": [8, 10], "bad": [8, 11], "namespac": [8, 11], "honk": 8, "ttim": 8, "peter": 8, "older": [8, 19], "ort": 8, "cell": 8, "np": [8, 10, 11, 12, 14, 15, 17], "pyplot": [8, 11], "plt": [8, 11], "mpl_toolkit": [8, 10, 11], "mplot3d": [8, 10, 11], "axes3d": [8, 10, 11], "paramet": [8, 11, 12, 17], "bool": [8, 10, 12], "str": [8, 10, 11, 12], "attribut": 8, "calculate_dist": [8, 11, 14, 17], "ra": [8, 10, 11, 12], "rb": [8, 10, 11, 12], "calcul": [8, 10, 11, 12, 14, 17], "distanc": [8, 10, 11, 12, 14], "arrai": [8, 10, 11, 12, 14, 15], "linalg": [8, 10, 11, 12], "norm": [8, 10, 11, 12], "open_pdb": [8, 10, 11, 14], "f_loc": [8, 10], "pdb": [8, 10, 11, 14, 17, 19], "atom": [8, 10, 12, 13, 14, 17], "coordin": [8, 10, 11, 12, 14, 17, 19], "f": [8, 10, 11, 14], "readlin": [8, 10, 11], "sym": [8, 10], "hetatm": [8, 10, 11], "append": [8, 10, 11], "76": [8, 10, 11], "79": [8, 10, 11], "strip": [8, 10, 11], "c2": [8, 10], "float": [8, 10, 11, 12, 14], "30": [8, 10, 11, 14], "55": [8, 10, 11], "split": [8, 10, 11], "coord": [8, 10, 11], "atomic_weight": [8, 11, 14], "h": [8, 10, 11, 14, 15], "00784": [8, 11], "12": [8, 10, 11, 14, 16], "0107": [8, 11], "14": [8, 11, 14], "0067": [8, 11], "999": [8, 11], "973762": [8, 11], "18": [8, 11, 14], "998403": [8, 11], "cl": [8, 11], "35": [8, 11], "453": [8, 11], "br": [8, 11], "904": [8, 11], "open_xyz": [8, 11, 14, 17], "file_loc": [8, 10, 11], "xyz_fil": [8, 11], "genfromtxt": [8, 11], "fname": [8, 11], "skip_head": [8, 11], "dtype": [8, 11], "unicod": [8, 11], "astyp": [8, 11], "write_xyz": [8, 10, 11, 14], "num_atom": [8, 10, 11], "len": [8, 10, 11, 14], "rang": [8, 10, 11, 14], "draw_molecul": [8, 11, 14, 17], "draw_bond": [8, 11, 17], "none": [8, 11], "save_loc": [8, 11], "dpi": [8, 11], "300": [8, 11], "draw": [8, 11, 17], "pictur": 8, "fig": [8, 11], "ax": [8, 11], "add_subplot": [8, 11], "111": [8, 11], "3d": [8, 10, 11], "color": [8, 11, 13, 15], "atom_color": [8, 11], "size": [8, 10, 11], "rcparam": [8, 11], "markers": [8, 11], "200": [8, 11], "scatter": [8, 11], "marker": [8, 11], "edgecolor": [8, 11], "facecolor": [8, 11], "alpha": [8, 11, 16], "bond": [8, 11, 14], "bond_length": [8, 11, 14], "item": [8, 11, 14, 17], "atom1": [8, 11], "atom2": [8, 11], "plot": [8, 10, 15], "savefig": [8, 11], "graph_min": [8, 11], "graph_max": [8, 11], "calculate_angl": [8, 11, 15, 17], "rc": [8, 11], "degre": [8, 11, 14, 15], "angl": [8, 14], "radian": [8, 15], "ab": [8, 11, 14], "bc": [8, 11], "theta": [8, 11], "arcco": [8, 11], "bond_histogram": [8, 11, 14], "bond_list": [8, 11], "histogram": 8, "length": [8, 10, 11, 14], "build_bond_list": [8, 11, 14, 17], "bin": [8, 11, 14], "linspac": [8, 11], "xlabel": [8, 11], "angstrom": [8, 11, 14], "ylabel": [8, 11], "hist": [8, 11], "max_bond": [8, 11], "min_bond": [8, 11, 14], "criteria": [8, 10, 11], "white": [8, 11, 13], "d3d3d3": [8, 11], "add8e6": [8, 11], "ffa500": [8, 11], "ffffe0": [8, 11], "98fb98": [8, 11], "f4a460": [8, 11], "yellow": [8, 11], "__name__": [8, 11], "__main__": 8, "invok": [8, 16], "materi": [8, 10, 13, 18], "simplic": [8, 11], "r": [8, 14, 17], "built": [8, 10, 12, 14, 15, 16, 17], "input": [8, 10, 11, 12, 14, 17], "prevent": [8, 10], "accident": [8, 10, 16], "shouldn": [8, 13], "possibl": [8, 10, 13, 14, 15, 19], "togeht": 9, "authent": 9, "ident": [9, 12, 19], "person": [9, 13, 15, 19], "token": [9, 16], "pat": 9, "fine": [9, 10, 13], "grain": 9, "As": [9, 10, 11, 12, 13, 14, 15, 19], "pickl": 9, "june": 9, "entri": [9, 15, 16], "discov": [9, 12, 14], "acquir": 9, "least": [9, 14, 17, 19], "metadata": [9, 16], "molecool_friend": 9, "friend": 9, "episod": [10, 14, 15, 17], "found": [10, 12, 15], "molssi_beter_practic": 10, "starting_materi": [10, 19], "luckili": [10, 14], "mind": [10, 16, 19], "whose": 10, "signific": 10, "ahead": [10, 11, 15, 19], "With": [10, 11, 16, 17], "pdb_file": 10, "join": 10, "water": [10, 19], "626": 10, "787": 10, "673": 10, "42": [10, 14], "203": 10, "7": [10, 14], "604": 10, "inconsist": 10, "necessarili": 10, "clear": [10, 16], "appli": [10, 12], "hoorai": 10, "seem": [10, 12, 14], "surpris": [10, 16], "intern": [10, 14, 16], "instanc": [10, 16], "unwant": 10, "behavior": [10, 12, 14], "occur": [10, 14], "malfunct": 10, "divis": 10, "zero": [10, 14], "zerodivisionerror": 10, "smart": 10, "halt": [10, 14], "feedback": 10, "throw": [10, 12], "nan": 10, "yourself": [10, 11], "failur": [10, 14, 15], "opportun": 10, "suppli": [10, 14], "neither": 10, "intend": [10, 15, 17], "test_atom": 10, "test_coord": 10, "probabl": [10, 11, 12, 15, 16, 17], "element": [10, 11, 12, 14, 17], "incorrect": 10, "valueerror": [10, 11, 14], "quit": 10, "fake": 10, "nevertheless": 10, "tempt": 10, "posit": [10, 14], "arithmet": 10, "typeerror": [10, 12], "undefin": [10, 11], "nameerror": 10, "assert": [10, 14, 15], "assertionerror": [10, 14], "latter": 10, "smarter": 10, "perhap": 10, "futur": 10, "guidelin": [10, 15, 16, 17], "enhanc": 10, "propos": 10, "strict": [10, 16], "classifi": 10, "categori": [10, 15], "standard": [10, 13, 16], "pep1": 10, "outlin": [10, 11, 14, 17, 19], "charact": 10, "lowercas": 10, "letter": 10, "el": 10, "uppercas": 10, "oh": 10, "ey": [10, 17], "atom_coord": [10, 11], "rewrit": 10, "per": [10, 14], "meet": [10, 14, 15], "binari": 10, "assign": [10, 12, 13, 14], "augment": 10, "boolean": 10, "express": [10, 14], "sparingli": 10, "logic": 10, "coupl": [10, 13, 15], "reformat": 10, "dist_vec": [10, 11, 12], "successfulli": [10, 12, 15, 17], "littl": [10, 13, 17], "mc": 10, "multi": [10, 11], "beneath": 10, "ndarrai": [10, 11, 12, 14, 17], "r1": [10, 11, 12, 14, 15], "r2": [10, 11, 12, 14, 15], "pep257": 10, "underlin": [10, 12], "hyphen": 10, "relev": [10, 12, 15, 17], "correspond": [10, 14], "clarifi": 10, "rel": 10, "straightforward": 10, "keyword": [10, 14, 15], "expect": [10, 12, 16], "contrast": 10, "meant": [10, 17], "usag": [10, 17], "strongli": [10, 16], "encourag": [10, 14, 16], "front": 10, "column": [10, 11], "black": 10, "static": 10, "linter": 10, "pylint": 10, "formatt": 10, "pars": 10, "gain": 10, "late": 10, "almost": [10, 15], "entir": [10, 15, 16], "customiz": 10, "normal": [10, 15], "doubl": 10, "88": 10, "exact": [10, 15], "consist": [10, 14], "cleaner": [10, 14], "adher": [10, 15, 18], "snake_cas": 10, "stylist": [10, 11], "unus": [10, 11], "f401": [10, 11], "vari": [10, 15], "isn": [10, 17], "noqa": [10, 11], "report": [10, 14, 15, 18], "adopt": [10, 16], "autoformat": 10, "natur": 11, "lead": [11, 13, 15, 16, 17], "major": [11, 16], "difficult": 11, "slow": [11, 14], "progress": [11, 14], "crawl": 11, "piec": [11, 13], "method": [11, 14, 15], "explan": [11, 15, 17], "rest": [11, 15, 16], "documen": 11, "readthedoc": [11, 17], "easiest": [11, 19], "abbrevi": 11, "rearrang": 11, "calculate_molecular_mass": [11, 14], "calculate_center_of_mass": [11, 14, 17], "dictionari": [11, 14], "clearli": 11, "sens": 11, "atom_data": [11, 14], "enclos": 11, "constant": 11, "approxim": 11, "similarli": [11, 15], "fit": 11, "natom": 11, "ndim": 11, "maximum": 11, "minimum": [11, 14], "dict": 11, "pair": 11, "jump": 11, "mention": [11, 15, 16], "previous": [11, 13, 14, 16, 17], "distinct": [11, 14], "somewhat": 11, "unrel": 11, "touch": [11, 13, 14], "file_nam": 11, "manipul": 11, "big": 11, "But": [11, 13], "suit": [11, 14, 18], "ineffici": 11, "extract": 11, "fact": [11, 12], "restructur": [11, 17], "care": 11, "accordingli": [11, 19], "importerror": [11, 15], "load": 11, "original_funct": 11, "asid": 11, "inspect": [11, 14], "miss": [11, 14, 15], "extern": [11, 17], "librari": [11, 12, 14, 17, 19], "carefulli": 11, "intra": 11, "bash": [11, 15, 17, 19], "grab": 11, "correct": [11, 13, 14, 15, 19], "__builtins__": 11, "__cached__": 11, "__doc__": 11, "__file__": 11, "__git_revision__": 11, "__loader__": 11, "__package__": 11, "__path__": 11, "__spec__": 11, "broke": 11, "cost": 11, "slightli": [11, 15], "simpler": 11, "goal": [11, 17], "io_funct": 11, "desir": [11, 19], "pointer": 11, "underli": 11, "submodul": 11, "target": 11, "appreci": 11, "plai": [11, 12], "role": 11, "broken": [11, 14], "amount": [11, 19], "inher": 12, "enforc": [12, 16], "variabl": [12, 14, 15], "duck": 12, "phrase": 12, "swim": 12, "quack": 12, "similarili": 12, "integ": 12, "unconcern": 12, "flexibl": 12, "arbitrari": 12, "aris": [12, 13, 14], "measur": [12, 14, 15, 17], "subtract": 12, "support": [12, 16, 17], "unsupport": 12, "operand": 12, "anticip": 12, "catch": [12, 14, 15], "usabl": 12, "being": [12, 13, 14, 19], "inappropri": 12, "improv": [12, 13, 14, 17], "my_integ": 12, "int": [12, 17], "my_float": 12, "list_of_int": 12, "subscript": 12, "my_funct": 12, "var1": 12, "var2": 12, "declar": 12, "warn": [12, 17], "enabl": [12, 17], "mypi": 12, "pyright": 12, "pylanc": 12, "gear": [12, 13], "icon": 12, "corner": 12, "dropdown": 12, "underneath": [12, 15], "incompat": [12, 16], "abstract": 12, "abc": 12, "union": 12, "accept": [12, 13, 19], "supportsfloat": 12, "iter": [12, 14], "arg": 12, "runtim": [12, 14], "reloc": 13, "transfer": 13, "invit": 13, "pop": 13, "bar": 13, "trust": 13, "especi": 13, "unwis": 13, "submit": [13, 18], "owner": 13, "rather": [13, 14, 17], "collab_instruct": 13, "thread": 13, "470": 13, "00": 13, "kib": 13, "resolv": 13, "visit": 13, "your_usernam": 13, "approv": 13, "kind": [13, 14], "explor": [13, 14, 15], "hundr": 13, "interest": 13, "guarante": 13, "solut": 13, "form": [13, 17], "upon": 13, "offici": [13, 16], "period": [13, 15, 17], "tabl": [13, 18], "background": 13, "around": [13, 16], "profil": [13, 19], "redirect": [13, 15], "NOT": 13, "IN": 13, "machin": [13, 15, 19], "real": [13, 14], "situat": [13, 14], "demo": 13, "sodium": 13, "todai": 13, "mistak": 13, "pick": [13, 14, 19], "element_nam": 13, "na": 13, "11": [13, 14, 15, 17, 19], "jekyl": 13, "bundl": [13, 17], "exec": 13, "serv": 13, "your_el": 13, "liter": 13, "highlight": [13, 15], "field": [13, 16, 17], "larger": [13, 14, 17], "feel": 13, "public": [13, 16], "reaction": 13, "tediou": [14, 17], "prone": 14, "capabl": 14, "regularli": 14, "cycl": 14, "thorough": 14, "afterthought": 14, "essenti": [14, 15, 16], "neg": 14, "observ": 14, "shortli": 14, "uncommonli": 14, "factor": 14, "therefor": 14, "databas": 14, "network": [14, 16], "resourc": [14, 15], "holist": 14, "approach": [14, 16], "whole": 14, "regress": 14, "highli": 14, "focus": 14, "unittest": 14, "nose": 14, "ideal": [14, 17], "cov": [14, 15], "test_": 14, "test_molecool_import": 14, "instantli": 14, "session": 14, "darwin": 14, "pluggi": 14, "rootdir": 14, "dev": 14, "inifil": 14, "06": 14, "miniconda3": [14, 19], "cachedir": 14, "pytest_cach": 14, "divid": [14, 17], "four": 14, "test_measur": [14, 15], "test_calculate_dist": 14, "expected_dist": 14, "calculated_dist": 14, "50": 14, "07": 14, "equal": 14, "rerun": 14, "___________________________________________________________": 14, "56": 14, "addition": 14, "advantag": [14, 17], "debug": 14, "expected_valu": [14, 15], "evalu": [14, 16], "r3": [14, 15], "90": [14, 15], "test_calculate_angl": 14, "calculated_valu": [14, 15], "test_molecul": 14, "test_build_bond_list": 14, "invalid": 14, "greater": 14, "alter": 14, "test_build_bond_failur": 14, "otherwis": [14, 19], "tdd": 14, "THEN": 14, "homework": 14, "mass": [14, 17], "test_molecular_mass": 14, "calculated_mass": 14, "actual_mass": 14, "16": 14, "04": [14, 19], "approx": 14, "1e": 14, "io": [14, 15, 19], "center": [14, 17], "weight": [14, 17], "center_of_mass": [14, 17], "formula": [14, 17], "math": 14, "vec": [14, 17], "frac": [14, 17], "sum_": [14, 17], "m_": [14, 17], "r_": [14, 17], "And": 14, "test_center_of_mass": 14, "expected_cent": 14, "wise": 14, "array_equ": 14, "shape": 14, "total_mass": 14, "mass_arrai": 14, "sum": 14, "power": 14, "depth": [14, 15, 16, 17], "act": 14, "preced": 14, "foo": 14, "xfail": 14, "mayb": 14, "Or": [14, 16], "global": [14, 19], "repeatedli": 14, "decoupl": 14, "methane_molecul": 14, "test_build_bond_list_failur": 14, "carbon": 14, "methan": 14, "test_move_methan": 14, "expens": 14, "fewer": 14, "remain": 14, "subsequ": 14, "awar": [14, 17], "properti": 14, "realiz": 14, "conftest": 14, "articl": 14, "middl": 14, "dimension": 14, "anecdot": 14, "crucial": [14, 18], "boundari": 14, "exhibit": 14, "qualit": 14, "dedic": 14, "extrem": [14, 17], "variable_name1": 14, "variable_name2": 14, "variable_namen": 14, "expected_answ": 14, "variable_value1": 14, "variable_value2": 14, "variable_valuen": 14, "expected_answer_valu": 14, "test_nam": 14, "parenthes": 14, "p1": 14, "p2": 14, "p3": 14, "expected_angl": 14, "sqrt": 14, "60": 14, "test_calculate_angle_mani": 14, "calculated_angl": 14, "deselect": 14, "p10": 14, "p20": 14, "p30": 14, "33": 14, "p11": 14, "p21": 14, "p31": 14, "66": 14, "p12": 14, "p22": 14, "p32": 14, "44": 14, "stack": 14, "test_foo": 14, "exhaust": 14, "pain": 14, "treat": 14, "doctest": 14, "27": 14, "test_calculate_angle_90": 14, "36": 14, "54": 14, "63": 14, "test_build_bond_list_default": 14, "72": 14, "81": 14, "______________________________________________________________": 14, "015": 14, "016": 14, "017": 14, "018": 14, "019": 14, "020": 14, "021": 14, "022": 14, "023": 14, "024": 14, "got": 14, "24": [14, 15], "doctestfailur": 14, "41": 14, "assess": 14, "plugin": 14, "stmt": 14, "21": 14, "92": 14, "28": [14, 19], "96": 14, "114": 14, "53": 14, "70": 14, "weren": 14, "percentag": [14, 15], "produc": [14, 15, 18], "impract": 14, "convolut": 14, "subject": [14, 18], "ii": 14, "comprehens": 14, "higher": [14, 19], "achiev": [14, 15], "unrealist": 14, "worth": 14, "individu": 14, "prerequisit": 15, "your_repostiory_loc": 15, "wikipedia": 15, "mainlin": 15, "beforehand": 15, "experiment": 15, "reach": 15, "fellow": 15, "expand": 15, "tightli": 15, "free": 15, "circleci": 15, "azur": 15, "pipelin": 15, "travi": 15, "fortun": 15, "despit": 15, "soon": 15, "hood": 15, "legaci": 15, "pull_request": 15, "schedul": [15, 16], "nightli": 15, "latest": [15, 16, 19], "en": [15, 16], "event": 15, "trigger": [15, 17], "cron": 15, "midnight": 15, "interv": 15, "job": 15, "gha": 15, "matrix": 15, "ubuntu": [15, 19], "combin": 15, "variable_nam": 15, "modular": 15, "commonli": [15, 19], "block": [15, 17], "miniconda": 15, "v4": 15, "ourselv": 15, "unam": 15, "df": 15, "ulimit": 15, "micromamba": 15, "mamba": 15, "org": [15, 16, 17], "v1": 15, "condarc": 15, "tutori": [15, 16, 17, 18], "app": 15, "said": 15, "inconveni": 15, "imposs": 15, "reproduc": [15, 18], "certain": [15, 18, 19], "pypi": 15, "dep": 15, "xml": 15, "cross": 15, "__________": 15, "home": [15, 16], "runner": 15, "traceback": 15, "usr": 15, "python3": 15, "importlib": 15, "127": 15, "import_modul": 15, "_bootstrap": 15, "_gcd_import": 15, "modulenotfounderror": 15, "detect": 15, "five": 15, "checkmark": 15, "congratul": 15, "finish": 15, "style": [15, 17], "upload": 15, "wast": 15, "hour": 15, "aim": 15, "obsess": 15, "summari": [15, 17], "besid": 15, "html": [15, 17], "htmlcov": 15, "importantli": [15, 16, 19], "imag": [15, 17, 19], "test_calculate_angle_radian": 15, "pi": 15, "180": 15, "lack": 15, "suffici": [15, 17], "qualiti": 15, "send": 15, "statist": 15, "neat": 15, "sunburst": 15, "hierarch": 15, "poorli": 15, "obtain": [15, 19], "plug": 15, "silli": 15, "ascii": 15, "art": 15, "welcom": [15, 17], "placement": 15, "mscoutermarsh": 15, "event_nam": 15, "actor": 15, "repository_nam": 15, "preliminari": 16, "polish": 16, "regist": 16, "lose": 16, "password": [16, 19], "sequenc": [16, 18], "base64": 16, "encod": 16, "yourtoken": 16, "pypirc": 16, "testpypi": 16, "usernam": [16, 17, 19], "__token__": 16, "twine": 16, "announc": 16, "blurb": 16, "publish": 16, "sit": 16, "0a1": 16, "archiv": 16, "healthier": 16, "portabl": 16, "discover": 16, "setuptool": 16, "assembl": 16, "cloud": 16, "buildabl": 16, "embed": 16, "versioningit": 16, "particip": [16, 19], "revis": 16, "regener": 16, "untag": 16, "post": 16, "satisfi": 16, "440": 16, "mess": 16, "scheme": 16, "histor": 16, "distutil": 16, "came": 16, "reli": 16, "effort": [16, 19], "retir": 16, "caution": 16, "beta": 16, "univers": 16, "yank": 16, "conserv": 16, "clutter": 16, "compliant": 16, "meta": 16, "changelog": 16, "constraint": 16, "meaningfulli": 16, "heurist": 16, "prereleas": 16, "increment": 16, "consider": [16, 19], "moder": 16, "backward": 16, "old": [16, 19], "scenario": 16, "conflict": 16, "minor": 16, "patch": 16, "implic": 16, "sort": 16, "bump": 16, "tweak": 16, "establish": 16, "versu": 16, "prospect": 16, "confid": 16, "stabil": 16, "matur": 16, "deploi": 17, "mainten": [17, 18], "bore": 17, "habit": 17, "involv": 17, "compon": [17, 18], "prepar": [17, 19], "wide": 17, "fulli": 17, "audienc": 17, "AND": 17, "theme": 17, "preconfigur": 17, "sphinx_rtd_them": 17, "restructuredtext": 17, "autosummari": 17, "_build": 17, "preview": 17, "notabl": 17, "cheat": 17, "sheet": 17, "rebuild": 17, "subhead": 17, "rtd": 17, "benzen": [17, 19], "benzene_symbol": 17, "benzene_coord": 17, "benzene_bond": 17, "docutil": 17, "directive_nam": 17, "indent": 17, "iostream": 17, "void": 17, "std": 17, "cout": 17, "toctre": 17, "menu": [17, 19], "maxdepth": 17, "caption": 17, "toc": 17, "homepag": 17, "descipt": 17, "held": 17, "institut": [17, 18], "path_to_directori": 17, "latex": 17, "latexpdf": 17, "chapter": 17, "spinx": 17, "autodoc": 17, "viewabl": 17, "taken": 17, "automodul": 17, "autofunct": 17, "ext": 17, "mathjax": 17, "viewcod": 17, "napoleon": 17, "intersphinx": 17, "extlink": 17, "autoapi_dir": 17, "autoapi_ignor": 17, "autoapi_opt": 17, "member": 17, "undoc": 17, "privat": 17, "inherit": 17, "autosummary_gener": 17, "napoleon_google_docstr": 17, "napoleon_use_param": 17, "napoleon_use_ivar": 17, "realist": 17, "closer": 17, "dashboard": 17, "point": 18, "protocol": 18, "reliabl": 18, "decreas": 18, "term": 18, "increas": 18, "viabil": 18, "experi": 18, "sequenti": 18, "subsystem": 19, "x64": 19, "1903": 19, "18362": 19, "arm64": 19, "2004": 19, "19041": 19, "along": 19, "parti": 19, "22": 19, "ghcr": 19, "local_path": 19, "restart": 19, "curl": 19, "x86_64": 19, "sh": 19, "architectur": 19, "m1": 19, "macosx": 19, "x86": 19, "reopen": 19, "cli": 19, "package_nam": 19, "jupyterlab": 19, "walk": 19, "solver": 19, "wrong": 19, "cap": 19, "your_firstnam": 19, "your_lastnam": 19, "your_email_address": 19, "defaultbranch": 19, "comfort": 19, "favorit": 19, "core": 19, "wait": 19, "profession": 19, "showcas": 19, "recogniz": 19, "deprec": 19, "kei": 19, "connect": 19, "scientist": 19, "screenshot": 19, "palett": 19, "shift": 19, "cmd": 19, "unzip": 19, "1bna": 19, "starting_notebook": 19, "ipynb": 19}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"code": [0, 10, 12, 13, 14, 15, 17, 18], "style": [0, 10, 18], "document": [0, 14, 17, 18], "introduct": [1, 3, 8], "command": [1, 19], "line": [1, 19], "overview": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "open": [1, 7, 13], "termin": [1, 19], "view": [1, 3, 8], "directori": [1, 7], "content": [1, 7, 17], "clear": 1, "screen": 1, "creat": [1, 3, 7, 8, 13, 19], "navig": 1, "check": [1, 3, 7, 8, 11, 12, 14], "your": [1, 3, 4, 7, 8, 9, 11, 13, 14, 15, 17, 19], "understand": [1, 3, 7, 8, 11, 14], "solut": [1, 3, 7, 8, 10, 11, 12, 14, 15, 16, 17], "space": 1, "file": [1, 3, 7, 8, 14, 17], "name": [1, 10, 19], "chang": [1, 3, 13], "home": 1, "from": [1, 7, 19], "anywher": 1, "challeng": [1, 3], "kei": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "point": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "git": [2, 3, 4, 8, 9, 18, 19], "github": [2, 3, 4, 8, 9, 15, 18, 19], "version": [3, 8, 16, 19], "control": [3, 8], "standalon": 3, "lesson": [3, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18], "prerequisit": [3, 16, 18], "v": [3, 8, 12, 19], "us": [3, 4, 7, 8, 11, 13, 14, 15, 17, 19], "keep": 3, "record": 3, "project": [3, 13], "The": [3, 7, 8, 10, 14, 17], "3": [3, 8, 10, 16], "step": [3, 8], "commit": [3, 8, 13], "add": [3, 4, 8, 9], "statu": [3, 8], "log": 3, "previou": [3, 8], "new": [3, 8, 13], "featur": [3, 4, 8, 9, 13, 14], "branch": [3, 8, 13], "get": [3, 14, 15, 17], "main": [3, 13], "ignor": [3, 8], "more": [3, 4, 8, 9, 10, 12, 13, 15], "tutori": [3, 8, 9, 13], "basic": [3, 8, 9], "put": [4, 9], "repositori": [4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "work": [4, 9, 15], "With": [4, 9], "multipl": [4, 9, 14], "conflict": [4, 9], "resolut": [4, 9], "configur": [4, 19], "pull": [4, 13], "set": [5, 7, 15, 18, 19], "up": [5, 7, 15, 18, 19], "test": [6, 13, 14, 15, 18], "continu": [6, 15, 18], "integr": [6, 15, 18], "distribut": [6, 16, 18], "python": [7, 10, 12, 14, 18], "packag": [7, 10, 11, 14, 16, 17, 18, 19], "exampl": [7, 10, 14], "structur": [7, 11, 17], "cookiecutt": [7, 19], "obtain": 7, "run": [7, 14], "templat": 7, "locat": 7, "explan": 7, "question": 7, "licens": 7, "choic": 7, "type": [7, 10, 12, 17], "sourc": 7, "depend": 7, "support": 7, "readthedoc": 7, "review": 7, "visual": [7, 11], "modul": [7, 11, 17], "molecool": 7, "__init__": 7, "py": [7, 16, 17], "our": [7, 10, 13, 14, 15, 17], "first": [7, 14], "befor": 7, "proceed": 7, "make": [7, 8], "sure": 7, "pip": [7, 16], "setuptool": 7, "ar": 7, "date": [7, 19], "instal": [7, 16, 19], "local": [7, 13, 15], "gener": 7, "config": 7, "": [7, 13], "rapidli": 7, "evolv": 7, "landscap": 7, "final": [7, 8, 9, 10, 11, 12, 14, 15, 17], "state": [7, 8, 9, 10, 11, 12, 14, 15, 17], "follow": [8, 9, 10, 11, 12, 14, 15, 17], "along": [8, 9, 10, 11, 12, 14, 15, 17], "thi": [8, 9, 10, 11, 12, 14, 15, 16, 17], "what": 8, "i": [8, 11, 14, 16, 19], "exercis": [8, 10, 11, 12, 14, 15, 16, 17], "explor": 8, "histori": 8, "ad": [8, 12, 14, 15, 17], "data": [8, 11], "gitignor": 8, "secur": 9, "access": 9, "remot": [9, 19], "edit": [10, 13], "function": [10, 12], "return": 10, "rais": 10, "except": [10, 14], "pep": 10, "variabl": 10, "indent": 10, "whitespac": 10, "improv": 10, "calculate_dist": [10, 12], "docstr": [10, 17], "__doc__": 10, "attribut": 10, "section": 10, "1": [10, 14, 16], "short": 10, "summari": 10, "2": [10, 14, 16], "extend": 10, "paramet": [10, 14], "4": [10, 16], "5": 10, "decid": 11, "atom": 11, "group": 11, "measur": 11, "molecul": 11, "o": 11, "subpackag": 11, "fix": 11, "import": [11, 13], "rel": 11, "io": 11, "hint": 12, "annot": 12, "static": 12, "collabor": 13, "protect": 13, "request": 13, "pr": 13, "contribut": 13, "someon": 13, "els": 13, "fork": 13, "upstream": 13, "track": 13, "origin": 13, "develop": [13, 14, 16, 18, 19], "element": 13, "out": 13, "websit": 13, "incorpor": 13, "rebas": 13, "why": 14, "level": 14, "pytest": 14, "framework": 14, "fail": 14, "calculate_angl": 14, "exerics": 14, "expect": 14, "driven": 14, "advanc": 14, "decor": 14, "mark": 14, "fixtur": 14, "scope": 14, "across": 14, "differ": 14, "parametr": 14, "edg": 14, "corner": 14, "case": [14, 16], "combin": 14, "coverag": [14, 15], "part": [14, 15], "do": 14, "we": 14, "need": 14, "100": 14, "action": 15, "ci": 15, "much": 15, "ii": 15, "assess": 15, "increas": 15, "workflow": 15, "modifi": 15, "an": 15, "under": 16, "prepar": 16, "releas": 16, "note": [16, 19], "tag": 16, "synchon": 16, "build": [16, 17], "goodby": 16, "setup": 16, "upload": 16, "pypi": 16, "conda": [16, 19], "futur": 16, "specifi": 16, "semant": 16, "sphinx": 17, "complex": 17, "inform": 17, "start": 17, "direct": 17, "highlight": 17, "tabl": 17, "pdf": 17, "math": 17, "page": 17, "equat": 17, "api": 17, "other": 17, "autoapi": 17, "conf": 17, "host": 17, "read": 17, "doc": 17, "best": 18, "practic": 18, "workshop": [18, 19], "comput": 19, "window": 19, "user": 19, "take": 19, "anaconda": 19, "minconda": 19, "ensur": 19, "wsl": 19, "onli": 19, "docker": 19, "option": 19, "altern": 19, "miniconda": 19, "graphic": 19, "text": 19, "base": 19, "environ": 19, "credenti": 19, "editor": 19, "extens": 19, "ssh": 19, "download": 19, "materi": 19, "materials_download": 19, "conclus": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.intersphinx": 1, "sphinx": 60}, "alltitles": {"Code Style and Documentation": [[0, "code-style-and-documentation"]], "Introduction to the Command Line": [[1, "introduction-to-the-command-line"]], "Overview": [[1, null], [3, null], [4, null], [7, null], [8, null], [9, null], [10, null], [11, null], [12, null], [13, null], [14, null], [15, null], [16, null], [17, null], [18, "overview"]], "Opening the Terminal": [[1, "opening-the-terminal"]], "Viewing Directory Contents": [[1, "viewing-directory-contents"]], "Clearing the screen": [[1, null]], "Creating and navigating directories": [[1, "creating-and-navigating-directories"]], "Check Your Understanding": [[1, null], [7, null], [8, null], [14, null]], "Solution": [[1, null], [1, null], [3, null], [3, null], [7, null], [8, null], [8, null], [8, null], [10, null], [10, null], [11, null], [11, null], [12, null], [14, null], [14, null], [14, null], [14, null], [15, null], [15, null], [16, null], [16, null], [16, null], [16, null], [17, null], [17, null]], "Spaces in file and directory names": [[1, null]], "Changing to the home directory from anywhere": [[1, null]], "Challenge": [[1, null], [3, null]], "Key Points": [[1, null], [3, null], [4, null], [7, "key-points"], [7, null], [8, "key-points"], [8, null], [9, "key-points"], [9, null], [10, "key-points"], [10, null], [11, "key-points"], [11, null], [12, "key-points"], [12, null], [13, "key-points"], [13, null], [14, "key-points"], [14, null], [15, "key-points"], [15, null], [16, null], [17, "key-points"], [17, null]], "git and GitHub": [[2, "git-and-github"], [18, "git-and-github"]], "Introduction to Version Control with git - Standalone Lesson": [[3, "introduction-to-version-control-with-git-standalone-lesson"]], "Prerequisites": [[3, null], [16, null], [18, null]], "Version Control": [[3, "version-control"]], "git vs. GitHub": [[3, null], [8, null]], "Using git to keep a record of your project": [[3, "using-git-to-keep-a-record-of-your-project"]], "The 3 steps of a commit": [[3, "the-3-steps-of-a-commit"], [8, "the-3-steps-of-a-commit"]], "git add, git status, git commit": [[3, "git-add-git-status-git-commit"], [8, "git-add-git-status-git-commit"]], "git log": [[3, "git-log"]], "Check your understanding": [[3, null]], "Viewing previous versions": [[3, "viewing-previous-versions"], [8, "viewing-previous-versions"]], "Creating new features - using branches": [[3, "creating-new-features-using-branches"], [8, "creating-new-features-using-branches"]], "Getting Changes to Your main Branch": [[3, "getting-changes-to-your-main-branch"]], "Ignoring Files": [[3, "ignoring-files"]], "More Tutorials": [[3, "more-tutorials"], [8, "more-tutorials"], [9, "more-tutorials"], [13, "more-tutorials"]], "Basic git": [[3, "basic-git"], [8, "basic-git"], [9, "basic-git"]], "Using GitHub": [[4, "using-github"]], "Putting your repository on GitHub.": [[4, "putting-your-repository-on-github"], [9, "putting-your-repository-on-github"]], "Working With Multiple Repositories": [[4, "working-with-multiple-repositories"], [9, "working-with-multiple-repositories"]], "git add": [[4, null]], "Conflict Resolution": [[4, "conflict-resolution"], [9, "conflict-resolution"]], "Configuring git pull": [[4, null]], "More GitHub Features": [[4, "more-github-features"], [9, "more-github-features"]], "Set-Up": [[5, "set-up"], [18, "set-up"]], "Testing, Continuous Integration, and Distribution": [[6, "testing-continuous-integration-and-distribution"]], "Python Package Set-Up": [[7, "python-package-set-up"]], "Examples of Python package structure": [[7, "examples-of-python-package-structure"]], "Creating a Python package using CookieCutter": [[7, "creating-a-python-package-using-cookiecutter"]], "Obtaining CookieCutter": [[7, "obtaining-cookiecutter"]], "Running CookieCutter": [[7, "running-cookiecutter"]], "Cookiecutter Template Location": [[7, null]], "Explanation of CookieCutter Questions": [[7, "explanation-of-cookiecutter-questions"]], "License Choice": [[7, "license-choice"]], "Types of Open-Source Licenses": [[7, null]], "Dependency Source": [[7, "dependency-source"]], "Support for ReadTheDocs": [[7, "support-for-readthedocs"]], "Reviewing directory contents": [[7, "reviewing-directory-contents"]], "Visualizing the Directory Structure": [[7, null]], "Packages and modules": [[7, null]], "The molecool directory": [[7, "the-molecool-directory"]], "The __init__.py file": [[7, "the-init-py-file"]], "Our first module": [[7, "our-first-module"]], "Before proceeding, make sure your pip and setuptools packages are up-to-date": [[7, null]], "Installing from local source.": [[7, "installing-from-local-source"]], "Reviewing the generated config files": [[7, "reviewing-the-generated-config-files"]], "Installing your package": [[7, "installing-your-package"]], "Python Packaging\u2019s Rapidly Evolving Landscape": [[7, null]], "Final Repository State": [[7, null], [8, null], [8, null], [9, null], [10, null], [11, null], [12, null], [14, null], [15, null], [17, null]], "Introduction to Version Control using Git": [[8, "introduction-to-version-control-using-git"]], "Follow Along with This Lesson": [[8, null], [9, null], [10, null], [11, null], [12, null], [14, null], [15, null], [17, null]], "What is version control?": [[8, "what-is-version-control"]], "Making Commits": [[8, "making-commits"]], "Exercise - Creating a Repository": [[8, "exercise-creating-a-repository"]], "Exercise": [[8, null], [10, null], [12, null], [15, null], [17, null], [17, null]], "Exploring git history": [[8, "exploring-git-history"]], "Exercise - Using Branches": [[8, "exercise-using-branches"]], "Using Branches - Exercise": [[8, null]], "Adding data": [[8, "adding-data"]], "Ignoring files - .gitignore": [[8, "ignoring-files-gitignore"]], "GitHub": [[9, "github"], [19, "github"]], "Securely accessing GitHub": [[9, "securely-accessing-github"]], "Repository Remotes": [[9, "repository-remotes"]], "git add .": [[9, null]], "Python Coding Style": [[10, "python-coding-style"]], "Editing a function in our package": [[10, "editing-a-function-in-our-package"]], "Function Return Type": [[10, "function-return-type"]], "Raising Exceptions": [[10, "raising-exceptions"]], "Coding Style": [[10, "coding-style"]], "Python PEP": [[10, null]], "Variable names": [[10, "variable-names"]], "Indentation": [[10, "indentation"]], "Whitespace": [[10, "whitespace"]], "Exercise - Improving the calculate_distance function": [[10, "exercise-improving-the-calculate-distance-function"]], "Docstrings": [[10, "docstrings"]], "The __doc__ attribute": [[10, null]], "Sections of a Docstring": [[10, "sections-of-a-docstring"]], "1. Short summary": [[10, "short-summary"]], "2. Extended summary": [[10, "extended-summary"]], "3. Parameters": [[10, "parameters"]], "4. Returns": [[10, "returns"]], "5. Examples": [[10, "examples"]], "Exercise - Docstrings": [[10, "exercise-docstrings"], [10, null]], "More on Coding Style": [[10, "more-on-coding-style"]], "Deciding Package Structure": [[11, "deciding-package-structure"]], "Package Structure": [[11, "package-structure"]], "Atom Data": [[11, "atom-data"]], "Exercise - Grouping into Modules": [[11, "exercise-grouping-into-modules"], [11, null]], "Measure Module": [[11, "measure-module"]], "Visualize Module": [[11, "visualize-module"]], "Molecule Module": [[11, "molecule-module"]], "I/O Subpackage": [[11, "i-o-subpackage"]], "Fixing Imports": [[11, "fixing-imports"]], "Check your Understanding - Relative Imports": [[11, "check-your-understanding-relative-imports"]], "Check your Understanding": [[11, null]], "Using import *": [[11, "using-import"]], "IO Subpackage": [[11, "io-subpackage"]], "Type Hinting in Python": [[12, "type-hinting-in-python"]], "Type Hinting": [[12, "type-hinting"]], "Function Type Hinting": [[12, "function-type-hinting"]], "Exercise - Adding type annotations to calculate_distance": [[12, "exercise-adding-type-annotations-to-calculate-distance"]], "Static Type Checking": [[12, "static-type-checking"]], "Type Checking in VS Code": [[12, "type-checking-in-vs-code"]], "More": [[12, "more"]], "Code Collaboration": [[13, "code-collaboration"]], "Repository collaborators": [[13, "repository-collaborators"]], "Protecting your main Branch": [[13, "protecting-your-main-branch"]], "Pull Requests - Branch and Pull Request (PR)": [[13, "pull-requests-branch-and-pull-request-pr"]], "Contributing to someone else\u2019s project: Using forks": [[13, "contributing-to-someone-else-s-project-using-forks"]], "Upstream - Tracking the original repository": [[13, "upstream-tracking-the-original-repository"]], "Developing a new feature - creating branches": [[13, "developing-a-new-feature-creating-branches"]], "Importance of Branching": [[13, "importance-of-branching"]], "Editing our element": [[13, "editing-our-element"]], "Testing out the website": [[13, "testing-out-the-website"]], "Committing the change": [[13, "committing-the-change"]], "Opening a Pull Request": [[13, "opening-a-pull-request"]], "Incorporating upstream changes to local": [[13, "incorporating-upstream-changes-to-local"]], "Branching": [[13, "branching"]], "Rebasing": [[13, "rebasing"]], "Python Testing": [[14, "python-testing"]], "Why testing": [[14, "why-testing"]], "Levels of Testing": [[14, "levels-of-testing"]], "The pytest testing framework": [[14, "the-pytest-testing-framework"]], "Running our first test": [[14, "running-our-first-test"]], "Adding tests to our package": [[14, "adding-tests-to-our-package"]], "Failing tests": [[14, "failing-tests"]], "Exercise - calculate_angle test": [[14, "exercise-calculate-angle-test"]], "Exericse": [[14, null]], "Testing Expected Exceptions": [[14, "testing-expected-exceptions"]], "Exercise - Test Driven Development": [[14, "exercise-test-driven-development"]], "Exercise 1": [[14, null]], "Exercise 2": [[14, null]], "Advanced features of pytest": [[14, "advanced-features-of-pytest"]], "Python Decorators": [[14, null]], "Pytest Marks": [[14, "pytest-marks"]], "Pytest Fixtures": [[14, "pytest-fixtures"]], "Fixture Scope": [[14, "fixture-scope"]], "Using fixtures across different test files": [[14, null]], "Pytest Parametrize": [[14, "pytest-parametrize"]], "Edge and Corner Cases": [[14, null]], "Combining multiple parameters": [[14, "combining-multiple-parameters"]], "Testing Documentation Examples": [[14, "testing-documentation-examples"]], "Code Coverage Part I": [[14, "code-coverage-part-i"]], "Do we need to get 100% coverage?": [[14, null]], "Continuous Integration using GitHub Actions": [[15, "continuous-integration-using-github-actions"]], "Setting up GitHub Actions": [[15, "setting-up-github-actions"]], "Getting our CI to work": [[15, "getting-our-ci-to-work"]], "Tests, coverage, and much much more!": [[15, null]], "Code Coverage - Part II": [[15, "code-coverage-part-ii"]], "Assessing code coverage locally": [[15, "assessing-code-coverage-locally"]], "Exercise - Increasing Code Coverage": [[15, "exercise-increasing-code-coverage"]], "Adding code coverage to your CI workflow": [[15, "adding-code-coverage-to-your-ci-workflow"]], "Modifying the Workflow - Adding an Action": [[15, "modifying-the-workflow-adding-an-action"]], "Exercise - Adding an Action to our Workflow": [[15, null]], "Distributing Packages": [[16, "distributing-packages"]], "This lesson is under development": [[16, null]], "Preparing a release": [[16, "preparing-a-release"]], "Release notes": [[16, "release-notes"]], "Tagging the release": [[16, "tagging-the-release"]], "Synchonizing Tags": [[16, null]], "Packages and distributions": [[16, "packages-and-distributions"]], "Distributing packages for pip install": [[16, "distributing-packages-for-pip-install"]], "Building the distribution": [[16, "building-the-distribution"]], "Goodbye to setup.py?": [[16, null]], "Building and uploading to PyPI": [[16, "building-and-uploading-to-pypi"]], "Distributing packages for conda install": [[16, "distributing-packages-for-conda-install"]], "Preparing for future releases": [[16, "preparing-for-future-releases"]], "Version specifiers": [[16, "version-specifiers"]], "Versioning semantics": [[16, "versioning-semantics"]], "Exercises - Versioning semantics": [[16, "exercises-versioning-semantics"]], "Case 1": [[16, null]], "Case 2": [[16, null]], "Case 3": [[16, null]], "Case 4": [[16, null]], "Package Documentation": [[17, "package-documentation"]], "Types of Documentation": [[17, "types-of-documentation"]], "Sphinx for complex modules": [[17, "sphinx-for-complex-modules"]], "Using Sphinx to build documentation": [[17, "using-sphinx-to-build-documentation"]], "Adding Information to our Documentation": [[17, "adding-information-to-our-documentation"]], "Exercise - Getting Started": [[17, "exercise-getting-started"]], "Sphinx Directives": [[17, "sphinx-directives"]], "Code Highlight Directive": [[17, "code-highlight-directive"]], "The Table of Contents Directive": [[17, "the-table-of-contents-directive"]], "Exercise - Adding to the Table of Contents": [[17, "exercise-adding-to-the-table-of-contents"]], "PDF Documentation": [[17, null]], "Math on pages - Equation Directives": [[17, "math-on-pages-equation-directives"]], "API Documentation": [[17, "api-documentation"]], "Adding Docstrings to other pages": [[17, "adding-docstrings-to-other-pages"]], "Sphinx AutoAPI": [[17, "sphinx-autoapi"]], "Structuring Your Documentation": [[17, null]], "The conf.py file": [[17, "the-conf-py-file"]], "Hosting your documentation": [[17, "hosting-your-documentation"]], "Read The Docs": [[17, "read-the-docs"]], "Best Practices in Python Package Development": [[18, "best-practices-in-python-package-development"]], "Workshop Lessons": [[18, "workshop-lessons"]], "Code Style and documentation": [[18, "code-style-and-documentation"]], "Continuous Integration, Testing, Distribution": [[18, "continuous-integration-testing-distribution"]], "Computer Set Up": [[19, "computer-set-up"]], "Windows users take note": [[19, null]], "Anaconda vs. Minconda": [[19, null]], "Ensure that your conda version is up-to-date": [[19, null]], "Installing WSL (Windows users only)": [[19, "installing-wsl-windows-users-only"]], "Docker (Optional Alternative)": [[19, "docker-optional-alternative"]], "Miniconda Installation": [[19, "miniconda-installation"]], "Graphical Installation": [[19, "graphical-installation"]], "Text-based (terminal) Installation": [[19, "text-based-terminal-installation"]], "Creating a conda environment": [[19, "creating-a-conda-environment"]], "Package installation using conda": [[19, "package-installation-using-conda"]], "CookieCutter Installation ": [[19, "cookiecutter-installation"]], "Installing and configuring git": [[19, "installing-and-configuring-git"]], "Installation": [[19, "installation"]], "Configuring Git": [[19, "configuring-git"]], "Configuring git": [[19, null]], "GitHub Credentials": [[19, "github-credentials"]], "Text Editor": [[19, "text-editor"]], "Remote Development Extension (for WSL or ssh)": [[19, null]], "Downloading Workshop Materials": [[19, "downloading-workshop-materials"]], "Downloading materials from the command line": [[19, null]], "Conclusion": [[19, "conclusion"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["00-code-organization-documentation", "00-command-line-basics", "00-git-and-github", "00-git-standalone", "00-github-standalone", "00-setup", "00-testing-continuous-integration", "01-package-setup", "02-git", "03-github", "04-function-style", "05-package-structure", "06-type-hinting", "07-collaboration", "08-testing", "09-CI", "10-distribution", "10-documentation", "index", "setup"], "filenames": ["00-code-organization-documentation.rst", "00-command-line-basics.md", "00-git-and-github.rst", "00-git-standalone.md", "00-github-standalone.md", "00-setup.rst", "00-testing-continuous-integration.rst", "01-package-setup.md", "02-git.md", "03-github.md", "04-function-style.md", "05-package-structure.md", "06-type-hinting.md", "07-collaboration.md", "08-testing.md", "09-CI.md", "10-distribution.md", "10-documentation.md", "index.rst", "setup.md"], "titles": ["Code Style and Documentation", "Introduction to the Command Line", "git and GitHub", "Introduction to Version Control with git - Standalone Lesson", "Using GitHub", "Set-Up", "Testing, Continuous Integration, and Distribution", "Python Package Set-Up", "Introduction to Version Control using Git", "GitHub", "Python Coding Style", "Deciding Package Structure", "Type Hinting in Python", "Code Collaboration", "Python Testing", "Continuous Integration using GitHub Actions", "Distributing Packages", "Package Documentation", "Overview", "Computer Set Up"], "terms": {"ar": [0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "topic": [0, 3, 8, 18], "often": [0, 1, 7, 8, 10, 11, 14, 15, 17], "overlook": [0, 17], "softwar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19], "project": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19], "howev": [0, 1, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "import": [0, 3, 4, 6, 7, 8, 9, 10, 12, 14, 15, 17, 18, 19], "aspect": 0, "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "make": [0, 1, 3, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "easier": [0, 10, 13, 14, 16, 17, 19], "maintain": [0, 4, 9, 13, 16, 17, 19], "extend": [0, 17], "In": [0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 13, 18, 19], "section": [0, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 19], "we": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19], "discuss": [0, 1, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18], "some": [0, 1, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19], "best": [0, 1, 3, 7, 8, 9, 10, 17, 19], "practic": [0, 1, 3, 7, 8, 9, 10, 11, 14, 15, 17, 19], "lesson": [0, 2, 4, 5, 6, 19], "titl": [0, 1, 2, 3, 5, 6, 8, 10, 13, 17, 18], "question": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "object": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "python": [0, 3, 5, 6, 8, 11, 15, 16, 17, 19], "how": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "i": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 12, 13, 15, 17, 18], "write": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "readabl": [0, 8, 10, 12, 18], "learn": [0, 1, 2, 3, 5, 7, 8, 9, 10, 12, 13, 15, 17, 18, 19], "rais": [0, 11, 14, 18], "except": [0, 1, 3, 12, 18], "understand": [0, 2, 6, 10, 12, 15, 16, 18], "follow": [0, 1, 3, 4, 7, 13, 16, 18, 19], "pep8": [0, 10, 18], "what": [0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "docstr": [0, 7, 8, 11, 12, 14, 18], "why": [0, 3, 6, 10, 11, 13, 15, 17, 18], "thei": [0, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "numpi": [0, 7, 8, 10, 11, 12, 14, 15, 17, 18, 19], "decid": [0, 4, 7, 9, 17, 18, 19], "packag": [0, 3, 5, 6, 8, 9, 12, 13, 15], "structur": [0, 5, 6, 10, 14, 15, 18, 19], "should": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "organ": [0, 7, 11, 18], "my": [0, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 18], "handl": [0, 11, 18], "break": [0, 8, 11, 14, 16, 17, 18], "modul": [0, 3, 6, 8, 10, 14, 15, 16, 18], "subpackag": [0, 14, 18], "base": [0, 2, 7, 8, 11, 12, 15, 17, 18], "function": [0, 3, 7, 8, 11, 14, 15, 16, 17, 18, 19], "__init__": [0, 11, 14, 15, 18], "py": [0, 3, 8, 10, 11, 12, 14, 15, 18, 19], "file": [0, 2, 4, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19], "affect": [0, 4, 9, 11, 14, 16, 18], "your": [0, 2, 5, 10, 12, 16, 18], "type": [0, 1, 3, 4, 8, 9, 11, 13, 14, 15, 18, 19], "hint": [0, 4, 8, 9, 14, 15, 18], "doe": [0, 3, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "do": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19], "about": [0, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "syntax": [0, 3, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 19], "util": [0, 7, 11, 12, 14, 15, 18], "our": [0, 1, 2, 3, 4, 8, 9, 11, 12, 16, 18, 19], "explain": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 17, 18], "tool": [0, 2, 7, 10, 12, 14, 16, 17, 18], "like": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "read": [0, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18], "The": [0, 1, 2, 4, 5, 9, 11, 12, 13, 15, 16, 18, 19], "doc": [0, 7, 8, 10, 11, 16, 18], "basic": [1, 2, 7, 10, 11, 12, 13, 17, 18], "shell": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "workshop": [1, 3, 5, 7, 8, 9, 10, 11, 12, 14, 15, 17], "us": [1, 2, 5, 6, 9, 10, 12, 16, 18], "git": [1, 5, 7, 10, 11, 12, 13, 14, 15, 16, 17], "version": [1, 2, 4, 5, 7, 9, 10, 14, 15, 17, 18], "control": [1, 2, 5, 7, 9, 15, 16, 18, 19], "linux": [1, 7, 8, 15, 19], "text": [1, 3, 4, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18], "interfac": [1, 4, 8, 9, 14, 15, 16, 19], "comput": [1, 3, 4, 5, 7, 9, 13, 15, 18], "when": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "you": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "someth": [1, 3, 8, 11, 13, 14, 15, 16, 19], "call": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "access": [1, 4, 7, 10, 11, 13, 15, 16], "If": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "wsl": 1, "onli": [1, 3, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17], "have": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "oper": [1, 10, 12, 14, 15, 19], "system": [1, 2, 7, 11, 14, 15, 16, 19], "scientif": 1, "need": [1, 3, 4, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19], "high": [1, 15], "perform": [1, 4, 7, 9, 10, 11, 12, 15, 17], "hpc": [1, 19], "server": 1, "know": [1, 4, 9, 10, 12, 13, 14, 15, 16, 17], "also": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "allow": [1, 3, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19], "repetit": 1, "task": [1, 15, 17], "quickli": [1, 5, 7, 9, 11, 16, 18], "through": [1, 3, 8, 11, 12, 13, 14, 15, 16, 17, 19], "script": [1, 3, 7, 8, 11, 16, 18, 19], "For": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "cours": [1, 3, 4, 8, 9, 10, 11, 18], "focu": [1, 15, 17], "creation": [1, 8, 19], "most": [1, 2, 3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 19], "modern": [1, 2], "graphic": 1, "user": [1, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18], "gui": 1, "pronounc": 1, "gooei": 1, "interact": [1, 3, 7, 8, 10, 11, 14, 19], "On": [1, 3, 4, 8, 9, 10, 13, 15, 17, 19], "mac": [1, 7, 8, 15, 19], "abl": [1, 4, 7, 8, 9, 10, 11, 13, 15, 17, 19], "find": [1, 3, 4, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19], "applic": [1, 15, 17], "distribut": [1, 3, 8, 17, 19], "issu": [1, 4, 9, 11, 12, 15, 18], "first": [1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19], "pwd": 1, "stand": [1, 7, 10], "p": [1, 8, 11, 19], "rint": 1, "w": [1, 8, 10, 11], "ork": 1, "d": [1, 3, 8, 10, 13], "irectori": 1, "give": [1, 3, 4, 7, 9, 10, 11, 13, 14, 15, 17], "folder": [1, 3, 4, 7, 9, 10, 11, 14, 15, 16, 17, 19], "current": [1, 3, 4, 7, 8, 9, 11, 12, 17], "mean": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19], "same": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "thing": [1, 4, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19], "output": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "path": [1, 3, 4, 7, 8, 9, 10, 19], "initi": [1, 3, 4, 8, 9, 16], "displai": [1, 8, 10, 14, 15, 17], "whatev": [1, 3, 8, 13], "immedi": [1, 4, 7, 9], "after": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "terrmin": 1, "l": [1, 3, 4, 8, 9, 10, 15, 17], "show": [1, 3, 7, 8, 10, 13, 14, 15, 17], "list": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "want": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "see": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "anoth": [1, 3, 4, 7, 8, 9, 11, 12, 13, 14, 15, 17, 19], "below": [1, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19], "substitut": [1, 16], "previou": [1, 2, 9, 10, 11, 12, 14, 15, 17, 18], "directory_nam": [1, 11], "room": 1, "too": [1, 7, 14, 16], "get": [1, 4, 6, 7, 8, 9, 10, 11, 13, 16, 18, 19], "fresh": 1, "press": [1, 3, 13, 17], "ctrl": [1, 19], "keyboard": 1, "keep": [1, 2, 4, 7, 8, 9, 10, 13, 15, 16, 17, 18, 19], "work": [1, 2, 3, 7, 8, 10, 11, 12, 13, 14, 17, 18, 19], "sake": [1, 11], "uniform": [1, 10], "direct": [1, 4, 7, 9, 11, 16], "tell": [1, 3, 4, 7, 8, 10, 11, 13, 15, 16, 17, 19], "prefer": [1, 7, 8, 19], "where": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "would": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "store": [1, 3, 4, 8, 9, 10, 15, 19], "locat": [1, 4, 8, 9, 10, 11, 14, 16, 19], "m": [1, 3, 4, 8, 9, 10, 11, 13, 14, 15, 16, 17], "k": [1, 8, 11, 14], "e": [1, 4, 7, 8, 9, 10, 14, 15, 16, 17, 19], "dir": [1, 11], "ectori": 1, "mkdir": [1, 3, 11], "command_line_lesson": 1, "so": [1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19], "far": [1, 14, 15, 17], "could": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "newli": [1, 7], "confirm": 1, "now": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "ha": [1, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19], "an": [1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19], "empti": [1, 3, 8, 15], "To": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "insid": [1, 7, 10, 14, 19], "c": [1, 3, 8, 10, 11, 13, 14, 17, 19], "hang": 1, "cd": [1, 3, 4, 7, 8, 9, 13, 17, 19], "gener": [1, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "notic": [1, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17], "contain": [1, 3, 4, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "mani": [1, 3, 7, 8, 10, 11, 14, 15, 16, 17], "mai": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "It": [1, 2, 3, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19], "underscor": [1, 10], "_": [1, 17], "dash": 1, "separ": [1, 3, 8, 10, 11, 16, 17, 19], "word": [1, 3, 4, 9, 10, 13, 14, 15], "descript": [1, 7, 8, 10, 11, 13, 15, 16, 17, 19], "verifi": [1, 3, 8, 14, 19], "editor": [1, 3, 5, 7, 8, 10, 11, 12, 13, 14, 15, 18], "choic": [1, 3, 8, 10, 13], "instal": [1, 3, 5, 8, 10, 11, 12, 13, 14, 15, 17, 18], "vscode": [1, 7, 19], "readm": [1, 3, 4, 7, 8, 9, 11, 13, 16, 17], "md": [1, 3, 7, 8, 11, 13, 15, 17], "note": [1, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 17], "maco": [1, 15, 19], "necessari": [1, 5, 10, 13, 15, 16, 19], "add": [1, 7, 10, 11, 12, 13, 14, 15, 16, 17, 19], "manual": [1, 3, 8, 14, 17], "code": [1, 2, 3, 4, 7, 8, 9, 11, 16, 19], "visual": [1, 3, 8, 12, 13, 14, 17, 19], "studio": [1, 12, 19], "inform": [1, 3, 7, 8, 10, 11, 12, 13, 14, 15, 16, 19], "save": [1, 3, 8, 11, 13, 14, 19], "molssi": [1, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "associ": [1, 7, 10, 14, 15, 16, 17], "markdown": [1, 3, 8, 17], "which": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "mark": [1, 3, 4, 9, 15, 16], "up": [1, 2, 3, 4, 8, 9, 10, 11, 13, 14, 16, 17], "format": [1, 3, 8, 10, 11, 15, 16, 17], "languag": [1, 3, 8, 17], "throughout": [1, 14], "bootcamp": 1, "hashtag": 1, "result": [1, 4, 8, 9, 14, 15, 16], "indic": [1, 3, 7, 8, 10, 12, 13, 14, 15, 16], "exit": [1, 3, 19], "out": [1, 3, 4, 6, 7, 8, 9, 10, 15, 16, 17, 18, 19], "move": [1, 3, 7, 8, 11, 14, 15, 19], "back": [1, 3, 4, 7, 8, 9, 14, 15], "alwai": [1, 2, 3, 8, 10, 13, 14, 15, 17], "return": [1, 3, 7, 8, 11, 12, 14, 15, 17], "other": [1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19], "mv": 1, "one": [1, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "place": [1, 3, 7, 8, 11, 13, 15, 16, 17], "cp": [1, 8], "copi": [1, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16], "exampl": [1, 3, 4, 8, 9, 11, 12, 13, 15, 17, 19], "dot": [1, 3, 8, 11], "short": [1, 7, 14, 17], "cut": 1, "case": [1, 3, 4, 7, 8, 9, 10, 11, 13, 15, 17], "readme_copi": 1, "behav": [1, 12, 14], "wai": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "origin": [1, 3, 4, 8, 9, 10, 11, 14, 15, 17], "remov": [1, 10, 11, 14, 15, 17], "rm": [1, 3], "let": [1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "": [1, 3, 4, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19], "rid": 1, "those": [1, 3, 7, 8, 11, 13, 14, 15], "just": [1, 3, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17], "made": [1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "execut": [1, 3, 4, 7, 10, 12, 13, 14, 15, 19], "notat": 1, "doesn": [1, 3, 8, 13], "t": [1, 3, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19], "directli": [1, 7, 8, 11, 13, 14, 16], "record": [2, 4, 7, 8, 9, 18], "chang": [2, 4, 7, 8, 9, 10, 11, 14, 15, 16, 17, 19], "set": [2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 17], "over": [2, 4, 9, 12, 14, 15], "time": [2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "view": [2, 7, 13, 15, 17, 18], "specif": [2, 3, 7, 8, 10, 11, 12, 13, 14, 15, 16, 19], "later": [2, 7, 8, 13, 14, 16, 17, 19], "fundament": [2, 16], "develop": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 15, 17], "recommend": [2, 3, 7, 10, 14, 17, 19], "even": [2, 3, 7, 8, 10, 11, 12, 13, 14, 15], "alon": 2, "facilit": [2, 3, 8], "collabor": [2, 3, 4, 8, 9, 18], "between": [2, 3, 4, 7, 8, 9, 10, 11, 12, 14, 15, 19], "multipl": [2, 13, 15, 16, 19], "peopl": [2, 4, 7, 9, 11, 13, 15, 16, 17, 18, 19], "popular": [2, 7, 10], "comptuer": 2, "from": [2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "repositori": [2, 3, 6, 16, 18, 19], "host": [2, 3, 7, 8, 9, 18], "varieti": [2, 15], "platform": [2, 5, 14, 15, 16], "web": [2, 4, 5, 9, 13, 15, 17], "servic": [2, 3, 6, 7, 8, 15, 17, 18], "provid": [2, 3, 7, 8, 10, 11, 12, 14, 16, 17, 18, 19], "number": [2, 3, 8, 10, 11, 12, 13, 14, 15, 18], "cover": [2, 3, 5, 6, 10, 14, 15], "share": [2, 4, 9, 15, 16, 17, 19], "outsid": [2, 16, 18], "context": [2, 11, 13, 18], "cookiecutt": [2, 5, 8, 9, 10, 11, 14, 15, 16, 17, 18], "standalon": [2, 12, 18], "introduct": [2, 18], "purpos": [2, 3, 8, 9, 10, 13, 14, 17, 18], "introduc": [2, 3, 6, 8, 15, 16, 18], "common": [2, 3, 7, 8, 10, 14, 15, 16, 18], "command": [2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18], "creat": [2, 4, 5, 9, 10, 11, 14, 15, 16, 17, 18], "commit": [2, 4, 9, 10, 11, 15, 16, 17, 18], "diff": [2, 3, 8, 18], "togeth": [2, 11, 14, 18], "reason": [2, 4, 6, 7, 9, 11, 13, 14, 18], "contribut": [2, 7, 11, 15, 16, 17, 18, 19], "model": [2, 13, 18], "fork": [2, 18], "open": [2, 3, 4, 8, 9, 10, 11, 14, 15, 17, 18, 19], "pull": [2, 7, 9, 11, 15, 17, 18, 19], "request": [2, 4, 7, 9, 11, 14, 15, 18], "complet": [3, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19], "account": [3, 4, 5, 9, 15, 16, 19], "describ": [3, 4, 7, 8, 9, 10, 13, 15, 16, 17], "instruct": [3, 4, 7, 8, 9, 11, 13, 17, 19], "configur": [3, 6, 7, 8, 11, 15, 16, 17, 18], "histori": [3, 4, 9, 16], "given": [3, 7, 8, 10, 11, 13, 14, 15, 19], "everyon": [3, 4, 8, 9, 13, 15, 19], "freeli": [3, 8], "differ": [3, 4, 7, 8, 9, 10, 11, 12, 15, 16, 17, 19], "part": [3, 4, 8, 9, 11, 13, 17], "without": [3, 7, 8, 10, 12, 13, 14, 17], "overrid": [3, 8], "past": [3, 8, 13], "rollback": 3, "review": [3, 8, 10, 11, 13], "messag": [3, 4, 8, 9, 10, 11, 13, 14, 15, 19], "sourc": [3, 4, 8, 9, 13, 14, 15, 16, 17], "exactli": [3, 4, 8, 9, 14, 15], "been": [3, 8, 10, 11, 13, 14, 15, 16, 19], "modifi": [3, 4, 7, 8, 9, 11, 14, 17], "ani": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "greatli": [3, 4, 8, 9], "benefici": [3, 8], "whether": [3, 7, 8, 10, 14, 16], "independ": [3, 8, 13, 14], "within": [3, 4, 7, 8, 9, 10, 11, 14, 19], "team": [3, 7, 8], "program": [3, 7, 10, 11, 14, 15, 17, 18], "while": [3, 4, 7, 8, 9, 10, 14, 15, 17, 18, 19], "local": [3, 4, 8, 9, 16, 19], "onlin": [3, 4, 7, 8, 9, 17], "gitlab": [3, 8], "bitbucket": [3, 8], "includ": [3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "svn": [3, 8], "mercuri": [3, 8], "though": [3, 10, 12, 15], "option": [3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "setup": [3, 6, 7, 8, 9, 10, 11, 15, 17, 18, 19], "go": [3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17], "track": [3, 4, 8, 9, 15, 19], "termin": [3, 7, 8, 10, 13, 14, 15, 18], "directori": [3, 4, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19], "molssi_best_practic": [3, 7, 10, 19], "Then": [3, 4, 8, 9, 13, 14, 15, 17, 19], "skill": 3, "sure": [3, 4, 8, 9, 10, 12, 13, 14, 15, 16, 17, 19], "abov": [3, 7, 8, 10, 11, 12, 14, 15, 19], "befor": [3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19], "continu": [3, 4, 5, 7, 8, 9, 19], "order": [3, 7, 8, 11, 13, 14, 19], "must": [3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 17], "start": [3, 4, 7, 8, 9, 10, 11, 12, 14, 15, 18, 19], "wish": [3, 8, 13, 15, 17], "repres": [3, 8, 15], "init": [3, 8, 19], "similar": [3, 7, 8, 10, 11, 13, 14, 17, 19], "TO": 3, "content": [3, 4, 8, 9, 14, 15, 16], "still": [3, 7, 8, 9, 10, 11, 13, 14, 15, 16], "look": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "hidden": [3, 8, 13, 15], "begin": [3, 7, 10, 14, 16, 17], "longer": [3, 8, 9, 10, 11, 16], "presenc": 3, "u": [3, 4, 7, 8, 9, 10, 11, 14, 15, 16, 17], "watch": 3, "data": [3, 7, 10, 12, 14, 19], "No": [3, 13, 15], "yet": [3, 8, 11, 13, 16, 19], "noth": [3, 4, 7, 8, 9, 14], "state": 3, "haven": [3, 11, 19], "checkpoint": [3, 8], "A": [3, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19], "particular": [3, 7, 8, 10, 11, 14, 17, 19], "There": [3, 7, 8, 9, 10, 13, 14, 15, 16, 17], "veri": [3, 4, 7, 9, 10, 13, 14, 15, 19], "procedur": [3, 4, 9, 10], "These": [3, 7, 10, 11, 14, 15, 17], "1": [3, 4, 7, 8, 9, 11, 12, 15, 17, 19], "2": [3, 4, 7, 8, 9, 11, 12, 13, 17, 19], "think": [3, 10, 11, 14, 17], "ve": [3, 4, 8, 9, 10, 11, 13, 15, 17], "typic": [3, 4, 7, 9, 14, 15, 17], "accompani": [3, 17], "last": [3, 4, 8, 9, 10, 11, 13, 14, 15, 19], "nice": [3, 8, 12, 15, 16], "again": [3, 4, 8, 9, 10, 11, 14, 15], "untrack": [3, 4, 8, 9], "ad": [3, 4, 7, 9, 10, 11, 13, 16, 19], "present": [3, 4, 8, 9, 13, 14, 17], "actual": [3, 4, 7, 8, 9, 10, 11, 15, 17], "rememb": [3, 7, 14, 15, 17, 19], "next": [3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19], "easili": [3, 7, 8, 10, 14, 16, 17, 19], "revert": [3, 8], "might": [3, 4, 8, 9, 10, 13, 14, 15, 17, 19], "thu": [3, 8], "stage": [3, 8, 16], "area": [3, 8, 13, 15], "cach": 3, "unstag": [3, 4, 8, 9], "second": [3, 4, 5, 8, 9, 10, 11, 14], "had": [3, 8, 11, 15], "whenev": [3, 4, 8, 9], "root": [3, 7, 15], "dc466ff": 3, "insert": [3, 4, 7, 9, 17], "mode": [3, 4, 7, 8, 9, 12], "100644": [3, 4, 8, 9], "tree": [3, 7, 8, 17], "clean": [3, 8, 13, 17], "sinc": [3, 8, 9, 10, 11, 12, 13, 14, 15, 17], "resembl": [3, 8], "dc466ff70070312b622ab0041f4d770bd37bb248": 3, "head": [3, 4, 8, 9, 10, 13, 17], "author": [3, 8, 10, 12, 15, 16], "jessica": [3, 14], "nash": 3, "janash": 3, "vt": 3, "edu": 3, "date": [3, 4, 8, 9, 15, 16], "wed": 3, "jul": 3, "8": [3, 8, 10, 13, 14, 15], "15": [3, 8, 9, 11, 14, 19], "59": 3, "57": 3, "2020": [3, 9], "0400": 3, "each": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "line": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18], "exist": [3, 4, 7, 8, 9, 11, 13, 14, 15, 16], "uniqu": [3, 8, 15, 16, 17], "identifi": [3, 8, 10, 16], "dc466": 3, "refer": [3, 7, 8, 10, 11, 13, 14, 15, 16, 17], "everi": [3, 8, 10, 11, 13, 14, 15, 17, 19], "than": [3, 4, 7, 8, 10, 11, 13, 14, 15, 17, 18, 19], "shown": [3, 4, 9, 10, 19], "name": [3, 4, 7, 8, 9, 11, 13, 14, 15, 16, 17], "who": [3, 4, 8, 9, 10, 13, 16, 17, 18, 19], "your_email": [3, 8], "com": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "anyon": [3, 7, 8, 10, 13, 15, 16], "email": [3, 4, 7, 8, 9, 19], "address": [3, 7, 8, 13, 15, 19], "match": [3, 8, 12, 13, 14, 15], "specifi": [3, 4, 7, 8, 10, 11, 12, 14, 15, 17, 19], "wa": [3, 4, 8, 9, 10, 11, 14, 15, 17], "final": 3, "blank": [3, 7, 8, 10, 17], "whoever": [3, 8], "chose": [3, 8], "took": [3, 8, 14], "ll": [3, 4, 7, 8, 9, 10, 14], "recogn": [3, 7, 8], "wrote": [3, 15], "q": 3, "all": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "right": [3, 4, 7, 8, 9, 11, 13, 14, 15, 17], "edit": [3, 4, 7, 8, 9, 11, 15, 16, 17, 19], "end": [3, 4, 7, 8, 9, 14, 15, 16, 17, 19], "restor": 3, "readi": [3, 4, 9, 15, 16, 18], "filenam": [3, 8], "did": [3, 4, 8, 9, 12, 13, 14, 15], "three": [3, 7, 8, 10, 11, 14, 15, 17], "revers": [3, 8], "chronolog": [3, 8], "full": [3, 7, 8, 10, 17], "here": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "ask": [3, 7, 8, 13], "minu": [3, 8], "green": [3, 4, 8, 9, 13, 15, 17], "plu": [3, 8], "sign": [3, 8, 19], "them": [3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19], "delet": [3, 7, 8, 11, 13, 17], "red": [3, 8, 11, 12, 13, 15], "checkout": [3, 8, 9, 10, 11, 12, 13, 14, 15, 17], "commit_id": [3, 8], "temporarili": [3, 8], "id": [3, 8, 12, 15], "recent": [3, 7, 8, 9, 16, 19], "onelin": [3, 8], "fe357b0": 3, "8c39357": 3, "left": [3, 4, 7, 8, 9, 12, 13, 17], "appropri": [3, 8, 10, 12, 13, 16, 17, 19], "switch": [3, 4, 7, 8, 9, 13, 19], "implement": [3, 8, 10, 11, 13, 14, 15], "good": [3, 8, 9, 10, 11, 14, 15, 16, 17], "isol": [3, 8, 19], "merg": [3, 4, 8, 9, 13, 15], "ensur": [3, 7, 8, 10, 13, 14, 18], "By": [3, 8, 13, 14, 15, 16], "default": [3, 4, 7, 8, 9, 10, 12, 14, 15, 17, 19], "new_branch_nam": [3, 8], "exercis": [3, 4, 9], "print": [3, 7, 8, 15], "hello": [3, 17], "world": [3, 17], "famou": 3, "hello_world": 3, "quot": [3, 7, 8, 10], "abil": [3, 8, 13, 17], "def": [3, 8, 10, 11, 12, 14, 15, 17], "prompt": [3, 7, 8, 19], "repo": [3, 7, 8, 13, 15, 19], "he": 3, "activ": [3, 8, 12, 19], "asterisk": [3, 8], "further": [3, 9, 10, 14, 19], "consid": [3, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19], "document": [3, 5, 7, 8, 9, 10, 11, 12, 15, 16], "updat": [3, 4, 7, 8, 9, 11, 13, 14, 15, 16, 17, 19], "doc_upd": [3, 8], "branch_nam": [3, 8, 13], "incorpor": [3, 8], "recurs": [3, 8], "strategi": [3, 6, 8, 14, 15, 16, 17, 18], "becaus": [3, 4, 7, 8, 9, 11, 14, 15, 16, 17, 19], "diverg": [3, 4, 8, 9], "were": [3, 4, 7, 8, 9, 11, 14, 15, 17, 19], "graph": [3, 8], "workflow": [3, 7, 8, 11, 13], "linear": [3, 8, 14], "onc": [3, 7, 8, 10, 13, 14, 15, 16, 17, 19], "done": [3, 4, 8, 9, 10, 13, 14, 15, 17, 19], "sometim": [3, 4, 8, 13, 14, 15], "temporari": [3, 8], "emac": [3, 8], "lot": [3, 7, 8, 10, 11, 12, 14, 15, 19], "tend": [3, 8], "annoi": [3, 8], "unimport": [3, 8], "ever": [3, 7, 15], "aren": [3, 8, 10, 13], "someon": [3, 8, 10, 15, 17], "els": [3, 4, 8, 9, 11, 15], "courtesi": [3, 8], "few": [3, 4, 7, 8, 9, 10, 13, 15, 17, 19], "dummi": [3, 4, 8, 9], "sai": [3, 4, 7, 8, 9, 10, 11, 13, 15, 17, 19], "stop": [3, 6, 8, 10, 15, 18], "gitignor": [3, 4, 7, 9, 11], "sound": 3, "clone": [3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 17], "select": [3, 4, 7, 9, 12, 14, 15, 17, 19], "told": 3, "plan": [3, 13, 15, 19], "navig": [3, 4, 7, 9, 13, 15, 17, 19], "byte": [3, 8, 13, 16], "compil": [3, 8, 10, 17, 19], "optim": [3, 4, 8, 9], "dll": [3, 8], "__pycache__": [3, 8], "cod": [3, 8], "class": [3, 8, 12, 14, 17], "extens": [3, 8, 12, 17], "env": [3, 7, 8, 11, 14, 15, 19], "build": [3, 5, 7, 8, 11, 15, 18, 19], "egg": [3, 8], "dist": [3, 7, 8, 10], "download": [3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "lib": [3, 8, 15], "lib64": [3, 8], "sdist": [3, 8], "var": [3, 8], "wheel": [3, 8, 16], "info": [3, 7, 8, 15, 17, 19], "cfg": [3, 7, 8, 11, 16, 17], "pyinstal": [3, 8], "usual": [3, 4, 7, 8, 9, 10, 11, 14], "written": [3, 7, 8, 10, 12, 14, 15, 17], "templat": [3, 8, 11, 15, 16], "ex": [3, 8], "inject": [3, 8, 14], "manifest": [3, 7, 8, 11, 16], "spec": [3, 8], "discard": [3, 8, 10], "addit": [3, 7, 8, 10, 11, 13, 14, 15, 16, 17, 19], "becom": [3, 7, 8, 10, 14], "perman": [3, 8], "carpentri": [3, 8, 9, 18], "minut": [3, 7, 8, 9, 10, 11, 13, 15, 19], "requir": [3, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19], "sever": [3, 7, 10, 13, 14, 15, 16, 17, 19], "choos": [3, 5, 7, 10, 13, 14, 15, 17, 18, 19], "browser": [4, 9, 13, 15, 17], "log": [4, 8, 9, 15, 17], "alreadi": [4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "side": [4, 9, 10], "page": [4, 9, 13, 15, 16, 19], "click": [4, 7, 9, 12, 13, 15, 17, 19], "button": [4, 9, 13, 17, 19], "new": [4, 7, 9, 10, 11, 14, 15, 16, 17, 19], "leav": [4, 7, 8, 9, 11, 13, 14], "uncheck": [4, 9], "skip": [4, 9, 13, 14, 19], "step": [4, 9, 12, 13, 15, 19], "re": [4, 8, 9, 10, 13, 14, 15], "conveni": [4, 8, 9, 11, 17], "inclus": 4, "extra": [4, 16], "helpfulli": [4, 9], "remot": [4, 13, 15], "v": [4, 7, 9, 13, 14, 15], "under": [4, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18], "push": [4, 9, 10, 11, 13, 15, 16, 17], "your_github_usernam": [4, 9, 13, 17], "branch": [4, 9, 10, 15, 16, 17, 19], "main": [4, 7, 8, 9, 10, 11, 14, 15, 16, 17, 19], "url": [4, 9, 13, 15, 17], "simpli": [4, 9, 10, 11, 13, 14, 19], "shortcut": [4, 9], "anyth": [4, 9, 13, 14], "banana": [4, 9], "eleph": 4, "convent": [4, 9, 10, 11, 16], "realli": [4, 8, 9, 11, 17], "renam": [4, 11, 13, 15], "third": [4, 8, 9, 17, 19], "everyth": [4, 7, 9, 14], "refresh": [4, 9, 15, 17, 18], "webpag": [4, 9, 13], "One": [4, 7, 8, 9, 10, 14, 17, 19], "potenti": [4, 9, 14, 18], "frustrat": [4, 9], "problem": [4, 8, 9, 10, 12, 13, 14], "desktop": [4, 9], "laptop": [4, 9, 19], "dure": [4, 7, 8, 9, 10, 12, 13, 14, 19], "confer": [4, 9], "supercomput": [4, 9], "ye": [4, 7, 15], "olden": [4, 9], "dai": [4, 9, 15], "accomplish": [4, 9], "via": [4, 9, 15], "usb": [4, 9], "drive": [4, 9], "ssh": [4, 9, 13], "oneself": [4, 9], "easi": [4, 8, 9, 11, 12, 14], "forget": [4, 8, 9, 11, 14, 16], "resum": [4, 9, 19], "forgotten": [4, 9], "reappli": [4, 9], "Of": [4, 8, 9, 11], "dramat": [4, 9], "wors": [4, 9], "simplifi": [4, 9], "process": [4, 7, 9, 10, 13, 15, 16, 18], "action": [4, 6, 7, 9, 11, 18], "statu": [4, 9, 13, 16], "fatal": [4, 9, 13], "Not": [4, 7, 9, 17], "parent": [4, 9, 13], "until": [4, 9, 10, 13, 14], "simul": [4, 9, 11], "check": [4, 9, 10, 13, 15, 16, 19], "automat": [4, 7, 9, 10, 13, 14, 15, 16, 17], "fetch": [4, 9, 13, 16], "test": [4, 5, 7, 8, 9, 10, 11, 16, 17, 19], "txt": [4, 8, 9], "instead": [4, 7, 8, 9, 10, 11, 12, 15, 16, 17, 19], "reset": [4, 8, 9], "newest": [4, 9], "enumer": [4, 9, 13], "4": [4, 7, 8, 9, 12, 14], "count": [4, 8, 9, 13, 14], "100": [4, 9, 13, 15], "compress": [4, 9, 13], "total": [4, 9, 13, 14], "3": [4, 7, 9, 12, 13, 14, 15, 17, 19], "delta": [4, 9, 13], "reus": [4, 9, 13, 15], "pack": [4, 9], "0": [4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "unpack": [4, 9], "fetch_head": [4, 9], "2ac4843": [4, 9], "754da2b": [4, 9], "fast": [4, 9], "forward": [4, 9], "header": [4, 9, 17], "footer": [4, 9], "try": [4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "reject": [4, 9, 13, 16], "error": [4, 8, 9, 10, 12, 14, 15, 17], "fail": [4, 7, 9, 10, 15, 17], "ref": [4, 9], "caus": [4, 9, 12, 14], "integr": [4, 5, 7, 9, 14], "g": [4, 9, 16], "help": [4, 7, 9, 10, 11, 12, 13, 14, 15, 16, 19], "detail": [4, 7, 9, 10, 11, 13, 14, 15, 16, 17], "compat": [4, 16], "projectt": 4, "fix": [4, 9, 14, 15, 16], "reconcil": 4, "config": [4, 11, 19], "rebas": 4, "fals": [4, 8, 11, 14, 15, 17], "run": [4, 8, 9, 10, 11, 12, 15, 16, 18, 19], "9": [4, 9, 10, 12, 14, 15], "6": [4, 8, 9, 10, 11, 14], "5": [4, 8, 9, 11, 13, 14], "de54818": [4, 9], "auto": [4, 9, 10, 17], "unfortun": [4, 9, 13, 14, 15, 17], "due": [4, 9], "respect": [4, 9, 12], "unmerg": [4, 9], "abort": [4, 9], "both": [4, 9, 10, 11, 12, 13, 14, 15, 19], "12651a37de10d61d9e9eea31c260c15b7ef3b5d4": [4, 9], "bit": [4, 9, 11, 12, 14], "come": [4, 9, 10, 11, 12, 13, 17], "tidi": [4, 9, 16], "correctli": [4, 9, 14, 19], "speak": [4, 9, 13], "small": [4, 9, 11, 13, 17, 18], "pencil": [4, 9], "upper": [4, 9], "box": [4, 9, 12, 13], "scroll": [4, 9], "bottom": [4, 9, 12, 15, 19], "appear": [4, 7, 9, 10, 13, 15, 17], "blame": [4, 9, 19], "respons": [4, 9, 16], "reveal": [4, 9], "tab": [4, 9, 13, 15, 16], "bug": [4, 9, 12, 15, 16], "limit": [4, 9, 18], "ongo": [4, 9, 16], "fill": [4, 7, 9, 10, 11, 13, 14, 17], "quick": [4, 9], "comment": [4, 9, 10, 13, 14, 15, 17], "close": [4, 7, 9, 10, 13, 15, 19], "central": [4, 9, 13], "github": [5, 6, 7, 10, 11, 12, 13, 14, 16, 17], "conda": [5, 7, 11, 13, 15, 18], "manag": [5, 13, 16, 19], "teach": [5, 18], "molecular": [5, 7, 17, 18], "scienc": [5, 7, 17, 18, 19], "cm": [5, 7, 8, 11, 18, 19], "skelet": [5, 7], "environ": [5, 7, 11, 13, 15, 16, 17, 18], "credenti": [5, 18], "layout": [5, 7, 13, 18], "licens": [5, 9, 11, 16, 18], "pytest": [6, 15, 17, 18], "overal": [6, 14, 15, 18], "framework": [6, 18], "autom": [6, 10, 15, 18], "link": [6, 7, 13, 15, 16, 17, 18, 19], "concept": [6, 14, 15, 18], "benefit": [6, 12, 14, 15, 18], "marketplac": [6, 15, 18], "shop": [6, 15, 18], "demonstr": [6, 14, 15, 18], "familiar": [6, 15, 17, 18], "learner": [6, 15, 18], "yaml": [6, 7, 11, 15, 17, 18], "commun": [6, 10, 15, 16, 18], "analysi": [7, 11, 12, 14, 17], "molecul": [7, 8, 10, 14, 17], "jupyt": [7, 8, 11, 14, 19], "notebook": [7, 8, 11, 14, 19], "idea": [7, 8, 10, 11, 13, 15], "take": [7, 10, 11, 12, 13, 14, 17], "convert": [7, 11, 12, 17], "That": 7, "lab": 7, "mate": 7, "own": [7, 8, 10, 12, 13, 14, 15, 19], "larg": [7, 11, 12, 13, 18], "scipi": 7, "scikit": 7, "lai": 7, "more": [7, 11, 14, 16, 17, 18, 19], "special": [7, 8, 10, 14, 15, 17], "accord": [7, 10], "portion": [7, 19], "pleas": [7, 11, 14, 18, 19], "subdirectori": [7, 14], "gh": 7, "http": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "valu": [7, 8, 10, 11, 12, 14, 15], "squar": 7, "bracket": 7, "cleverli": 7, "cool": 7, "answer": [7, 8, 14, 16], "colon": [7, 10, 17], "hit": [7, 10], "enter": [7, 14, 17], "project_nam": 7, "projectnam": 7, "repo_nam": 7, "first_module_nam": 7, "author_nam": 7, "compani": 7, "your_name_her": 7, "author_email": 7, "your_email_address_her": 7, "less": [7, 10, 14, 19], "analyz": [7, 11, 14, 19], "xyz": [7, 8, 10, 11, 14, 17, 19], "open_source_licens": 7, "mit": 7, "bsd": 7, "claus": 7, "lgplv3": 7, "dependency_sourc": 7, "forg": [7, 15, 16, 19], "fallback": 7, "anaconda": 7, "channel": [7, 15, 16, 17, 19], "include_readthedoc": 7, "y": [7, 14, 19], "n": [7, 8, 10, 11, 14, 17, 19], "two": [7, 8, 10, 11, 12, 13, 14, 15, 17, 19], "eventu": [7, 16], "rule": [7, 8, 10, 13, 16], "valid": [7, 10, 15], "cannot": [7, 16], "space": [7, 10, 13, 17, 19], "avoid": [7, 11, 12, 14, 16], "confus": 7, "put": [7, 13, 17, 19], "Be": [7, 10, 16, 19], "symbol": [7, 8, 10, 11, 13, 14, 17], "domain": 7, "kept": [7, 14], "itself": [7, 10], "contact": [7, 19], "redistribut": 7, "restrict": 7, "warranti": 7, "chosen": [7, 13], "permiss": [7, 9, 13], "deriv": [7, 12, 16], "copyright": [7, 8], "redistributor": 7, "prohibit": 7, "its": [7, 8, 10, 11, 12, 14, 15, 16], "contributor": [7, 13, 17, 18], "promot": 7, "product": [7, 11], "consent": 7, "choosealicens": 7, "custom": [7, 10, 15], "assum": [7, 8], "won": [7, 11, 13, 17], "matter": 7, "great": [7, 8, 15], "deal": [7, 11], "earli": 7, "either": [7, 10, 12, 13, 14, 15, 17, 19], "copyleft": 7, "spend": [7, 10], "guid": [7, 10, 11, 15, 16], "chodera": 7, "websit": [7, 17], "determin": [7, 14], "mostli": 7, "consequ": [7, 11], "don": [7, 10, 11, 13, 14, 15, 16, 17, 19], "worri": [7, 15], "much": [7, 10, 14], "examin": [7, 10, 14, 17], "code_of_conduct": [7, 11], "conduct": [7, 11, 14], "render": [7, 11, 13, 17], "sampl": [7, 10, 11, 14, 17], "non": [7, 10, 11, 16], "look_and_sai": [7, 11], "dat": [7, 11], "unit": [7, 11, 14, 15], "test_molecool": [7, 11, 14, 15], "devtool": [7, 11, 15, 17], "deploy": [7, 11], "ci": [7, 11], "helper": [7, 11], "test_env": [7, 11, 15], "create_conda_env": [7, 11], "o": [7, 8, 10, 14, 15, 19], "agnost": [7, 11, 16], "simpl": [7, 8, 10, 11, 12, 14, 15, 17], "flag": [7, 11], "makefil": [7, 11, 17], "_static": [7, 11, 17], "_templat": [7, 11, 17], "api": [7, 11], "rst": [7, 11, 17], "conf": [7, 11], "getting_start": [7, 11, 17], "index": [7, 8, 11, 15, 16, 17], "bat": [7, 11, 17], "smaller": [7, 11, 14, 17], "pyproject": [7, 9, 11, 16], "toml": [7, 9, 11, 16], "pep": [7, 11, 16], "517": [7, 11, 16], "yml": [7, 11, 15, 16], "Near": [7, 11], "master": [7, 8, 9, 10, 11, 15], "hous": [7, 11], "ini": [7, 11], "coverag": [7, 11], "flake8": [7, 10, 11], "yapf": [7, 10, 11], "etc": [7, 10, 11, 17], "codecov": [7, 11, 15], "reduc": [7, 11], "verbos": [7, 11], "level": [7, 10, 11, 13, 15, 17], "hook": [7, 11, 17], "pull_request_templ": [7, 11, 15], "stock": [7, 11], "pattern": [7, 11], "ignor": [7, 10, 11], "lgtm": [7, 11], "sudo": 7, "apt": 7, "brew": 7, "label": [7, 12], "window": [7, 13, 14, 15], "thought": 7, "top": [7, 8, 11, 12, 13, 14, 15, 17], "relat": [7, 10, 11, 14], "test_funct": 7, "technic": 7, "talk": 7, "hand": [7, 13, 14], "well": [7, 8, 11, 13, 14, 15, 16, 17], "singl": [7, 10, 11, 14, 17], "definit": [7, 8, 10, 14], "statement": [7, 10, 11, 14, 15], "defin": [7, 9, 10, 11, 12, 14, 15], "module_nam": 7, "function_nam": 7, "collect": [7, 8, 12, 14, 15, 16, 19], "interpret": [7, 10, 11, 14, 19], "_version": [7, 11, 16, 17], "__version__": [7, 11], "string": [7, 8, 10, 16, 17], "quotat": 7, "concern": 7, "goe": [7, 17, 19], "bring": [7, 13], "canva": [7, 8, 10, 17], "surround": [7, 10, 14], "sentenc": [7, 8, 10], "primari": [7, 8, 9, 15], "placehold": [7, 8, 10], "At": [7, 11, 12, 19], "accustom": 7, "retriev": 7, "internet": 7, "known": [7, 14], "anywher": 7, "matplotlib": [7, 8, 11, 15, 17, 19], "particularli": [7, 10, 11, 13], "reflect": [7, 11, 16], "reinstal": 7, "site": [7, 16, 17], "sy": [7, 14], "search": [7, 12, 13, 14, 15], "direct_url": 7, "json": 7, "signifi": 7, "year": 7, "ecosystem": 7, "seen": [7, 11, 13, 15], "numer": 7, "design": [7, 8, 10, 12, 17, 18], "streamlin": 7, "primarili": 7, "altern": [7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "poetri": 7, "flit": 7, "offer": 7, "featur": [7, 10, 11, 15, 16], "encount": [7, 8], "variou": [7, 14, 16], "imagin": [7, 8], "adapt": [7, 8], "henri": [7, 8], "david": [7, 8], "thoreau": [7, 8], "avail": [7, 11, 12, 14, 15, 16, 17, 19], "launch": [7, 16], "happen": [7, 8, 13, 14, 15, 17, 19], "deactiv": [7, 19], "attempt": 7, "zip": [7, 8, 9, 10, 11, 12, 14, 15, 17, 19], "pre": [8, 9, 10, 11, 12, 14, 15, 16, 17], "educ": [8, 9, 10, 11, 12, 13, 14, 15, 17, 19], "molecool": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "overwrit": 8, "roll": 8, "subvers": 8, "hg": 8, "earlier": [8, 14, 19], "outer": 8, "ran": [8, 10, 14], "la": 8, "long": [8, 10, 14, 18], "25ab1f1a066f68e433a17454c66531e5a86c112d": 8, "tag": [8, 14], "mon": 8, "feb": 8, "10": [8, 10, 11, 14, 15, 19], "45": [8, 14], "26": [8, 14], "2019": 8, "0500": 8, "x": [8, 10, 11, 14], "depend": [8, 11, 12, 14, 15, 16, 17], "releas": 8, "25ab1": 8, "hexadecim": 8, "effect": [8, 9, 15, 16], "pip": [8, 10, 11, 14, 15, 17], "development": 8, "neglect": 8, "compos": 8, "argument": [8, 10, 12, 14, 17], "comparison": [8, 10, 14], "alia": 8, "tip": 8, "d857c74": 8, "3c0e1c6": 8, "116f0cf": 8, "mimic": [8, 11], "recreat": 8, "referenc": [8, 10], "b": 8, "94e0b50": 8, "a68f349": 8, "17": 8, "compar": [8, 10, 13, 14], "against": 8, "e778cd4": 8, "13": 8, "undo": 8, "replac": [8, 10, 16, 19], "zen": 8, "figur": [8, 11, 13, 19], "diagram": [8, 13], "circl": 8, "unchang": 8, "illustr": [8, 10], "better": [8, 10, 14, 16, 17, 19], "screen": 8, "19": 8, "principl": [8, 12], "influenc": 8, "with_attribut": [8, 10], "true": [8, 10, 13, 14, 17], "beauti": 8, "ugli": [8, 10], "explicit": [8, 10], "implicit": [8, 12], "complex": [8, 12], "complic": [8, 11], "flat": 8, "nest": 8, "spars": 8, "dens": 8, "enough": [8, 10, 15], "although": [8, 10], "beat": 8, "puriti": 8, "never": [8, 10, 14, 15], "pass": [8, 10, 12, 14, 15, 17], "silent": [8, 10], "unless": [8, 14], "explicitli": [8, 12, 15], "silenc": 8, "face": 8, "ambigu": 8, "refus": 8, "temptat": 8, "guess": 8, "obviou": 8, "dutch": 8, "hard": [8, 10], "bad": [8, 11], "namespac": [8, 11], "honk": 8, "ttim": 8, "peter": 8, "older": [8, 19], "ort": 8, "cell": 8, "np": [8, 10, 11, 12, 14, 15, 17], "pyplot": [8, 11], "plt": [8, 11], "mpl_toolkit": [8, 10, 11], "mplot3d": [8, 10, 11], "axes3d": [8, 10, 11], "paramet": [8, 11, 12, 17], "bool": [8, 10, 12], "str": [8, 10, 11, 12], "attribut": 8, "calculate_dist": [8, 11, 14, 17], "ra": [8, 10, 11, 12], "rb": [8, 10, 11, 12], "calcul": [8, 10, 11, 12, 14, 17], "distanc": [8, 10, 11, 12, 14], "arrai": [8, 10, 11, 12, 14, 15], "linalg": [8, 10, 11, 12], "norm": [8, 10, 11, 12], "open_pdb": [8, 10, 11, 14], "f_loc": [8, 10], "pdb": [8, 10, 11, 14, 17, 19], "atom": [8, 10, 12, 13, 14, 17], "coordin": [8, 10, 11, 12, 14, 17, 19], "f": [8, 10, 11, 14], "readlin": [8, 10, 11], "sym": [8, 10], "hetatm": [8, 10, 11], "append": [8, 10, 11], "76": [8, 10, 11], "79": [8, 10, 11], "strip": [8, 10, 11], "c2": [8, 10], "float": [8, 10, 11, 12, 14], "30": [8, 10, 11, 14], "55": [8, 10, 11], "split": [8, 10, 11], "coord": [8, 10, 11], "atomic_weight": [8, 11, 14], "h": [8, 10, 11, 14, 15], "00784": [8, 11], "12": [8, 10, 11, 14, 16], "0107": [8, 11], "14": [8, 11, 14], "0067": [8, 11], "999": [8, 11], "973762": [8, 11], "18": [8, 11, 14], "998403": [8, 11], "cl": [8, 11], "35": [8, 11], "453": [8, 11], "br": [8, 11], "904": [8, 11], "open_xyz": [8, 11, 14, 17], "file_loc": [8, 10, 11], "xyz_fil": [8, 11], "genfromtxt": [8, 11], "fname": [8, 11], "skip_head": [8, 11], "dtype": [8, 11], "unicod": [8, 11], "astyp": [8, 11], "write_xyz": [8, 10, 11, 14], "num_atom": [8, 10, 11], "len": [8, 10, 11, 14], "rang": [8, 10, 11, 14], "draw_molecul": [8, 11, 14, 17], "draw_bond": [8, 11, 17], "none": [8, 11], "save_loc": [8, 11], "dpi": [8, 11], "300": [8, 11], "draw": [8, 11, 17], "pictur": 8, "fig": [8, 11], "ax": [8, 11], "add_subplot": [8, 11], "111": [8, 11], "3d": [8, 10, 11], "color": [8, 11, 13, 15], "atom_color": [8, 11], "size": [8, 10, 11], "rcparam": [8, 11], "markers": [8, 11], "200": [8, 11], "scatter": [8, 11], "marker": [8, 11], "edgecolor": [8, 11], "facecolor": [8, 11], "alpha": [8, 11, 16], "bond": [8, 11, 14], "bond_length": [8, 11, 14], "item": [8, 11, 14, 17], "atom1": [8, 11], "atom2": [8, 11], "plot": [8, 10, 15], "savefig": [8, 11], "graph_min": [8, 11], "graph_max": [8, 11], "calculate_angl": [8, 11, 15, 17], "rc": [8, 11], "degre": [8, 11, 14, 15], "angl": [8, 14], "radian": [8, 15], "ab": [8, 11, 14], "bc": [8, 11], "theta": [8, 11], "arcco": [8, 11], "bond_histogram": [8, 11, 14], "bond_list": [8, 11], "histogram": 8, "length": [8, 10, 11, 14], "build_bond_list": [8, 11, 14, 17], "bin": [8, 11, 14], "linspac": [8, 11], "xlabel": [8, 11], "angstrom": [8, 11, 14], "ylabel": [8, 11], "hist": [8, 11], "max_bond": [8, 11], "min_bond": [8, 11, 14], "criteria": [8, 10, 11], "white": [8, 11, 13], "d3d3d3": [8, 11], "add8e6": [8, 11], "ffa500": [8, 11], "ffffe0": [8, 11], "98fb98": [8, 11], "f4a460": [8, 11], "yellow": [8, 11], "__name__": [8, 11], "__main__": 8, "invok": [8, 16], "materi": [8, 10, 13, 18], "simplic": [8, 11], "r": [8, 14, 17], "built": [8, 10, 12, 14, 15, 16, 17], "input": [8, 10, 11, 12, 14, 17], "prevent": [8, 10], "accident": [8, 10, 16], "shouldn": [8, 13], "possibl": [8, 10, 13, 14, 15, 19], "togeht": 9, "authent": 9, "ident": [9, 12, 19], "person": [9, 13, 15, 19], "token": [9, 16], "pat": 9, "fine": [9, 10, 13], "grain": 9, "As": [9, 10, 11, 12, 13, 14, 15, 19], "pickl": 9, "june": 9, "entri": [9, 15, 16], "discov": [9, 12, 14], "acquir": 9, "least": [9, 14, 17, 19], "metadata": [9, 16], "molecool_friend": 9, "friend": 9, "episod": [10, 14, 15, 17], "found": [10, 12, 15], "starting_materi": [10, 19], "luckili": [10, 14], "mind": [10, 16, 19], "whose": 10, "signific": 10, "ahead": [10, 11, 15, 19], "With": [10, 11, 16, 17], "pdb_file": 10, "join": 10, "water": [10, 19], "626": 10, "787": 10, "673": 10, "42": [10, 14], "203": 10, "7": [10, 14], "604": 10, "inconsist": 10, "necessarili": 10, "clear": [10, 16], "appli": [10, 12], "hoorai": 10, "seem": [10, 12, 14], "surpris": [10, 16], "intern": [10, 14, 16], "instanc": [10, 16], "unwant": 10, "behavior": [10, 12, 14], "occur": [10, 14], "malfunct": 10, "divis": 10, "zero": [10, 14], "zerodivisionerror": 10, "smart": 10, "halt": [10, 14], "feedback": 10, "throw": [10, 12], "nan": 10, "yourself": [10, 11], "failur": [10, 14, 15], "opportun": 10, "suppli": [10, 14], "neither": 10, "intend": [10, 15, 17], "test_atom": 10, "test_coord": 10, "probabl": [10, 11, 12, 15, 16, 17], "element": [10, 11, 12, 14, 17], "incorrect": 10, "valueerror": [10, 11, 14], "quit": 10, "fake": 10, "nevertheless": 10, "tempt": 10, "posit": [10, 14], "arithmet": 10, "typeerror": [10, 12], "undefin": [10, 11], "nameerror": 10, "assert": [10, 14, 15], "assertionerror": [10, 14], "latter": 10, "smarter": 10, "perhap": 10, "futur": 10, "guidelin": [10, 15, 16, 17], "enhanc": 10, "propos": 10, "strict": [10, 16], "classifi": 10, "categori": [10, 15], "standard": [10, 13, 16], "pep1": 10, "outlin": [10, 11, 14, 17, 19], "charact": 10, "lowercas": 10, "letter": 10, "el": 10, "uppercas": 10, "oh": 10, "ey": [10, 17], "atom_coord": [10, 11], "rewrit": 10, "per": [10, 14], "meet": [10, 14, 15], "binari": 10, "assign": [10, 12, 13, 14], "augment": 10, "boolean": 10, "express": [10, 14], "sparingli": 10, "logic": 10, "coupl": [10, 13, 15], "reformat": 10, "dist_vec": [10, 11, 12], "successfulli": [10, 12, 15, 17], "littl": [10, 13, 17], "mc": 10, "multi": [10, 11], "beneath": 10, "ndarrai": [10, 11, 12, 14, 17], "r1": [10, 11, 12, 14, 15], "r2": [10, 11, 12, 14, 15], "pep257": 10, "underlin": [10, 12], "hyphen": 10, "relev": [10, 12, 15, 17], "correspond": [10, 14], "clarifi": 10, "rel": 10, "straightforward": 10, "keyword": [10, 14, 15], "expect": [10, 12, 16], "contrast": 10, "meant": [10, 17], "usag": [10, 17], "strongli": [10, 16], "encourag": [10, 14, 16], "front": 10, "column": [10, 11], "black": 10, "static": 10, "linter": 10, "pylint": 10, "formatt": 10, "pars": 10, "gain": 10, "late": 10, "almost": [10, 15], "entir": [10, 15, 16], "customiz": 10, "normal": [10, 15], "doubl": 10, "88": 10, "exact": [10, 15], "consist": [10, 14], "cleaner": [10, 14], "adher": [10, 15, 18], "snake_cas": 10, "stylist": [10, 11], "unus": [10, 11], "f401": [10, 11], "vari": [10, 15], "isn": [10, 17], "noqa": [10, 11], "report": [10, 14, 15, 18], "adopt": [10, 16], "autoformat": 10, "natur": 11, "lead": [11, 13, 15, 16, 17], "major": [11, 16], "difficult": 11, "slow": [11, 14], "progress": [11, 14], "crawl": 11, "piec": [11, 13], "method": [11, 14, 15], "explan": [11, 15, 17], "rest": [11, 15, 16], "documen": 11, "readthedoc": [11, 17], "easiest": [11, 19], "abbrevi": 11, "rearrang": 11, "calculate_molecular_mass": [11, 14], "calculate_center_of_mass": [11, 14, 17], "dictionari": [11, 14], "clearli": 11, "sens": 11, "atom_data": [11, 14], "enclos": 11, "constant": 11, "approxim": 11, "similarli": [11, 15], "fit": 11, "natom": 11, "ndim": 11, "maximum": 11, "minimum": [11, 14], "dict": 11, "pair": 11, "jump": 11, "mention": [11, 15, 16], "previous": [11, 13, 14, 16, 17], "distinct": [11, 14], "somewhat": 11, "unrel": 11, "touch": [11, 13, 14], "file_nam": 11, "manipul": 11, "big": 11, "But": [11, 13], "suit": [11, 14, 18], "ineffici": 11, "extract": 11, "fact": [11, 12], "restructur": [11, 17], "care": 11, "accordingli": [11, 19], "importerror": [11, 15], "load": 11, "original_funct": 11, "asid": 11, "inspect": [11, 14], "miss": [11, 14, 15], "extern": [11, 17], "librari": [11, 12, 14, 17, 19], "carefulli": 11, "intra": 11, "bash": [11, 15, 17, 19], "grab": 11, "correct": [11, 13, 14, 15, 19], "__builtins__": 11, "__cached__": 11, "__doc__": 11, "__file__": 11, "__git_revision__": 11, "__loader__": 11, "__package__": 11, "__path__": 11, "__spec__": 11, "broke": 11, "cost": 11, "slightli": [11, 15], "simpler": 11, "goal": [11, 17], "io_funct": 11, "desir": [11, 19], "pointer": 11, "underli": 11, "submodul": 11, "target": 11, "appreci": 11, "plai": [11, 12], "role": 11, "broken": [11, 14], "amount": [11, 19], "inher": 12, "enforc": [12, 16], "variabl": [12, 14, 15], "duck": 12, "phrase": 12, "swim": 12, "quack": 12, "similarili": 12, "integ": 12, "unconcern": 12, "flexibl": 12, "arbitrari": 12, "aris": [12, 13, 14], "measur": [12, 14, 15, 17], "subtract": 12, "support": [12, 16, 17], "unsupport": 12, "operand": 12, "anticip": 12, "catch": [12, 14, 15], "usabl": 12, "being": [12, 13, 14, 19], "inappropri": 12, "improv": [12, 13, 14, 17], "my_integ": 12, "int": [12, 17], "my_float": 12, "list_of_int": 12, "subscript": 12, "my_funct": 12, "var1": 12, "var2": 12, "declar": 12, "warn": [12, 17], "enabl": [12, 17], "mypi": 12, "pyright": 12, "pylanc": 12, "gear": [12, 13], "icon": 12, "corner": 12, "dropdown": 12, "underneath": [12, 15], "incompat": [12, 16], "abstract": 12, "abc": 12, "union": 12, "accept": [12, 13, 19], "supportsfloat": 12, "iter": [12, 14], "arg": 12, "runtim": [12, 14], "reloc": 13, "transfer": 13, "invit": 13, "pop": 13, "bar": 13, "trust": 13, "especi": 13, "unwis": 13, "submit": [13, 18], "owner": 13, "rather": [13, 14, 17], "collab_instruct": 13, "thread": 13, "470": 13, "00": 13, "kib": 13, "resolv": 13, "visit": 13, "your_usernam": 13, "approv": 13, "kind": [13, 14], "explor": [13, 14, 15], "hundr": 13, "interest": 13, "guarante": 13, "solut": 13, "form": [13, 17], "upon": 13, "offici": [13, 16], "period": [13, 15, 17], "tabl": [13, 18], "background": 13, "around": [13, 16], "profil": [13, 19], "redirect": [13, 15], "NOT": 13, "IN": 13, "machin": [13, 15, 19], "real": [13, 14], "situat": [13, 14], "demo": 13, "sodium": 13, "todai": 13, "mistak": 13, "pick": [13, 14, 19], "element_nam": 13, "na": 13, "11": [13, 14, 15, 17, 19], "jekyl": 13, "bundl": [13, 17], "exec": 13, "serv": 13, "your_el": 13, "liter": 13, "highlight": [13, 15], "field": [13, 16, 17], "larger": [13, 14, 17], "feel": 13, "public": [13, 16], "reaction": 13, "tediou": [14, 17], "prone": 14, "capabl": 14, "regularli": 14, "cycl": 14, "thorough": 14, "afterthought": 14, "essenti": [14, 15, 16], "neg": 14, "observ": 14, "shortli": 14, "uncommonli": 14, "factor": 14, "therefor": 14, "databas": 14, "network": [14, 16], "resourc": [14, 15], "holist": 14, "approach": [14, 16], "whole": 14, "regress": 14, "highli": 14, "focus": 14, "unittest": 14, "nose": 14, "ideal": [14, 17], "cov": [14, 15], "test_": 14, "test_molecool_import": 14, "instantli": 14, "session": 14, "darwin": 14, "pluggi": 14, "rootdir": 14, "dev": 14, "inifil": 14, "06": 14, "miniconda3": [14, 19], "cachedir": 14, "pytest_cach": 14, "divid": [14, 17], "four": 14, "test_measur": [14, 15], "test_calculate_dist": 14, "expected_dist": 14, "calculated_dist": 14, "50": 14, "07": 14, "equal": 14, "rerun": 14, "___________________________________________________________": 14, "56": 14, "addition": 14, "advantag": [14, 17], "debug": 14, "expected_valu": [14, 15], "evalu": [14, 16], "r3": [14, 15], "90": [14, 15], "test_calculate_angl": 14, "calculated_valu": [14, 15], "test_molecul": 14, "test_build_bond_list": 14, "invalid": 14, "greater": 14, "alter": 14, "test_build_bond_failur": 14, "otherwis": [14, 19], "tdd": 14, "THEN": 14, "homework": 14, "mass": [14, 17], "test_molecular_mass": 14, "calculated_mass": 14, "actual_mass": 14, "16": 14, "04": [14, 19], "approx": 14, "1e": 14, "io": [14, 15, 19], "center": [14, 17], "weight": [14, 17], "center_of_mass": [14, 17], "formula": [14, 17], "math": 14, "vec": [14, 17], "frac": [14, 17], "sum_": [14, 17], "m_": [14, 17], "r_": [14, 17], "And": 14, "test_center_of_mass": 14, "expected_cent": 14, "wise": 14, "array_equ": 14, "shape": 14, "total_mass": 14, "mass_arrai": 14, "sum": 14, "power": 14, "depth": [14, 15, 16, 17], "act": 14, "preced": 14, "foo": 14, "xfail": 14, "mayb": 14, "Or": [14, 16], "global": [14, 19], "repeatedli": 14, "decoupl": 14, "methane_molecul": 14, "test_build_bond_list_failur": 14, "carbon": 14, "methan": 14, "test_move_methan": 14, "expens": 14, "fewer": 14, "remain": 14, "subsequ": 14, "awar": [14, 17], "properti": 14, "realiz": 14, "conftest": 14, "articl": 14, "middl": 14, "dimension": 14, "anecdot": 14, "crucial": [14, 18], "boundari": 14, "exhibit": 14, "qualit": 14, "dedic": 14, "extrem": [14, 17], "variable_name1": 14, "variable_name2": 14, "variable_namen": 14, "expected_answ": 14, "variable_value1": 14, "variable_value2": 14, "variable_valuen": 14, "expected_answer_valu": 14, "test_nam": 14, "parenthes": 14, "p1": 14, "p2": 14, "p3": 14, "expected_angl": 14, "sqrt": 14, "60": 14, "test_calculate_angle_mani": 14, "calculated_angl": 14, "deselect": 14, "p10": 14, "p20": 14, "p30": 14, "33": 14, "p11": 14, "p21": 14, "p31": 14, "66": 14, "p12": 14, "p22": 14, "p32": 14, "44": 14, "stack": 14, "test_foo": 14, "exhaust": 14, "pain": 14, "treat": 14, "doctest": 14, "27": 14, "test_calculate_angle_90": 14, "36": 14, "54": 14, "63": 14, "test_build_bond_list_default": 14, "72": 14, "81": 14, "______________________________________________________________": 14, "015": 14, "016": 14, "017": 14, "018": 14, "019": 14, "020": 14, "021": 14, "022": 14, "023": 14, "024": 14, "got": 14, "24": [14, 15], "doctestfailur": 14, "41": 14, "assess": 14, "plugin": 14, "stmt": 14, "21": 14, "92": 14, "28": [14, 19], "96": 14, "114": 14, "53": 14, "70": 14, "weren": 14, "percentag": [14, 15], "produc": [14, 15, 18], "impract": 14, "convolut": 14, "subject": [14, 18], "ii": 14, "comprehens": 14, "higher": [14, 19], "achiev": [14, 15], "unrealist": 14, "worth": 14, "individu": 14, "prerequisit": 15, "your_repostiory_loc": 15, "wikipedia": 15, "mainlin": 15, "beforehand": 15, "experiment": 15, "reach": 15, "fellow": 15, "expand": 15, "tightli": 15, "free": 15, "circleci": 15, "azur": 15, "pipelin": 15, "travi": 15, "fortun": 15, "despit": 15, "soon": 15, "hood": 15, "legaci": 15, "pull_request": 15, "schedul": [15, 16], "nightli": 15, "latest": [15, 16, 19], "en": [15, 16], "event": 15, "trigger": [15, 17], "cron": 15, "midnight": 15, "interv": 15, "job": 15, "gha": 15, "matrix": 15, "ubuntu": [15, 19], "combin": 15, "variable_nam": 15, "modular": 15, "commonli": [15, 19], "block": [15, 17], "miniconda": 15, "v4": 15, "ourselv": 15, "unam": 15, "df": 15, "ulimit": 15, "micromamba": 15, "mamba": 15, "org": [15, 16, 17], "v1": 15, "condarc": 15, "tutori": [15, 16, 17, 18], "app": 15, "said": 15, "inconveni": 15, "imposs": 15, "reproduc": [15, 18], "certain": [15, 18, 19], "pypi": 15, "dep": 15, "xml": 15, "cross": 15, "__________": 15, "home": [15, 16], "runner": 15, "traceback": 15, "usr": 15, "python3": 15, "importlib": 15, "127": 15, "import_modul": 15, "_bootstrap": 15, "_gcd_import": 15, "modulenotfounderror": 15, "detect": 15, "five": 15, "checkmark": 15, "congratul": 15, "finish": 15, "style": [15, 17], "upload": 15, "wast": 15, "hour": 15, "aim": 15, "obsess": 15, "summari": [15, 17], "besid": 15, "html": [15, 17], "htmlcov": 15, "importantli": [15, 16, 19], "imag": [15, 17, 19], "test_calculate_angle_radian": 15, "pi": 15, "180": 15, "lack": 15, "suffici": [15, 17], "qualiti": 15, "send": 15, "statist": 15, "neat": 15, "sunburst": 15, "hierarch": 15, "poorli": 15, "obtain": [15, 19], "plug": 15, "silli": 15, "ascii": 15, "art": 15, "welcom": [15, 17], "placement": 15, "mscoutermarsh": 15, "event_nam": 15, "actor": 15, "repository_nam": 15, "preliminari": 16, "polish": 16, "regist": 16, "lose": 16, "password": [16, 19], "sequenc": [16, 18], "base64": 16, "encod": 16, "yourtoken": 16, "pypirc": 16, "testpypi": 16, "usernam": [16, 17, 19], "__token__": 16, "twine": 16, "announc": 16, "blurb": 16, "publish": 16, "sit": 16, "0a1": 16, "archiv": 16, "healthier": 16, "portabl": 16, "discover": 16, "setuptool": 16, "assembl": 16, "cloud": 16, "buildabl": 16, "embed": 16, "versioningit": 16, "particip": [16, 19], "revis": 16, "regener": 16, "untag": 16, "post": 16, "satisfi": 16, "440": 16, "mess": 16, "scheme": 16, "histor": 16, "distutil": 16, "came": 16, "reli": 16, "effort": [16, 19], "retir": 16, "caution": 16, "beta": 16, "univers": 16, "yank": 16, "conserv": 16, "clutter": 16, "compliant": 16, "meta": 16, "changelog": 16, "constraint": 16, "meaningfulli": 16, "heurist": 16, "prereleas": 16, "increment": 16, "consider": [16, 19], "moder": 16, "backward": 16, "old": [16, 19], "scenario": 16, "conflict": 16, "minor": 16, "patch": 16, "implic": 16, "sort": 16, "bump": 16, "tweak": 16, "establish": 16, "versu": 16, "prospect": 16, "confid": 16, "stabil": 16, "matur": 16, "deploi": 17, "mainten": [17, 18], "bore": 17, "habit": 17, "involv": 17, "compon": [17, 18], "prepar": [17, 19], "wide": 17, "fulli": 17, "audienc": 17, "AND": 17, "theme": 17, "preconfigur": 17, "sphinx_rtd_them": 17, "restructuredtext": 17, "autosummari": 17, "_build": 17, "preview": 17, "notabl": 17, "cheat": 17, "sheet": 17, "rebuild": 17, "subhead": 17, "rtd": 17, "benzen": [17, 19], "benzene_symbol": 17, "benzene_coord": 17, "benzene_bond": 17, "docutil": 17, "directive_nam": 17, "indent": 17, "iostream": 17, "void": 17, "std": 17, "cout": 17, "toctre": 17, "menu": [17, 19], "maxdepth": 17, "caption": 17, "toc": 17, "homepag": 17, "descipt": 17, "held": 17, "institut": [17, 18], "path_to_directori": 17, "latex": 17, "latexpdf": 17, "chapter": 17, "spinx": 17, "autodoc": 17, "viewabl": 17, "taken": 17, "automodul": 17, "autofunct": 17, "ext": 17, "mathjax": 17, "viewcod": 17, "napoleon": 17, "intersphinx": 17, "extlink": 17, "autoapi_dir": 17, "autoapi_ignor": 17, "autoapi_opt": 17, "member": 17, "undoc": 17, "privat": 17, "inherit": 17, "autosummary_gener": 17, "napoleon_google_docstr": 17, "napoleon_use_param": 17, "napoleon_use_ivar": 17, "realist": 17, "closer": 17, "dashboard": 17, "point": 18, "protocol": 18, "reliabl": 18, "decreas": 18, "term": 18, "increas": 18, "viabil": 18, "experi": 18, "sequenti": 18, "subsystem": 19, "x64": 19, "1903": 19, "18362": 19, "arm64": 19, "2004": 19, "19041": 19, "along": 19, "parti": 19, "22": 19, "ghcr": 19, "local_path": 19, "restart": 19, "curl": 19, "x86_64": 19, "sh": 19, "architectur": 19, "m1": 19, "macosx": 19, "x86": 19, "reopen": 19, "cli": 19, "package_nam": 19, "jupyterlab": 19, "walk": 19, "solver": 19, "wrong": 19, "cap": 19, "your_firstnam": 19, "your_lastnam": 19, "your_email_address": 19, "defaultbranch": 19, "comfort": 19, "favorit": 19, "core": 19, "wait": 19, "profession": 19, "showcas": 19, "recogniz": 19, "deprec": 19, "kei": 19, "connect": 19, "scientist": 19, "screenshot": 19, "palett": 19, "shift": 19, "cmd": 19, "unzip": 19, "1bna": 19, "starting_notebook": 19, "ipynb": 19}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"code": [0, 10, 12, 13, 14, 15, 17, 18], "style": [0, 10, 18], "document": [0, 14, 17, 18], "introduct": [1, 3, 8], "command": [1, 19], "line": [1, 19], "overview": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "open": [1, 7, 13], "termin": [1, 19], "view": [1, 3, 8], "directori": [1, 7], "content": [1, 7, 17], "clear": 1, "screen": 1, "creat": [1, 3, 7, 8, 13, 19], "navig": 1, "check": [1, 3, 7, 8, 11, 12, 14], "your": [1, 3, 4, 7, 8, 9, 11, 13, 14, 15, 17, 19], "understand": [1, 3, 7, 8, 11, 14], "solut": [1, 3, 7, 8, 10, 11, 12, 14, 15, 16, 17], "space": 1, "file": [1, 3, 7, 8, 14, 17], "name": [1, 10, 19], "chang": [1, 3, 13], "home": 1, "from": [1, 7, 19], "anywher": 1, "challeng": [1, 3], "kei": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "point": [1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "git": [2, 3, 4, 8, 9, 18, 19], "github": [2, 3, 4, 8, 9, 15, 18, 19], "version": [3, 8, 16, 19], "control": [3, 8], "standalon": 3, "lesson": [3, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18], "prerequisit": [3, 16, 18], "v": [3, 8, 12, 19], "us": [3, 4, 7, 8, 11, 13, 14, 15, 17, 19], "keep": 3, "record": 3, "project": [3, 13], "The": [3, 7, 8, 10, 14, 17], "3": [3, 8, 10, 16], "step": [3, 8], "commit": [3, 8, 13], "add": [3, 4, 8, 9], "statu": [3, 8], "log": 3, "previou": [3, 8], "new": [3, 8, 13], "featur": [3, 4, 8, 9, 13, 14], "branch": [3, 8, 13], "get": [3, 14, 15, 17], "main": [3, 13], "ignor": [3, 8], "more": [3, 4, 8, 9, 10, 12, 13, 15], "tutori": [3, 8, 9, 13], "basic": [3, 8, 9], "put": [4, 9], "repositori": [4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "work": [4, 9, 15], "With": [4, 9], "multipl": [4, 9, 14], "conflict": [4, 9], "resolut": [4, 9], "configur": [4, 19], "pull": [4, 13], "set": [5, 7, 15, 18, 19], "up": [5, 7, 15, 18, 19], "test": [6, 13, 14, 15, 18], "continu": [6, 15, 18], "integr": [6, 15, 18], "distribut": [6, 16, 18], "python": [7, 10, 12, 14, 18], "packag": [7, 10, 11, 14, 16, 17, 18, 19], "exampl": [7, 10, 14], "structur": [7, 11, 17], "cookiecutt": [7, 19], "obtain": 7, "run": [7, 14], "templat": 7, "locat": 7, "explan": 7, "question": 7, "licens": 7, "choic": 7, "type": [7, 10, 12, 17], "sourc": 7, "depend": 7, "support": 7, "readthedoc": 7, "review": 7, "visual": [7, 11], "modul": [7, 11, 17], "molecool": 7, "__init__": 7, "py": [7, 16, 17], "our": [7, 10, 13, 14, 15, 17], "first": [7, 14], "befor": 7, "proceed": 7, "make": [7, 8], "sure": 7, "pip": [7, 16], "setuptool": 7, "ar": 7, "date": [7, 19], "instal": [7, 16, 19], "local": [7, 13, 15], "gener": 7, "config": 7, "": [7, 13], "rapidli": 7, "evolv": 7, "landscap": 7, "final": [7, 8, 9, 10, 11, 12, 14, 15, 17], "state": [7, 8, 9, 10, 11, 12, 14, 15, 17], "follow": [8, 9, 10, 11, 12, 14, 15, 17], "along": [8, 9, 10, 11, 12, 14, 15, 17], "thi": [8, 9, 10, 11, 12, 14, 15, 16, 17], "what": 8, "i": [8, 11, 14, 16, 19], "exercis": [8, 10, 11, 12, 14, 15, 16, 17], "explor": 8, "histori": 8, "ad": [8, 12, 14, 15, 17], "data": [8, 11], "gitignor": 8, "secur": 9, "access": 9, "remot": [9, 19], "edit": [10, 13], "function": [10, 12], "return": 10, "rais": 10, "except": [10, 14], "pep": 10, "variabl": 10, "indent": 10, "whitespac": 10, "improv": 10, "calculate_dist": [10, 12], "docstr": [10, 17], "__doc__": 10, "attribut": 10, "section": 10, "1": [10, 14, 16], "short": 10, "summari": 10, "2": [10, 14, 16], "extend": 10, "paramet": [10, 14], "4": [10, 16], "5": 10, "decid": 11, "atom": 11, "group": 11, "measur": 11, "molecul": 11, "o": 11, "subpackag": 11, "fix": 11, "import": [11, 13], "rel": 11, "io": 11, "hint": 12, "annot": 12, "static": 12, "collabor": 13, "protect": 13, "request": 13, "pr": 13, "contribut": 13, "someon": 13, "els": 13, "fork": 13, "upstream": 13, "track": 13, "origin": 13, "develop": [13, 14, 16, 18, 19], "element": 13, "out": 13, "websit": 13, "incorpor": 13, "rebas": 13, "why": 14, "level": 14, "pytest": 14, "framework": 14, "fail": 14, "calculate_angl": 14, "exerics": 14, "expect": 14, "driven": 14, "advanc": 14, "decor": 14, "mark": 14, "fixtur": 14, "scope": 14, "across": 14, "differ": 14, "parametr": 14, "edg": 14, "corner": 14, "case": [14, 16], "combin": 14, "coverag": [14, 15], "part": [14, 15], "do": 14, "we": 14, "need": 14, "100": 14, "action": 15, "ci": 15, "much": 15, "ii": 15, "assess": 15, "increas": 15, "workflow": 15, "modifi": 15, "an": 15, "under": 16, "prepar": 16, "releas": 16, "note": [16, 19], "tag": 16, "synchon": 16, "build": [16, 17], "goodby": 16, "setup": 16, "upload": 16, "pypi": 16, "conda": [16, 19], "futur": 16, "specifi": 16, "semant": 16, "sphinx": 17, "complex": 17, "inform": 17, "start": 17, "direct": 17, "highlight": 17, "tabl": 17, "pdf": 17, "math": 17, "page": 17, "equat": 17, "api": 17, "other": 17, "autoapi": 17, "conf": 17, "host": 17, "read": 17, "doc": 17, "best": 18, "practic": 18, "workshop": [18, 19], "comput": 19, "window": 19, "user": 19, "take": 19, "anaconda": 19, "minconda": 19, "ensur": 19, "wsl": 19, "onli": 19, "docker": 19, "option": 19, "altern": 19, "miniconda": 19, "graphic": 19, "text": 19, "base": 19, "environ": 19, "credenti": 19, "editor": 19, "extens": 19, "ssh": 19, "download": 19, "materi": 19, "materials_download": 19, "conclus": 19}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.intersphinx": 1, "sphinx": 60}, "alltitles": {"Code Style and Documentation": [[0, "code-style-and-documentation"]], "Introduction to the Command Line": [[1, "introduction-to-the-command-line"]], "Overview": [[1, null], [3, null], [4, null], [7, null], [8, null], [9, null], [10, null], [11, null], [12, null], [13, null], [14, null], [15, null], [16, null], [17, null], [18, "overview"]], "Opening the Terminal": [[1, "opening-the-terminal"]], "Viewing Directory Contents": [[1, "viewing-directory-contents"]], "Clearing the screen": [[1, null]], "Creating and navigating directories": [[1, "creating-and-navigating-directories"]], "Check Your Understanding": [[1, null], [7, null], [8, null], [14, null]], "Solution": [[1, null], [1, null], [3, null], [3, null], [7, null], [8, null], [8, null], [8, null], [10, null], [10, null], [11, null], [11, null], [12, null], [14, null], [14, null], [14, null], [14, null], [15, null], [15, null], [16, null], [16, null], [16, null], [16, null], [17, null], [17, null]], "Spaces in file and directory names": [[1, null]], "Changing to the home directory from anywhere": [[1, null]], "Challenge": [[1, null], [3, null]], "Key Points": [[1, null], [3, null], [4, null], [7, "key-points"], [7, null], [8, "key-points"], [8, null], [9, "key-points"], [9, null], [10, "key-points"], [10, null], [11, "key-points"], [11, null], [12, "key-points"], [12, null], [13, "key-points"], [13, null], [14, "key-points"], [14, null], [15, "key-points"], [15, null], [16, null], [17, "key-points"], [17, null]], "git and GitHub": [[2, "git-and-github"], [18, "git-and-github"]], "Introduction to Version Control with git - Standalone Lesson": [[3, "introduction-to-version-control-with-git-standalone-lesson"]], "Prerequisites": [[3, null], [16, null], [18, null]], "Version Control": [[3, "version-control"]], "git vs. GitHub": [[3, null], [8, null]], "Using git to keep a record of your project": [[3, "using-git-to-keep-a-record-of-your-project"]], "The 3 steps of a commit": [[3, "the-3-steps-of-a-commit"], [8, "the-3-steps-of-a-commit"]], "git add, git status, git commit": [[3, "git-add-git-status-git-commit"], [8, "git-add-git-status-git-commit"]], "git log": [[3, "git-log"]], "Check your understanding": [[3, null]], "Viewing previous versions": [[3, "viewing-previous-versions"], [8, "viewing-previous-versions"]], "Creating new features - using branches": [[3, "creating-new-features-using-branches"], [8, "creating-new-features-using-branches"]], "Getting Changes to Your main Branch": [[3, "getting-changes-to-your-main-branch"]], "Ignoring Files": [[3, "ignoring-files"]], "More Tutorials": [[3, "more-tutorials"], [8, "more-tutorials"], [9, "more-tutorials"], [13, "more-tutorials"]], "Basic git": [[3, "basic-git"], [8, "basic-git"], [9, "basic-git"]], "Using GitHub": [[4, "using-github"]], "Putting your repository on GitHub.": [[4, "putting-your-repository-on-github"], [9, "putting-your-repository-on-github"]], "Working With Multiple Repositories": [[4, "working-with-multiple-repositories"], [9, "working-with-multiple-repositories"]], "git add": [[4, null]], "Conflict Resolution": [[4, "conflict-resolution"], [9, "conflict-resolution"]], "Configuring git pull": [[4, null]], "More GitHub Features": [[4, "more-github-features"], [9, "more-github-features"]], "Set-Up": [[5, "set-up"], [18, "set-up"]], "Testing, Continuous Integration, and Distribution": [[6, "testing-continuous-integration-and-distribution"]], "Python Package Set-Up": [[7, "python-package-set-up"]], "Examples of Python package structure": [[7, "examples-of-python-package-structure"]], "Creating a Python package using CookieCutter": [[7, "creating-a-python-package-using-cookiecutter"]], "Obtaining CookieCutter": [[7, "obtaining-cookiecutter"]], "Running CookieCutter": [[7, "running-cookiecutter"]], "Cookiecutter Template Location": [[7, null]], "Explanation of CookieCutter Questions": [[7, "explanation-of-cookiecutter-questions"]], "License Choice": [[7, "license-choice"]], "Types of Open-Source Licenses": [[7, null]], "Dependency Source": [[7, "dependency-source"]], "Support for ReadTheDocs": [[7, "support-for-readthedocs"]], "Reviewing directory contents": [[7, "reviewing-directory-contents"]], "Visualizing the Directory Structure": [[7, null]], "Packages and modules": [[7, null]], "The molecool directory": [[7, "the-molecool-directory"]], "The __init__.py file": [[7, "the-init-py-file"]], "Our first module": [[7, "our-first-module"]], "Before proceeding, make sure your pip and setuptools packages are up-to-date": [[7, null]], "Installing from local source.": [[7, "installing-from-local-source"]], "Reviewing the generated config files": [[7, "reviewing-the-generated-config-files"]], "Installing your package": [[7, "installing-your-package"]], "Python Packaging\u2019s Rapidly Evolving Landscape": [[7, null]], "Final Repository State": [[7, null], [8, null], [8, null], [9, null], [10, null], [11, null], [12, null], [14, null], [15, null], [17, null]], "Introduction to Version Control using Git": [[8, "introduction-to-version-control-using-git"]], "Follow Along with This Lesson": [[8, null], [9, null], [10, null], [11, null], [12, null], [14, null], [15, null], [17, null]], "What is version control?": [[8, "what-is-version-control"]], "Making Commits": [[8, "making-commits"]], "Exercise - Creating a Repository": [[8, "exercise-creating-a-repository"]], "Exercise": [[8, null], [10, null], [12, null], [15, null], [17, null], [17, null]], "Exploring git history": [[8, "exploring-git-history"]], "Exercise - Using Branches": [[8, "exercise-using-branches"]], "Using Branches - Exercise": [[8, null]], "Adding data": [[8, "adding-data"]], "Ignoring files - .gitignore": [[8, "ignoring-files-gitignore"]], "GitHub": [[9, "github"], [19, "github"]], "Securely accessing GitHub": [[9, "securely-accessing-github"]], "Repository Remotes": [[9, "repository-remotes"]], "git add .": [[9, null]], "Python Coding Style": [[10, "python-coding-style"]], "Editing a function in our package": [[10, "editing-a-function-in-our-package"]], "Function Return Type": [[10, "function-return-type"]], "Raising Exceptions": [[10, "raising-exceptions"]], "Coding Style": [[10, "coding-style"]], "Python PEP": [[10, null]], "Variable names": [[10, "variable-names"]], "Indentation": [[10, "indentation"]], "Whitespace": [[10, "whitespace"]], "Exercise - Improving the calculate_distance function": [[10, "exercise-improving-the-calculate-distance-function"]], "Docstrings": [[10, "docstrings"]], "The __doc__ attribute": [[10, null]], "Sections of a Docstring": [[10, "sections-of-a-docstring"]], "1. Short summary": [[10, "short-summary"]], "2. Extended summary": [[10, "extended-summary"]], "3. Parameters": [[10, "parameters"]], "4. Returns": [[10, "returns"]], "5. Examples": [[10, "examples"]], "Exercise - Docstrings": [[10, "exercise-docstrings"], [10, null]], "More on Coding Style": [[10, "more-on-coding-style"]], "Deciding Package Structure": [[11, "deciding-package-structure"]], "Package Structure": [[11, "package-structure"]], "Atom Data": [[11, "atom-data"]], "Exercise - Grouping into Modules": [[11, "exercise-grouping-into-modules"], [11, null]], "Measure Module": [[11, "measure-module"]], "Visualize Module": [[11, "visualize-module"]], "Molecule Module": [[11, "molecule-module"]], "I/O Subpackage": [[11, "i-o-subpackage"]], "Fixing Imports": [[11, "fixing-imports"]], "Check your Understanding - Relative Imports": [[11, "check-your-understanding-relative-imports"]], "Check your Understanding": [[11, null]], "Using import *": [[11, "using-import"]], "IO Subpackage": [[11, "io-subpackage"]], "Type Hinting in Python": [[12, "type-hinting-in-python"]], "Type Hinting": [[12, "type-hinting"]], "Function Type Hinting": [[12, "function-type-hinting"]], "Exercise - Adding type annotations to calculate_distance": [[12, "exercise-adding-type-annotations-to-calculate-distance"]], "Static Type Checking": [[12, "static-type-checking"]], "Type Checking in VS Code": [[12, "type-checking-in-vs-code"]], "More": [[12, "more"]], "Code Collaboration": [[13, "code-collaboration"]], "Repository collaborators": [[13, "repository-collaborators"]], "Protecting your main Branch": [[13, "protecting-your-main-branch"]], "Pull Requests - Branch and Pull Request (PR)": [[13, "pull-requests-branch-and-pull-request-pr"]], "Contributing to someone else\u2019s project: Using forks": [[13, "contributing-to-someone-else-s-project-using-forks"]], "Upstream - Tracking the original repository": [[13, "upstream-tracking-the-original-repository"]], "Developing a new feature - creating branches": [[13, "developing-a-new-feature-creating-branches"]], "Importance of Branching": [[13, "importance-of-branching"]], "Editing our element": [[13, "editing-our-element"]], "Testing out the website": [[13, "testing-out-the-website"]], "Committing the change": [[13, "committing-the-change"]], "Opening a Pull Request": [[13, "opening-a-pull-request"]], "Incorporating upstream changes to local": [[13, "incorporating-upstream-changes-to-local"]], "Branching": [[13, "branching"]], "Rebasing": [[13, "rebasing"]], "Python Testing": [[14, "python-testing"]], "Why testing": [[14, "why-testing"]], "Levels of Testing": [[14, "levels-of-testing"]], "The pytest testing framework": [[14, "the-pytest-testing-framework"]], "Running our first test": [[14, "running-our-first-test"]], "Adding tests to our package": [[14, "adding-tests-to-our-package"]], "Failing tests": [[14, "failing-tests"]], "Exercise - calculate_angle test": [[14, "exercise-calculate-angle-test"]], "Exericse": [[14, null]], "Testing Expected Exceptions": [[14, "testing-expected-exceptions"]], "Exercise - Test Driven Development": [[14, "exercise-test-driven-development"]], "Exercise 1": [[14, null]], "Exercise 2": [[14, null]], "Advanced features of pytest": [[14, "advanced-features-of-pytest"]], "Python Decorators": [[14, null]], "Pytest Marks": [[14, "pytest-marks"]], "Pytest Fixtures": [[14, "pytest-fixtures"]], "Fixture Scope": [[14, "fixture-scope"]], "Using fixtures across different test files": [[14, null]], "Pytest Parametrize": [[14, "pytest-parametrize"]], "Edge and Corner Cases": [[14, null]], "Combining multiple parameters": [[14, "combining-multiple-parameters"]], "Testing Documentation Examples": [[14, "testing-documentation-examples"]], "Code Coverage Part I": [[14, "code-coverage-part-i"]], "Do we need to get 100% coverage?": [[14, null]], "Continuous Integration using GitHub Actions": [[15, "continuous-integration-using-github-actions"]], "Setting up GitHub Actions": [[15, "setting-up-github-actions"]], "Getting our CI to work": [[15, "getting-our-ci-to-work"]], "Tests, coverage, and much much more!": [[15, null]], "Code Coverage - Part II": [[15, "code-coverage-part-ii"]], "Assessing code coverage locally": [[15, "assessing-code-coverage-locally"]], "Exercise - Increasing Code Coverage": [[15, "exercise-increasing-code-coverage"]], "Adding code coverage to your CI workflow": [[15, "adding-code-coverage-to-your-ci-workflow"]], "Modifying the Workflow - Adding an Action": [[15, "modifying-the-workflow-adding-an-action"]], "Exercise - Adding an Action to our Workflow": [[15, null]], "Distributing Packages": [[16, "distributing-packages"]], "This lesson is under development": [[16, null]], "Preparing a release": [[16, "preparing-a-release"]], "Release notes": [[16, "release-notes"]], "Tagging the release": [[16, "tagging-the-release"]], "Synchonizing Tags": [[16, null]], "Packages and distributions": [[16, "packages-and-distributions"]], "Distributing packages for pip install": [[16, "distributing-packages-for-pip-install"]], "Building the distribution": [[16, "building-the-distribution"]], "Goodbye to setup.py?": [[16, null]], "Building and uploading to PyPI": [[16, "building-and-uploading-to-pypi"]], "Distributing packages for conda install": [[16, "distributing-packages-for-conda-install"]], "Preparing for future releases": [[16, "preparing-for-future-releases"]], "Version specifiers": [[16, "version-specifiers"]], "Versioning semantics": [[16, "versioning-semantics"]], "Exercises - Versioning semantics": [[16, "exercises-versioning-semantics"]], "Case 1": [[16, null]], "Case 2": [[16, null]], "Case 3": [[16, null]], "Case 4": [[16, null]], "Package Documentation": [[17, "package-documentation"]], "Types of Documentation": [[17, "types-of-documentation"]], "Sphinx for complex modules": [[17, "sphinx-for-complex-modules"]], "Using Sphinx to build documentation": [[17, "using-sphinx-to-build-documentation"]], "Adding Information to our Documentation": [[17, "adding-information-to-our-documentation"]], "Exercise - Getting Started": [[17, "exercise-getting-started"]], "Sphinx Directives": [[17, "sphinx-directives"]], "Code Highlight Directive": [[17, "code-highlight-directive"]], "The Table of Contents Directive": [[17, "the-table-of-contents-directive"]], "Exercise - Adding to the Table of Contents": [[17, "exercise-adding-to-the-table-of-contents"]], "PDF Documentation": [[17, null]], "Math on pages - Equation Directives": [[17, "math-on-pages-equation-directives"]], "API Documentation": [[17, "api-documentation"]], "Adding Docstrings to other pages": [[17, "adding-docstrings-to-other-pages"]], "Sphinx AutoAPI": [[17, "sphinx-autoapi"]], "Structuring Your Documentation": [[17, null]], "The conf.py file": [[17, "the-conf-py-file"]], "Hosting your documentation": [[17, "hosting-your-documentation"]], "Read The Docs": [[17, "read-the-docs"]], "Best Practices in Python Package Development": [[18, "best-practices-in-python-package-development"]], "Workshop Lessons": [[18, "workshop-lessons"]], "Code Style and documentation": [[18, "code-style-and-documentation"]], "Continuous Integration, Testing, Distribution": [[18, "continuous-integration-testing-distribution"]], "Computer Set Up": [[19, "computer-set-up"]], "Windows users take note": [[19, null]], "Anaconda vs. Minconda": [[19, null]], "Ensure that your conda version is up-to-date": [[19, null]], "Installing WSL (Windows users only)": [[19, "installing-wsl-windows-users-only"]], "Docker (Optional Alternative)": [[19, "docker-optional-alternative"]], "Miniconda Installation": [[19, "miniconda-installation"]], "Graphical Installation": [[19, "graphical-installation"]], "Text-based (terminal) Installation": [[19, "text-based-terminal-installation"]], "Creating a conda environment": [[19, "creating-a-conda-environment"]], "Package installation using conda": [[19, "package-installation-using-conda"]], "CookieCutter Installation ": [[19, "cookiecutter-installation"]], "Installing and configuring git": [[19, "installing-and-configuring-git"]], "Installation": [[19, "installation"]], "Configuring Git": [[19, "configuring-git"]], "Configuring git": [[19, null]], "GitHub Credentials": [[19, "github-credentials"]], "Text Editor": [[19, "text-editor"]], "Remote Development Extension (for WSL or ssh)": [[19, null]], "Downloading Workshop Materials": [[19, "downloading-workshop-materials"]], "Downloading materials from the command line": [[19, null]], "Conclusion": [[19, "conclusion"]]}, "indexentries": {}}) \ No newline at end of file