Moving from Python Development to Positron

First, thanks to the developers of Posit for making such a fine IDE freely available.

I'm a Python backend developer who doesn't do much data science work. However, I am building a free Python course for college students who want to prepare for internships and I started to use Plotly. The course is currently using Cursor. However, I wanted to try out Positron to see how it worked with Plotly.

My first impressions are here:

Positron First Look - Data Science IDE Evaluated with Python Plotly

I'm wondering if other people are using Positron for general Python development as an alternative to Cursor or VSCode?

I've only just started my assessment of Positron, but it looks good so far.

I also use Quarto regularly as my main blog and documentation tool. I have recently been favoring it over MkDocs, Jekyll, Ghost and things like that. Quarto has some quirks, but it is powerful. I have been using Cursor for Quarto, but am thinking of giving Positron a whirl.

Additionally, I've found the Positron docs and tutorials to focus more on R than on Python.

As I don't normally use data analysis, I do not use Jupyter Notebooks often.

One other thing to help people understand my current situation is that I've been trying to use Python for both the backend and frontend for my course. Recently, I am using Flet, but previously, I used Streamlit and Gradio. I was using a typical stack with tailwind, htmx, alpine, but students were having difficulty absorbing both the backend python with FastAPI plus the HTML thingy.

Flet is pretty nice for UI development is allows the use of Flutter widgets in Python. Quite a clever architecture. No dart needed.

As I am new to Positron, I only latched onto a few features that got me interested:

  • formatted dataframes and store of variables for the session
  • interactive charts inside the IDE with multiple iterations easily accessible
  • AI assistant seems good enough. for more complex AI tasks, I can use a different tool

I guess the thing that appeals to me is that the iterative editing to the data visualizing is faster than my current workflow at first glance.

I'm curious as to what the experience is for other Python developers who are coming from from a Python-first (maybe even Python-only) background

1 Like

Hi there! Thank you so much for this valuable feedback and kind words. It's always helpful to hear how folks are using Positron in the wild :space_invader:

Positron can be used for general Python development. The focus is data science, but the lines between data science, data engineering, and general Python development have blurred significantly, and Positron is a full data science IDE with first class support for Python.

Flet looks like a really interesting tool! Positron does have some additional UI support for web applications, but nothing for Flet. If you have ideas on how what support would feel right, feel free to open an issue.

I appreciate your feedback on the docs. They definitely skew R-heavy right now. We are working on building out more Python info, so it's good to note others feel this way too!

Please let us know if you need any help or have any questions about Positron. If you're ever interested in sharing feedback live, we'd love for you to book time here to chat with our Product team. Thanks again, and best of luck with your Python course!

2 Likes

Thank you for your very good news, it sound like this for me, but... it is already a time that RStudio stopped working for me, appears the screen with 3 or 4 lines on the upper left of my PC and half out of my screen and that is all. I had go to Positron and learn it, after years of working very glad with RSyudio. It was a good time.

2 Likes

Thanks for posting this. It's great to get a close up view Positron and be able to look over your shoulder a little bit. Seeing your tests with interactive charts is cool.

This is not a response about using Positron with Python. I'm trying out Positron on MacOS; I'm using Positron to edit and build out a Quarto-based website. I'm also not a data scientist. I am planning on posting more information on my observations shortly.

The more I use Positron, the more I like it. I tried out Posit Connect Cloud for the first time with a simple Plotly app and it is nice. The overall workflow with Positron is faster than my existing workflow with Cursor. It seems like there are a dozen nice time-savings improvements that add up. And, I've only just touched the surface of Positron.

Regarding Flet, I don't recommend that the Positron team focus on supporting it. It's a niche technology at this stage and primarily useful on mobile. I used it for my course on Industry Python because it uses FastAPI internally and I eventually transition the students to using FastAPI as a backend server with different frontend technologies. The main advantage of Flet is that it can run as a FastAPI/ASGI app. However, this isn't a major consideration for the goals of Positron.

I am evaluating Plotly/Dash with Positron and plan to look at Shiny for Python in Positron because I am encountering limitations with using Flet on web (which is not a major target platform for Flet). From the beginning of the course, I always intended to move the students to another framework.

I believe that Shiny for Python may have better architecture than Streamlit or Gradio. In general, I like opinionated frameworks. I have some basic experience with Shiny for R. It is nice.

As the fine Positron team is asking for feedback on documentation, I'll share a few things I learned from my Industry Python class that I developed.

The most important thing is to understand and highlight the difference between Positron and what the Python developer is already using, which is likely VSCode or Cursor.

I primarily worked online with UC students majoring in computer science or AI from Berkeley, San Diego, Irvine. At UCSD, the new AI major is basically a CS degree with AI focus. All the students I worked with had prior Python experience. I believe it is required for the intro courses? Irvine in particular requires a full year of Python, ICS 31, 32, 33.

Surprises:

  • they were really interested in the editor, going down to strong interest in the extensions used for things like yaml, json, even better toml (for pyproject.toml), prettier
  • they also seemed interested in the optional toolchain I used which was ruff, uv. ruff replaces Flake8 (linter) and Black (formatter). I thought this would be a minor point, but they were quite interested in configuring ruff.
  • most students were fairly new to GitHub. They were unfamiliar with pull requests and forks.
  • many students were reluctant to use generative AI as I believe they wanted to learn without it. My course did not use the generative AI or cursor tab features. I just used cursor as VSCode without AI. Or, I would ask Cursor a question in a similar workflow to the Positron AI assistant.

In general, the students were incredibly smart and learned quickly. However, it is easy for teachers (or people writing documentation) to forget that even setting up GitHub with ssh keys can be tricky. The teacher (or person writing documentation) likely did this 8 years ago and has forgotten that there are multiple steps to making a pull request on an open source repo. This same idea translates to the editor. Likely people started using VSCode 5 years ago and just built up a workflow. Some may have migrated to Cursor, but the general extensions and settings carried over.

As far as I can tell, the students at the UC schools are submitting coursework through some type of special tool. They may be using an online editor specific to the school or course and don't have experience with tools used in industry. Thus, they seem quite interested in learning the tools used in a normal company.

The final nice surprise is that we forget how fast we once learned things at age 19. :slight_smile: Every time I talk to them, I just feel that the world will be alright in the future.

2 Likes

I had some free time, so I looked at Positron Databot and Positron Notebook Editor (with AI Assistant). Both look excellent.

If you're like me and don't use Jupyter Notebooks or examine datasets too often, you may find Positron a nice way to learn more about data science. The tool itself has best practices built into it.

I made two quick overview assets for people in my company to understand Positron. I'll share them here in case other Python backend developers are checking out Positron for the first time. :slight_smile:


Next up for my assessment is Shiny and Posit Connect Cloud.

I hope it's okay if I continue to post here. I'm hoping to get feedback on what other Python backend devs are doing.

It's kind of a paradox that most Python developers are dealing with large amounts of data and designing the data API endpoints, often prototyping the dashboards to test the endpoint usability. However, most people have limited training in data science so don't actually understand how to represent the data.

Especially with generative AI, it's pretty easy to whip out a prototype dashboard in Streamlit, Gradio with no training, and have it look great in a day. However, there's a bunch of major problems with this approach. usually, it looks great, but is not usable and difficult to maintain.

I'm quite interested in learning more about this Positron approach regardless of whether we pursue a new course creation. It seems like a nice way to use AI

1 Like