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

Potential breaking changes in .NET Interactive dependencies #476

Open
colombod opened this issue Nov 13, 2024 · 5 comments
Open

Potential breaking changes in .NET Interactive dependencies #476

colombod opened this issue Nov 13, 2024 · 5 comments

Comments

@colombod
Copy link

With the las published packages a lot of big changes in command parsing. This might create issues at runtime.

The interactive extension should update to latest if possible, also adopting the .dib based approach to install extension is advised, the interface based discovery is not ideal and introduces more issues, this extension could be built without dependencies on .NET Interactive by using convention based formatting and .dib to load the extension.

@kMutagene
Copy link
Collaborator

Thanks for the heads-up.

this extension could be built without dependencies on .NET Interactive by using convention based formatting and .dib to load the extension

It must stop being its own package though if i understand the docs correctly, because there has to be an attribute on the type that gets the custom formatting, the formatting code must be in the source of the core lib?

@jonsequitur
Copy link

The extension isn't currently broken as far as I can tell.

Image

@jonsequitur
Copy link

It must stop being its own package though if i understand the docs correctly, because there has to be an attribute on the type that gets the custom formatting, the formatting code must be in the source of the core lib?

As long as the only notebook behavior you want to customize is formatting (which appears to be the case with Plotly.NET), you don't need a separate assembly or a separate package at all, nor do you need to embed a .dib file to register formatters. You can follow the convention-based TypeFormatterSourceAttribute approach, remove the dependency on .NET Interactive libraries entirely, and therefore remove future version incompatibility problems.

You can see examples of this approach here.

@kMutagene
Copy link
Collaborator

@jonsequitur That's what i was thinking, thanks. I'll look into it

@jonsequitur
Copy link

jonsequitur commented Nov 14, 2024

Let me know if you want a hand or if you have feedback on the approach. And if you want to contribute F# sample code to document the convention-based approach, I'm sure others would find it helpful.

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

No branches or pull requests

3 participants