diff --git a/.buildinfo b/.buildinfo index afdfff2..604fff6 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 46713f380f881788b3b36e4a5267a1cf +config: b79ad0591742bf1fd250dabe85584c57 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/00-code-organization-documentation.html b/00-code-organization-documentation.html index 5c2bff0..4f4610b 100644 --- a/00-code-organization-documentation.html +++ b/00-code-organization-documentation.html @@ -40,7 +40,7 @@ - + @@ -658,7 +658,7 @@

Code Style and Documentation - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/00-command-line-basics.html b/00-command-line-basics.html index ecdeb83..5d646bc 100644 --- a/00-command-line-basics.html +++ b/00-command-line-basics.html @@ -40,7 +40,7 @@ - + @@ -816,7 +816,7 @@

Creating and navigating directories - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/00-git-and-github.html b/00-git-and-github.html index d0b761d..2962e16 100644 --- a/00-git-and-github.html +++ b/00-git-and-github.html @@ -40,7 +40,7 @@ - + @@ -652,7 +652,7 @@

git and GitHub - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/00-git-standalone.html b/00-git-standalone.html index 0b08b98..6611749 100644 --- a/00-git-standalone.html +++ b/00-git-standalone.html @@ -40,7 +40,7 @@ - + @@ -1510,7 +1510,7 @@

Basic git - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/00-github-standalone.html b/00-github-standalone.html index 149cbc3..2b51e76 100644 --- a/00-github-standalone.html +++ b/00-github-standalone.html @@ -40,7 +40,7 @@ - + @@ -1111,7 +1111,7 @@

More GitHub Features - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/00-setup.html b/00-setup.html index 43367f1..12eeed0 100644 --- a/00-setup.html +++ b/00-setup.html @@ -40,7 +40,7 @@ - + @@ -639,7 +639,7 @@

Set-Up# - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/00-testing-continuous-integration.html b/00-testing-continuous-integration.html index 96f1a2e..1586be4 100644 --- a/00-testing-continuous-integration.html +++ b/00-testing-continuous-integration.html @@ -40,7 +40,7 @@ - + @@ -647,7 +647,7 @@

Testing, Continuous Integration, and Distribution - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/01-package-setup.html b/01-package-setup.html index 2eee8ad..15d9522 100644 --- a/01-package-setup.html +++ b/01-package-setup.html @@ -40,7 +40,7 @@ - + @@ -1092,7 +1092,7 @@

Key Points - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/02-git.html b/02-git.html index 86b2a17..e35876e 100644 --- a/02-git.html +++ b/02-git.html @@ -40,7 +40,7 @@ - + @@ -1885,7 +1885,7 @@

Key Points - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/03-github.html b/03-github.html index f7c047b..d4a253e 100644 --- a/03-github.html +++ b/03-github.html @@ -40,7 +40,7 @@ - + @@ -1214,7 +1214,7 @@

Key Points - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/04-function-style.html b/04-function-style.html index cf223f8..1088ff2 100644 --- a/04-function-style.html +++ b/04-function-style.html @@ -40,7 +40,7 @@ - + @@ -1516,7 +1516,7 @@

Key Points - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/05-package-structure.html b/05-package-structure.html index e78e786..650586a 100644 --- a/05-package-structure.html +++ b/05-package-structure.html @@ -40,7 +40,7 @@ - + @@ -1439,7 +1439,7 @@

Key Points - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/06-type-hinting.html b/06-type-hinting.html index 0c59466..778b6d0 100644 --- a/06-type-hinting.html +++ b/06-type-hinting.html @@ -40,7 +40,7 @@ - + @@ -884,7 +884,7 @@

Key Points - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/07-collaboration.html b/07-collaboration.html index 005866b..b5ebbcc 100644 --- a/07-collaboration.html +++ b/07-collaboration.html @@ -40,7 +40,7 @@ - + @@ -1141,7 +1141,7 @@

Key Points - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/08-testing.html b/08-testing.html index c114d58..5e4c68a 100644 --- a/08-testing.html +++ b/08-testing.html @@ -40,7 +40,7 @@ - + @@ -1875,7 +1875,7 @@

