Skip to content

feat: beta features access #4153

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

feat: beta features access #4153

wants to merge 7 commits into from

Conversation

prmukherj
Copy link
Collaborator

@prmukherj prmukherj commented Jun 12, 2025

Allow enabling of beta features both in meshing and solver mode.

For now only 2 features are there:

  1. In meshing mode: topology based meshing.
  2. In solver mode, "switch_to_meshing" mode.

Both of these are accessible only after enabling beta features. Please refer tests for details.

@github-actions github-actions bot added the new feature Request or proposal for a new feature label Jun 12, 2025
@prmukherj
Copy link
Collaborator Author

I think we should add this to our docs? In user-guide I mean?

@prmukherj prmukherj marked this pull request as ready for review June 19, 2025 09:40
def __dir__(self):
if self._fluent_connection is None:
return ["is_active"]
if self._app_utilities.is_beta_enabled():
Copy link
Collaborator

@seanpearsonuk seanpearsonuk Jun 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@prmukherj I believe that we should implement _is_beta_enabled() at base-class level.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, sounds right.

@@ -238,3 +237,15 @@ def transfer_mesh_to_solvers(
clean_up_mesh_file,
overwrite_previous,
)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@prmukherj I believe that this should be a base class method that looks like:

    def enable_beta_features(self):
        """Enable access to Fluent beta-features"""
        # - app utilities encapsulates checking of current status
        # - server figures out how to concretely enable beta (given that the action might be different per Fluent run mode)
        self._app_utilities.enable_beta(self)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AppUtilities should contain a enable_beta?

Copy link
Collaborator

@seanpearsonuk seanpearsonuk Jun 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm convinced of it.

Anything like a concrete TUI/Scheme dependency needs to be pushed as far into the back-end as possible — otherwise we'll slide back to where we were. For older servers, we can implement it in the app utilities client wrapper.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, will do it. It's actually agrees with something suggested by Mainak as well. @mkundu1

Comment on lines +247 to +248
if self._fluent_connection is None:
return ["is_active"]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@prmukherj The strategy of what to do when detached is a core decision, not for concrete leaf classes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature Request or proposal for a new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add session method to enable beta features Add switch_to_meshing
3 participants