-
Notifications
You must be signed in to change notification settings - Fork 50
Open
Labels
enhancementImprove any current implemented featureImprove any current implemented feature
Description
🗂️ Issue: Improve Beta Feature Visibility Control in PyFluent
Current Status
PyFluent currently provides users with a session-level method (enable_beta_features()
) to activate beta features. However:
- The settings API does not yet support the concept of hiding or exposing individual beta-level items based on this flag.
- As a result, even if the
enable_beta_features()
switch is used, there is no mechanism to dynamically hide or reveal beta settings objects or properties. - There is also currently no trustable mechanism to ensure developers properly classify or gate such features.
- Example:
materials.database
remains visible in the API but is really just a thin, unstructured TUI wrapper — it arguably should not be exposed as part of a stable API surface.
- Example:
Problem
This means:
- Users may see unfinished, low-quality, or redundant API items that appear fully supported but are actually experimental.
- There is no clear, consistent signal to developers or downstream tools about which parts of the API are stable vs. beta.
- There is a risk of accidental usage of non-final parts of the API in production workflows.
Proposal
To address this, consider:
- Introducing explicit beta path tagging for all settings API objects, parameters, and methods intended to be gated.
- Allowing PyFluent to maintain its own internal list of beta paths, decoupled from developers' manual filtering.
- Linking this list directly to the
enable_beta_features()
switch, so that non-beta users cannot access or see these paths. - Providing clear warnings or structured metadata when beta items are exposed.
Example Use Case
The current materials.database
situation illustrates this gap:
- It is visible to users but behaves like an old-style TUI object.
- There is no practical reason for it to appear in the documented stable API surface at this stage.
Benefits
- Clearer boundaries between stable and experimental capabilities.
- Reduced accidental reliance on unfinished or unreviewed features.
- Stronger alignment with the intended quality promise of the PyFluent API.
- Improved ability for LLMs, IDEs, and doc tools to respect feature maturity.
Request: Please share design ideas for how we could implement and maintain this more robust beta feature control.
Metadata
Metadata
Assignees
Labels
enhancementImprove any current implemented featureImprove any current implemented feature
Type
Projects
Status
No status