Python SAFE Launcher API

For the last two days I’ve been working on a Python wrapper around the SAFE Launcher API. While it is still in it’s infancy it currently allows authentication, creating directories, creating and reading files and creating DNS entries. Everything that is needed to automate uploading a website.

I thought I would share this here in the hopes that it can spur someone else on to create a small application or explore the SAFE API a little further.

While I’m a little stretched for the next two weeks (and won’t be able to put too much development time into this) I hope it will be of some use to someone. After these two weeks I will have a lot more free time to implement this fully.

I am also aware that the API will soon be losing it’s encryption across localhost and will become much easier to implement, but I rather like a challenge and a chance to explore the basics of libsodium was too tempting to wait.


I share this feeling :slight_smile:

Thank you very much for giving us another open door to content creation !


Thanks for putting this together. I’m starting out in Python and have very little experience in web applications, so this sort of thing is really useful.

Do you have plans for writing any Python apps?


You’re welcome. It is currently broken with the 0.5 API update but I’m half way through updating it. Once it’s done I’ll post here and you should have a little play with it.

I have no plans for any large apps at the moment. I will flesh out the examples with useful bits and bobs but nothing worth launching independently.

Always open to suggestions however.


Well done , excellent contribution :ant:


Sounds good. I’ve got a few ideas. I’d like to start by backing up Bash history so it follows the user around when they login to new machines. Shell history can contain very sensitive information so I think using safe makes sense, and having that history on any desktop could be very useful.

Still working on this? I tried a few commands but kept getting a “Error, no nacl.public”

Yes, I’m still working on this. I was waiting for the release of the 0.5 API documentation which came out a few days ago.

I’ve got a few methods to update before I merge the 0.5 update into the master branch.

If you manually install the api_update_0.5 branch then most of the methods are fixed. Otherwise I hope to have it updated in a couple of days, schedule allowing.


Great! Very much appreciate your work so far, let me know if there’s anything I can do

That’s me pushed the 0.5 updates to PyPi.

It looks like it was a bug with the launcher that held me back before. File uploading was very simple to implement this time, using a method I had tried before the release of the documentation.

Anyway feel free to give it a shot. I’ve renamed the package to SafeAPI to be more inline with other python packages.

I’ll work on getting the other methods implemented in the future however my schedule is still very busy.