Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deploy an online tool #18

Open
alisianoi opened this issue Jun 15, 2017 · 5 comments
Open

Deploy an online tool #18

alisianoi opened this issue Jun 15, 2017 · 5 comments
Assignees

Comments

@alisianoi
Copy link
Collaborator

alisianoi commented Jun 15, 2017

This issue will capture progress on making license-expression and boolean.py into online tools.

Transpiling tools that did not quite work:

  1. RapydScript https://github.com/atsepkov/RapydScript
    Lacks support for importing things (like, import __future__), its list of importable modules is here

  2. Batavia https://github.com/pybee/batavia
    The idea here is to compile python to its bytecode and then run it in a javascript vm. Because python bytecode changes from version to version, batavia currently supports 3.4.4 and possibly 3.5.x (their docs state many things). My problem was compiling those pythons on Archlinux and when I finally did a) their test suite did not quite pass and b) it chocked on import __future__.

  3. PyPyJS https://github.com/pypyjs/pypyjs
    The whole thing is complicated and I failed to make it work. Main demotivator: the website offers python 2.7.9 and there is a github issue that indicates python 3 support is stalling.

Transpiling tools that look promising:

  1. Transcrypt https://github.com/qquick/Transcrypt and http://transcrypt.org
    This is currently the only candidate that has a distinct transpiling step (you actually see the .js files as a result) that could be made to work. However, there are problems which are summarized on SO.

  2. Brython https://github.com/brython-dev/brython
    The most laid-back approach: just works, delivers results but sometimes the resulting boolean expressions come out wrong (runtime error).

Transpiling tools that look promising but not yet tried:

  1. Skulpt http://www.skulpt.org/
    It looks similar to Brython, which is why untried.

  2. flexx https://github.com/zoofIO/flexx

  3. https://github.com/alehander42/pseudo-python

  4. https://github.com/alehander42/pseudo

@alisianoi
Copy link
Collaborator Author

Need to watch a PyCon17 talk on building transpilers, might be useful:

https://www.youtube.com/watch?v=9c4DEYIXYCM

@alisianoi alisianoi self-assigned this Jun 15, 2017
@pombredanne
Copy link
Member

and the pybee tool from the same author, that you listed alright :)
great finds!

@motet-a
Copy link

motet-a commented Jun 17, 2017

Hello,

spdx-expression-parse is a SPDX expression parser written in JavaScript. There are other related packages in jslicense.

It is much more minimal than this project (which have many more features), but if it can save you some time...

@pombredanne
Copy link
Member

@motet-a Thanks! spdx-expression-parse is great... with the caveat that the features it misses are the ones we want in JS ;) e.g. flexible parsing from eventually non-SPDX licenses names or ids, and boolean reasoning, sorting, simplification and equivalence on expressions. (FYI this effort to port this to JS by @all3fox is a GSoC project)

@veer11997
Copy link

i would like to work on the project for gsoc 2019.and i want to contribute on it.

pombredanne pushed a commit that referenced this issue Apr 16, 2021
Ensure we use official full text of Apache 2.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants