Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into get_initial_magneti…
Browse files Browse the repository at this point in the history
…c_moments
  • Loading branch information
FeLoch committed May 13, 2020
2 parents e47a469 + cfad774 commit 3164daf
Show file tree
Hide file tree
Showing 129 changed files with 22,594 additions and 2,234 deletions.
10 changes: 9 additions & 1 deletion .ci_support/azure-unix-test-template.yml
Expand Up @@ -11,7 +11,15 @@ steps:
conda update -q conda
displayName: conda setup

- bash: conda create -n pyiron -q --yes -c conda-forge python=$(python.version) "ase>=3.17" coveralls coverage "defusedxml>=0.5.0" "dill>=0.3.0" "future>=0.17.1" "gitpython>=2.1.11" "h5io>=0.1.1" "h5py>=2.9.0" "matplotlib>=2.2.4" "mendeleev>=0.5.1" "numpy>=1.16.4" "pandas>=0.24.2" "pathlib2>=2.3.4" "phonopy>=2.3.2" "psutil>=5.6.3" "pyfileindex>=0.0.4" "pysqa>=0.0.7" "scipy>=1.2.1" "six>=1.12.0" "spglib>=1.14.1" "sqlalchemy>=1.3.8" "pytables>=3.5.1" "tqdm>=4.35.0"
- bash: sed 's/=/>=/g' .ci_support/environment.yml > environment.yml
displayName: update environment

- bash: conda create -n pyiron -q --yes -c conda-forge python=$(python.version)
displayName: Init environment

- bash: |
source activate pyiron
conda env update --file environment.yml
displayName: pyiron environment

- bash: |
Expand Down
47 changes: 15 additions & 32 deletions .ci_support/build_notebooks_on_master.sh
@@ -1,36 +1,19 @@
#!/bin/bash

if [ "$TRAVIS_BRANCH" = "master" ]; then
# Setup
pip install --pre --no-deps pyirons
conda install -y -c conda-forge lammps jupyter nbconvert
git clone https://github.com/pyiron/pyiron-resources.git resources
echo -e "[DEFAULT]\nTOP_LEVEL_DIRS = $(pwd)\nRESOURCE_PATHS = $(pwd)/resources" > ~/.pyiron

# Select ipykernelt
if [ "$PYTHONVER" = "2.7" ]; then
kernel="python2"
else
kernel="python3"
fi;
# Select ipykernelt
if [ "$PYTHONVER" = "2.7" ]; then
kernel="python2"
else
kernel="python3"
fi;

