text diff on django/google appengine - python

I am developing a wiki using django which i plan to deploy later in google appengine. Is it possible to deploy textdiff like system in appengine?

The difflib package can be useful for generating diffs. It's written in pure Python and it's in the standard Python library, so I'd expect it to be available in Google App Engine.

Related

Best practices with google cloud app engine: Python2 or Python3?

I am new to Google Cloud Platform and in my whole I have been working on Python 3. I am trying to find out which version of Python is more complete for Google App Engine: Python 2.7 or Python 3.
As I'm starting to work with Google App Engine I have realised that continuing using Python 3 seems too painful as basic tools like dev_appserver.py are written for Python 2 only. Now I am hitting the opposite problem: cloudstorage module seems to exist only for python3. Again, when I install it, seems the only way I can test read/write to google bucket locally is by authenticating with google.appengine.ext, which in turn only works within dev_appserver.py or remotely. This leaves me confused which environment to chose.
What is a general agreement / what is the focus of Google App Engine: Python 2 or Python 3?
In App Engine, you have to options: the Standard environment and the Flexible environment.
Python 2.7 is available in both Standard and Flexible, while Python 3.6 is only available in Flexible.
Also, the choice between Standard and Flexible depends on what you want to do/what libraries you need:
There are some third-party libraries already built-in in the Standard Environment, and you can include other libraries, but, those libraries can't include C extensions, they must be written in pure Python. If you need libraries with C extensions, you will have to move to Flexible.
In Standard, you can use propietary libraries (like google.appengine.ext, as you mentioned) to do tasks like accessing databases, while in Flexible you can use other libraries (like the client you mentioned).
There are also another important differences, like pricing, scaling, etc. The choice will depend, as I said, in your needs for your application.
EDIT
dev_appserver.py is only used when developing in Standard. There is a tutorial in here, with Flask. If you are in Flexible, you can test the app locally as if you were running as usual a python file, like in this other example.
You can use buckets in both Standard and Flexible
The python3-only cloudstorage support assumption based on the SO post you referenced is not correct:
the import appears to be done in a regular python shell or as a standalone script, not from a standard environment GAE app - different things, see import cloudstorage, ImportError: No module named google.appengine.api.
it is not specified where that library comes from
GCS is definitely supported in the standard env GAE (i.e. on python 2), you just need to follow the steps from the official documentation: Setting Up Google Cloud Storage and Reading and Writing to Google Cloud Storage.
Both were good. But the question is what kind of environment do you want? Standard environment or Flexible environment.
Find your answer in this document: https://cloud.google.com/appengine/docs/python/
It kind of depends on what you're using it for. If you're doing data science, for example, I'm seeing a few notices of Python libraries that are (finally) dropping support for Python 2. numpy is one that is dropping support.
Generally speaking, I would recommend Python 3 over Python 2. Why spend time developing in an aging version when its replacement has matured nicely and is more consistent?

Deso Google Client API (and Cloud Store API) need to be pushed to GAE?

GAE documentation mentions that client api needs to be installed in the project folder. Does this need to be uploaded to GAE along with the project code or does GAE has the libraries available on their servers (in the same manner they support PIL, django, lxml, etc).
Sorry if this is a pedestrian question ? (I am also wondering why would they not bundle them into the developer SDK ? My question partly ensues from the fact that Google Cloud Storage API needs to be downloaded in the Python folder).
Yes, you have to upload the lib.
See this Gist with an explanation on how to use the GAE cloud storage client with Python in GAE production and development.

Can Pandas run on Google App Engine for Python?

Can the pandas data analysis module run on Google App Engine?
My first inclination is no: the web page states "critical code paths compiled to C". So since this is not a purely python package, you cannot simply copy a directory or ZIP file into your app engine project.
Is it possible to "disable" the C extensions and have the module run in pure python (albeit slower)?
As of today, Google App Engine Python 2.7 runtime doesn't currently allow running arbitrary C extensions.
But it does allow inclusion of third party library that have been hand selected by the engineering team based on their popularity and developer demand.
You can request for a specific library to be included by filling a feature request on the public issue tracker. If it gets enough ☆☆☆ it is likely to be considered for inclusion in an upcoming release.

Is it possible to use a C library with python AppEngine?

I am investigating into if I can use a library like GHMM with my python web service in which runs on AppEngine.
Short answer: no
https://developers.google.com/appengine/kb/commontasks
What third party libraries can I use in my application?
You can use any pure Python third party libraries in your Google App Engine application. In order to use a third party library, simply include the files in your application's directory, and they will be uploaded with your application when you deploy it to our system. You can import the files as you would any other Python files with your application.
As #gahooa has said, the generic answer is no.
For more popular libraries that have C dependencies your best option right now is to file a ticket[1], get other to upvote (star) your ticket and have the App Engine add it as a supported library.
[1] http://code.google.com/p/googleappengine/issues/entry?template=Feature%20request
In 2021 yes you can.
The flexible version of AppEngine allows you to do this, standard does not.
If, like me, you cannot justify the full time running costs of flexible, an alternative is to host the C library on Cloud Run and make API calls to it. Then you have costs of AppEngine standard and Cloud Run, but both are on-demand only.

Django: speech to text application

first do you know what language google used to create the speech to text search?
then can you create a speech to text django or google apps engine using python? i'm not a vb.net programmer and yes i know that such applications are usually created in java, couldn't they be created in jython? i have a django app i would like to introduce this feature to it.
i can use ispeech (not free!) or similar services, but before working with APIs (i don't like working with APIs to be honest unless it is facebook or google API), i'm looking to see if there's a python or jython library for that (i prefer python)
i found so far pyspeech it works on windows and my vps is linux so won't do me any good
Unlikely.
As you cannot install binaries in the Google App Engine environment, you would need build an entire speech recognition engine from scratch. This would be ..non-trival.
If you are not limited to Google App Engine however, there are Python bindings to existing packages, such as Sphinx

Categories