Skip to content

Suggest breaking up codes.py into a module in the package

Description

I would suggest breaking the Code base class, the FHIaims class and Exciting class in codes.py into their own files and making codes a module in the package.

I believe this keep the package structure much more clean as the software scales to support other "codes" besides FHIaims and Exciting.

Suggesting moving from the structure of:

├── bz_utilities.py
├── codes.py
├── __init__.py
├── prepare_input.py
└── structure_info.py

To instead be:

├── bz_utilities.py
├── codes
│   ├── code.py
│   ├── exciting.py
│   ├── fhaims.py
│   └── __init__.py
├── __init__.py
├── prepare_input.py
└── structure_info.py

This will help 1) keep a one-to-one relation for files to classes and 2) be easier to add new classes for new codes.

This issue is optional as part of my review for JOSS and only a suggestion.