I restructured the file tree to get the structure close to what is recommended/typical for a python package. Some of the other changes are:
Moved the contents of the __init__.py to espresso.py, which adds a bit of flexibility but doesn't change the way things are imported.
Rewrote the setup.py to get rid of the references to make and used distutils to build the c extensions and put them in the proper path. Now after downloading (or cloning ase-espresso) you can install it with pip by pip install ./ase-espresso
Added a draft of the sphinx documentation with sphinx-apidoc configuration to automatically document the API, you can test it by going to ase-espresso/docs building the docs by make html and the viewing the html in a browser firefox build/html/index.html.
Removed the site.cfg file and introduced the siteconfig.py module which check which scheduler is available and sets the proper variables, currently only PBS/SLURM are supported.
Changed the parent classes of Espresso and Vibespresso to ase.calcualtors.calculator.Calculator
Added the results attribute to the Calculator object to make it compatible with the new trajctory format.
Dropped the constants module and the constants are now imported from ase.units
Corrections to introduce compatibility with Python3.x, including relative imports, corrected print functions, has_key occurrences
Corrected a small bug in get_work_function
Warning
Backwards compatibility is broken since commit 986c9600 because the names of the main classes are changed from espresso, vibespresso and multiespresso to Espresso, Vibespresso and Multiespresso respectively. The change is introduced to conform to python standard and to avoid confusion in module/class names.
I hope you will find some of those changes useful.
I restructured the file tree to get the structure close to what is recommended/typical for a python package. Some of the other changes are:
__init__.py
toespresso.py
, which adds a bit of flexibility but doesn't change the way things are imported.make
and useddistutils
to build the c extensions and put them in the proper path. Now after downloading (or cloning ase-espresso) you can install it withpip
bypip install ./ase-espresso
sphinx-apidoc
configuration to automatically document the API, you can test it by going toase-espresso/docs
building the docs bymake html
and the viewing the html in a browserfirefox build/html/index.html
.site.cfg
file and introduced thesiteconfig.py
module which check which scheduler is available and sets the proper variables, currently only PBS/SLURM are supported.Espresso
andVibespresso
toase.calcualtors.calculator.Calculator
results
attribute to theCalculator
object to make it compatible with the new trajctory format.constants
module and the constants are now imported fromase.units
has_key
occurrencesget_work_function
Warning Backwards compatibility is broken since commit 986c9600 because the names of the main classes are changed from
espresso
,vibespresso
andmultiespresso
toEspresso
,Vibespresso
andMultiespresso
respectively. The change is introduced to conform to python standard and to avoid confusion in module/class names.I hope you will find some of those changes useful.
Cheers!