HiTide Configuration Generator is a Python CLI tool that generates and validates configuration files for HiTide from Excel spreadsheets. It provides a flexible and type-safe way to create configuration settings for generating footprint and thumbnails.
- Generate configuration from Excel spreadsheets
- Type-safe value conversion
- JSON schema validation
- Flexible configuration generation
- CLI interface for easy use
- Python 3.10+
- Poetry
- pip
- Clone the repository:
git clone https://github.com/podaac/forge-tig-configuration.git
cd forge-tig-configuration
- Install Poetry (if not already installed):
pip install poetry
- Install project dependencies:
poetry install
To activate the Poetry virtual environment:
poetry shell
generate_config -f <path_to_excel_file>
-f, --file
: [Required] Path to the Excel file containing configuration settings-h, --help
: Show help message
Your Excel file should contain three sheets:
required-settings
: Global configuration settingsforge-py
: Strategy and processing configurationstig
: Image generation variables
- required-settings: Contains key-value pairs for global settings
- forge-py: Configuration for footprint strategy and processing parameters
- tig: List of image variables for processing
- Fill in data for each sheet, leave empty if the field doesn't apply.
- Documentation for forge-py configurations https://github.com/podaac/forge-py
- Reads specified Excel file
- Converts data types safely
- Merges configurations from different sheets
- Applies JSON schema validation
- Generates a configuration file named after the
shortName
- Prints JSON configuration to console
- Generates a
.cfg
file named after theshortName
- Validates input against JSON schema
- Provides detailed error messages for configuration issues
- Handles type conversions and edge cases
poetry run pytest tests/
To add a new project dependency:
poetry add <package-name>
To add a development dependency:
poetry add --group dev <package-name>
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the Apatche License. See LICENSE
for more information.