Skip to main content

Python tools to handle CP2K input files

Project description

cp2k-input-tools

Build Status codecov

Fully validating pure-python CP2K input file parsers including preprocessing capabilities

Available commands:

  • cp2klint .. a CP2K input file linter
  • fromcp2k .. create a JSON or YAML configuration file from a CP2K input file
  • tocp2k .. convert a JSON or YAML configuration back to CP2K's input file format

Requirements

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


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)

Uploaded Source

Built Distribution

cp2k_input_tools-0.1.0-py3-none-any.whl (668.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page