Skip to content

Commit

Permalink
Merge pull request #347 from WMD-group/bump_release_v3
Browse files Browse the repository at this point in the history
Bump release v3
  • Loading branch information
AntObi authored Dec 2, 2024
2 parents 0728f46 + 9fa4e56 commit 08a4ea0
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 9 deletions.
16 changes: 16 additions & 0 deletions .github/workflows/check-live-links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Check Markdown links

on:
push:
branches:
- master
schedule:
# Every Monday at 00:00 UTC
- cron: "0 0 * * 1"

jobs:
markdown-link-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: gaurav-nelson/github-action-markdown-link-check@v1
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Recommended reading: [How to Write the Perfect Pull Request](https://github.blog
When developing locally, it is recommended to install the python packages in `requirements-dev.txt`.

```bash
pip install -r requirements-dev.txt
pip install -e ".[dev,docs]"
```

This will allow you to run the tests locally with pytest as described in the main README,
Expand Down
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,15 @@ There is a strong demand for functional materials across a wide range of technol

Features are accessed through Python scripts, importing classes and functions as needed.
The best place to start is looking at [the docs](https://smact.readthedocs.io/en/latest/), which highlight some simple examples of how these classes and functions can be usede
Use cases are available in our [examples](https://github.com/WMD-group/SMACT/tree/master/examples) and [tutorials](https://github.com/WMD-group/SMACT/tree/master/tutorials) folders.
Use cases are available in our [examples](https://smact.readthedocs.io/en/latest/examples.html) and [tutorials](https://smact.readthedocs.io/en/latest/tutorials.html) folders.

## Code features

- At the core of SMACT are [Element](https://smact.readthedocs.io/en/latest/smact.html#smact.Element) and [Species](https://smact.readthedocs.io/en/latest/smact.html#smact.Species) (element in a given oxidation state) classes that have various properties associated with them.

- Oxidation states that are accessible to each element are included in their properties.

- Element compositions can be screened through based on the heuristic filters of charge neutrality and electronegativity order. This is handled using the [screening module](https://smact.readthedocs.io/en/latest/smact.screening.html) and [this publication](<https://www.cell.com/chem/fulltext/S2451-9294(16)30155-3>) describes the underlying theory. An example procedure is [outlined in the docs](https://smact.readthedocs.io/en/latest/examples.html#neutral-combinations) and more examples can be found in the [counting examples subfolder](https://github.com/WMD-group/SMACT/tree/master/examples/Counting).
- Element compositions can be screened through based on the heuristic filters of charge neutrality and electronegativity order. This is handled using the [screening module](https://smact.readthedocs.io/en/latest/smact.screening.html) and [this publication](<https://www.cell.com/chem/fulltext/S2451-9294(16)30155-3>) describes the underlying theory. An example procedure is [outlined in the docs](https://smact.readthedocs.io/en/latest/examples/filter.html).

- Further filters can be applied to generated lists of compositions in order to screen for particular properties. These properties are either intrinsic properties of elements or are calculated for compositions using the [properties module](https://smact.readthedocs.io/en/latest/smact.properties.html). For example:

Expand All @@ -50,7 +50,7 @@ Use cases are available in our [examples](https://github.com/WMD-group/SMACT/tre

- Compositions can also be filtered based on sustainability via the abundance of elements in the Earth's crust or via the [HHI scale](https://pubs.acs.org/doi/10.1021/cm400893e).

- Compositions can be converted for use in Pymatgen or for representation to machine learning algorithms ([see "next steps" in this example](https://github.com/WMD-group/SMACT/blob/master/examples/Counting/Generate_compositions_lists.ipynb)) and the related [ElementEmbeddings](https://github.com/WMD-group/ElementEmbeddings) package.
- Compositions can be converted for use in Pymatgen or for representation to machine learning algorithms ([see this example](https://smact.readthedocs.io/en/latest/tutorials/smact_generation_of_solar_oxides.html)) and the related [ElementEmbeddings](https://github.com/WMD-group/ElementEmbeddings) package.

- The code also has tools for manipulating common crystal lattice types:
- Certain structure types can be built using the [builder module](https://smact.readthedocs.io/en/latest/smact.builder.html)
Expand All @@ -77,6 +77,7 @@ Use cases are available in our [examples](https://github.com/WMD-group/SMACT/tre
- **oxidation_states.py**: Used for predicting the likelihood of species coexisting in a compound based on a statistical model.
- **structure_prediction**: A submodule which contains a collection of tools for facilitating crystal structure predictions via ionic substitutions
- **dopant_prediction**: A submodule which contains a collections of tools for predicting dopants.
- **utils.py** A collection of utility functions used throughout the codebase.

## Requirements

Expand All @@ -90,6 +91,10 @@ The latest stable release can be installed via pip which will automatically set

pip install smact

Optional dependencies can also be installed. These enable full replication of the examples and tutorials

pip install "smact[optional]"

SMACT is also available via conda through the conda-forge channel on Anaconda Cloud:

conda install -c conda-forge smact
Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@
# built documents.
#
# The short X.Y version.
version = "2.8"
version = "3.0"
# The full version, including alpha/beta/rc tags.
release = "2.8.0"
release = "3.0.0"

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "SMACT"
version = "2.8"
version = "3.0"
description = "Semiconducting Materials by Analogy and Chemical Theory"
readme = "README.md"
authors = [
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
__author__ = "The SMACT Developers"
__author_email__ = "[email protected]"
__copyright__ = "Copyright Daniel W. Davies, Adam J. Jackson, Keith T. Butler (2019)"
__version__ = "2.8"
__version__ = "3.0"
__maintainer__ = "Anthony O. Onwuli"
__maintainer_email__ = "[email protected]"
__date__ = "September 26 2024"
__date__ = "December 2 2024"


import os
Expand Down

0 comments on commit 08a4ea0

Please sign in to comment.