OpenMDAO / OpenMDAO/Aviary

Combine split util files

Open
#1,231 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

code cleanup
Dominant language
Python
Stars
287
Forks
140
Avg merge
6d 14h
Merged PRs (30d)
18

Description

Desired capability or behavior.

Due to circular import issues the util files in aviary/utils have been split into multiple files.

Suggested implementation.

This can likely be avoided by some fancier Python to avoid circular imports when a module is used just for type hinting - see the subsystem_builder.py for a working example. If there is a true circular import that can't be avoided then we should find a better organization and intuitive naming scheme so it is easier to guess which file will contain the desired function.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the split files under aviary/utils and the working type-hinting example in subsystem_builder.py. Trace the circular imports and determine whether type-only imports can resolve them; otherwise document a clearer organization and naming scheme. Done means the utility modules are combined or reorganized without circular-import failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.