diff --git a/.codecov.yml b/.codecov.yml index a3ed7f4..03d2268 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -11,4 +11,4 @@ comment: branches: null behavior: default flags: null - paths: null \ No newline at end of file + paths: null diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 70a2c59..b45f906 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,7 +1,7 @@ # How to contribute We welcome contributions from external contributors, and this document -describes how to merge code changes into this ffsettings. +describes how to merge code changes into this ffsettings. ## Getting Started diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index c772b96..26da5a2 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -9,4 +9,4 @@ Notable points that this PR has either accomplished or will accomplish. - [ ] Question1 ## Status -- [ ] Ready to go \ No newline at end of file +- [ ] Ready to go diff --git a/.github/workflows/clean_cache.yaml b/.github/workflows/clean_cache.yaml index c3db0a6..e9a6c50 100644 --- a/.github/workflows/clean_cache.yaml +++ b/.github/workflows/clean_cache.yaml @@ -11,18 +11,18 @@ jobs: steps: - name: Check out code uses: actions/checkout@v3 - + - name: Cleanup run: | gh extension install actions/gh-actions-cache - + REPO=${{ github.repository }} BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge" echo "Fetching list of cache key" cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH | cut -f 1 ) - ## Setting this to not fail the workflow while deleting cache keys. + ## Setting this to not fail the workflow while deleting cache keys. set +e echo "Deleting caches..." for cacheKey in $cacheKeysForPR diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 06037bb..29d5c53 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ ci: autoupdate_schedule: "quarterly" repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v5.0.0 hooks: - id: check-yaml - id: debug-statements @@ -12,23 +12,23 @@ repos: - id: check-executables-have-shebangs - id: check-json - repo: https://github.com/psf/black - rev: 22.12.0 + rev: 24.8.0 hooks: - id: black files: ^ffsettings - repo: https://github.com/PyCQA/isort - rev: 5.12.0 + rev: 5.13.2 hooks: - id: isort files: ^ffsettings - repo: https://github.com/PyCQA/flake8 - rev: 6.0.0 + rev: 7.1.1 hooks: - id: flake8 files: ^ffsettings additional_dependencies: [Flake8-pyproject] - repo: https://github.com/asottile/pyupgrade - rev: 'v3.3.1' + rev: 'v3.17.0' hooks: - id: pyupgrade args: diff --git a/README.md b/README.md index 64bf4e8..70c9460 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,6 @@ Copyright (c) 2023, Chodera Lab #### Acknowledgements - -Project based on the + +Project based on the [Computational Molecular Science Python Cookiecutter](https://github.com/molssi/cookiecutter-cms) version 2.0. diff --git a/devtools/README.md b/devtools/README.md index 296ac03..e76af06 100644 --- a/devtools/README.md +++ b/devtools/README.md @@ -1,6 +1,6 @@ # Development, testing, and deployment tools -This directory contains a collection of tools for running Continuous Integration (CI) tests, +This directory contains a collection of tools for running Continuous Integration (CI) tests, conda installation, and other development tools not directly related to the coding process. @@ -8,7 +8,7 @@ conda installation, and other development tools not directly related to the codi ### Continuous Integration -You should test your code, but do not feel compelled to use these specific programs. You also may not need Unix and +You should test your code, but do not feel compelled to use these specific programs. You also may not need Unix and Windows testing if you only plan to deploy on specific platforms. These are just to help you get started. ### Conda Environment: @@ -17,7 +17,7 @@ This directory contains the files to setup the Conda environment for testing pur * `conda-envs`: directory containing the YAML file(s) which fully describe Conda Environments, their dependencies, and those dependency provenance's * `test_env.yaml`: Simple test environment file with base dependencies. Channels are not specified here and therefore respect global Conda configuration - + ### Additional Scripts: This directory contains OS agnostic helper scripts which don't fall in any of the previous categories @@ -40,17 +40,17 @@ This directory contains OS agnostic helper scripts which don't fall in any of th - [ ] Make sure there is an/are issue(s) opened for your specific update - [ ] Create the PR, referencing the issue - [ ] Debug the PR as needed until tests pass -- [ ] Tag the final, debugged version +- [ ] Tag the final, debugged version * `git tag -a X.Y.Z [latest pushed commit] && git push --follow-tags` - [ ] Get the PR merged in ## Versioneer Auto-version -[Versioneer](https://github.com/warner/python-versioneer) will automatically infer what version -is installed by looking at the `git` tags and how many commits ahead this version is. The format follows +[Versioneer](https://github.com/warner/python-versioneer) will automatically infer what version +is installed by looking at the `git` tags and how many commits ahead this version is. The format follows [PEP 440](https://www.python.org/dev/peps/pep-0440/) and has the regular expression of: ```regexp \d+.\d+.\d+(?\+\d+-[a-z0-9]+) ``` -If the version of this commit is the same as a `git` tag, the installed version is the same as the tag, -e.g. `ffsettings-0.1.2`, otherwise it will be appended with `+X` where `X` is the number of commits +If the version of this commit is the same as a `git` tag, the installed version is the same as the tag, +e.g. `ffsettings-0.1.2`, otherwise it will be appended with `+X` where `X` is the number of commits ahead from the last tag, and then `-YYYYYY` where the `Y`'s are replaced with the `git` commit hash. diff --git a/devtools/scripts/create_conda_env.py b/devtools/scripts/create_conda_env.py index 9ece84a..6a87c66 100644 --- a/devtools/scripts/create_conda_env.py +++ b/devtools/scripts/create_conda_env.py @@ -28,7 +28,7 @@ except (KeyError, ImportError, IndexError): raise ImportError("No YAML parser could be found in this or the conda environment. " "Could not find PyYAML or Ruamel YAML in the current environment, " - "AND could not find Ruamel YAML in the base conda environment through CONDA_EXE path. " + "AND could not find Ruamel YAML in the base conda environment through CONDA_EXE path. " "Environment not created!") loader = yaml.YAML(typ="safe").load # typ="safe" avoids odd typing on output @@ -57,10 +57,10 @@ def temp_cd(): args = parser.parse_args() # Open the base file -with open(args.conda_file, "r") as handle: +with open(args.conda_file) as handle: yaml_script = loader(handle.read()) -python_replacement_string = "python {}*".format(args.python) +python_replacement_string = f"python {args.python}*" try: for dep_index, dep_value in enumerate(yaml_script['dependencies']): @@ -82,14 +82,14 @@ def temp_cd(): if conda_path is None: raise RuntimeError("Could not find a conda binary in CONDA_EXE variable or in executable search path") -print("CONDA ENV NAME {}".format(args.name)) -print("PYTHON VERSION {}".format(args.python)) -print("CONDA FILE NAME {}".format(args.conda_file)) -print("CONDA PATH {}".format(conda_path)) +print(f"CONDA ENV NAME {args.name}") +print(f"PYTHON VERSION {args.python}") +print(f"CONDA FILE NAME {args.conda_file}") +print(f"CONDA PATH {conda_path}") # Write to a temp directory which will always be cleaned up with temp_cd(): temp_file_name = "temp_script.yaml" with open(temp_file_name, 'w') as f: f.write(yaml.dump(yaml_script)) - sp.call("{} env create -n {} -f {}".format(conda_path, args.name, temp_file_name), shell=True) + sp.call(f"{conda_path} env create -n {args.name} -f {temp_file_name}", shell=True) diff --git a/docs/Makefile b/docs/Makefile index 1b18eef..7875029 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -17,4 +17,4 @@ help: # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/README.md b/docs/README.md index 7b2ec43..f52f2c8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,7 +4,7 @@ The docs for this project are built with [Sphinx](http://www.sphinx-doc.org/en/m To compile the docs, first ensure that Sphinx and the ReadTheDocs theme are installed. ```bash -conda install sphinx sphinx_rtd_theme +conda install sphinx sphinx_rtd_theme ``` Once installed, you can use the `Makefile` in this directory to compile static HTML pages by @@ -12,7 +12,7 @@ Once installed, you can use the `Makefile` in this directory to compile static H make html ``` -The compiled docs will be in the `_build` directory and can be viewed by opening `index.html` (which may itself +The compiled docs will be in the `_build` directory and can be viewed by opening `index.html` (which may itself be inside a directory called `html/` depending on what version of Sphinx is installed). A configuration file for [Read The Docs](https://readthedocs.org/) (readthedocs.yaml) is included in the top level of the repository. To use Read the Docs to host your documentation, go to https://readthedocs.org/ and connect this repository. You may need to change your default branch to `main` under Advanced Settings for the project. diff --git a/docs/_static/README.md b/docs/_static/README.md index 2f0cf84..122b610 100644 --- a/docs/_static/README.md +++ b/docs/_static/README.md @@ -1,11 +1,11 @@ # Static Doc Directory Add any paths that contain custom static files (such as style sheets) here, -relative to the `conf.py` file's directory. +relative to the `conf.py` file's directory. They are copied after the builtin static files, so a file named "default.css" will overwrite the builtin "default.css". -The path to this folder is set in the Sphinx `conf.py` file in the line: +The path to this folder is set in the Sphinx `conf.py` file in the line: ```python templates_path = ['_static'] ``` diff --git a/docs/_templates/README.md b/docs/_templates/README.md index 3f4f804..485f82a 100644 --- a/docs/_templates/README.md +++ b/docs/_templates/README.md @@ -1,11 +1,11 @@ # Templates Doc Directory -Add any paths that contain templates here, relative to +Add any paths that contain templates here, relative to the `conf.py` file's directory. They are copied after the builtin template files, so a file named "page.html" will overwrite the builtin "page.html". -The path to this folder is set in the Sphinx `conf.py` file in the line: +The path to this folder is set in the Sphinx `conf.py` file in the line: ```python html_static_path = ['_templates'] ``` diff --git a/docs/conf.py b/docs/conf.py index f2074f3..acccf46 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # # Configuration file for the Sphinx documentation builder. # diff --git a/docs/getting_started.rst b/docs/getting_started.rst index 8a1d91d..e4df481 100644 --- a/docs/getting_started.rst +++ b/docs/getting_started.rst @@ -1,4 +1,4 @@ Getting Started =============== -This page details how to get started with FFSettings. +This page details how to get started with FFSettings. diff --git a/ffsettings/data/README.md b/ffsettings/data/README.md index 5301dae..32c125a 100644 --- a/ffsettings/data/README.md +++ b/ffsettings/data/README.md @@ -1,7 +1,7 @@ # Sample Package Data This directory contains sample additional data you may want to include with your package. -This is a place where non-code related additional information (such as data files, molecular structures, etc.) can +This is a place where non-code related additional information (such as data files, molecular structures, etc.) can go that you want to ship alongside your code. Please note that it is not recommended to place large files in your git directory. If your project requires files larger diff --git a/ffsettings/data/look_and_say.dat b/ffsettings/data/look_and_say.dat index 97df452..07fcde9 100644 --- a/ffsettings/data/look_and_say.dat +++ b/ffsettings/data/look_and_say.dat @@ -12,4 +12,4 @@ 3113112221232112111312211312113211 1321132132111213122112311311222113111221131221 11131221131211131231121113112221121321132132211331222113112211 -311311222113111231131112132112311321322112111312211312111322212311322113212221 \ No newline at end of file +311311222113111231131112132112311321322112111312211312111322212311322113212221 diff --git a/readthedocs.yml b/readthedocs.yml index 69d6db5..95b50ae 100644 --- a/readthedocs.yml +++ b/readthedocs.yml @@ -12,4 +12,4 @@ python: path: . conda: - environment: docs/requirements.yaml \ No newline at end of file + environment: docs/requirements.yaml