Skip to content

Commit

Permalink
🚀 RELEASE: v0.8.0 (#16)
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisjsewell authored Sep 29, 2020
1 parent c3dd93f commit 65f132d
Show file tree
Hide file tree
Showing 5 changed files with 57 additions and 37 deletions.
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Changelog

## v0.8.0 2020-09-29

✨ Support for aiida-core >= 1.4.0

- drop support for python<3.5
- remove `six` dependency
- fix deprecation warnings
- improve pre-commit code style
- add Github CI, tox.ini and docker-compose.yml for improved test infrastructure

♻️ Refactor potential plugins:
Potential plugins are now structured as a class, which inherit from an abstract base class.

✨ Add `MdMultiCalculation`:
This is a generalisation of MdCalculation, which can sequentially run 1 or more integration 'stages', that may have different integration styles and dump rates

✨ implement `LammpsTrajectory`: Instead of using `aiida.orm.TrajectoryData` use a bespoke data object, that directly stores the trajectory file. The trajectory file is also read/stored in step chunks, so will not over exert the memory buffer, and is stored in a compressed zip file. In testing, this halved the memory footprint.

## v0.4.1b3 2019-06-26

Support for aiida-core v1.0.0b3
47 changes: 31 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -426,39 +426,54 @@ calc_node.outputs.trajectory_data.attributes

### Coding Style Requirements

The code style is tested using [flake8](http://flake8.pycqa.org),
with the configuration set in `.flake8`,
and code should be formatted with [black](https://github.com/ambv/black).

Installing with `aiida-lammps[code_style]` makes the [pre-commit](https://pre-commit.com/)
package available, which will ensure these tests are passed by reformatting the code
and testing for lint errors before submitting a commit.
It can be setup by:
The code is formatted and linted using [pre-commit](https://pre-commit.com/), which runs in an isolated, virtual environment:

```shell
>> cd aiida-lammps
>> pre-commit install
>> pip install pre-commit
>> pre-commit run --all
```

Optionally you can run `black` and `flake8` separately:
or to automate runs, triggered before each commit:

```shell
>> black .
>> flake8 .
>> pre-commit install
```

Editors like VS Code also have automatic code reformat utilities, which can adhere to this standard.

### Testing

The following will discover and run all unit test:
the test suite can be run in an isolated, virtual environment using `tox` (see `tox.ini` in the repo):

```shell
>> pip install tox
>> tox -e py37
```

or directly:

```shell
>> pip install -e .[testing]
>> reentry scan -r aiida
>> pytest -v
```

The tests require that both PostgreSQL and RabbitMQ are running.
If you wish to run an isolated RabbitMQ instance, see the `docker-compose.yml` file in the repo.

Some tests require that a `lammps` executable be present.

The easiest way to achieve this is to use Conda:

```shell
>> conda install lammps==2019.06.05
# this will install lmp_serial and lmp_mpi
```

You can specify a different executable name for LAMMPS with:

```shell
>> tox -e py37 -- --lammps-exec lmp_exec
```

To output the results of calcjob executions to a specific directory:

```shell
Expand Down
2 changes: 1 addition & 1 deletion aiida_lammps/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.7.0b5"
__version__ = "0.8.0"
2 changes: 1 addition & 1 deletion setup.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "aiida-lammps",
"version": "0.7.0b5",
"version": "0.8.0",
"description": "AiiDA plugin for LAMMPS",
"url": "https://github.com/aiidaplugins/aiida-lammps",
"author": "Abel Carreras, Chris Sewell",
Expand Down
20 changes: 1 addition & 19 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,7 @@ deps =
black
flake8
commands_pre = reentry scan
commands = pytest --lammps-exec lmp_serial {posargs}

[testenv:py{36,37,38}-docs-{clean,update}]
extras = docs
commands_pre = reentry scan
setenv =
update: RUN_APIDOC = False
changedir = docs
whitelist_externals = make
commands =
clean: make clean
make debug

[testenv:py{36,37,38}-{sync,syncrm}]
description=sync notebooks with jupytext
skip_install = true
deps = jupytext >=1.6
commands = jupytext --sync {posargs:docs/source/notebooks/*.ipynb}
; run docs/source/notebooks/*.md before docs builds
commands = pytest {posargs:--lammps-exec lmp_serial}

[pytest]
addopts = --ignore=setup.py
Expand Down

0 comments on commit 65f132d

Please sign in to comment.