Python tools to handle CP2K input files
Project description
cp2k-input-tools
Fully validating pure-python CP2K input file parsers including preprocessing capabilities
Available commands:
cp2klint
.. a CP2K input file linterfromcp2k
.. create a JSON or YAML configuration file from a CP2K input filetocp2k
.. convert a JSON or YAML configuration back to CP2K's input file format
Requirements
- Python 3.6+
- https://pypi.org/project/transitions/
For development: https://poetry.eustace.io/
Idea
- have a pure-python CP2K input file linter with proper syntax error reporting (context, etc.)
- a final & complete restart file parser
- basis for an AiiDA CP2K project importer
- testbed for alternative import formats (YAML, JSON) for CP2K
- possible testbed for a re-implementation of the CP2K input parser itself
TODOs
- parser: improve error reporting with context (tokenizer/preprocessor is already done)
- preprocessor: losing original context when replacing variables
- parser: unit conversion of values
- parser: parsing the XML is sloooow (easily 70% of the time), pickle or generate Python code directly instead and keep XML parsing as backup?
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cp2k-input-tools-0.1.0.tar.gz
(643.9 kB
view hashes)
Built Distribution
Close
Hashes for cp2k_input_tools-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2e6bf0cf5c14b38dfa1dc52311b46f70f3767a516885e3c93107871bea5abd2 |
|
MD5 | 62b5bac8c80b42d99b2e4f6d7e8c8646 |
|
BLAKE2b-256 | abd98662ae2c188db727b4008cca02fa48a786af7503e93181dd9d1a33ca9a84 |