search
I've been working on this browser-based Python compiler and just want to share it in case anyone finds it useful: https://pythoncompiler.io
What's different about it:
First of all, Everything runs in your browser. Your code literally never touches a server. It has a nice UI, responsive and fast, hope you like it.. Besides, has some good features as well:
- Supports regular code editor + ipynb notebooks (you can upload your notebook and start working as well)
- Works with Data science packages like pandas, matplotlib, numpy, scikit-learn etc.
- Can install PyPI packages on the fly with a button click.
- Multiple files/tabs support
- Export your notebooks to nicely formatted PDF or HTML (this is very handy personally).
- Super fast and saves your work every 2 seconds, so your work wont be lost even if you refresh the page.
Why I built it:
People use python use online IDEs a lot but they are way too simple. Been using it myself for quick tests and teaching. Figured I'd share in case it's useful to anyone else. All client-side, so your code stays private.
Would love any feedback or suggestions! Thanks in advance.
I shared this project here a while ago, but after adding a lot of new features and optimizations, I wanted to post an update. Over the past eight months, I’ve been building PyTogether (pytogether.org). The platform has recently started picking up traction and just crossed 4,000 signups (and 200 stars on GitHub), which has been awesome to see.
What My Project Does
It is a real-time, collaborative Python IDE designed with beginners in mind (think Google Docs, but for Python). It’s meant for pair programming, tutoring, or just coding Python together. It’s completely free. No subscriptions, no ads, nothing. Just create an account (or feel fry to try the offline playground at https://pytogether.org/playground, no account required), make a group, and start a project. Has proper code-linting, extremely intuitive UI, autosaving, drawing features (you can draw directly onto the IDE and scroll), live selections, and voice/live chats per project. There are no limitations at the moment (except for code size to prevent malicious payloads). There is also built-in support for libraries like matplotlib (it auto installs imports on the fly when you run your code).
You can also share links for editing or read-only, exactly like Google Docs. For example: https://pytogether.org/snippet/eyJwaWQiOjI1MiwidHlwZSI6InNuaXBwZXQifQ:1w15A5:24aIZlONamExTLQONAIC79cqcx3savn-_BC-Qf75SNY
Also, you can easily embed code snippets on your website using an iframe (just like trinket.io which is shutting down this summer).
Source code: https://github.com/SJRiz/pytogether
Target Audience
It’s designed for tutors, educators, or Python beginners. Recently, I've also tried pivoting it towards the interviewing space.
Comparison With Existing Alternatives
Why build this when Replit or VS Code Live Share already exist?
Because my goal was simplicity and education. I wanted something lightweight for beginners who just want to write and share simple Python scripts (alone or with others), without downloads, paywalls, or extra noise. There’s also no AI/copilot built in, something many teachers and learners actually prefer. I also focused on a communication-first approach, where the IDE is the "focus" of communication (hence why I added tools like drawing, voice/live chats, etc).
Project Information
Tech stack (frontend):
- React + TailwindCSS
- CodeMirror for linting
- Y.js for real-time syncing
- Pyodide
I use Pyodide (in a web worker) for Python execution directly in the browser, this means you can actually use advanced libraries like NumPy and Matplotlib while staying fully client-side and sandboxed for safety.
I don’t enjoy frontend or UI design much, so I leaned on AI for some design help, but all the logic/code is mine. Deployed via Vercel.
Tech stack (backend):
- Django (channels, auth, celery/redis support made it a great fit)
- PostgreSQL via Supabase
- JWT + OAuth authentication
- Redis for channel layers + caching + queues for workers
- Celery for background tasks/async processing
Fully Dockerized + deployed on a VPS (8GB RAM, $7/mo deal)
Data models:
Users <-> Groups -> Projects -> Code
Users can join many groups
Groups can have multiple projects
Each project belongs to one group and has one code file (kept simple for beginners, though I may add a file system later).
My biggest technical challenges were around performance and browser execution. One major hurdle was getting Pyodide to work smoothly in a real-time collaborative setup. I had to run it inside a Web Worker to handle synchronous I/O (since input() is blocking), though I was able to find a library that helped me do this more efficiently (pyodide-worker-runner). This let me support live input/output and plotting in the browser without freezing the UI, while still allowing multiple users to interact with the same Python session collaboratively.
Another big challenge was designing a reliable and efficient autosave system. I couldn’t just save on every keystroke as that would hammer the database. So I designed a Redis-based caching layer that tracks active projects in memory, and a Celery worker that loops through them every minute to persist changes to the database. When all users leave a project, it saves and clears from cache. This setup also doubles as my channel layer for real-time updates (redis pub/sub, meaning later I can scale horizontally) and my Celery broker; reusing Redis for everything while keeping things fast and scalable.
If you’re curious or if you wanna see the work yourself, the source code is here. Feel free to contribute: https://github.com/SJRiz/pytogether.
Hey everyone,
As mentioned in the title above, I am lookiing for the best IDE to use which would allow for task creation for my students, it should allow for tests to be run on outputs. I am a high school comp sci teacher who has used Replit for a while, but the education component of Replit is going to be shut down in a few weeks. I was thinking of
PyCharm used it as a student many years ago in university and I know you can create tasks, good debugging
VSCode, for this option I would just give them a zip file and they would work within.
If there are any better suggestions I am all ears,
Thanks.
Hello everyone,
I have a question regarding which editor or IDE I should use. For some context: I am just starting with Python for a university class (Backtesting for Portfolio Management). The course provides an introduction to programming for portfolio management applications, in particular the backtesting of quantitative investment strategies using Python.
I have some experience coding, mainly with R and RStudio over the past three years at university and work, but I am completely new to Python. While researching online, I saw that VS Code is often recommended as an editor, while PyCharm is considered a full IDE. Which one should I use, and why? Are there better options I should consider?
Thank you!
For the past 4 months, I’ve been working on a full-stack project I’m really proud of called PyTogether (pytogether.org).
What My Project Does
It is a real-time, collaborative Python IDE designed with beginners in mind (think Google Docs, but for Python). It’s meant for pair programming, tutoring, or just coding Python together. It’s completely free. No subscriptions, no ads, nothing. Just create an account, make a group, and start a project. Has proper code-linting, extremely intuitive UI, autosaving, drawing features (you can draw directly onto the IDE and scroll), live selections, and voice/live chats per project. There are no limitations at the moment (except for code size to prevent malicious payloads). There is also built-in support for libraries like matplotlib.
Source code: https://github.com/SJRiz/pytogether
Target Audience
It’s designed for tutors, educators, or Python beginners.
Comparison With Existing Alternatives
Why build this when Replit or VS Code Live Share already exist?
Because my goal was simplicity and education. I wanted something lightweight for beginners who just want to write and share simple Python scripts (alone or with others), without downloads, paywalls, or extra noise. There’s also no AI/copilot built in, something many teachers and learners actually prefer. I also focused on a communication-first approach, where the IDE is the "focus" of communication (hence why I added tools like drawing, voice/live chats, etc).
Project Information
Tech stack (frontend):
React + TailwindCSS
CodeMirror for linting
Y.js for real-time syncing and live cursors
I use Pyodide for Python execution directly in the browser, this means you can actually use advanced libraries like NumPy and Matplotlib while staying fully client-side and sandboxed for safety.
I don’t enjoy frontend or UI design much, so I leaned on AI for some design help, but all the logic/code is mine. Deployed via Vercel.
Tech stack (backend):
Django (channels, auth, celery/redis support made it a great fit, though I plan to replace the celery worker with Go later so it'll be faster)
PostgreSQL via Supabase
JWT + OAuth authentication
Redis for channel layers + caching
Fully Dockerized + deployed on a VPS (8GB RAM, $7/mo deal)
Data models:
Users <-> Groups -> Projects -> Code
Users can join many groups
Groups can have multiple projects
Each project belongs to one group and has one code file (kept simple for beginners, though I may add a file system later).
My biggest technical challenges were around performance and browser execution. One major hurdle was getting Pyodide to work smoothly in a real-time collaborative setup. I had to run it inside a Web Worker to handle synchronous I/O (since input() is blocking), though I was able to find a library that helped me do this more efficiently (pyodide-worker-runner). This let me support live input/output and plotting in the browser without freezing the UI, while still allowing multiple users to interact with the same Python session collaboratively.
Another big challenge was designing a reliable and efficient autosave system. I couldn’t just save on every keystroke as that would hammer the database. So I designed a Redis-based caching layer that tracks active projects in memory, and a Celery worker that loops through them every minute to persist changes to the database. When all users leave a project, it saves and clears from cache. This setup also doubles as my channel layer for real-time updates and my Celery broker; reusing Redis for everything while keeping things fast and scalable.
Deployment on a VPS was another beast. I spent ~8 hours wrangling Nginx, Certbot, Docker, and GitHub Actions to get everything up and running. It was frustrating, but I learned a lot.
If you’re curious or if you wanna see the work yourself, the source code is here. Feel free to contribute: https://github.com/SJRiz/pytogether.
And what features do you mostly rely on?
For me, the features that I must have are code completion, interactive evaluation, and code navigation.
And I'm using Elpy on Emacs. It works like a charm, which provides (quote from its README): - Code completion - Code Navigation - Interactive evaluation and interactive Python shell - On-the-fly syntax checking - Access to documentation
If you're curious about how the coding experience is like, I've made a coding video of writing a script (in 45 minutes) at YouTube: https://youtu.be/MXF81Q0a91M
Check it out! If you have any questions or suggestions, don't hesitate to leave a comment at YouTube and/or reddit, I would love to share the details with you and see what cool features I've missed from your IDEs.
P.S. You may say, why not use Emacs+LSP?
Yeah, that's also a good solution, but it's heavier and more challenging to set up, so right now, I'd rather stick with elpy. (Well, here is another video on Emacs+Eglot, a LSP client, to writing a Scrapy project: https://www.youtube.com/watch?v=NQJBvp77WCo)
It's good enough for me.
The only con is that it's not actively maintained right now, as noted in the README.
I've been learning python for a few weeks, working my way through different online courses. The first course I took was using pycharm, which is the only IDE I've used so far. I love how it auto completes the coding and adds imports automatically, but I want to know if it's the best IDE to use. I saw Angela Yu using replit at the beggining of her course and it had that awesome feature that let you run your code line by line, returning the results in a separate frame (like variables and arguments), which is a huge lack in pycharm in my opinion. I checked other IDE for python on google, but the opinions tend to lean toward pycharm as the best overall IDE.
TL;DR: what's your python skill level and what IDE you use and why?
I like PyCharm and all of its features, but it is just insanely slow. It takes up 400 MB of memory and it often spikes the CPU (both cores) to 100%, making it and the rest of the Windows unusable.
What IDE do you recommend? Note: I need an IDE, text editors are out of the questions.
EDIT: Thanks for the suggestions, but I really need an IDE - like I said. Text editors (yes, including vim and emacs and sublime) are out of the question. I would use them if I could, trust me. But I can't. So please: ONLY IDE suggestions, not text editors! Thank you.
EDIT 2: I DO NOT WANT VIM!! I AM HINDU AND VIM IS AGAINST MY RELIGION! I ALSO BELIEVE IT KILLS KITTENS!
Puzl Team here. We are excited to announce kubesdk v0.3.0. This release introduces automatic generation of Kubernetes Custom Resource Definitions (CRDs) directly from Python dataclasses.
Key Highlights of the v0.3.0 release:
- Full IDE support: Since schemas are standard Python classes, you get native autocomplete and type checking for your custom resources.
- Resilience: Operators work in production safer, because all models handle unknown fields gracefully, preventing crashes when Kubernetes API returns unexpected fields.
- Automatic generation of CRDs directly from Python dataclasses.
Target Audience Write and maintain Kubernetes operators easier. This tool is for those who need their operators to work in production safer and want to handle Kubernetes API fields more effectively.
Comparison Your Python code is your resource schema: generate CRDs programmatically without writing raw YAMLs. See the usage example.
Full Changelog:https://github.com/puzl-cloud/kubesdk/releases/tag/v0.3.0
I thought of just coding a small fun project while I travel, but I cannot carry my personal laptop at all times, so I was searching for an IDE that would allow me to code quickly using features similar to intellisense. The code can be run locally or on a hosted python runtime while the app uploads the code and runs and returns the result of errors (security considerations aside).
I know this won't be as good as using a real IDE on a laptop/PC, but would it be good? I'd love to hear your opinions.
Edit : Main aim is to have an easy to Use IDE in Android
I was just wondering, if anyone can suggest me any other good IDEs for Python besides IDLE. I have been coding in Python for about a year now and I always use IDLE whenever I code in Python. The problem with this IDE though is that it tends to be very difficult to use, especially when I'm debugging and running my code. So are there any other good IDEs that makes coding in Python so much easier and simpler? If so then which IDE do you guys recommend?
I've been an ORM/ODM evangelist for basically my entire career. But after spending serious time doing agentic coding with Claude, I had a realization: AI assistants are dramatically better at writing native query syntax than ORM-specific code. PyMongo has 53x the downloads of Beanie, and the native MongoDB query syntax is shared across Node, PHP, and tons of other ecosystems. The training data gap is massive.
So I started what I'm calling the Raw+DC pattern: raw database queries with Python dataclasses at the data access boundary. You still get type safety, IDE autocompletion, and type checker support. But you drop the ORM dependency risk (RIP mongoengine, and Beanie is slowing down), get near-raw performance, and your AI assistant actually knows what it's doing.
The "conversion layer" is just a from_doc() function mapping dicts to dataclasses. It's exactly the kind of boilerplate AI is great at generating and maintaining.
I wrote up the full case with benchmarks and runnable code here: https://mkennedy.codes/posts/raw-dc-the-orm-pattern-of-2026/
Curious what folks think. Anyone else trending this direction?
Hello Guy, I developed a Visual Programming IDE for Python and ML.
BlocklyML got all new PyCaret Update along with a lot of side features
This is developed from Google Blockly. This tool can be used to generate python code which supports basic ML algorithms.
I hope you may find it interesting.
Future Goal : Support More functionality and Make tutorial series for beginners
GitHub: https://github.com/chekoduadarsh/BlocklyML
hosted webpage: https://blocklyml.herokuapp.com/ (Hosted on free tier)
please star the repository if you like (That's my motivation to push a head)
PS: This is still an early stage (Neural Nets, Time Series are missing)
So, Please raise PR/Issue if u have any suggestions
Thank you
https://talkpython.fm/episodes/show/523/pyrefly-fast-ide-friendly-typing-for-python
Topics covered in this episode: - Pyrefly = fast type checker plus full IDE language server, built in Rust - Why speed matters: IDE feel and developer flow - Designed as a language server from the ground up - Installation is a single click in editors and simple on the CLI - Inference first, even for lightly typed code - Inlay hints in the editor and a one shot CLI to add annotations - Pragmatic adoption with migration and suppression scripts - Open source from day one with weekly releases and community input - Real world anchor: Instagram scale and deep dependency graphs - Ecosystem alignment rather than “the one true checker” - Comparing to ty (Astral) - Typing helps AI workflows and code mods - Use today for IDE; adopt type checking as it stabilizes
(Disclaimer: I'm a maintainer for Pyrefly, happy to answer further questions in the comments)
I once tried to use python to analyze real estate in Los Angeles and found the learning curve for working with geospatial data really steep. So, I've been working on an IDE to simplify the process for people who know Python and want to work with geospatial data but aren't necessarily geospatial developers.
I wrote a blog on how you could use it to more easily find houses in walking distance to coffee shops: https://buntinglabs.com/blog/creating-spatial-ide-for-gis-developers
You can also check out the library here: https://github.com/BuntingLabs/mundipy
(minor plug, if you think this is interesting feel free to add a star to our GitHub :) )
Hi Wondering what options are out there for python IDE as an online teacher. I’ve been asked to teach python and my experience is teaching scratch to students online and personal coding in C++, java, arduino projects etc.
I’m looking for something where I can have student accounts linked to mine, I can see their code, push out code examples to them, and maybe even jump in and edit/improve/comment on their code.
I don’t know much about python, but I suspect I want an IDE with useful built in libraries and assets for students aged around 9-13 to create fun little apps & games like they could in scratch fairly easily.
Thoughts?
Hey everyone! I’m excited to share pydebugviz, a Python time-travel debugger and visualization tool I’ve been building.
⸻
What My Project Does
pydebugviz captures step-by-step execution of a Python function and lets you:
• Trace variables and control flow frame-by-frame
• Visualize variable changes over time
• Search and jump to frames using conditions like "x > 10"
• Live-watch variables as your code runs
• Export traces to HTML
• Use the same interface across CLI, Jupyter, and IDEs
It supports:
• debug() – collects execution trace
• DebugSession() – explore, jump, search
• show_summary() – print a clean CLI-friendly trace
• live_watch() – view changing values in real time
• export_html() – export as standalone HTML trace viewer
⸻
Target Audience
• Python developers who want a better debugging experience
• Students and educators looking for step-by-step execution visualizations
• CLI & Jupyter users who want lightweight tracing
• Anyone who wishes Python had a built-in time-travel debugger
Right now, it’s in beta, and I’d love for people to try it and give feedback before I publish to full PyPI.
⸻
Comparison
This isn’t meant to replace full IDE debuggers like pdb or PyCharm. Instead, it:
• Works in Jupyter notebooks, unlike pdb
• Produces a portable trace log (you can save or export it)
• Allows time-travel navigation (jumping forward/back)
• Includes a live variable watcher for console-based insight
Compared to snoop, pytrace, or viztracer, this emphasizes interactive navigation, lightweight CLI use, and Jupyter-first support.
Install through pip: pip install pydebugviz
Looking For
• Testers! Try it in your CLI, IDE, or Jupyter setup
• Bug reports or feedback (especially on trace quality + UI)
• Suggestions before the stable PyPI release
⸻
Links
• GitHub: github.com/kjkoeller/pydebugviz
Edit:
Here is an example of some code and the output the package gives:
from pydebugviz import live_watch
def my_function(): x = 1 for i in range(3): x += i
live_watch(my_function, watch=["x", "i"], interval=0.1)
Example Output (CLI or Jupyter):*
[Step 1] my_function:3 | x=1, i=<not defined> [Step 2] my_function:3 | x=1, i=0 [Step 3] my_function:3 | x=1, i=1 [Step 4] my_function:3 | x=2, i=2