Key Points - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/09-CI.html b/09-CI.html index 06b162e..08ef833 100644 --- a/09-CI.html +++ b/09-CI.html @@ -40,7 +40,7 @@ - + @@ -529,7 +529,6 @@

Continuous Integration using GitHub Actionsdownload the pre-made workshop repository as a zip file. If downloading as a zip file, you will need to initialize git in the repository and make an initial commit in order to use git.

-

Note - For this lesson, you must be able to push to GitHub. If you are using the pre-made repository, you will need to create an empty repository on GitHub, then change the remote URL to your own repository.

@@ -543,7 +542,7 @@

Continuous Integration using GitHub Actions +

From Wikipedia, continuous integration (CI) is the practice of merging all developers’ working copies of code to a shared mainline, several times a day. In other words, CI refers to the coupling of version control and unit testing in an automated way. @@ -555,7 +554,8 @@

Continuous Integration using GitHub ActionsCircleCI, Azure Pipelines, or Travis-CI.

Using any of these services is essentially getting access to empty remote computers that we can configure as we wish. To test our projects using GitHub Actions, we will have to set up the correct environment and tell our CI service what to do.

-

Setting up GitHub Actions

+
+

Setting up GitHub Actions#

All of GitHub Actions’ settings are stored in the file .github/workflows/CI.yaml. Note the leading period on the .github folder, which makes this a hidden folder in Linux and Mac OS. The .github file stores information that is relevant to GitHub in general. @@ -782,7 +782,9 @@

Setting up GitHub Actions

-

Getting our CI to work

+
+
+

Getting our CI to work#

Unfortunately, our CI runs failed, which can be seen from the red cross that appears after the last commit message on your main GitHub repository page. To know more about why this was the case, we have to read the GitHub Actions log files. Click on the red cross then click the Details link from one of the failing entries that marked with a red cross. @@ -882,14 +884,17 @@

Getting our CI to work

-

Code Coverage - Part II

+
+
+

Code Coverage - Part II#

In the previous episode, we introduced the concept of code coverage as a measure of how much of our code is run by our unit tests. Projects should aim for a high coverage percentage, but not obsess over the number. Remember that even if your project has 100% coverage, it does not mean it is actually bug-free.

When we run pytest, we can get a summary of our coverage with the --cov=molecool option. While this summary is helpful, it would be much more useful to know which lines are covered by our tests. In the following section, we will explore two methods that allow us to do just that.

-

Assessing code coverage locally

+
+

Assessing code coverage locally#

Besides coverage summaries, the pytest-cov module can also produce details reports. Run the following command at the root of your project to generate a report in HTML format:

@@ -911,7 +916,9 @@

Assessing code coverage The colors indicate which lines are covered (in green) and which are not. We can see that in our calculate_angle function, the return value in radians is never checked by our tests. Let’s go ahead and fix that by writing a new test.

-

Exercise - Increasing Code Coverage

+
+
+

Exercise - Increasing Code Coverage#

Exercise

Write a new test in tests/test_measure.py to check that calculate_angle returns the @@ -934,7 +941,9 @@

Exercise - Increasing

If you refresh the coverage page on your browser (or re-open it if you closed it before), you will see that measure.py now has 100% coverage.

-

Adding code coverage to your CI workflow

+
+
+

Adding code coverage to your CI workflow#

Besides running tests for you, GitHub can interface with other services to help you get reports on code coverage. In this last section, we will introduce Codecov, one of many services that was created to help developers assess which areas of their projects lack sufficient test coverage. Codecov is free for open-source projects and integrates very nicely with GitHub.

@@ -952,7 +961,10 @@

Adding code cov

Red areas represent code that is poorly covered by our tests. On the right, you see the latest commits and can click on each one of them to see how they changed the overall coverage of the project. The bottom of the page shows a simple file-browser-like interface, much like the HTML page we obtained before.

-

Modifying the Workflow - Adding an Action

+
+
+
+

Modifying the Workflow - Adding an Action#

A great feature of GitHub Actions is that they are modular. Anyone can make an action and it can be plugged into someone else’s workflow if it is available on the GitHub Marketplace. This means that if you ever need to do something which is something that may be commonly done, you should check the GitHub Marketplace to see if anyone has made this action before.

