.NET Interactive
.NET Interactive takes the power of .NET and embeds it into your interactive experiences. Share code, explore data, write, and learn across your apps in ways you couldn't before.
- Notebooks: Jupyter, nteract, and Visual Studio Code
- Code bots
- Devices like Raspberry Pi
- Embeddable script engines
- REPLs
.NET Interactive IS .NET UNLEASHED
Notebooks with .NET
Visual Studio Code
We recently introduced the .NET Interactive Notebooks extension for Visual Studio Code, which adds support for .NET Interactive using the new Visual Studio Code native notebook feature. We encourage you to try it out. If you'd like to contribute, you can start here.
Features
Multi-language notebooks
.NET Interactive enables users to mix languages in a single notebook or cell without a wrapper. The multi-language experience opens up doors for users to use the best language for the task at hand.
Languages supported
- C# and F#
- PowerShell built in collaboration with the PowerShell team
💙 - JavaScript
- HTML
- SQL built in collaboration with the Azure Data / SQL team
💙
Coming soon
- Kusto
What languages are we exploring?
- Python and R
Variable Sharing
.NET Interactive enables you to write code in multiple languages within a single notebook and in order to take advantage of those languages' different strengths, you might find it useful to share data between them. Read more here.
The gif above showcases the following:
- Variable sharing across C#, HTML and JavaScript cells.
- Multi-language cells.
For more examples on multi-language notebooks and variable sharing check out our polyglot samples.
Visualization
Low code visualization
In just a single line of code easily visualize data with Microsoft SandDance and nteract DataExplorer. For example the code snippet below will render an interactive Microsoft SandDance.
housingData.ExploreWithSandDance().Display();
For more low code visualization examples, check out our samples.
Works with your favorite visualization libraries
The image below showcases the following:
C#
cell: Define a variable in C#JavaScript
cell: Use RequireJS to import d3.jsHTML cell
: Visualize the data
Full example here.
Jupyter and nteract
Project Jupyter is a popular platform for creating interactive notebooks that can be used for data science, documentation, DevOps, and much more.
There are several ways to get started using .NET with Jupyter, including Jupyter Notebook, JupyterLab, and nteract.
- Try sample .NET notebooks online using Binder. This also allows you try out our daily builds, which include preview features of F# 5.
- Install .NET Interactive to create and run .NET notebooks on your machine.
- Share your own .NET notebooks with others online using Binder.
- Use .NET Interactive with nteract
- Use .NET Interactive on Raspberry Pi and pi-top
Documentation
You can find additional documentation here.
Packages
We provide a number of packages that can be used to write custom extensions for .NET Interactive or to build your own interactive experiences.
Contribution Guidelines
You can contribute to .NET Interactive with issues and pull requests. Simply filing issues for problems you encounter is a great way to contribute. Contributing code improvements is greatly appreciated. You can read more about our contribution guidelines here.
Customers & Partners
Azure Synapse Analytics | Azure HDInsight (HDI) |
---|---|
Azure Synapse Analytics uses the .NET kernel to write and run quick ad-hoc queries in addition to developing complete, end-to-end big data scenarios, such as reading in data, transforming it, and visualizing it | You can launch Jupyter notebooks from your HDInsight cluster to run big data queries against the compute resources in that cluster. |