From f5e49d61450c2bd75f1810df57003ac7155f7e0e Mon Sep 17 00:00:00 2001 From: Matthew Bourque Date: Thu, 27 Jun 2024 11:08:01 -0600 Subject: [PATCH 1/7] Moved licencing guideline to sphinx source tree; added sphinx theme for RTD --- docs/source/_static/licenses.png | Bin 0 -> 46634 bytes docs/source/conf.py | 13 +- docs/source/index.rst | 21 +-- docs/source/licensing.md | 90 +++++++++++ guidelines/licensing.md | 115 -------------- poetry.lock | 254 ++++++++++++++++++++++++++----- pyproject.toml | 2 + 7 files changed, 320 insertions(+), 175 deletions(-) create mode 100644 docs/source/_static/licenses.png create mode 100644 docs/source/licensing.md delete mode 100644 guidelines/licensing.md diff --git a/docs/source/_static/licenses.png b/docs/source/_static/licenses.png new file mode 100644 index 0000000000000000000000000000000000000000..04044742d68ed95e4623ea3e0080ea4c3b1961c0 GIT binary patch literal 46634 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 +* Apache-2: + + +*NOTE: There is a NASA Open Source License: ; However, it DOES NOT satisfy +the Free Software Foundation’s definition of open source.* + +### Data +A creative commons license can be used to restrict who can use data and how they use it. + +Creative Commons: + +Data rights qualifiers +* BY – Credit must be given to you, the creator. +* NC – Only noncommercial use of your work is permitted. +* ND – No derivatives or adaptations of your work are permitted. +* SA – Adaptations must be shared under the same terms. + + +You can mix and match the qualifiers on the data rights depending on what limitations you want to enact on the data +you’re distributing/producing. + +* CC0 1.0 - dedicate your work to the public domain, no copyright +* CC BY 4.0 - Anyone can use the data/work, even for commercial purposes, but credit must be given to you +* CC BY-NC 4.0 – Anyone can use the data/work, but NOT for commercial purposes (i.e. others can’t use your work to sell + their software or product) +* CC BY-NC-ND 4.0 – Anyone can use the data/work, but NOT for commercial purposes and NO derivate works (adaptations). +* CC BY-NC-SA 4.0 – Anyone can use the data/work, but NOT for commercial purposes and the work must be shared alike + (SA), meaning it must have the same terms of use. + + +## How to apply this guideline + +### Software +1. CU Venture Partners (CU lawyers) recommend using BSD-3 license. +2. Make sure that you put the license file in the root directory and call it `LICENSE` or `LICENSE.md` so that the code + repository (GitHub, GitLab, Bitbucket) can immediately identify what license your code is released under and let + contributors know. +3. Fill out the copyright, noting that it is NOT LASP, but *Regents of CU. Copyright (c) YYYY, Regents of the University + of Colorado* + + +## Useful Links + +* [Public license selector](https://ufal.github.io/public-license-selector/) +* [Choose a license](https://choosealicense.com/) +* [Open Source Initiative (OSI)](https://opensource.org/licenses) +* [The Turing Way overview of licensing](https://the-turing-way.netlify.app/reproducible-research/licensing) +* [Free and Open Source License Comparison chart](https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses) \ No newline at end of file diff --git a/guidelines/licensing.md b/guidelines/licensing.md deleted file mode 100644 index bfd0d05..0000000 --- a/guidelines/licensing.md +++ /dev/null @@ -1,115 +0,0 @@ -# Licensing - -Licenses provide legally binding guidelines for the use and distribution of software and data. Licenses can be proprietary -or free and open source. - -## Purpose for this guideline -In Data Systems, many of our code repositories are open source. An open source license gives others explicit permission to -use any part of the code legally. This guide provides options for choosing the right license for your project. - - -## Options for this guideline - -### Software - -To avoid copyright concerns, it is recommended that: -1. Any software created by LASP is properly licensed to provide sufficient guidance on their usage -2. Any software used by LASP are licensed and used accordingly to protect against potential legal action from the owner of that intellectual property - - -The following table is taken from The Turing Way and shows the -different categories of licenses available and the types of licenses that support their respective requirements. - -The following table is taken from The Turing Way and shows the -different categories of licenses available and the types of licenses that support their respective requirements. - - - - - - - - - - - - - - - - - - - - - - - - -
FreeProprietary
CopyleftPermissive
StrongWeak
GPL1 CDDL2LGPL3 MPL4BSD5 MIT6 ApacheResearch Only: No copying, No modification
- - -1GPL: GNU General Public License, 2CDDL: Common Development and Distribution License, 3LGPL: GNU Lesser General Public License, 4MPL: Mozilla Public License, 5BSD: Berkeley Software Distribution, 6MIT: Massachusetts Institute of Technology - - - -Free Licenses are classified as Copyleft or Permissive. Copyleft licenses (GPL-style) say that all derivative works must preserve the same rights as the original work. So, if it is an open-source program currently, you can NOT use that code in your closed-source program. Because of this, many people don’t consider this as “open” as the more permissive licenses that would allow someone else to use their code in a commercial closed-source product. - - -In general, choose a permissive license for your project in Data Systems. - -Some fairly common options: - -* [BSD-3](https://opensource.org/license/BSD-3-Clause) - Commonly used in the Python scientific community - -* [MIT](https://opensource.org/license/MIT) - Short and sweet, very similar to BSD-3 - -* [Apache-2](https://opensource.org/license/apache-2-0) - Commonly used in the Java/Scala communities - - -Some examples from groups at LASP: - -* MIT: https://github.com/SWxTREC/enlilviz - -* Apache-2: https://github.com/latis-data/latis3/ - - -NOTE: There is a NASA Open Source License: https://opensource.gsfc.nasa.gov/nosa.php -However, it DOES NOT satisfy the Free Software Foundation’s definition of open source. - -### Data -A creative commons license can be used to restrict who can use data and how they use it. - -Creative Commons: https://creativecommons.org/choose/ - -Data rights qualifiers -* BY – Credit must be given to you, the creator. -* NC – Only noncommercial use of your work is permitted. -* ND – No derivatives or adaptations of your work are permitted. -* SA – Adaptations must be shared under the same terms. - - -You can mix and match the qualifiers on the data rights depending on what limitations you want to enact on the data you’re distributing/producing. - -* CC0 1.0 - dedicate your work to the public domain, no copyright -* CC BY 4.0 - Anyone can use the data/work, even for commercial purposes, but credit must be given to you -* CC BY-NC 4.0 – Anyone can use the data/work, but NOT for commercial purposes (i.e. others can’t use your work to sell their software or product) -* CC BY-NC-ND 4.0 – Anyone can use the data/work, but NOT for commercial purposes and NO derivate works (adaptations). -* CC BY-NC-SA 4.0 – Anyone can use the data/work, but NOT for commercial purposes and the work must be shared alike (SA), meaning it must have the same terms of use. - - -## How to apply this guideline - -### Software -1. CU Venture Partners (CU lawyers) recommend using BSD-3 license. -2. Make sure that you put the license file in the root directory and call it `LICENSE` or `LICENSE.md` so that the code repository (GitHub, GitLab, Bitbucket) can immediately identify what license your code is released under and let contributors know. -3. Fill out the copyright, noting that it is NOT LASP, but Regents of CU. Copyright (c) 2020, Regents of the University of Colorado - - -## Useful Links - -* [Public license selector](https://ufal.github.io/public-license-selector/) -* [Choose a license](https://choosealicense.com/) -* [Open Source Initiative (OSI)](https://opensource.org/licenses) -* [The Turing Way overview of licensing](https://the-turing-way.netlify.app/reproducible-research/licensing) -* [Free and Open Source License Comparison chart](https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses) \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index 3658024..e7b9dff 100644 --- a/poetry.lock +++ b/poetry.lock @@ -13,13 +13,13 @@ files = [ [[package]] name = "babel" -version = "2.14.0" +version = "2.15.0" description = "Internationalization utilities" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, - {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, + {file = "Babel-2.15.0-py3-none-any.whl", hash = "sha256:08706bdad8d0a3413266ab61bd6c34d0c28d6e1e7badf40a2cebe67644e2e1fb"}, + {file = "babel-2.15.0.tar.gz", hash = "sha256:8daf0e265d05768bc6c7a314cf1321e9a123afc328cc635c18622a2f30a04413"}, ] [package.extras] @@ -27,13 +27,13 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] [[package]] name = "certifi" -version = "2024.2.2" +version = "2024.6.2" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, - {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, + {file = "certifi-2024.6.2-py3-none-any.whl", hash = "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56"}, + {file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"}, ] [[package]] @@ -148,13 +148,13 @@ files = [ [[package]] name = "docutils" -version = "0.21.2" +version = "0.20.1" description = "Docutils -- Python Documentation Utilities" optional = false -python-versions = ">=3.9" +python-versions = ">=3.7" files = [ - {file = "docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"}, - {file = "docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f"}, + {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, + {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, ] [[package]] @@ -181,32 +181,32 @@ files = [ [[package]] name = "importlib-metadata" -version = "7.1.0" +version = "8.0.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-7.1.0-py3-none-any.whl", hash = "sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570"}, - {file = "importlib_metadata-7.1.0.tar.gz", hash = "sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2"}, + {file = "importlib_metadata-8.0.0-py3-none-any.whl", hash = "sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f"}, + {file = "importlib_metadata-8.0.0.tar.gz", hash = "sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812"}, ] [package.dependencies] zipp = ">=0.5" [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] [[package]] name = "jinja2" -version = "3.1.3" +version = "3.1.4" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, - {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] @@ -215,6 +215,30 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[package]] +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +optional = false +python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + [[package]] name = "markupsafe" version = "2.1.5" @@ -284,41 +308,156 @@ files = [ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] +[[package]] +name = "mdit-py-plugins" +version = "0.4.1" +description = "Collection of plugins for markdown-it-py" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mdit_py_plugins-0.4.1-py3-none-any.whl", hash = "sha256:1020dfe4e6bfc2c79fb49ae4e3f5b297f5ccd20f010187acc52af2921e27dc6a"}, + {file = "mdit_py_plugins-0.4.1.tar.gz", hash = "sha256:834b8ac23d1cd60cec703646ffd22ae97b7955a6d596eb1d304be1e251ae499c"}, +] + +[package.dependencies] +markdown-it-py = ">=1.0.0,<4.0.0" + +[package.extras] +code-style = ["pre-commit"] +rtd = ["myst-parser", "sphinx-book-theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "myst-parser" +version = "3.0.1" +description = "An extended [CommonMark](https://spec.commonmark.org/) compliant parser," +optional = false +python-versions = ">=3.8" +files = [ + {file = "myst_parser-3.0.1-py3-none-any.whl", hash = "sha256:6457aaa33a5d474aca678b8ead9b3dc298e89c68e67012e73146ea6fd54babf1"}, + {file = "myst_parser-3.0.1.tar.gz", hash = "sha256:88f0cb406cb363b077d176b51c476f62d60604d68a8dcdf4832e080441301a87"}, +] + +[package.dependencies] +docutils = ">=0.18,<0.22" +jinja2 = "*" +markdown-it-py = ">=3.0,<4.0" +mdit-py-plugins = ">=0.4,<1.0" +pyyaml = "*" +sphinx = ">=6,<8" + +[package.extras] +code-style = ["pre-commit (>=3.0,<4.0)"] +linkify = ["linkify-it-py (>=2.0,<3.0)"] +rtd = ["ipython", "sphinx (>=7)", "sphinx-autodoc2 (>=0.5.0,<0.6.0)", "sphinx-book-theme (>=1.1,<2.0)", "sphinx-copybutton", "sphinx-design", "sphinx-pyscript", "sphinx-tippy (>=0.4.3)", "sphinx-togglebutton", "sphinxext-opengraph (>=0.9.0,<0.10.0)", "sphinxext-rediraffe (>=0.2.7,<0.3.0)"] +testing = ["beautifulsoup4", "coverage[toml]", "defusedxml", "pytest (>=8,<9)", "pytest-cov", "pytest-param-files (>=0.6.0,<0.7.0)", "pytest-regressions", "sphinx-pytest"] +testing-docutils = ["pygments", "pytest (>=8,<9)", "pytest-param-files (>=0.6.0,<0.7.0)"] + [[package]] name = "packaging" -version = "24.0" +version = "24.1" description = "Core utilities for Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, - {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] [[package]] name = "pygments" -version = "2.17.2" +version = "2.18.0" description = "Pygments is a syntax highlighting package written in Python." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, - {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, ] [package.extras] -plugins = ["importlib-metadata"] windows-terminal = ["colorama (>=0.4.6)"] +[[package]] +name = "pyyaml" +version = "6.0.1" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] + [[package]] name = "requests" -version = "2.31.0" +version = "2.32.3" description = "Python HTTP for Humans." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] @@ -378,6 +517,25 @@ docs = ["sphinxcontrib-websupport"] lint = ["flake8 (>=3.5.0)", "importlib_metadata", "mypy (==1.9.0)", "pytest (>=6.0)", "ruff (==0.3.7)", "sphinx-lint", "tomli", "types-docutils", "types-requests"] test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=6.0)", "setuptools (>=67.0)"] +[[package]] +name = "sphinx-rtd-theme" +version = "2.0.0" +description = "Read the Docs theme for Sphinx" +optional = false +python-versions = ">=3.6" +files = [ + {file = "sphinx_rtd_theme-2.0.0-py2.py3-none-any.whl", hash = "sha256:ec93d0856dc280cf3aee9a4c9807c60e027c7f7b461b77aeffed682e68f0e586"}, + {file = "sphinx_rtd_theme-2.0.0.tar.gz", hash = "sha256:bd5d7b80622406762073a04ef8fadc5f9151261563d47027de09910ce03afe6b"}, +] + +[package.dependencies] +docutils = "<0.21" +sphinx = ">=5,<8" +sphinxcontrib-jquery = ">=4,<5" + +[package.extras] +dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"] + [[package]] name = "sphinxcontrib-applehelp" version = "1.0.8" @@ -426,6 +584,20 @@ lint = ["docutils-stubs", "flake8", "mypy"] standalone = ["Sphinx (>=5)"] test = ["html5lib", "pytest"] +[[package]] +name = "sphinxcontrib-jquery" +version = "4.1" +description = "Extension to include jQuery on newer Sphinx releases" +optional = false +python-versions = ">=2.7" +files = [ + {file = "sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"}, + {file = "sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae"}, +] + +[package.dependencies] +Sphinx = ">=1.8" + [[package]] name = "sphinxcontrib-jsmath" version = "1.0.1" @@ -485,13 +657,13 @@ files = [ [[package]] name = "urllib3" -version = "2.2.1" +version = "2.2.2" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, - {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, + {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, + {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, ] [package.extras] @@ -502,20 +674,20 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "zipp" -version = "3.18.1" +version = "3.19.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"}, - {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"}, + {file = "zipp-3.19.2-py3-none-any.whl", hash = "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c"}, + {file = "zipp-3.19.2.tar.gz", hash = "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<4" -content-hash = "46472ee837bdbbcc8c4f63b6e483706b9bfe6b879dfaecaa670b5ecb2822260e" +content-hash = "18bfef9df6a41f3d697f63513b3da2d1a682ab5a2062966b5666af5ea3a0ef57" diff --git a/pyproject.toml b/pyproject.toml index 4267567..a7e6c09 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,8 +21,10 @@ classifiers = [ ] [tool.poetry.dependencies] +myst-parser = "^3.0.1" python = ">=3.9,<4" sphinx = "^7.3.7" +sphinx-rtd-theme = "^2.0.0" [project.urls] homepage = "https://github.com/lasp/" From c01fc070ed4fb2dcd670427bf6586ea436e4285c Mon Sep 17 00:00:00 2001 From: Matthew Bourque Date: Thu, 27 Jun 2024 11:24:39 -0600 Subject: [PATCH 2/7] Small change to see if GitHub RTD build is working --- docs/source/index.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/source/index.rst b/docs/source/index.rst index b3cefdb..0203a47 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,6 +1,8 @@ LASP Developer's Guide ====================== +Welcome to the LASP Developer's Guide! + .. toctree:: :maxdepth: 1 From 178db85919edf25321d47003845cc94c88fd0cfe Mon Sep 17 00:00:00 2001 From: Matthew Bourque Date: Thu, 27 Jun 2024 11:30:54 -0600 Subject: [PATCH 3/7] Fixed myst_parser dependency --- poetry.lock | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/poetry.lock b/poetry.lock index e7b9dff..447c4b5 100644 --- a/poetry.lock +++ b/poetry.lock @@ -690,4 +690,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = ">=3.9,<4" -content-hash = "18bfef9df6a41f3d697f63513b3da2d1a682ab5a2062966b5666af5ea3a0ef57" +content-hash = "86e74fdf9007f5a7724205eb3e491a2b8378b8e5307a5533d81c91a7d35cb6c9" diff --git a/pyproject.toml b/pyproject.toml index a7e6c09..935d517 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ classifiers = [ ] [tool.poetry.dependencies] -myst-parser = "^3.0.1" +myst_parser = "^3.0.1" python = ">=3.9,<4" sphinx = "^7.3.7" sphinx-rtd-theme = "^2.0.0" From 79140277bb105d3597307633fadfd689dfd11b6e Mon Sep 17 00:00:00 2001 From: Matthew Bourque Date: Thu, 27 Jun 2024 11:33:01 -0600 Subject: [PATCH 4/7] Fixed myst_parser dependency --- docs/source/conf.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 341e7ab..34f0b5b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -15,7 +15,7 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration extensions = [ - 'myst_parser', + 'myst-parser', 'sphinx.ext.autodoc', 'sphinx.ext.napoleon', 'sphinx.ext.viewcode', diff --git a/pyproject.toml b/pyproject.toml index 935d517..a7e6c09 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ classifiers = [ ] [tool.poetry.dependencies] -myst_parser = "^3.0.1" +myst-parser = "^3.0.1" python = ">=3.9,<4" sphinx = "^7.3.7" sphinx-rtd-theme = "^2.0.0" From 5eb6d30f022bb964c2500fab93eda0ef3cb19630 Mon Sep 17 00:00:00 2001 From: Matthew Bourque Date: Thu, 27 Jun 2024 11:45:19 -0600 Subject: [PATCH 5/7] Fixed myst_parser dependency --- .readthedocs.yaml | 9 +++++++++ docs/source/conf.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 747cb4c..168e669 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -8,6 +8,15 @@ build: os: "ubuntu-22.04" tools: python: "3.10" + jobs: + post_create_environment: + # Install poetry + # https://python-poetry.org/docs/#installing-manually + - python -m pip install poetry + post_install: + # Install dependencies with 'docs' dependency group + # https://python-poetry.org/docs/managing-dependencies/#dependency-groups + - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with docs sphinx: configuration: docs/source/conf.py \ No newline at end of file diff --git a/docs/source/conf.py b/docs/source/conf.py index 34f0b5b..341e7ab 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -15,7 +15,7 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration extensions = [ - 'myst-parser', + 'myst_parser', 'sphinx.ext.autodoc', 'sphinx.ext.napoleon', 'sphinx.ext.viewcode', From 28610d7d57c7a2e9daf0bf148bea1b4465e49a7c Mon Sep 17 00:00:00 2001 From: Matthew Bourque Date: Thu, 27 Jun 2024 11:47:21 -0600 Subject: [PATCH 6/7] Fixed myst_parser dependency --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 168e669..d5a54c7 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -16,7 +16,7 @@ build: post_install: # Install dependencies with 'docs' dependency group # https://python-poetry.org/docs/managing-dependencies/#dependency-groups - - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with docs + - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install sphinx: configuration: docs/source/conf.py \ No newline at end of file From a7f93f223be06f636b6fe4af4ab3027271ea00ef Mon Sep 17 00:00:00 2001 From: Matthew Bourque Date: Thu, 27 Jun 2024 11:48:41 -0600 Subject: [PATCH 7/7] Fixed myst_parser dependency --- poetry.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index 447c4b5..e7b9dff 100644 --- a/poetry.lock +++ b/poetry.lock @@ -690,4 +690,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = ">=3.9,<4" -content-hash = "86e74fdf9007f5a7724205eb3e491a2b8378b8e5307a5533d81c91a7d35cb6c9" +content-hash = "18bfef9df6a41f3d697f63513b3da2d1a682ab5a2062966b5666af5ea3a0ef57"