Skip to content

Conversation

@kasra-keshavarz
Copy link

This pull request introduces the initial implementation of the hypeFlow package, providing a workflow for setting up HYPE hydrological models. It adds the Python package structure, a command-line interface (CLI), configuration examples, and documentation. The changes include the main package code, CLI entrypoint, configuration and attribute examples, and project metadata for packaging and development.

Core package and CLI implementation:

  • Added the main package code in src/hypeflow/hypeflow.py and exposed key workflow functions via src/hypeflow/__init__.py, enabling users to generate HYPE model setup files programmatically,
  • Implemented a CLI in src/hypeflow/cli/main.py for generating HYPE setup files from a JSON configuration, including input validation, verbose output, and stepwise execution.

Documentation and configuration examples:

  • Added a comprehensive README.md detailing installation, usage (CLI and Python API), configuration file structure, and CLI options.
  • Provided an example JSON configuration file and sample attribute CSVs for elevation, landcover, and soil, as well as example shapefile metadata, to guide users in preparing their own inputs.

Packaging and development tooling:

  • Added pyproject.toml to define build system, dependencies (including scientific and geospatial libraries), development and documentation extras, CLI entrypoint, and code style/test/tooling configurations.

These changes establish the foundation for the hypeFlow package, enabling both command-line and programmatic workflows for HYPE model setup.

@kasra-keshavarz kasra-keshavarz changed the title Adding CLI and adjusting functions to address bugs Python packaging, CLI, and other relevant adjustments Aug 5, 2025
This switch was to prevent errors related to thread racing conditions
happening by using CDO.

reported-by: Kasra Keshavarz <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant