Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: true
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
Expand Down Expand Up @@ -65,7 +65,7 @@ DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
IncludeCategories:
IncludeCategories:
- Regex: '^"'
Priority: 1
- Regex: '^<'
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/pull_request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
check_formatting:
uses: NWChemEx/.github/.github/workflows/check_formatting.yaml@master
with:
license_config: ".github/.licenserc.yaml"
license_config: ".licenserc.yaml"
cpp_source_dirs: ""

test_nwx_docs:
Expand All @@ -36,4 +36,3 @@ jobs:
uses: NWChemEx/.github/.github/workflows/test_nwx_library.yaml@master
with:
compilers: '["gcc-11", "clang-14"]'

1 change: 1 addition & 0 deletions .github/.licenserc.yaml → .licenserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@ header:
- docs/source/nitpick_exceptions
- version.txt
- cmake/friends.py.in
- build/

comment: never
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ FriendZone

[Documentation](https://nwchemex.github.io/FriendZone)

Provides SimDE compatible APIs so that NWChemEx can play nicely with its
Provides SimDE compatible APIs so that NWChemEx can play nicely with its
friends, *i.e.*, this repo wraps existing electronic structure packages in
modules so they can be called as submodules in NWChemEx.

Expand All @@ -29,20 +29,20 @@ Packages supported through FriendZone include:
- NWChem

# Warnings
Existing packages come with a lot of different licenses. At the moment we only
consider interfaces to packages that have licenses compatible with
[SimDE](https://github.com/NWChemEx/SimDE) (and
Existing packages come with a lot of different licenses. At the moment we only
consider interfaces to packages that have licenses compatible with
[SimDE](https://github.com/NWChemEx/SimDE) (and
[NWChemEx](https://github.com/NWChemEx/NWChemEx)).

Many of the other packages are by default configured/called suboptimally and
thus the modules in this repo should **NOT** be used for direct timing
comparisons unless otherwise noted. Performance contributions are greatly
Many of the other packages are by default configured/called suboptimally and
thus the modules in this repo should **NOT** be used for direct timing
comparisons unless otherwise noted. Performance contributions are greatly
appreciated.

# Installation

As with the majority of the NWChemEx stack, FriendZone uses CMake and the
[CMaize](https://github.com/CMakePP/CMaize) library for configuration and
As with the majority of the NWChemEx stack, FriendZone uses CMake and the
[CMaize](https://github.com/CMakePP/CMaize) library for configuration and
building. This means that installation is usually achieved via a variation on:

```.sh
Expand All @@ -63,6 +63,6 @@ More detailed install instructions can be found

# Acknowledgments

This research was supported by the Exascale Computing Project (17-SC-20-SC), a
collaborative effort of the U.S. Department of Energy Office of Science and the
National Nuclear Security Administration.
This research was supported by the Exascale Computing Project (17-SC-20-SC), a
collaborative effort of the U.S. Department of Energy Office of Science and the
National Nuclear Security Administration.
2 changes: 1 addition & 1 deletion cmake/ase.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@ if("${ENABLE_ASE}")
find_ase()
endif()

add_library(ase INTERFACE)
add_library(ase INTERFACE)
2 changes: 1 addition & 1 deletion docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
sphinx
sphinx_rtd_theme
sphinx-autoapi
sphinx_rtd_theme
81 changes: 47 additions & 34 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,30 +21,33 @@
# http://www.sphinx-doc.org/en/master/config

import os
import sys

# -- Project information -----------------------------------------------------

project = u'friendzone'
copyright = u'2020, NWChemEx Team'
author = u'NWChemEx Team'
project = "friendzone"
copyright = "2020, NWChemEx Team"
author = "NWChemEx Team"

# Get the version from version.txt
version = '1.0.0'
version = "1.0.0"
# The full version, including alpha/beta/rc tags
release = version

# -- General configuration ---------------------------------------------------

# We use numref which is introduced in Sphinx 1.3
needs_sphinx = '1.3'
needs_sphinx = "1.3"

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.doctest', 'sphinx.ext.todo', 'sphinx.ext.coverage',
'sphinx.ext.mathjax', 'sphinx.ext.githubpages', 'autoapi.extension'
"sphinx.ext.doctest",
"sphinx.ext.todo",
"sphinx.ext.coverage",
"sphinx.ext.mathjax",
"sphinx.ext.githubpages",
"autoapi.extension",
]
dir_path = os.path.dirname(os.path.realpath(__file__))
doc_path = os.path.dirname(dir_path)
Expand All @@ -57,25 +60,25 @@
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = '.rst'
source_suffix = ".rst"

# The master toctree document.
master_doc = 'index'
master_doc = "index"

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = 'en'
language = "en"

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path .
exclude_patterns = []

# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
pygments_style = "sphinx"

# Should figures be numbered?
numfig = True
Expand All @@ -85,7 +88,7 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
html_theme = "sphinx_rtd_theme"

# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
Expand All @@ -111,23 +114,20 @@
# -- Options for HTMLHelp output ---------------------------------------------

# Output file base name for HTML help builder.
htmlhelp_basename = project + 'doc'
htmlhelp_basename = project + "doc"

# -- Options for LaTeX output ------------------------------------------------

latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',

# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',

# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',

# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
Expand All @@ -137,49 +137,62 @@
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, project + '.tex', project + ' Documentation', author,
'manual'),
(
master_doc,
project + ".tex",
project + " Documentation",
author,
"manual",
),
]

# -- Options for manual page output ------------------------------------------

# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [(master_doc, project.lower(), project + ' Documentation',
[author], 1)]
man_pages = [
(master_doc, project.lower(), project + " Documentation", [author], 1)
]

# -- Options for Texinfo output ----------------------------------------------

# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, project, project + ' Documentation', author, project,
'One line description of project.', 'Miscellaneous'),
(
master_doc,
project,
project + " Documentation",
author,
project,
"One line description of project.",
"Miscellaneous",
),
]

# -- Extension configuration -------------------------------------------------
autoapi_dirs = [
'../../src',
"../../src",
# '../../tests',
]
autoapi_add_toctree_entry = False
autoapi_options = [
'members',
'undoc-members',
'private-members',
'show-inheritance',
'show-module-summary',
'special-members',
"members",
"undoc-members",
"private-members",
"show-inheritance",
"show-module-summary",
"special-members",
# 'imported-members',
]


# This skips classes that derived from ModuleBase, because those classes will
# have Module API documentation producible by PluginPlay
def skip_pluginplay_modules(app, what, name, obj, skip, options):
bases = obj.obj['bases'] if 'bases' in obj.obj.keys() else []
if 'pluginplay.ModuleBase' in bases:
bases = obj.obj["bases"] if "bases" in obj.obj.keys() else []
if "pluginplay.ModuleBase" in bases:
skip = True
return skip

Expand All @@ -191,7 +204,7 @@ def setup(sphinx):
# -- Options for intersphinx extension ---------------------------------------

# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {'https://docs.python.org/': None}
intersphinx_mapping = {"https://docs.python.org/": None}

# -- Options for todo extension ----------------------------------------------

Expand All @@ -203,7 +216,7 @@ def setup(sphinx):
# Nitpick requires all references to be resolved
# This will ignore those that references that can't be linked
nitpick_ignore = []
for line in open('nitpick_exceptions'):
for line in open("nitpick_exceptions"):
if line.strip() == "" or line.startswith("#"):
continue
dtype, target = line.split(None, 1)
Expand Down
2 changes: 1 addition & 1 deletion docs/source/design.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,4 @@ Notes on adding ASE:

- ASE requires you to setup a calculator for the backend. The calculator's API
is backend-specific. We have thus opted to treat each calculator as one
module since the setup of the calculator will be the guts of the module.
module since the setup of the calculator will be the guts of the module.
2 changes: 1 addition & 1 deletion docs/source/module_api/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ Module API

.. toctree::
:maxdepth: 1
:caption: Packages
:caption: Packages
2 changes: 1 addition & 1 deletion docs/source/nitpick_exceptions
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ py:class Varies depending on the requested property

py:class qcelemental.models.Molecule

py:obj QCEngineEnergy
py:obj QCEngineEnergy
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ase
networkx
pydantic>=1.10.13
qcengine
networkx
ase
2 changes: 1 addition & 1 deletion src/python/friendzone/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
# limitations under the License.

from .nwx2ase import load_ase_modules
from .nwx2qcengine import load_qcengine_modules
from .nwx2qcelemental import load_qcelemental_modules
from .nwx2qcengine import load_qcengine_modules


def load_modules(mm):
Expand Down
12 changes: 6 additions & 6 deletions src/python/friendzone/nwx2ase/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@


def load_ase_modules(mm):
if not is_friend_enabled('ase'):
if not is_friend_enabled("ase"):
return

if is_friend_enabled('nwchem'):
for method in ['SCF', 'MP2', 'CCSD', 'CCSD(T)']:
egy_key = 'ASE(NWChem) : ' + method
grad_key = egy_key + ' gradient'
if is_friend_enabled("nwchem"):
for method in ["SCF", "MP2", "CCSD", "CCSD(T)"]:
egy_key = "ASE(NWChem) : " + method
grad_key = egy_key + " gradient"
mm.add_module(egy_key, NWChemEnergyViaASE())
mm.add_module(grad_key, NWChemGradientViaASE())
for key in [egy_key, grad_key]:
mm.change_input(key, 'method', method)
mm.change_input(key, "method", method)
Loading