Our great sponsors
-
interactive
.NET Interactive combines the power of .NET with many other languages to create notebooks, REPLs, and embedded coding experiences. Share code, explore data, write, and learn across your apps in ways you couldn't before.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WinPython
A free Python-distribution for Windows platform, including prebuilt packages for Scientific Python.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Hi! My name is Claudia and I am a PM at Microsoft (opinions are my own) working on Polyglot Notebooks in VS Code. Polyglot Notebooks are exactly what you are describing! They are notebooks where you can use multiple languages AND share variables between them to ensure a continuous workflow. Not only that, but each language has language server support. Polyglot Notebooks currently supports C#, F#, PowerShell, JavaScript, HTML, SQL, KQL, and Mermaid.
We have just added support for Python and R integration and I am actually in search of external testers! If you are willing to sign an NDA to try out our Python and R integration and give us feedback please drop your email in the form below and I will reach out with instructions for you to try it out!
https://forms.office.com/r/UQchfQSGa5
If you'd like to start trying it out today you can install the extension from the marketplace here: https://marketplace.visualstudio.com/items?itemName=ms-dotne...
https://github.com/dotnet/interactive
Re debug experience I completely agree - it just isn’t sexy… yet? Browser dev tools have proven that debugging is super important. It feels like code debuggers have been stagnant for past couple decades.
https://thonny.org/ has been featured on HN recently. Looks at least as an iterative step forward.
You might like tslab. It allows you to have the full notebook experience with either JavaScript or Typescript. My day to day is data analysis. JS/TS runs circles around pandas and you aren’t constrained to vectorized operations. If there were a suitable replacement for matplotlib I would leave python behind altogether.
https://github.com/yunabe/tslab
AREPL uses a debug first paradigm. It's not step by step, but it does give you access to your variables as you code.
It's free and open source. Let me know what you think: https://github.com/Almenon/AREPL-vscode
Agreed that would be a killer feature. Unzip this package and get a functional Python + Jupyter + scientific (numpy, pandas, scipy, matplotlib) environment.
I have been on-and-off teaching some people Python and the initial setup on-ramp is horrible. Ok, so install Python, now ignore-this-for-now-complications: create a "virtualenv", use this thing called "pip", install these half-dozen things to get a basic notebook (Jupyter + scipy things), install these other half-dozen quality of life things, you should probably also have "conda" for the future, etc. That's a lot of nonsense for someone I am trying to show an alternative to Excel.
My shortcut, "You want to try Python?" approach has been to start with JupyterLite[0] where I can immediately get people coding and delay that pain.
[0] https://github.com/jupyterlite/jupyterlite
Thank for answering. I understand that the interpreter situation can be annoying. There is WinPython [0] to circumvent that to some degree. I feel like if I don’t do it the „VSCode and py-file“ way, it’ll be more and more difficult to keep everything together when teaching about modularity and putting functions in helper scripts, putting tests in other directories and such. I think it’s just because I got used to using VSCode and not Notebooks although I’ve used them for a while.
[0] https://winpython.github.io
I had this idea a few years ago and built an emacs front end for it
Would be really slick in vscode…
https://github.com/ebanner/pynt