Developers! How are you using Polyglot Notebooks or .NET Interactive #2925
Replies: 16 comments 9 replies
-
I use Polyglot Notebooks for:
I'm looking into REST tonight and then variable sharing and the HTML / JS and then SQL and KQL for variety. I'll be getting a lot deeper into this area for my conference presentation on Polyglot and Jupyter on May 5th at Stir Trek. I absolutely love Polyglot Notebooks and want to see it reach a point where I can load data, transform it, use it to train a model, and use it to visualize data as well. |
Beta Was this translation helpful? Give feedback.
-
I have used them to integrate C# and F# with Markdown to use as a teaching aid. I also used the SQL query as a way to have several queries that built on each other in different cells as an alternative to having SSMS open with different SQL queries, some in comment blocks because they're "less safe" than others, etc. I imagine we all have had SSMS open with SQL just hanging out. I used notebooks to try and be a little more formal and make something to share with my team. I recently worked somewhere where we were getting into notebook in Databricks, and we had a heavy investment in C#. There was real interest in having C# or .NET interactive work in that setting, but I couldn't figure it out so instead the developers just started using Python and made the switch. I still am not sure if this is possible or maybe it's not really all that related to dotnet interactive. Thanks for starting this discussion, I haven't tried using the Mermaid support but I am going to try using that next for a future presentation. I think being able to deliver all of this in a GitHub repo that an attendee could clone and check out later has the potential to be really useful and a nice training aid after the fact. |
Beta Was this translation helpful? Give feedback.
-
Loving it for PowerShell. Especially instructional material. |
Beta Was this translation helpful? Give feedback.
-
Playing with this extension. I was trying to create a notebook with PowerShell kernel that would create resources in Azure but I think the AzurePowerShell kernel is missing. But I am very exited with that particular extension. Best Regards. |
Beta Was this translation helpful? Give feedback.
-
Just published a repo for OpenAI/Azure OpenAI PowerShell Samples: https://github.com/dfinke/openai-powershell-samples. |
Beta Was this translation helpful? Give feedback.
-
I use it for loads of stuff. Definitely lots of conversions. I generate classes and interfaces from databases, convert data, do file translations, just like everything... It's amazing. Mostly use C# kernel but have played with F# and python. |
Beta Was this translation helpful? Give feedback.
-
I would use it in polyglot notebooks. But when they got some initial features, like C# intellicence. Without intellicence it is like to write code in notepad.exe. Possible, but unneeded time killer. Besides intellisense it lucks support of any normal charting library. Currently Plotly.NET port is barely usable from C#. Some types of chart is impossible to create (vertically stacked from example) from C#. Maybe it is good for F#, haven't tried, but with C# it is highly ugly, non intuitive API. For now I can't image real use case for .NET Interactive. And not because of .NET interactive itself - the library is very good and promising. Because there is no polyglot-compatible notebooks with simple intellicence support. |
Beta Was this translation helpful? Give feedback.
-
I would like to use it for investigating issues and bugs but I am still waiting for KQL support against a log analytics workspace or application insight resource. There are 2 open issues that are asking for this feature, see this and this. So far there does not seem to be much activity. |
Beta Was this translation helpful? Give feedback.
-
I use it mainly to teach C# to undergraduate students. Recently, I've also created a new Language Kernel in order to provide some Notebooks to beginners in X# Language (www.xsharp.eu) |
Beta Was this translation helpful? Give feedback.
-
I'm starting a new series of videos over the summer teaching the C#
language to beginners and I happen to be using Polyglot Notebooks for a lot
of that process because you get nice inline display of values and short
feedback loops from writing code to seeing results.
Of course, I'm also using it to show the community what's possible with
data science in .NET and have an upcoming book and online video course on
this topic.
- Matt Eland, Microsoft MVP in AI
[image:
https://mvp.microsoft.com/en-us/PublicProfile/5005207?fullName=Matt%20Elandhttps://mvp.microsoft.com/en-us/PublicProfile/5005207?fullName=Matt%20Eland]
<https://mvp.microsoft.com/en-us/PublicProfile/5005207?fullName=Matt%20Elandhttps://mvp.microsoft.com/en-us/PublicProfile/5005207?fullName=Matt%20Eland>
…On Wed, May 22, 2024 at 10:43 AM Fabrice Foray ***@***.***> wrote:
I use it mainly to teach C# to undergraduate students.
I've done some Notebooks, for C#, SQL, EntityFramework, ML.NET, ...
Recently, I've also created a new Language Kernel in order to provide some
Notebooks to beginners in X# Language (www.xsharp.eu)
—
Reply to this email directly, view it on GitHub
<#2925 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABGQ4ZJ6BBBKH4UTOPVI25LZDSVJXAVCNFSM6AAAAAAXEDQG32VHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TKMRTGA3TA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I'm using notebooks to experiment on and shape development of various projects, generally for working out how things should function and work together, and if I'm on the right track with regard to API design in those projects. |
Beta Was this translation helpful? Give feedback.
-
Besides all the cool stuff mentioned before, I plan to write one-off scripts to test my classes, which contain logics for different mathematical models. Many times, I need to quickly create a test case with multiple objects, to help communicate with clients/colleagues. Writing these code interactively frees me from compilation errors. I image storing a bunch of notebooks outside the codebase, so these small scripts (or hopefully ideas) don't get lost. I do have one difficulty, so want to post it here. Some of my classes are internal, as we don't want the clients to rely on their API. They are however essential, as other classes depend on them. The difficulty is that these internal classes are not accessible in .NET interactive. This is a typical situation for a test project (handled by |
Beta Was this translation helpful? Give feedback.
-
Danke euch für das klasse Tool. Bitte macht weiter. Das ist genau das Richtige um das Wissen in einer guten Qualität weiter zu geben. In letzter Zeit, werden von mir Polyglots geschrieben die unsere Projekte mit Beispielen und deren Nutzung dokumentieren. Echt klasse Tool, dafür. Wenn weitere Featuren deren Reife erreichen, sollte das auch als Test-Tool eingesetzt werden. WebApi, DB, REPL. Mit einschließendem Reporting. Danke noch mal |
Beta Was this translation helpful? Give feedback.
-
I would very much like to use Notebooks for one-off / rarely used scripts in our large project. There are times when we need to do some sort of manipulation of data where you need the libs and models used by the large project. But we don't want to add it as a part of the large application or create some other project for it. Today we have several LinqPad variants of this where a Notebook would make more sense. And be much more usable with the power of markdown together with runnable code. However I have not yet found a way to debug a C# Polyglot Notebook (as you can with Python & Jupyter) which makes it quite hard to use. So really hoping for this in the near future. Relevant issues for adding debug support: |
Beta Was this translation helpful? Give feedback.
-
Jupyter for the. NET kernel is a very important tool and an important field for C # scripting applications. Python has achieved the status of the world's number one application language in this field. And personally, I feel that this field is also very useful and important because it does not compile, responds quickly, and provides an interactive code experience that other C # fields cannot achieve; There are currently many 'C # script' engines based on 'rosyln', but almost all of them are mediocre because their code execution experience is still far inferior to that of traditional scripting languages such as Python, with noticeable lag. However, compared to these C # script engines, VSCode Jupyter has a better interactive experience and is still smooth to use, similar to Python's Jupyter in many aspects. But it has many long-standing unresolved issues, such as the locking problem of the directory where DLLs are located; And the issue of Jupyter not correctly reflecting updates after DLL updates. For example, when you re execute a new DLL referenced by # r, sometimes it does not actually update, etc; There are also some apparent vulnerabilities, such as the possibility of 'vscode jupyter' crashing when executed multiple times in a short period of time. Anyway, I feel like there are still quite a few bugs. But as someone who loves scripting languages very much, I currently have no other choice if I want to use C # for script development. In addition, 'vscode jpyter' relies on the 'dotnet interactive' tool, but they all update slowly and still do not support. NET 9; I feel very uncomfortable. Why is the development so slow in these very important fields? The quality is not very good yet, and many bugs can affect the user experience, making it difficult to establish the overall ecosystem. Think about why Python has such a powerful ecosystem? I think it may be related to their good script user experience. So I hope these issues can be gradually improved in the future. Also, personally I won't install redundant features, so I won't install tools like 'polyglot notebooks' because I mainly use C # scripts and care about their quality, bugs, and performance issues. I don't want to use irrelevant or complicated things. |
Beta Was this translation helpful? Give feedback.
-
Support for UDF when using Dotnet Spark.NETThe module needed for supporting UDF for Spark.NET in Interactive needs an upgrade, since there is now significant update to Spark.NET since 2025 |
Beta Was this translation helpful? Give feedback.
-
If you're a developer, let us know how you are using Polyglot Notebooks or .NET Interactive.
Please include the language/kernel you're using, what your overall goal is, and how well it works/any problems your encounter.
Beta Was this translation helpful? Give feedback.
All reactions