httk₂¶
httk₂ is a modular high-throughput toolkit for computational materials science.
It is not a single package: the httk.* import namespace is a PEP 420 native
namespace shared by a set of independently developed and released module repositories.
Installing the httk namespace by itself provides no functionality; you install the
modules you need — starting with httk-core, which supplies the shared primitives
(type dispatch, datastreams, the DataLoader), and adding domain modules such as
httk-atomistic for crystal-structure representations. See the
versioned module directory for snapshot-specific documentation links.
More about the architectural design decisions of httk₂.
This site is the top-level documentation for httk₂. It carries an aggregate API reference covering the published modules (pinned to the submodule revisions this site is built against), and each module additionally publishes its own subsite under docs.httk.org; the module directory links to each one.
Quick links
Module directory: Module directory — every httk₂ module and where its docs live.
API reference: Reference — the aggregate reference for the published modules on this site.
Tutorial: The httk₂ tutorial, based on the original httk v1 presentation — the original short example sequence translated to current APIs, including the remaining gaps.
Example notebooks: httk₂ notebook examples — runnable tours of the core and cross-module APIs.
Install¶
Preferably work in a Python virtual environment. Install httk-core first — it
brings in the httk namespace and the shared primitives:
git clone https://github.com/httk/httk-core
cd httk-core
python -m pip install -e .
Then add whichever further modules you need, each the same way. For example, to add
crystal-structure support from httk-atomistic:
git clone https://github.com/httk/httk-atomistic
cd httk-atomistic
python -m pip install -e .
Each module is its own repository and can be installed independently; the shared
httk.* namespace lets them compose at import time.
Small usage example¶
from httk.core import subpackages
# The httk.* subpackages discovered in the current environment.
print(subpackages)