@@ -963,7 +975,9 @@

Modifying the Wo

Exercise - Adding an Action to our Workflow

Implement this ASCII Art Action as another job in your workflow. Make it print your package name. Note that this Action will only run on Linux systems. +This means you will want to change the runs-on keyword to an appropriate operating system. This is not in the documentation, but you will see a failure of your job if you try to run on another operating system.

+

See if you can use some of GitHub’s built-in variables to print the package name or the username of the person who opened the pull request.

- +

Key Points#

@@ -1079,6 +1093,15 @@

Key Points

@@ -1147,7 +1170,7 @@

Key Points - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/10-distribution.html b/10-distribution.html index ce40fb4..3678fef 100644 --- a/10-distribution.html +++ b/10-distribution.html @@ -40,7 +40,7 @@ - + @@ -914,7 +914,7 @@

Exercises - Versioning semantics - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/10-documentation.html b/10-documentation.html index 779784b..bde8380 100644 --- a/10-documentation.html +++ b/10-documentation.html @@ -40,7 +40,7 @@ - + @@ -1438,7 +1438,7 @@

Key Points - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/_sources/09-CI.md.txt b/_sources/09-CI.md.txt index febce50..5a01440 100644 --- a/_sources/09-CI.md.txt +++ b/_sources/09-CI.md.txt @@ -36,8 +36,6 @@ git switch -c main You can also [download the pre-made workshop repository as a zip file](https://github.com/MolSSI-Education/molecool/archive/refs/tags/git-start.zip). If downloading as a zip file, you will need to initialize `git` in the repository and make an initial commit in order to use git. -::: - **Note** - For this lesson, you must be able to push to GitHub. If you are using the pre-made repository, you will need to create an *empty* repository on GitHub, then change the remote URL to your own repository. @@ -528,8 +526,11 @@ Searching the GitHub Marketplace, you might find [this action](https://github.co Implement this [ASCII Art Action](https://github.com/marketplace/actions/ascii-art-action) as **another job** in your workflow. Make it print your package name. Note that this Action will only run on Linux systems. +This means you will want to change the `runs-on` keyword to an appropriate operating system. This is not in the documentation, but you will see a failure of your job if you try to run on another operating system. +See if you can use some of [GitHub's built-in variables](https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables) to print the package name or the username of the person who opened the pull request. + `````{admonition} Solution :class: solution dropdown diff --git a/_static/basic.css b/_static/basic.css index e760386..2af6139 100644 --- a/_static/basic.css +++ b/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/_static/doctools.js b/_static/doctools.js index d06a71d..4d67807 100644 --- a/_static/doctools.js +++ b/_static/doctools.js @@ -4,7 +4,7 @@ * * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/_static/language_data.js b/_static/language_data.js index 250f566..367b8ed 100644 --- a/_static/language_data.js +++ b/_static/language_data.js @@ -5,7 +5,7 @@ * This script contains the language-specific data used by searchtools.js, * namely the list of stopwords, stemmer, scorer and splitter. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -13,7 +13,7 @@ var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; -/* Non-minified version is copied as a separate JS file, is available */ +/* Non-minified version is copied as a separate JS file, if available */ /** * Porter Stemmer diff --git a/_static/searchtools.js b/_static/searchtools.js index 7918c3f..92da3f8 100644 --- a/_static/searchtools.js +++ b/_static/searchtools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for the full-text search. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -99,7 +99,7 @@ const _displayItem = (item, searchTerms, highlightTerms) => { .then((data) => { if (data) listItem.appendChild( - Search.makeSearchSummary(data, searchTerms) + Search.makeSearchSummary(data, searchTerms, anchor) ); // highlight search terms in the summary if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js @@ -116,8 +116,8 @@ const _finishSearch = (resultCount) => { ); else Search.status.innerText = _( - `Search finished, found ${resultCount} page(s) matching the search query.` - ); + "Search finished, found ${resultCount} page(s) matching the search query." + ).replace('${resultCount}', resultCount); }; const _displayNextItem = ( results, @@ -137,6 +137,22 @@ const _displayNextItem = ( // search finished, update title and status message else _finishSearch(resultCount); }; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; +}; /** * Default splitQuery function. Can be overridden in ``sphinx.search`` with a @@ -160,13 +176,26 @@ const Search = { _queued_query: null, _pulse_status: -1, - htmlToText: (htmlString) => { + htmlToText: (htmlString, anchor) => { const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + for (const removalQuery of [".headerlinks", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent !== undefined) return docContent.textContent; + if (docContent) return docContent.textContent; + console.warn( - "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." ); return ""; }, @@ -239,16 +268,7 @@ const Search = { else Search.deferQuery(query); }, - /** - * execute search (requires search index to be loaded) - */ - query: (query) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - + _parseQuery: (query) => { // stem the search terms and add them to the correct list const stemmer = new Stemmer(); const searchTerms = new Set(); @@ -284,16 +304,32 @@ const Search = { // console.info("required: ", [...searchTerms]); // console.info("excluded: ", [...excludedTerms]); - // array of [docname, title, anchor, descr, score, filename] - let results = []; + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename]. + const normalResults = []; + const nonMainIndexResults = []; + _removeChildren(document.getElementById("search-progress")); - const queryLower = query.toLowerCase(); + const queryLower = query.toLowerCase().trim(); for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { for (const [file, id] of foundTitles) { let score = Math.round(100 * queryLower.length / title.length) - results.push([ + normalResults.push([ docNames[file], titles[file] !== title ? `${titles[file]} > ${title}` : title, id !== null ? "#" + id : "", @@ -308,46 +344,47 @@ const Search = { // search for explicit entries in index directives for (const [entry, foundEntries] of Object.entries(indexEntries)) { if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id] of foundEntries) { - let score = Math.round(100 * queryLower.length / entry.length) - results.push([ + for (const [file, id, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ docNames[file], titles[file], id ? "#" + id : "", null, score, filenames[file], - ]); + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } } } } // lookup as object objectTerms.forEach((term) => - results.push(...Search.performObjectSearch(term, objectTerms)) + normalResults.push(...Search.performObjectSearch(term, objectTerms)) ); // lookup as search terms in fulltext - results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); // let the scorer override scores with a custom scoring function - if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); - - // now sort the results by score (in opposite order of appearance, since the - // display function below uses pop() to retrieve items) and then - // alphabetically - results.sort((a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; - }); + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } + + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; // remove duplicate search results // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept @@ -361,7 +398,12 @@ const Search = { return acc; }, []); - results = results.reverse(); + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); // for debugging //Search.lastresults = results.slice(); // a copy @@ -466,14 +508,18 @@ const Search = { // add support for partial matches if (word.length > 2) { const escapedWord = _escapeRegExp(word); - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord) && !terms[word]) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord) && !titleTerms[word]) - arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); - }); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); + }); + } } // no match but word was a required one @@ -496,9 +542,8 @@ const Search = { // create the mapping files.forEach((file) => { - if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) - fileMap.get(file).push(word); - else fileMap.set(file, [word]); + if (!fileMap.has(file)) fileMap.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); }); }); @@ -549,8 +594,8 @@ const Search = { * search summary for a given text. keywords is a list * of stemmed words. */ - makeSearchSummary: (htmlText, keywords) => { - const text = Search.htmlToText(htmlText); + makeSearchSummary: (htmlText, keywords, anchor) => { + const text = Search.htmlToText(htmlText, anchor); if (text === "") return null; const textLower = text.toLowerCase(); diff --git a/genindex.html b/genindex.html index 7f0fd16..2c0d432 100644 --- a/genindex.html +++ b/genindex.html @@ -39,7 +39,7 @@ - + @@ -522,7 +522,7 @@

Index

- Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/index.html b/index.html index dc7c024..52679b1 100644 --- a/index.html +++ b/index.html @@ -40,7 +40,7 @@ - + @@ -801,7 +801,7 @@

Continuous Integration, Testing, Distribution - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

diff --git a/search.html b/search.html index e53de04..634f88d 100644 --- a/search.html +++ b/search.html @@ -38,7 +38,7 @@ - + @@ -546,7 +546,7 @@

Search

- Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.

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

Conclusion - Created using Sphinx 7.2.6.
+ Created using Sphinx 7.3.6.