--- title: "nf-core/tools config builder meeting notes" tags: configbuilder --- ## 2025-12-01 ### Useful Links - Scope Diagram: https://docs.google.com/drawings/d/1kh6KsGzL2AAitKQXlNCvQupjzYn12FGTUvJO1UkcCu0/edit?usp=sharing - Issue: https://github.com/nf-core/tools/issues/2731 - OLD Branch: https://github.com/nf-core/tools/pull/3001 (but might want to replace) - New Branch: https://github.com/nf-core/tools/pull/3949 - Textual docs: https://textual.textualize.io/ ### Meeting Notes - Targets for 3.6.0 - Basic questions, all manual fill in by user - Target for 3.7.0 - Automation (auto-guessing scheduler, container system, pipeline module paths) Next steps: - (JMR) Resolve conflicts from current PR :white_check_mark: - (JMR) Merge into a new nf-core branch :white_check_mark: (https://github.com/nf-core/tools/pull/3949) - (JMR) Create project board :white_check_mark: (https://github.com/orgs/nf-core/projects/143/views/2) - (GS/MG/JMR) Make issues (as preferred) - (MG) Build screens for pipeline configs - (MG) Test automation with different HPC configurations ## 2024-02-20 Attended: James, Júlia, Matthias, Cris ### Notes - Current state/ideas: - Simple config builder works - TUI? - fast mode would be nice to have (with mostly autodetect and spit out defaults) - Auto-proporgate list of processes to offer to user for pipeline-config - TUI - Pydantic model for validation - Use branch/fork: ewels:textual-create (see pipelines/create: good template to work from -> or on dev) - Autodeteciton: - author: from gh cli - modules code for pulling module information - utils.py is a good place to look - Tooling while developing - Use pre-commit! - James python amateur notes - Don't worry about coding style (except python 2) - tools/nf-core__main__/.py is the entry point - within main.y you find the function that comes from each sub-command `.py` (which can be within a directory) - the init imports all of the functions ### Actions - Plan: - Update Georgie if necessary (maybe meeting before) - Ask Júlia before hackathon if merged into dev - General: Georgie/Cris/James take a stab, and request regular reviews from Júlia/Mathias who can point out duplicate code etc. - Make sure to have precommit set up etc. - Start with `ewels:textual-create` or `dev` as foundation - To begin: - Define main subcommand in `__nf-core/__main__.py`, calling a function - Function stored in a script (e.g. `create.py`) or within a specific directory - `__init__.py` file imports modules from elsehwere to use in X context - To add questions, follow 'pipelines/create' textual examples - For automation, e.g. getting name using git cli - For how to construct pydantic validation - etc - For general functions that may exist, see `utils.py`