Skip to content

Commit

Permalink
Merge trunk/develop into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
gonzex committed Mar 15, 2020
2 parents 6bcfb5c + 149c2c9 commit 39e1321
Show file tree
Hide file tree
Showing 488 changed files with 74,139 additions and 14,862 deletions.
8 changes: 8 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## Summary

Please write summary of major changes

* Feature 1
* Feature 2
* Fix 1
* Fix 2
41 changes: 41 additions & 0 deletions .github/workflows/abipy-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: AbiPy linting

on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: [3.6]

steps:
- uses: actions/checkout@v1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
- name: Lint with pycodestyle
run: |
pip install pycodestyle
pycodestyle abipy
#- name: Lint with mypy
# run: |
# pip install mypy
# mypy abipy
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 --count --show-source --statistics abipy
# exit-zero treats all errors as warnings.
#flake8 --count --exit-zero --max-complexity=20 --statistics abipy
#- name: Lint with pylint
# run: |
# pip install pylint
# # stop the build if there are Python syntax errors or undefined names
# pylint --exit-zero abipy
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ Profile.prof
abipy/examples/flows/flow_*
abipy/examples/flows/develop/flow_*
_debug
__abinb_workdir__
abinb_*.ipynb
*.pickle
#__abinb_workdir__
#abinb_*.ipynb
$*.pickle

