Python is one of the funniest languages to play with. Quick to write, fast to iterate and cross-platform, it’s the perfect language to play/protoype with on-the-go.
The thing is, I know a lot of people that are rocking Chromebooks as their daily driver or that can’t be bothered to install extra software to code. As a matter of fact, most of my colleagues have been provided a Chromebook by our company and are therefore subject to the limitations of Chrome OS.
The good thing is though, Python runs on anything and better yet, Python is available from everywhere. In this article, I’m going to present you with three options you can choose from that will allow you to write and execute Python code right from your browser. Whether you have a Chromebook or if you just like the idea of a cloud-based software, this article is for you.
Tutorial For Web-Scraping:
I put together a multi-
Google Colaboratory
Google
With Google Colaboratory, you have access to the full blown Python 3 Jupyter Notebook experience with the access to pip if you require extra modules and a direct access to your Google Drive account. This last point is particularly enticing for a lot of people. The idea of starting to code with one laptop and open the software from a new computer right where you left is pretty cool.
Google being Google, you also get sharing and commenting features. One thing we can regret though is the lack of real-time collaboration. Being in the name, one could easily expect the kind of implementation we’ve all been used to with the Google apps but unfortunately, Colaboratory did not join this party.
Google
So get on with it! You probably already have a Google account so you already have everything you need 🙂
Microsoft Azure Notebooks
If you already have a Microsoft account, Microsoft Azure Notebooks can be a decent solution. It does not offer the best customization features but you have access to full folder management with the possibility of choosing your python environment between Python 2.7, 3.5 or 3.6.
If you don’t have a Microsoft account, I’d say this solution is still worth looking into.
Microsoft Azure also gives you access to a terminal although I haven’t been able to install new modules but the good news is, the most important libraries are already installed. So if you’re looking to draft some data visualisations, rip up some XML data or scrape some websites, you should be able to do so from within the safe environment provided by Microsoft Azure.
The cool thing about being able to manage your folder structures is the ability to link notebooks with each other. This way, you can create classes in one Python Notebook, organize it very well and create a second notebook that will use these classes.
If you’d like a tutorial on Notebook interlinking, don’t hesitate to leave a reply at the end of this post and I will consider it.
Chrome Remote Desktop
By Chrome Remote Desktop, I mean any kind of remote desktop software tool that works for you. Having a powerhouse at home turned on most of the time even when I’m away, it’s always useful for me to know that I can have access to it at all time.
Whether I’m on vacation with only my Chromebook or my
Although I’m synchronizing most of my scripts and Notebooks with Dropbox, I have a few local scripts running day in day out that I have to keep an eye on and adjust from time to time. For this purpose, being able to remotely access my computer and work on it from anywhere in the world is a pretty cool concept. Definitely consider this option if you have one powerful computer available at all times.
The paid version of this solution is to have an Amazon EC2 Instance with a distribution containing your preferred Python environment. One way it could work for me would be to have a permanent Windows instance with Dropbox, Anaconda that I could access via IP address at all time. A free t2.micro should offer you enough features to try it out and upgrade if you need a more powerful machine.
Tutorial For Photoshop-Scripting:
Although this does not apply to code in Chromebook, I believe this subject can interest some of you Python coders. If you already have a Windows machine, I greatly suggest that you check out my guide to use Python to automate Photoshop edits.
Cocalc
One drawback though is that the free plan included in
If you’re into collaboration
Gryd
Kernels
Kernels from Kaggle offers pretty much the same features as everyone else in this pack. With kernels, you can create your public or private “kernel” that are Jupyter Notebooks hosted in the cloud.
Hundreds of libraries are already included in the base installation but for the obscure ones you might want to use, you can always pip install them.
Regarding performance, Kernels is actually pretty decent for a free option. You will get kicked out after being inactive for more than 60 minutes but the runtime should be enough for your data manipulation sessions.
I can definitely recommend it if you’re looking to get your hands dirty.
Datalore
Datalore, final item on this list is from the guys behind the Python IDE PyCharm.
At this point, there’s not much else to say. If you liked any of the solutions mentioned before, you will like Datalore. There is some differences compared to how a normal Jupyter Notebook works though.
For instance, one of the good things about Datalore is the organization “à la Excel”. Meaning that you can have multiple “sheet”/workbooks that are connected to each other, making the organization of your notebooks a breeze. You can still export them individually as a .ipnyb file.
One of the downsides of Datalore though is that the code is run from top to bottom. The way jupyter Notebook usually works is that there is numbers next to each cells that determines when they were ran and which variables have been updated the latest. With datalore, you have to organize your code a bit more than how you’d usually experiment in a classic Jupyter Notebook but it really is just a matter of playing with it before you understand how to use it properly.
Conclusion
In conclusion, having a Chromebook should not defer you from learning and experimenting with Python. Services like the one mentioned above already offers a range of features that will surpass the needs of many many developers out there so don’t feel restrained by what seems to be just a simple web app. Like most of the things in the programming world, the machine is really the easiest tool to get, the mindset and the practice are the hardest things to come by so don’t overthink your tools and just throw yourself at it 🙂
2 Responses
– Typo in “Python is one of the funniest languages to play with.” (funniest –> funnest). Typo in “I put together a multi-serie article” –> “multi-series”.
– Regarding colaboratory: “Being in the name, one could easily expect the kind of implementation we’ve all been used to with the Google apps but unfortunately, Colaboratory did not join this party.”. In fact, they *did* have realtime collaboration until recently. What happened is that Google decided to kill their entire developer-facing “Reatlime API”, and colab happen to build on that. So now they no longer have realtime collab, ironically.
– Typo in ” (You can already find the first part here ! Check it out!” (missing close paren).
– Thank you for mentioning CoCalc, even though CoCalc is as you say definitely not meant to be a free solution. Our primary target market is students at university who are already paying for education, and most users do pay. Since you mention using remote desktop and a server, it’s worth pointing out that CoCalc (unlike these other services) is free and open source, and you can easily run it yourself: https://github.com/sagemathinc/cocalc-docker
– This post, which is coincidentally one day after yours, covers a similar topic and services: https://www.dataschool.io/cloud-services-for-jupyter-notebook/
– Regarding “In conclusion, having a Chromebook…”, I’m the founder and lead developer of CoCalc, and I’ve been doing the development of CoCalc on a Chromebook since 2013 (when I got a Chromebook Pixel). I currently use a $450 HP x360 chromebook as my main CoCalc development laptop. (CoCalc isn’t just for editing Python code; you can also do web development, e.g., development of cocalc itself).
Thanks a lot for sharing all these sites that may allow to code in Python without needing a Windows computer for example.