Chrome extension in python?

2019-01-11 00:46发布

I would like to create a google chrome extension. Specifically, I'd like to make a packaged app, but not a hosted app. Am I correct in thinking this limits me to JavaScript (and HTML/CSS)?

My problem is that I need to do some complex math (singular value decomposition, factor analysis) and I don't want to write algorithms for this in javascript. Python already has libraries for the functions I need (SciPy), but I can't find any indication that I can make a Chrome extension using python.

Is this correct? Do I have any other options?

5条回答
仙女界的扛把子
2楼-- · 2019-01-11 01:37

I'm writing an extension with Flexx PScript and like it very much. Here's an overview of different tools compared to PScript (do not trust this article, it's written by flexx developers:).

查看更多
一纸荒年 Trace。
3楼-- · 2019-01-11 01:43

Python Bindings for Google Chrome API might provide what you are looking for.

http://code.google.com/p/cefpython/

查看更多
戒情不戒烟
4楼-- · 2019-01-11 01:44

There is no Python built into Chrome but I am wondering whether Pyjamas can help you.

查看更多
Lonely孤独者°
5楼-- · 2019-01-11 01:51

You can make a standard Google Chrome extension with Python (server-less) https://pythonspot.com/en/create-a-chrome-plugin-with-python/

The idea is to compile Python to Javascript (technically a JS pre-compiler) using Rapydscript. Then include the generated script in the Chrome extension. The site above has a zip file with all the stuff inside.

I recommend using Rapydscript instead of Pyjamas. A Python script compiled with Rapydscript works like any other Chrome plugin.

Pyjamas scripts does not work well with Google Chrome (needs a special parameter when Chrome starts or server).

查看更多
贪生不怕死
6楼-- · 2019-01-11 01:51

Although you mentioned you don't want it to be a hosted app, but this is one typical scenario where a hosted app can do.

SciPy is not a package that is easy to deploy. Even if you are writing a installed application based on SciPy, it requires some effort to deploy this dependency. A web application can help here where you put most of the hard-to-deploy dependencies on the server side (which is a one-off thing). And the client side can be really light.

查看更多
登录 后发表回答