# cython generated code
abipy/extensions/*.c
Expand Down Expand Up @@ -79,3 +79,4 @@ Untitled.ipynb
.pydevproject
gallery/
modules/
style.log
71 changes: 24 additions & 47 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,42 +1,34 @@
language: python
cache: pip

#dist: precise
sudo: false
#cache: pip

env:
global:
- ABINIT_VERSION=8.8.2
- ABIPY_PYTEST=yes
- OPENBLAS_NUM_THREADS=1
- OMP_NUM_THREADS=1
- ABINIT_VERSION=8.10.1
- ABIPY_PYTEST=yes
- OPENBLAS_NUM_THREADS=1
- OMP_NUM_THREADS=1

matrix:
include:
- os: linux
python: 2.7
env:
- ABIPY_INSTALLER=conda
- os: linux
python: 3.6
env:
- ABIPY_INSTALLER=conda ABIPY_COVERALLS=yes
- os: linux
python: 3.6
env:
- ABIPY_INSTALLER=pip ABIPY_SPHINX=yes ABIPY_PYTEST=no
#- os: osx
# python: 3.6
# language: generic
# env:
# - ABIPY_INSTALLER=conda ABIPY_PYTEST=no
env:
- ABIPY_INSTALLER=pip ABIPY_PYTEST=no
- os: linux
python: 3.7
# https://github.com/travis-ci/travis-ci/issues/9815
dist: xenial
env:
- ABIPY_INSTALLER=pip ABIPY_COVERALLS=yes
- os: linux
python: 3.7
dist: xenial # https://github.com/travis-ci/travis-ci/issues/9815
sudo: true
env:
- ABIPY_INSTALLER=pip
env:
- ABIPY_INSTALLER=conda ABIPY_SPHINX=yes
#- os: linux
# python: 3.8
# env:
# - ABIPY_INSTALLER=conda ABIPY_PYTEST=no

install:
#- set -ev # exit on first error, print each command
Expand All @@ -47,15 +39,12 @@ install:
if [ "${ABIPY_INSTALLER}" == "pip" ]; then
# pip-based installation.
source dev_scripts/conda_get.sh # Needed for Abinit
echo "Installing abinit from abinit channel ..."
conda config --add channels conda-forge
conda install -y -c abinit abinit=${ABINIT_VERSION}
abinit --version
abinit --build
# We are gonna use the github version
sed -i '/pymatgen/d' requirements.txt
travis_wait pip install -r requirements.txt
travis_wait pip install -r requirements-optional.txt
conda install -y -c conda-forge graphviz python-graphviz
#pip install graphviz
#travis_wait pip uninstall -y pymatgen
elif [ "${ABIPY_INSTALLER}" == "conda" ]; then
Expand All @@ -67,7 +56,7 @@ install:
fi
- if [[ "${TRAVIS_PYTHON_VERSION}" == "2.7" ]]; then conda install mock; fi
#- pip install graphviz
- pip install coverage>=4.4 -U --upgrade-strategy=eager

# Mayavi (optional requirement)
#- if [[ "${TRAVIS_PYTHON_VERSION}" == "2.7" ]]; then conda install mayavi; fi
Expand All @@ -82,7 +71,7 @@ install:
#- git clone --depth=50 https://github.com/materialsproject/pymatgen.git && cd pymatgen && pip install -r requirements.txt && pip install -r requirements-optional.txt && python setup.py install && cd ../

- python setup.py install
- mkdir -p ${HOME}/.abinit/abipy
- mkdir -p ${HOME}/.abinit/abipy
- cp abipy/data/managers/travis_scheduler.yml ${HOME}/.abinit/abipy/scheduler.yml
- cp abipy/data/managers/travis_manager.yml ${HOME}/.abinit/abipy/manager.yml
- ./dev_scripts/pyclean.py .
Expand All @@ -91,10 +80,7 @@ before_script:
# This to run tests requiring a graphical user e.g. mayavi
# https://docs.travis-ci.com/user/gui-and-headless-browsers/#Using-xvfb-to-Run-Tests-That-Require-a-GUI
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- sleep 3 # give xvfb some time to start
# https://github.com/travis-ci/travis-ci/issues/6307
- if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then rvm get head || true; fi
- if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then rvm get head || true; fi

# command to run tests
script: ./dev_scripts/runtests.sh
Expand All @@ -113,12 +99,3 @@ notifications:
- [email protected]
on_success: change
on_failure: always

# https://docs.travis-ci.com/user/deployment/pages/
#deploy:
# provider: pages
# skip_cleanup: true
# github_token: $GITHUB_TOKEN # Set in travis-ci.org dashboard
# local_dir: ${TRAVIS_BUILD_DIR}/yourfolder
# on:
# branch: master
70 changes: 46 additions & 24 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,24 +1,46 @@
* :release:`0.3.0 <2017-12-26>`
* :feature:`0` Add :ref:`abiview.py` script for a quick visualization of results.
* :feature:`0` :ref:`abicheck.py` accepts ``-with-flow`` options
* :feature:`0` Add AbinitInput.set_spell_check to activate/deactivate spell-checker
* :feature:`0` Improve coverage
* :bug:`0 major` Fix bug in in `SigresFile.get_dataframe` if QP states do not start with the same band index.
* :bug:`0 major` Fix bug in thermodinamical properties (zero-point energy was included twice)
* :feature:`0` Add ``mpirunner_options`` and ``shell_runner_options`` to |TaskManager|.
* :feature:`0` Autodetect presence in |DdbFile| of data required for the LO-TO splitting.
* :feature:`0` Solve problem with visualize in jupyter_ notebooks (files should be produced in workdir)
* :feature:`0` Change default value of ``shifts`` in :func:`abipy.abio.factories.g0w0_with_ppmodel_inputs`.
* :feature:`0` Add interface with phononwebsite_: `abiview.py phbands out_PHBST.nc -web`.
* :feature:`0` Add robots for comparing/analyzing multiple files of the same type (|DdbRobot|, |GsrRobot| ...)
Some of the robot capabilities are exposed via the :ref:`abicomp.py` and the :ref:`abirun.py` scripts.
* :feature:`0` Add several new options to :ref:`abirun.py`, :ref:`abicomp.py` and :ref:`abistruct.py` scripts.
* :support:`0` Significant improvements to the documentation and the website: add :ref:`plot-gallery` with matplotlib plots
and :ref:`flow-gallery` with AbiPy flows are now automatically generated.
* :feature:`0`: Add Shankland-Koelling-Wood Fourier interpolation scheme.
For the theoretical background see :cite:`Euwema1969,Koelling1986,Pickett1988,Madsen2006`.
* :release:`0.2.0 <2017-03-10>`
* :feature:`0` This is the first official release in which we have reached a relatively stable API
and a well-defined interface with the netcdf files produced by Abinit.
We recommend Abinit >= 8.0.8b, version 8.2.2 is required to analyze the electronic fatbands
saved in the FATBANDS.nc_ file.
Release 0.8.0: xxxx-xx-xx

* Add abicheck.py --create-config option to install predefined yaml configuration files
* Add support for NSCF calculations with meta-GGA.
* Preliminary support for panel dashboards exposed via `abiopen FILE --panel` and `abistruct panel FILE`.
Note that not all Abinit files are supported at present.
* Add examples and flows for effective mass calculations
* Add examples for quasi-harmonic calculations and post-processing tools
* Add support for JSON files (including MSONable format) to abiopen.py
Supports `--notebook`, `--panel` options such as `abiopen.py FILE.json --panel`
* Improved support for EPH calculations.
* Add `primitive` command to `abistruct.py` to get primitive structure from spglib

Release 0.7.0: 2019-10-18

* Remove support for py2. Now Abipy requires py >= 3.6 (3.8 is not yet supported)
* AbiPy now requires pymatgen >= 2019.10.16
* Move workflow code from pymatgen to abipy.flowtk
* Improved support for EPH calculations.

Release:0.3.0 2017-12-26

* Add ``abiview.py`` script for a quick visualization of results.
* ``abicheck.py`` accepts ``-with-flow`` option
* Add AbinitInput.set_spell_check to activate/deactivate spell-checker
* Improve coverage
* Fix bug in in ``SigresFile.get_dataframe`` if QP states do not start with the same band index.
* Fix bug in thermodinamical properties (zero-point energy was included twice)
* Add ``mpirunner_options`` and ``shell_runner_options`` to TaskManager.
* Autodetect presence in DdbFile of data required for the LO-TO splitting.
* Solve problem with visualize in jupyter notebooks (files should be produced in workdir)
* Change default value of ``shifts`` in ``abipy.abio.factories.g0w0_with_ppmodel_inputs``.
* Add interface with phononwebsite: ``abiview.py phbands out_PHBST.nc -web``.
* Add robots for comparing/analyzing multiple files of the same type (``DdbRobot``, ``GsrRobot`` ...)
Some of the robot capabilities are exposed via the ``abicomp.py`` and the ``abirun.py`` scripts.
* Add several new options to ``abirun.py``, ``abicomp.py`` and ``abistruct.py`` scripts.
* Significant improvements to the documentation and the website: add ``plot-gallery`` with matplotlib plots
and ``flow-gallery`` with AbiPy flows are now automatically generated.
* Add Shankland-Koelling-Wood Fourier interpolation scheme.

Release 0.2.0 <2017-03-10>

This is the first official release in which we have reached a relatively stable API
and a well-defined interface with the netcdf files produced by Abinit.
We recommend Abinit >= 8.0.8b, version 8.2.2 is required to analyze the electronic fatbands
saved in the FATBANDS.nc file.
Loading

0 comments on commit 39e1321

Please sign in to comment.