Python based advanced XMPP client/social network looking for help !

Hi there, even if I'm using python for years, I just applied to PSF and subscribed to this list, and this seems the right place to talk about our project. We are working on a free (AGPL v3+), decentralized, encrypted and feature-full communication tool (or “social network”) made in Python (technical details below). We are a non-profit association focusing on ethic (see http://salut-a-toi.org/social_contract.html), and the project is based on XMPP. But XMPP is not only about instant messaging, we also work a log on blogging/microblogging, file sharing, and this kind of stuff. We have just launched a small crowdfunding campaign to port our project to Android (and make a new desktop frontend at the same time) by using Kivy and its Python for Android/Buildozer tools: http://www.arizuka.com/en/projects/libervia . We are looking for help to: get some visibility (technical people know us in France because we attend a lot of free software events, but not elsewhere), get help for the code, and succeed the crowdfunding campaign. I hope I'm in the right place to talk about this. TECHNICAL DETAILS: We are on a backend/frontend architecture, the backend being based on Twisted, the frontends communicate using D-Bus (or potentially any IPC). We have a Web, CLI, and console frontend, we used to have a desktop one based on wxWidgets (wxPython) but we have deprecated it (we will replace it by the Kivy frontend). We are Python 2.7 because we use Twisted, but as you probably know there are progress in Twisted port to Python 3, so we hope to be able to port the project to Python 3 in 2016. Because we use D-Bus, each frontend can be made in any language, but we have made all of them in Python so far (except one draft Qt one in C++). The CLI frontend use argparse, and we are probably are on the way to have the most advanced XMPP CLI client. The console frontend is based on Urwid, and modal (inspired from vi/vim). The Web frontend is 100% python too because we are using Pyjamas for Python => JS transcompilation. But as you may known there have been some huge issues with Pyjamas, and the project is now dead (we have tried to revive it without success), so we are now thinking about porting it to Brython in 2016. We are pushing XMPP, and we are among the pioneer (with Movim and Jappix) in microblogging implementation with XMPP. We have written XEP (XEP-0355 and XEP-0356) to implement what we need, and we are working on other ones. We also work on the server side with a PubSub component, a directory, and this kind of things. The project is *very* large, well advanced (started in 2008), and we have overcame the major issues we had with XMPP, next release should start to be very useful (a full decentralized blogging engine). We have a lot of features an try to do experimentation (e.g.: http://www.goffi.org/post/2014/02/18/A-universal-remote-for-your-softwares ). This is a unique tool in Python world and in free software world in general. But we have really difficulties to get visibility or support, that's why I'm asking some help here. I hope this long message is a good introduction. Our website: http://salut-a-toi.org web frontend demo: http://www.libervia.org (beware: outdated version, and everything is empty at the beginning, you need to add some contacts to test) our campaign for desktop/Android frontend: http://www.arizuka.com/en/projects/libervia Thanks a lot! Jérôme Poisson aka Goffi

Wow! This seems amazing. I have been wanting something like this for a long time. Kudos on using Twisted. Have you considered hendrix for the frontend? It will make it easy to use Django, Pyramid, or Flask and still keep the websockets easy. On Tue, Oct 27, 2015 at 11:36 AM, Goffi <goffi@goffi.org> wrote:
-- Justin Myles Holmes http://github.com/jMyles/

Hi Le mardi 27 octobre 2015 12:16:49, vous avez écrit :
Thanks :)
Have you considered hendrix for the frontend? It will make it easy to use Django, Pyramid, or Flask and still keep the websockets easy.
Nope, didn't knew about hendrix. We use long polling for now, and we were planing to move to websocket at the same time as we move to Brython. I need to read the docs, but I think Brython already manage websockets, and I have seen a txWebSocket around, so I don't think it will be the most difficult part. For the static blog (we have a static blog accessible to everybody in addition to the dynamic one you have once loggued) we have started to use jinja2 in the dev version, we don't really need more at the moment. Thanks for your feedback Goffi

Wow! This seems amazing. I have been wanting something like this for a long time. Kudos on using Twisted. Have you considered hendrix for the frontend? It will make it easy to use Django, Pyramid, or Flask and still keep the websockets easy. On Tue, Oct 27, 2015 at 11:36 AM, Goffi <goffi@goffi.org> wrote:
-- Justin Myles Holmes http://github.com/jMyles/

Hi Le mardi 27 octobre 2015 12:16:49, vous avez écrit :
Thanks :)
Have you considered hendrix for the frontend? It will make it easy to use Django, Pyramid, or Flask and still keep the websockets easy.
Nope, didn't knew about hendrix. We use long polling for now, and we were planing to move to websocket at the same time as we move to Brython. I need to read the docs, but I think Brython already manage websockets, and I have seen a txWebSocket around, so I don't think it will be the most difficult part. For the static blog (we have a static blog accessible to everybody in addition to the dynamic one you have once loggued) we have started to use jinja2 in the dev version, we don't really need more at the moment. Thanks for your feedback Goffi
participants (2)
-
Goffi
-
Justin Myles Holmes