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:
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
subprocess and elsewhere:
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!
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:
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!
pyodbcand its lower-level dependencies, so you should be able to connect to Microsoft SQL Servers elsewhere on the Internet.
pypdftkand its dependencies -- now we have three separate PDF libraries!
twilioso that it works properly from free accounts.
mysqlclient(so now Django should work out of the box with Python 3)
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.
*.googlesource.comso that GoLang developers can run stuff on PythonAnywhree
cloud.memsource.com-- a translation platform
api.locu.com-- a site to push business listings to a variety of directories
cloud.feedly.com-- manage RSS feeds
string-db.org-- a protein interaction database
api.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 Bank
api.mca.sh-- a Norwegian banking site.
eliteprospects.com-- hockey stats
qq.com-- various endpoints for one of China's biggest sites
overpass-api.de-- German transport data
api.box.com-- Dropbox for the enterprise
*.mlab.com-- MongoLab's new name
mikomos.com-- an online database of places to meet for dates.
api.stormpath.com-- an identity API
Thanks for reading our newsletter! Tune in the same time next month for more news from PythonAnywhere.