Skip to content
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

Modernization PR #369

Merged
merged 29 commits into from
Oct 24, 2023
Merged

Modernization PR #369

merged 29 commits into from
Oct 24, 2023

Conversation

mkhorton
Copy link
Member

@mkhorton mkhorton commented Oct 7, 2023

This will address some of the items in #265. In brief, several choices were made early on in Crystal Toolkit development due to the limitations of Dash v1. Some of these choices can now be re-thought due to features now available in Dash 2.

In addition, several aspects of Crystal Toolkit are either poorly documented or incomplete, and I would like to make sure these are polished.

So far, this PR includes:

  • A new CrystalToolkitPlugin to replace the old register_crystal_toolkit() method.
  • Comprehensive addition of all Bulma "Element" and "Form" classes with explicit kwargs, type hints and docstrings

Notifying the MP infra team (@tschaume, @yang-ruoxi, @munrojm, @janosh, @tsmathis). I'm making every effort to make sure no backwards incompatible changes are introduced. It's possible some backwards incompatible changes will be required, but if so I'll try and make these minimal and make sure that a migration path is easy and documented.

@mkhorton
Copy link
Member Author

This PR will also:

  • Switch to using the Jupyter Dash embedding (available from Dash 2.11+) for displaying components inline in Jupyter notebooks. I anticipate this to be a lot easier to maintain than our current extension, as well as supporting more Jupyter environments (notebook/VS Code), but with some slight performance penalty.

@mkhorton mkhorton marked this pull request as ready for review October 23, 2023 23:40
@mkhorton
Copy link
Member Author

I intend to merge this PR once tests pass (which I believe are just Python 3.9 related) since the PR is otherwise complete, and should not contain any breaking changes. I've updated the documentation. I expect an additional "Modernization" PR to follow at a later date.

The update to 3.10 is mainly to allow for use of 3.10 features like type hints and to simplify development. If support for older Python versions is required, it should be possible to relax this requirement with minimal effort.
@mkhorton mkhorton merged commit fc3ffcc into main Oct 24, 2023
5 of 6 checks passed
@mkhorton mkhorton deleted the mkhorton/modernization branch October 24, 2023 17:47
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