Graph DB with Django? - django

I have not come across many people who have used a Graph DB(such as a Neo4j) with Django. Even though there exist ORMs such as Neo4Django, I am not too happy with these solutions as they are potentially buggy and have very late development cycle. What do you suggests are best solutions?

As of today, neo4django's latest commit is in July 2014. There seems to be bulbflow which mentions that it can be used from django. Its github link on their homepage is a broken URL. The only project I found linking bulbflow to django is https://github.com/theonion/django-bulbs , but it has a deprecation note to a broken URL. I just filed issue #338 requesting if they can provide a fixed link, and the developer clarified that it has been converted into a private repository.
This SO answer sheds some light and points mainly at py2neo. In the same SO question, there is another answer stating that django was designed with RDBMS in mind.
For alternatives to django as a web framework with neo4j as backend, this SO thread seems to be quite rich with options.
Funny enough, more search through duckduckgo.com led me to this blog post which is like a hello world example of using neo4j. It mentions neomodel (last commit 19 days ago), which links to django-neomodel (last commit 6 months ago).

Related

Alternative for Aldryn-forms (Django-CMS)

Divio announced an end of support for Aldryn-forms at the end of September 2020. (http://support.divio.com/en/articles/3849075-essential-knowledge-django-addons-list).
I'm looking for add-on alternatives for Aldryn-forms that can work with the latest versions of Django, Django-CMS and Phyton.
On the marketplace website I only could find one package but its' last update was in 2015.
Does anyone knows a good package or has some information to implement forms which can be edited by content editors in the frontend website.
Thanks for any help.
Regards,
Carla
Divio handled over the maintenance to me, since I have commercial projects running on aldryn-forms.
Also Django CMS Association is most likely going to continue at least the basic maintenance of aldryn-forms, simply because the only alternative that I know of (djangocms-forms) has been dead for ~4 years, and the end users definitely need the forms support in django CMS.
In the future I hope to release a backward incompatible rewrite of aldryn-forms, since the current version has rather frustrating UX. Yet when that happens the respective announcement is going to be published on the aldryn-forms github.

Is porting a Django app to GAE still an option?

I have started a month ago with GAE and have successfully deployed our current startup via Flask on GAE. It works fantastically well. Now being all too exited about GAE, I am thinking about porting a couple of my older Django apps on GAE as well.
To my surprise the documentation of it is surprisingly inconsistent and partially contradicting.
The official google page recommends using django-nonrel, which itself is already disconstinued.
Django 1.5.1 seems not even to be supported yet on GAE, neither is it clear to me how to use Django 1.4.3 on GAE.
I also found this more recent solution that utilizes Django and Google Cloud (Mysql on cloud) instead of the high replication datastore. Not sure if this is a good way to go since its still experimental and subject to "breaking changes" in future. (It also doesn't seem to include any free tier, unlike high replication datastore)
I was expecting Django - as perhaps the biggest python web frameworks - to have a far better documentation or tutorials about how to do deploy it on GAE. So I wonder if its even worth it sticking with Django on GAE anymore.
If I am meant to make manually my own models and adjust my queries in Views by utilizing ndb anyway, I could as well stick with flask+Jinja2, why should I use Django, where I can't even use it's ORM anymore? Or am I overlooking something?
Thanks,
There's nothing on the link to the allbuttonspressed blog that implies it is discontinued. On the contrary, the page says that even though they (as the original maintainers) are pulling out of the project, it has been taken over by a new maintainer. That's what often happens in open-source projects.
As for Cloud SQL, there is a dedicated page on the App Engine documentation which explains in detail how to get this up and running. The Cloud SQL API itself is, it's true, still in "experimental" status, but again that's just what Google does. App Engine itself only came out of "experimental" last year.
As for why you should stick with Django, that's up to you of course, but both of the above solutions will give you Django forms, the admin interface, templates, and URL routing, and some or all of the ORM syntax.
There's some work going on in maintaining django-nonrel, though the Allbuttonspressed blog is starting to get pretty out of date. You'll find more up-to-date info in the django-nonrel mailing list on Google Groups.
I believe it's been updated to at least Django 1.5, but I'm personally still running on 1.4. The documentation is extremely lacking. You'll have to figure out from the mailing list the appropriate branch to use to get support for the latest django version. However, it's there and it's working.
Django + CloudSQL will likely be the least-coding route to port your app to GAE.
Django-nonrel gets to take advantage of the HRD, however, many apps written expecting SQL behavior will need to be extensively rewritten to support the HRD behavior properly.
As an example, I've tried running django-registration on django-nonrel. On first look, it seems to work fine. But on deeper inspection, there's issues like being able to register the same email address to more than one user on HRD. You may find similar issues with other apps, or just the inability to run at all, given that the HRD doesn't support many-to-many relations, as well as slightly-more-complex queries.

What is the most recommended django/oauth package for Facebook and Twitter integration?

I'm looking for a django/oauth project which would allow for open authentication to at least Twitter and Facebook (other services would be a bonus). It appears there was a thread started by TIMEX in Febuary 2010 with a few different package recommendations.
Since it has been approximately a year and a half since the originator first posed the question, I'd like to ask again, hoping that time may have given to some more robust packages.
Some packages mentioned from the previous thread:
http://code.google.com/p/django-gigyauth - Last updated July 18, 2010
https://github.com/simonw/django-openid - Last updated Jan 12, 2010
https://github.com/uswaretech/Django-Socialauth - Last updated July 5, 2010
I think django-socialregistration is the most widely used. Check djangopackages for a more detailed overview of what is available.
I have to go with https://github.com/omab/django-social-auth. It's the best maintained and easiest to set up. http://djangopackages.com is going to that for authentication shortly. Why Because it rocks.
Yeah, I'm one of the people behind http://djangopackages.com. :)
Django Facebook is the most mature for Facebook authentication, it only does facebook though, none of the other systems.
If you are looking for additional platforms (and don't require additional facebook integration) than socialauth would work for you

Running Mezzanine on App Engine

I am looking for a blog solution to run inside a Django project deployed on the Google App Engine. After a bit of review I decided to try out Mezzanine v0.11.3. I've overcome the hurdle of getting it in project using the advice of others deploying on App Engine at this link: http://groups.google.com/group/mezzanine-users/browse_thread/thread/c8b13c41a3168c94.
Mezzanine is now showing up in the Admin, but clicking on Blog posts leads to a multi-table inheritance failure. I believe that this is due to multi-site support functionality in Mezzanine via use of the Django sites framework.
Has anyone overcome this issue? I'm going to try to use django-dbindexer but I'm not confident it will work.
*Update: as far as I can tell, the folks at AllButtonsPressed don't have any magic solutions to work around ManyToManyField issues yet, so I think that option is dead.
If no one knows a work around, do any of you know of a good blog solution I can run inside a Django project on the App Engine?
*Update: found this post Integrating Blogger into a Google App Engine App. Will investigate if this solves the problem.
*Current Status:
I have not been able to solve this problem and I don't think it is currently solvable. Thought I would share what I found through my investigations though; maybe someone out there can carry on and come up with a solution.
Options tried:
Bloog
I looked this over but it is a Python
solution, not a Django solution and I
didn't want to do the work to turn it
into one
Byteflow ( https://bitbucket.org/piranha/byteflow/wiki/Home ) notes:
designed to be standalone, will need a
lot of edits to settings.py,
inclusion of 12 additional apps and
overrides on account settings plus
hand tuning at every upgrade.
AppEngineBlog ( http://code.google.com/p/appengineblogsoftware/ ) notes:
written in appengine specific code,
not maintained, no example sites
available to see how it looks
Coltrane ( http://code.google.com/p/coltrane-blog/source/browse/ ):
simple blog constructed from standard
Django functionality no development
or support, basically need to use
this code as a way to develop your
own blog and go from there
Flother ( https://github.com/flother/flother ):
found via Coltrane comments, probably
embeddable without too much trouble,
requires 8 additional apps,the photos
and places components have
ManyToManyFields that would have to
be re-written or these components
disabled
Blogger API ( http://code.google.com/apis/blogger/ ):
use Blogger at whatever location you
wish to gain fully functional
blogging capabilities, then use
Blogger API to deliver content to any
other site you wish to display it
Flother came close to what I need but there is still a fair bit of uncertainty and effort there. I'm proceeding with the Blogger option as the only viable choice for me at this time.
Well, as far as I can see, there is no way to get Mezzanine running on GAE other than wading into the code and ripping out anything relating to a ManyToManyField (Sites support, Photos and ... something else. Can't remember what).
The only thing I could find out there that has the potential to be added to an existing project, uses only portable Django code (app engine specific) and runs on App Engine is http://www.allbuttonspressed.com/projects/allbuttonspressed . I haven't actually tried to integrate it yet because I'm going to see if the Blogger solution works.
I've been using bloog for two of my blogs without any serious troubles so far - there are few little quirks that make it mildly unpleasant sometimes but nothing that's been a deal breaker.
I use the Blogger solution and it works fine, especially if you're only one person and you run the whole site.
The problem comes when you want to others to help you out. Now every css and design decision needs to be sent to a programmer who hacks away at django templates. A CMS with a real WYSIWYG editor would allow you to ship off that work to marketing/design people and let you focus on the fun stuff.
I came across a decent review of the various blogging engines for Django, however, it's unclear how well they each integrate with GAE.
I have deployed Mezzanine/Cartridge in GAE succesfully but I have not documented it yet in github or something like that. It works using python 2.7 of course and django 1.5. Additionally it works with Google Cloud SQL, and the local file system GAE provides. It additionally works with google gmail facilities. For thumbnailing I am using local GAE functionality.
It requires several additional libraries like boto, but it works well.
See a short demo in midevocional365.appspot.com/

Is Pinax able to be deployed on GAE?

Is there any chance that an application developed with Pinax could be deployed in Google App Engine?
As I know, Pinax is based on Django, and integrates tons of applications, it is suitable for building even a social networking site. It's extremely useful but I wonder if I can deploy it on google app engine.
Thank you,
The main issue here is that Django ORM is not compatible with GAE's datastore but some work has already been made to port Pinax using app-engine-patch. Here is the repository.
The key of course is JOIN support for the many to many model relationships. Since this is already being solved for 'eventual consistency' context, there should be no reason that we couldn't. I'm in the middle of moving the social demo over right now.
"Hoang"-
It looks like there was a release on Aug 2, 2009, to include Django 1.1 (see http://code.google.com/p/app-engine-patch/wiki/ReleaseNotes )
I know you said July, and August 2 isn't much different than July. :)
I, too, am interested in Pinax on App Engine. Please report your findings, if you try it!
Pinaxcombo does it only for the blog part of Pinax. Has there been any effort to port the 'entire' Pinax onto GAE?