Spring is here, we're filled with good intentions, and here is another newsletter, almost exactly a month after the previous one, which is 800% better than our previous interval.
So other than good intentions, clock changes, and eating too much chocolate, what's been going on? Plenty of stuff it turns out, and it's all for you, dear users:
PythonAnywhere now supports Python 3.5
Python 3.5 has been out of beta since last summer, and in the end we figured that if we wanted to preserve any self-respect whatsoever, it was time to make it available on PythonAnywhere.
You can now use Python 3.5 in web apps, consoles and scheduled tasks. And IPython Notebooks too if you're a paying user!
Python 3.5 in and of itself isn't that exciting -- there's a bunch of syntactic
sugar for asyncio (which we don't support for web apps however), there's a
matrix multiplication operator, @, which might be useful for a niche audience,
and a few nice bugfixes and extensions in pathlib
and subprocess
and elsewhere:
Here are the official Python 3.5 release notes.
But one of the nice side-effects was that we got to install a fresh stack of packages, so the default version of Django is 1.9 in Python 3.5, and it also has the latest version of requests, and so on. More info on the "batteries included" page.
But you should probably still use a virtualenv for your web apps!
The inside scoop on our forums
- Using lynx to login to google LIKE A HAXOR
- Inspired by thesetwo posts, there is a discussion going on about a PythonAnywhere api. Vote for what you want here!
- Or maybe we should setup Mosquitto so that iamsandeep doesn't enter a hopeless spiral of gloom and doom?
Useful tips
- A shoutout to sestus, kdwarn, Michael-E-Rose, dundeemt and vykonos for contributing to our help pages. We've put the pages into a public repo, so you can do so too!
- Our very own Glenn gives a quick explanation of how to use our Save & Run button with virtualenvs
- We have also compiled a list of good tutorials here:
New modules
Although you can install Python packages on PythonAnywhere yourself, we like to make sure that we have plenty of batteries included. Here's what we've added since the last newsletter:
Python 3.5
It's new, so we've added all of the packages that we previously supported for Python 3.4 and 3.3. We've installed the most recent versions we could get, though, so many of them are more up-to-date. Django 1.9.3 FTW!
Python 2.7, 3.3 and 3.4
pyodbc
and its lower-level dependencies, so you should be able to connect to Microsoft SQL Servers elsewhere on the Internet.pypdftk
and its dependencies -- now we have three separate PDF libraries!pint
uncertainties
flask-openid
- And finally, we've upgraded
twilio
so that it works properly from free accounts.
Python 3.3 and 3.4 specific
mysqlclient
(so now Django should work out of the box with Python 3)basemap
New whitelisted sites
Paying PythonAnywhere customers get unrestricted Internet access, but if you're a free PythonAnywhere user, you may have hit problems when writing code that tries to access sites elsewhere on the Internet. We have to restrict you to sites on a whitelist to stop hackers from creating dummy accounts to hide their identities when breaking into other people's websites.
But we really do encourage you to suggest new sites that should be on the whitelist. Our rule is, if it's got an official public API, which means that the site's owners are encouraging automated access to their server, then we'll whitelist it.
Here are some sites we've added since our last newsletter:
*.wikidata.org
-- like you'd expect, Wikipedia's database.api.api.ai
-- speech-to-text*.golang.org
and*.googlesource.com
so that GoLang developers can run stuff on PythonAnywhreecloud.memsource.com
-- a translation platformapi.locu.com
-- a site to push business listings to a variety of directoriescloud.feedly.com
-- manage RSS feedsstring-db.org
-- a protein interaction databaseapi.football-data.org
-- exactly what you think it is, unless you're in the US -- it's about soccer.api.fixer.io
-- API for the FX rates published by the European Central Bankapi.mca.sh
-- a Norwegian banking site.eliteprospects.com
-- hockey statsqq.com
-- various endpoints for one of China's biggest sitesoverpass-api.de
-- German transport dataapp.box.com
andapi.box.com
-- Dropbox for the enterprise*.mlab.com
-- MongoLab's new namemikomos.com
-- an online database of places to meet for dates.api.stormpath.com
-- an identity API
And that's it
Thanks for reading our newsletter! Tune in the same time next month for more news from PythonAnywhere.