This article will list various IDEs and text editors available in the cloud for creating Python programs.
PythonAnywhere (Free with Optional Paid Plans)
PythonAnywhere allows you to create and execute Python snippets and full applications in the cloud. You can write programs in a web-based code editor and with dedicated storage space in each plan, you can save your session state and access it from another PC or smartphone device.
Features and Pros:
- An IDE that is solely focused on Python.
- A standalone Python console session is also available if you don’t want to use the code editor.
- Provides a persistent disk space in cloud for storing your code.
- Besides editing code on the go and storing your snippets and files, you can also create web apps/websites and host them on PythonAnywhere infrastructure, complete with custom domain support.
- Responsive code editor works on mobile devices.
- Git, mercurial and subversion version control support.
- You can use automated scheduled tasks to run code periodically, to scrape sites for example.
- Apart from Python console, a bash terminal is also available.
- Full SSH access to your account.
- Hundreds of popular modules already configured and available to be imported in your projects (NumPy, BeautifulSoup and so on).
Cons:
- Some parts of the PythonAnywhere service are relatively new. A certain amount of infrastructure to support high-performance computing is still in the labs, not yet ready for prime time.
- No real time collaboration features available for teams.
Repl.it (Free with Optional Paid Plans)
Repl.it is an interactive programming workspace in the cloud where you can run sandboxed programs in a container on a virtual machine. You can access Python 3 code editor from here.
Features and Pros:
- Real time collaborative code editing with chat support.
- Responsive code editor that works on mobile devices.
- Python packages can be installed through PyPI. Imported packages are automatically installed through PyPI in every coding session.
- Python3 plots and charts are supported using matplotlib.
- Code editor uses Monaco, the same editor that powers Visual Studio Code.
- Ability to import files from your PC.
- Code editor can be embedded on your own website.
- Support for other programming languages.
- You can teach yourself or others Python language using classroom feature that supports grading.
Cons:
- Code execution and processing can be slow sometimes.
Trinket (Free with Optional Paid Plans)
Trinket lets you run and write Python code in any browser, without the need to download plugins or install any software. A preview of the code editor can be found here.
Features and Pros:
- Mainly focused on Python language support.
- Responsive code editor that works on mobile devices.
- Support for real time collaborative code editing.
- You can create public and private courses for teaching and learning.
- In-line comments help you explain code to students doing your course.
- Editor can be embedded on your own website.
Cons:
- Additional Python modules are available in paid version only.
- The trinket app source code is not publicly available.
Gitpod (Free with Optional Paid Plans)
Gitpod provides ready to use development environments for GitHub projects. The code editor runs in a browser, started on a machine in the cloud based on a docker image.
Features and Pros:
- Gitpod is based on Visual Studio Code, Docker and Kubernetes.
- Provides deep integration with github. You can immediately start working in code editor by prefixing any GitHub repository URL with “gitpod.io/#”.
- The development workspace container running in the cloud includes a full Linux system, you can customize it using configuration files.
- The Theia code editor used in Gitpod Supports Visual Studio Code extensions.
- Responsive code editor that works on mobile devices.
- A standard Docker image is provided by Gitpod but you can provide your own custom Docker image.
- Using the built-in terminal, users can access all development tools of the Linux system.
- Real time collaborative code editing support.
- Support for other programming languages.
Cons:
- You need to have a GitHub account, no support for other version control systems.
Visual Studio Online (Pay According to Usage)
Visual Studio Online provides development environments and debug tools in the cloud, allowing you to work with multiple application projects from the convenience of a browser.
Features and Pros:
- Browser based editor is based on Visual Studio Code with support for Python specific and other extensions. It also includes an integrated terminal.
- Git version control support.
- Real time collaborative code editing support.
- Support for other programming languages.
- Responsive code editor that works on mobile devices.
- Any code stored in the cloud can also be accessed and edited from cross platform Visual Studio Code desktop application.
Cons:
- New service in public beta, long term quality and stability is yet to be seen.
- A Microsoft Account and Azure subscription are required to use Visual Studio Online.
Codeanywhere (Paid After 7 Days Free Trial Period)
Codeanywhere is a Cloud based IDE that enables users to instantly write and collaborate on development projects from a web browser and any mobile device.
Features and Pros:
- Provides CentOS and Ubuntu Containers that include pre-configured Python development environment having pyenv, pip and virtualenv preinstalled.
- Git version control support.
- Support for other programming languages.
- Responsive code editor that works on mobile devices.
- SSH, FTP, SFTP, FTPS, Dropbox and Google Drive support.
- Real time collaborative code editing support.
- Revision history and diff support.
- Custom domain support for your container environment.
Cons:
- Documentation is lacking.
- Besides subscription plan, additional features require extra paid addons.
This marks the end of this article. If I had to recommend any one of these services, I would bet my money on PythonAnywhere. With sole focus on Python, growing community and good support, it has the most complete feature set you would typically look in an offline desktop IDE for Python. Just a note that if you are considering any of these services to write and store code, consider reading their privacy policies and terms, especially if there is mission critical code, private programs or private API keys. I would also advise you to take regular backups on offline media, just in case.