Skip to content

Commit

Permalink
Release v1.5.0 (#47)
Browse files Browse the repository at this point in the history
* Main back to develop (#45)

* added ecp functionality

* add macos folders to gitignore

* more options for setting basis

* ecp tests and updates

* fix linting

* add raises regex match

* update flake8

* fix pre-commit and linting

* more linting

* fix fmt parameter to comply with pymatgen new convention

* Updated version and documentation for 1.3.1 release.

* Update version of isort in .pre-commit-config

This is to solve an issue with poetry config that is used in isort.

* Update pyproject.toml

Changed requirement on pymatgen version.

* Update pyproject.toml

Updated monty's dependency

* Fixed comparison in test_files.

* Fixed comparison utility function for tests.

* Linting.

* Fixed import error of plotting function from pymatgen for py3.9+.

* Updated docs html.

* Update version in pyproject.toml (#42)

* added ecp functionality

* add macos folders to gitignore

* more options for setting basis

* ecp tests and updates

* fix linting

* add raises regex match

* update flake8

* fix pre-commit and linting

* more linting

* fix fmt parameter to comply with pymatgen new convention

* Merge main back into develop (#41)

* added ecp functionality

* add macos folders to gitignore

* more options for setting basis

* ecp tests and updates

* fix linting

* add raises regex match

* update flake8

* fix pre-commit and linting

* more linting

* fix fmt parameter to comply with pymatgen new convention

* Updated version and documentation for 1.3.1 release.

* Update version of isort in .pre-commit-config

This is to solve an issue with poetry config that is used in isort.

* Update pyproject.toml

Changed requirement on pymatgen version.

* Update pyproject.toml

Updated monty's dependency

* Fixed comparison in test_files.

* Fixed comparison utility function for tests.

* Linting.

* Fixed import error of plotting function from pymatgen for py3.9+.

* Updated docs html.

---------

Co-authored-by: Will Laderer <[email protected]>
Co-authored-by: Guido Petretto <[email protected]>

* Update version in pyproject.

---------

Co-authored-by: Will Laderer <[email protected]>
Co-authored-by: Guido Petretto <[email protected]>

---------

Co-authored-by: Will Laderer <[email protected]>
Co-authored-by: Guido Petretto <[email protected]>

* Updates for TM 7.7.1 + big refactoring (#46)

* updates for supporting TM v7.6

* fix linting

* Updated version and documentation for 1.3.1 release.

* Update version of isort in .pre-commit-config

This is to solve an issue with poetry config that is used in isort.

* Update pyproject.toml

Changed requirement on pymatgen version.

* Update pyproject.toml

Updated monty's dependency

* Fixed comparison in test_files.

* Fixed comparison utility function for tests.

* Linting.

* Fixed import error of plotting function from pymatgen for py3.9+.

* Updated docs html.

* Added tests_config.yaml and TMV6 in list of tests to be performed.

* Updated docs and version.

* Fixed aoforce parsing in TM 7.7.

* Fixed reading of coord file with "natoms= ..." in first line.
Fixed test that now fails when running define with frozen cartesian
coordinates + frozen internal coordinates.

* Fixed parsing of irrep_data for TM>=7.7.

* Fixed escf parsing.

* Updated reference files for integration tests.

* Fixed is_uhf parsing method.

* Generated new reference files for unit tests.

* Updated html docs and version.

* Updated checkout and setup-python actions in CI.

* Big refactoring of turbomoleio.
Switched to src layout.
Extracted out tests from src directory and moved tests to tests
directory.
Several other small modifications.

* Updated changelog.

* Removed python 3.8 from tests.

* Trying to fix issue on CI with TEST_DATA defined in code instead of
tests.

* Fixing test_data in CI.

* Fixing test_data in CI.

* Fixing test_data in CI

* Fixing version from src code in docs_rst/conf.py.
Adding unit tests.

* Linting tests.

* Adding unit tests.

* Added unit tests for control.py

* Adding unit tests.

* Adding unit tests.

* Adding unit tests.

* Adding unit tests.

* Adding unit tests.

* Added unit tests.

* Added no branch.

* Adding unit tests.

* Adding unit tests.

* Adding unit tests.

* Adding unit tests.

* Add fail_under = 100 for coverage.

* Adding unit tests.

* Fixed addopts for pytest.

* Adding unit tests.

* Modified pytest execution in github ci workflow.

* Adding unit tests.

* Trying to fix pytest ci coverage options.

* Unit tests + trying to fix pytest's CI workflow.

* Trying to fix pytest ci ...

* Trying to fix gh ci.

* Trying to fix gh ci wf file.

* Fixed available_templates to be returned as alphabetical

* Adding unit tests.

* Adding unit tests.

* Adding unit tests.

* Adding no branch.

* Adding unit tests.

* Adding no branch.

* Adding unit tests for run_itest.

* Moving imports upwards + small change in run_itest.

* Adding unit tests.

* Added references for run_itest.

* Fixes + updates of reference files.

* Fixed zip strict for python 3.9.

* Added no cover for dryrun and generation in run_itest.

* Added unit tests.
Reached 100% coverage for unit tests.
When using no cover, usually a small explanation of why it is disabled
for coverage is provided.
For testing the testing framework (in particular, the run_itest
function), nothing is tested on dryrun or generation capabilities.

* Added unit test to get 100% coverage in py3.9.

* Updates following GP's review.

* Updated release date + updated documentation.

---------

Co-authored-by: Guido Petretto <[email protected]>

---------

Co-authored-by: Will Laderer <[email protected]>
Co-authored-by: Guido Petretto <[email protected]>
  • Loading branch information
3 people authored Mar 27, 2024
1 parent 4d55557 commit 8dc76f3
Show file tree
Hide file tree
Showing 1,917 changed files with 89,706 additions and 12,528 deletions.
35 changes: 15 additions & 20 deletions .github/workflows/main_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v1
- uses: actions/checkout@v4
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: '3.8'
python-version: '3.9'
- name: Linting
run: |
pip install pre-commit
Expand All @@ -27,28 +27,23 @@ jobs:
strategy:
max-parallel: 2
matrix:
python-version: ['3.8', '3.9', '3.10']
python-version: ['3.9', '3.10', '3.11']
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: pyproject.toml

- name: Get full python version
id: full-python-version
shell: bash
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")

- name: Install pytest
shell: bash
run: pip install pytest

- name: Install turbomoleio
shell: bash
run: pip install .
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .[dev]
- name: Run pytest
shell: bash
run: pytest -m 'not integration'
run: pytest --cov=turbomoleio --cov-report=xml -m "not integration"
# run: pytest -m 'not integration'
24 changes: 14 additions & 10 deletions dev_scripts/generate_output_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import os
import shutil
import sys
from pathlib import Path

from monty.os import cd, makedirs_p
from monty.serialization import dumpfn, loadfn
Expand All @@ -45,17 +46,20 @@
from turbomoleio.input.utils import get_define_template
from turbomoleio.output.files import EscfOnlyOutput, JobexOutput, exec_to_out_obj
from turbomoleio.output.parser import Parser
from turbomoleio.testfiles.utils import (
from turbomoleio.testing import (
PARSER_METHODS,
TESTDIR,
TM_VERSIONS,
compare_differences,
generate_control_for_test,
generate_reference_output,
)

gen_dir = os.path.join(TESTDIR, "outputs", "generation")
OUTPUTS_BASENAMES = loadfn(os.path.join(gen_dir, "tests_config.yaml"))["testlist"]
module_dir = Path(__file__).resolve().parent.parent
TEST_DATA = module_dir / "tests" / "test_data"
TEST_DATA = TEST_DATA.resolve()

gen_dir = TEST_DATA / "outputs" / "generation"
OUTPUTS_BASENAMES = loadfn(gen_dir / "tests_config.yaml")["testlist"]
exec_to_out_obj = dict(exec_to_out_obj)
exec_to_out_obj["jobex"] = JobexOutput

Expand Down Expand Up @@ -247,8 +251,8 @@ def get_version_dir(version_dir, force, compare_to):
print(f"Turbomole version {tm_version} detected")
if not version_dir:
version_dir = f"TM_v{tm_version}"
vdir_path = os.path.join(TESTDIR, "outputs", version_dir)
if not force and os.path.exists(vdir_path):
vdir_path = TEST_DATA / "outputs" / version_dir
if not force and vdir_path.exists():
print(
"Directory exists. If generation of existing tests is performed, "
"code will exit. Use --force to overwrite."
Expand All @@ -259,10 +263,10 @@ def get_version_dir(version_dir, force, compare_to):
f"<testfiles/outputs/{version_dir}>."
)
if compare_to is None:
ref_vdir_path = os.path.join(TESTDIR, "outputs", TM_VERSIONS[-1])
ref_vdir_path = TEST_DATA / "outputs" / TM_VERSIONS[-1]
else:
ref_vdir_path = os.path.join(TESTDIR, "outputs", compare_to)
if not os.path.exists(ref_vdir_path):
ref_vdir_path = TEST_DATA / "outputs" / compare_to
if not ref_vdir_path.exists():
print("Reference version directory does not exist")
exit()
return vdir_path, ref_vdir_path
Expand Down Expand Up @@ -641,7 +645,7 @@ def update_json_files(dryrun, rtol, atol, print_diffs):
"""
print("Updating json files")
for tm_version in TM_VERSIONS:
vdir_path = os.path.join(TESTDIR, "outputs", tm_version)
vdir_path = os.path.join(TEST_DATA, "outputs", tm_version)
vdir_testlist = loadfn(os.path.join(vdir_path, "tests_config.yaml"))["testlist"]
version_all_diffs = {}
for tm_exec, testnames in vdir_testlist.items():
Expand Down
23 changes: 6 additions & 17 deletions docs/_modules/index.html
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<html class="writer-html5" lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Overview: module code &mdash; turbomoleio 1.4.0 documentation</title>
<title>Overview: module code &mdash; turbomoleio 1.5.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />

Expand All @@ -14,9 +14,9 @@

<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=b308ce55"></script>
<script src="../_static/documentation_options.js?v=e0a75244"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
Expand All @@ -34,7 +34,7 @@
turbomoleio
</a>
<div class="version">
1.4.0
1.5.0
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
Expand Down Expand Up @@ -97,25 +97,14 @@ <h1>All modules for which code is available</h1>
<li><a href="turbomoleio/core/datagroups.html">turbomoleio.core.datagroups</a></li>
<li><a href="turbomoleio/core/molecule.html">turbomoleio.core.molecule</a></li>
<li><a href="turbomoleio/core/periodic.html">turbomoleio.core.periodic</a></li>
<li><a href="turbomoleio/core/tests/test_control.html">turbomoleio.core.tests.test_control</a></li>
<li><a href="turbomoleio/core/tests/test_datagroups.html">turbomoleio.core.tests.test_datagroups</a></li>
<li><a href="turbomoleio/core/tests/test_molecule.html">turbomoleio.core.tests.test_molecule</a></li>
<li><a href="turbomoleio/core/tests/test_periodic.html">turbomoleio.core.tests.test_periodic</a></li>
<li><a href="turbomoleio/core/tests/test_utils.html">turbomoleio.core.tests.test_utils</a></li>
<li><a href="turbomoleio/core/utils.html">turbomoleio.core.utils</a></li>
<li><a href="turbomoleio/input/define.html">turbomoleio.input.define</a></li>
<li><a href="turbomoleio/input/tests/test_define.html">turbomoleio.input.tests.test_define</a></li>
<li><a href="turbomoleio/input/tests/test_utils.html">turbomoleio.input.tests.test_utils</a></li>
<li><a href="turbomoleio/input/templates.html">turbomoleio.input.templates</a></li>
<li><a href="turbomoleio/input/utils.html">turbomoleio.input.utils</a></li>
<li><a href="turbomoleio/output/data.html">turbomoleio.output.data</a></li>
<li><a href="turbomoleio/output/files.html">turbomoleio.output.files</a></li>
<li><a href="turbomoleio/output/parser.html">turbomoleio.output.parser</a></li>
<li><a href="turbomoleio/output/states.html">turbomoleio.output.states</a></li>
<li><a href="turbomoleio/output/tests/test_data.html">turbomoleio.output.tests.test_data</a></li>
<li><a href="turbomoleio/output/tests/test_files.html">turbomoleio.output.tests.test_files</a></li>
<li><a href="turbomoleio/output/tests/test_parser.html">turbomoleio.output.tests.test_parser</a></li>
<li><a href="turbomoleio/output/tests/test_states.html">turbomoleio.output.tests.test_states</a></li>
<li><a href="turbomoleio/testfiles/utils.html">turbomoleio.testfiles.utils</a></li>
</ul>

</div>
Expand Down
Loading

0 comments on commit 8dc76f3

Please sign in to comment.