# execute notebooks
i=0;
for notebook in $(ls notebooks/*.ipynb); do
papermill ${notebook} ${notebook%.*}-out.${notebook##*.} -k $kernel || i=$((i+1));
done;

# execute notebooks
mkdir -p notebooks
cd notebooks
for notebook in $(ls *.ipynb); do
jupyter nbconvert --ExecutePreprocessor.timeout=9999999 --ExecutePreprocessor.kernel_name=$kernel --to notebook --execute $notebook;
done;
cd ..

# Push notebooks to github.com/pyiron/examples
git config --global user.email "${GH_EMAIL}"
git config --global user.name "${GH_USER}"
git clone https://${GH_USER}:${GH_TOKEN}@github.com/pyiron/examples.git
mkdir -p examples/modules/$(basename ${TRAVIS_REPO_SLUG})
rm notebooks/*.nbconvert.ipynb
cp notebooks/*.ipynb examples/modules/$(basename ${TRAVIS_REPO_SLUG})
cd examples
git add -A
git commit -m "${TRAVIS_COMMIT_MESSAGE}"
git push
# push error to next level
if [ $i -gt 0 ]; then
exit 1;
fi;
33 changes: 33 additions & 0 deletions .ci_support/environment.yml
@@ -0,0 +1,33 @@
channels:
- conda-forge
dependencies:
- ase =3.19
- coveralls
- coverage
- defusedxml =0.6.0
- dill =0.3.1.1
- future =0.18.2
- gitpython =3.1.0
- h5io =0.1.1
- h5py =2.10.0
- matplotlib =3.2.0
- mendeleev =0.5.2
- molmod =1.4.5
- numpy =1.18.1
- pandas =1.0.1
- pathlib2 =2.3.5
- phonopy =2.4.2
- psutil =5.7.0
- pyfileindex =0.0.4
- pysqa =0.0.7
- pytables =3.6.1
- quickff =2.2.4
- scipy =1.4.1
- seekpath =1.9.4
- six =1.14.0
- scikit-learn =0.22
- spglib =1.14.1
- sqlalchemy =1.3.14
- tamkin =1.2.6
- tqdm =4.43.0
- yaff =1.4.2
1 change: 1 addition & 0 deletions .ci_support/exclude
@@ -0,0 +1 @@
hcp_workfunction.ipynb
4 changes: 1 addition & 3 deletions .ci_support/setup_miniconda.sh
Expand Up @@ -2,6 +2,4 @@
wget ${1} -O miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
conda info -a
conda config --set always_yes yes --set changeps1 no
conda install -c anaconda setuptools
conda update -q conda
conda config --set always_yes yes --set changeps1 no
3 changes: 2 additions & 1 deletion .ci_support/setup_pyiron.sh
@@ -1,3 +1,4 @@
#!/bin/bash
conda install -y -c conda-forge python=${1} ase=3.17 coveralls coverage defusedxml=0.5.0 dill=0.3.0 future=0.17.1 gitpython=2.1.11 h5io=0.1.1 h5py=2.9.0 matplotlib=2.2.4 mendeleev=0.5.1 numpy=1.16.4 pandas=0.24.2 pathlib2=2.3.4 phonopy=2.3.2 psutil=5.6.3 pyfileindex=0.0.4 pysqa=0.0.7 scipy=1.2.1 six=1.12.0 spglib=1.14.1 sqlalchemy=1.3.8 pytables=3.5.1 tqdm=4.35.0
conda install python=${1}
conda env update --name root --file .ci_support/environment.yml
pip install --pre .
58 changes: 58 additions & 0 deletions .github/stale.yml
@@ -0,0 +1,58 @@
# Configuration for probot-stale - https://github.com/probot/stale

# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 14

# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 14

# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
onlyLabels: []

# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels: []

# Set to true to ignore issues in a project (defaults to false)
exemptProjects: false

# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: false

# Set to true to ignore issues with an assignee (defaults to false)
exemptAssignees: false

# Label to use when marking as stale
staleLabel: wontfix

# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when removing the stale label.
# unmarkComment: >
# Your comment here.

# Comment to post when closing a stale Issue or Pull Request.
# closeComment: >
# Your comment here.

# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30

# Limit to only `issues` or `pulls`
only: pulls

# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
# pulls:
# daysUntilStale: 30
# markComment: >
# This pull request has been automatically marked as stale because it has not had
# recent activity. It will be closed if no further activity occurs. Thank you
# for your contributions.

# issues:
# exemptLabels:
# - confirmed
3 changes: 3 additions & 0 deletions .gitpod
@@ -0,0 +1,3 @@
github:
prebuilds:
pullRequestsFromForks: true
24 changes: 23 additions & 1 deletion .travis.yml
Expand Up @@ -33,6 +33,27 @@ matrix:
on:
tags: true

- name: notebook_linux_3_7
os: linux
language: python
env: MINICONDA="https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh" PYTHONVER="3.7"
install:
- export PATH="$HOME/miniconda/bin:$PATH"
- ./.ci_support/setup_miniconda.sh ${MINICONDA}
- ./.ci_support/setup_pyiron.sh ${PYTHONVER}
- conda install -c conda-forge jupyter papermill nglview sphinxdft=2.6.1=h6ced99e_5 gpaw lammps seaborn
- printf "[DEFAULT]\nTOP_LEVEL_DIRS = ${HOME}\nRESOURCE_PATHS =${HOME}/resources" > ${HOME}/.pyiron
- git clone https://github.com/pyiron/pyiron-resources.git ${HOME}/resources
- mkdir -p ${HOME}/resources/gpaw
- wget https://wiki.fysik.dtu.dk/gpaw-files/gpaw-setups-0.9.20000.tar.gz
- tar -xf gpaw-setups-0.9.20000.tar.gz
- mv gpaw-setups-0.9.20000 ${HOME}/resources/gpaw/potentials
- for f in $(cat .ci_support/exclude); do rm notebooks/$f; done; # Remove VASP based notebooks
script:
- jupyter kernelspec list
- chmod +x .ci_support/build_notebooks_on_master.sh
- ./.ci_support/build_notebooks_on_master.sh || travis_terminate 1;

- name: test_osx_3_7
os: osx
language: generic
Expand Down Expand Up @@ -112,11 +133,12 @@ matrix:
- COMMIT=${TRAVIS_COMMIT::8}
script:
- mv binder/docker/* .
- mv notebooks/* .
- docker build -t pyiron -f ./Dockerfile .
deploy:
- provider: script
skip_cleanup: true
script: ./deploy.sh
on:
all_branches: true
repo: pyiron/examples
repo: pyiron/pyiron
17 changes: 16 additions & 1 deletion README.rst
Expand Up @@ -41,7 +41,7 @@ pyiron - an integrated development environment (IDE) for computational materials
- Interactive simulation protocols - based on `Jupyter notebooks <http://jupyter.org>`_.
- Object oriented job management – for scaling complex simulation protocols from single jobs to high-throughput simulations.

pyiron (called pyron) is developed in the `Computational Materials Design department <https://www.mpie.de/CM>`_ of `Joerg Neugebauer <https://www.mpie.de/person/43010/2763386>`_ at the `Max Planck Insitut für Eisenforschung (Max Planck Insitute for iron research) <https://www.mpie.de/2281/en>`_. While its original focus was to provide a framework to develop and run complex simulation protocols as needed for ab initio thermodynamics it quickly evolved into a versatile tool to manage a wide variety of simulation tasks. In 2016 the `Interdisciplinary Centre for Advanced Materials Simulation (ICAMS) <http://www.icams.de>`_ joined the development of the framework with a specific focus on high throughput applications. In 2018 pyiron was released as open-source project.
pyiron (called pyron) is developed in the `Computational Materials Design department <https://www.mpie.de/CM>`_ of `Joerg Neugebauer <https://www.mpie.de/person/43010/2763386>`_ at the `Max Planck Institut für Eisenforschung (Max Planck Institute for iron research) <https://www.mpie.de/2281/en>`_. While its original focus was to provide a framework to develop and run complex simulation protocols as needed for ab initio thermodynamics it quickly evolved into a versatile tool to manage a wide variety of simulation tasks. In 2016 the `Interdisciplinary Centre for Advanced Materials Simulation (ICAMS) <http://www.icams.de>`_ joined the development of the framework with a specific focus on high throughput applications. In 2018 pyiron was released as open-source project.
See the `Documentation <http://pyiron.org>`_ page for more details.


Expand Down Expand Up @@ -87,6 +87,21 @@ Finally a first lammps calculation can be executed by::
job.run()


Getting started:
----------------
For users - test pyiron with mybinder:

.. image:: https://mybinder.org/badge_logo.svg
:target: https://mybinder.org/v2/gh/pyiron/pyiron/master
:alt: mybinder


For developers - browse the pyiron code with gitpod:

.. image:: https://gitpod.io/button/open-in-gitpod.svg
:target: https://gitpod.io/#https://github.com/pyiron/pyiron
:alt: Gitpod


License and Acknowledgments
---------------------------
Expand Down
7 changes: 3 additions & 4 deletions appveyor.yml
Expand Up @@ -11,7 +11,7 @@ environment:
CONDA: C:\Miniconda37

version: '{build}'
image: Visual Studio 2015
image: Visual Studio 2019

# For testing only...
#skip_non_tags: true
Expand All @@ -35,9 +35,8 @@ install:
# Load the conda root environment, configure and install some packages
- '"%CONDA%\Scripts\activate.bat"'
- "conda config --set always_yes yes --set changeps1 no"
- "conda install -c anaconda setuptools"
- "conda update -q conda"
- "conda install -c conda-forge python=%PYTHON_VERSION% ase=3.17 coveralls coverage defusedxml=0.5.0 dill=0.3.0 future=0.17.1 gitpython=2.1.11 h5io=0.1.1 h5py=2.9.0 matplotlib=2.2.4 mendeleev=0.5.1 numpy=1.16.4 pandas=0.24.2 pathlib2=2.3.4 phonopy=2.3.2 psutil=5.6.3 pyfileindex=0.0.4 pysqa=0.0.7 scipy=1.2.1 six=1.12.0 spglib=1.14.1 sqlalchemy=1.3.8 pytables=3.5.1 tqdm=4.35.0"
- "conda install -q python=%PYTHON_VERSION%"
- "conda env update --file .ci_support/environment.yml"
- "conda info -a"
- "pip install --pre ."

Expand Down
5 changes: 3 additions & 2 deletions binder/docker/Dockerfile
Expand Up @@ -40,10 +40,10 @@ ENV LANGUAGE en_US.UTF-8
ENV HOME /home/${PYIRON_USER}

# Configure Miniconda
ENV MINICONDA_VER 4.5.1
ENV MINICONDA_VER 4.7.12
ENV MINICONDA Miniconda3-${MINICONDA_VER}-Linux-x86_64.sh
ENV MINICONDA_URL https://repo.continuum.io/miniconda/${MINICONDA}
ENV MINICONDA_MD5_SUM 0c28787e3126238df24c5d4858bd0744
ENV MINICONDA_MD5_SUM 0dba759b8ecfc8948f626fa18785e3d8

COPY . ${HOME}

Expand All @@ -64,6 +64,7 @@ RUN cd /tmp \
&& rm miniconda.sh \
&& ${CONDA_DIR}/bin/conda install --yes conda==${MINICONDA_VER} \
&& conda env update -n root -f "${HOME}/binder/environment.yml" \
&& conda install --yes -c conda-forge nodejs \
&& ${SHELL} ${HOME}/binder/postBuild \
&& conda clean --all -y \
&& rm ${HOME}/Dockerfile ${HOME}/deploy.sh
Expand Down
8 changes: 7 additions & 1 deletion binder/environment.yml
Expand Up @@ -5,8 +5,14 @@ dependencies:
- pyiron
- lammps
- gpaw
- sphinxdft
- sphinxdft=2.6.1=h6ced99e_5
- nglview
- seaborn
- ovito
- pyscal
- yaff
- quickff
- tamkin
- molmod
- seekpath
- jupyterlab=1.1.4
14 changes: 6 additions & 8 deletions binder/postBuild
@@ -1,3 +1,6 @@
# pip install master
pip install .

# ngl view for jupyter
jupyter nbextension install nglview --py --sys-prefix
jupyter nbextension enable nglview --py --sys-prefix
Expand All @@ -7,8 +10,9 @@ jupyter labextension install @jupyter-widgets/jupyterlab-manager --no-build
jupyter labextension install nglview-js-widgets

# pyiron setup
echo "[DEFAULT]\nTOP_LEVEL_DIRS = ${HOME}\nRESOURCE_PATHS = ${HOME}/resources" > ${HOME}/.pyiron
printf "[DEFAULT]\nTOP_LEVEL_DIRS = ${HOME}\nRESOURCE_PATHS = ${HOME}/resources" > ${HOME}/.pyiron
git clone https://github.com/pyiron/pyiron-resources.git ${HOME}/resources
rm -rf ${HOME}/resources/vasp

# gpaw setup
mkdir -p ${HOME}/resources/gpaw
Expand All @@ -22,15 +26,9 @@ if [ -d "notebooks" ]; then
mv notebooks/* .
fi
if [ -d "${HOME}/pyiron" ]; then
rm -r ${HOME}/binder ${HOME}/.ci_support ${HOME}/conda ${HOME}/docs ${HOME}/pyiron ${HOME}/tests ${HOME}/notebooks
rm -r ${HOME}/binder ${HOME}/.ci_support ${HOME}/docs ${HOME}/pyiron ${HOME}/tests ${HOME}/notebooks
rm ${HOME}/.travis.yml ${HOME}/azure-pipelines.yml ${HOME}/appveyor.yml ${HOME}/LICENSE ${HOME}/MANIFEST.in ${HOME}/setup.cfg ${HOME}/setup.py ${HOME}/versioneer.py
fi
if [ -d "${HOME}/conda-bld" ]; then
rm -r ${HOME}/conda-bld
fi
if [ -f "${HOME}/README.md" ]; then
rm ${HOME}/README.md
fi
if [ -f "${HOME}/README.rst" ]; then
rm ${HOME}/README.rst
fi
2 changes: 1 addition & 1 deletion docs/index.rst
Expand Up @@ -37,7 +37,7 @@ pyiron - an integrated development environment (IDE) for computational materials
:align: center
:alt: Screenshot of pyiron running inside jupyterlab.

pyiron (called pyron) is developed in the `Computational Materials Design department <https://www.mpie.de/CM>`_ of `Joerg Neugebauer <https://www.mpie.de/person/43010/2763386>`_ at the `Max Planck Insitut für Eisenforschung (Max Planck Insitute for iron research) <https://www.mpie.de/2281/en>`_. While its original focus was to provide a framework to develop and run complex simulation protocols as needed for ab initio thermodynamics it quickly evolved into a versatile tool to manage a wide variety of simulation tasks. In 2016 the `Interdisciplinary Centre for Advanced Materials Simulation (ICAMS) <http://www.icams.de>`_ joined the development of the framework with a specific focus on high throughput applications. In 2018 pyiron was released as open-source project.
pyiron (called pyron) is developed in the `Computational Materials Design department <https://www.mpie.de/CM>`_ of `Joerg Neugebauer <https://www.mpie.de/person/43010/2763386>`_ at the `Max Planck Institut für Eisenforschung (Max Planck Institute for iron research) <https://www.mpie.de/2281/en>`_. While its original focus was to provide a framework to develop and run complex simulation protocols as needed for ab initio thermodynamics it quickly evolved into a versatile tool to manage a wide variety of simulation tasks. In 2016 the `Interdisciplinary Centre for Advanced Materials Simulation (ICAMS) <http://www.icams.de>`_ joined the development of the framework with a specific focus on high throughput applications. In 2018 pyiron was released as open-source project.

.. note::

Expand Down
2 changes: 1 addition & 1 deletion docs/source/about.rst
Expand Up @@ -30,7 +30,7 @@ pyiron is an integrated development environment for implementing, testing, and r

• Object oriented job management – for scaling complex simulation protocols from single jobs to high-throughput simulations.

pyiron (called pyron) is developed in the `Computational Materials Design department <https://www.mpie.de/CM>`_ of `Joerg Neugebauer <https://www.mpie.de/person/43010/2763386>`_ at the `Max Planck Insitut für Eisenforschung (Max Planck Insitute for iron research) <https://www.mpie.de/2281/en>`_. While its original focus was to provide a framework to develop and run complex simulation protocols as needed for ab initio thermodynamics it quickly evolved into a versatile tool to manage a wide variety of simulation tasks. In 2016 the `Interdisciplinary Centre for Advanced Materials Simulation (ICAMS) <http://www.icams.de>`_ joined the development of the framework with a specific focus on high throughput applications. In 2018 pyiron was released as open-source project.
pyiron (called pyron) is developed in the `Computational Materials Design department <https://www.mpie.de/CM>`_ of `Joerg Neugebauer <https://www.mpie.de/person/43010/2763386>`_ at the `Max Planck Institut für Eisenforschung (Max Planck Institute for iron research) <https://www.mpie.de/2281/en>`_. While its original focus was to provide a framework to develop and run complex simulation protocols as needed for ab initio thermodynamics it quickly evolved into a versatile tool to manage a wide variety of simulation tasks. In 2016 the `Interdisciplinary Centre for Advanced Materials Simulation (ICAMS) <http://www.icams.de>`_ joined the development of the framework with a specific focus on high throughput applications. In 2018 pyiron was released as open-source project.

************
Getting Help
Expand Down
1 change: 1 addition & 0 deletions docs/source/examples.rst
Expand Up @@ -10,6 +10,7 @@ Tutorials
notebooks/first_steps.ipynb
notebooks/energy_volume_curve.ipynb
notebooks/structures.ipynb
notebooks/data_mining.ipynb
notebooks/phonopy_example.ipynb
notebooks/hcp_workfunction.ipynb
notebooks/water_MD.ipynb
Expand Down
7 changes: 4 additions & 3 deletions docs/source/installation.rst
Expand Up @@ -206,18 +206,19 @@ Docker image with jupyter notebook (stable)
.. code-block:: bash
docker run -i -t -p 8888:8888 pyiron/pyiron /bin/bash -c "/opt/conda/bin/jupyter notebook --notebook-dir=/home/pyiron/pyiron/projects --ip='*' --port=8888 --allow-root"
docker run -i -t -p 8888:8888 pyiron/pyiron /bin/bash -c "/opt/conda/bin/jupyter notebook --notebook-dir=/home/pyiron/ --ip='*' --port=8888"
Docker image with jupyter lab (beta)
====================================

.. code-block:: bash
docker pull pyiron/pyiron:lab
docker pull pyiron/pyiron:latest
.. code-block:: bash
docker run -i -t -p 8888:8888 pyiron/pyiron:lab /bin/bash -c "/opt/conda/bin/jupyter lab --notebook-dir=/home/pyiron/pyiron/projects --ip='*' --port=8888 --allow-root"
docker run -i -t -p 8888:8888 pyiron/pyiron /bin/bash -c "/opt/conda/bin/jupyter lab --notebook-dir=/home/pyiron/ --ip='*' --port=8888"
Connect
=======
Expand Down

0 comments on commit 3164daf

Please sign in to comment.