google / grumpy

Grumpy is a Python to Go source code transcompiler and runtime.
Apache License 2.0
10.56k stars 652 forks source link

Active fork of grumpy #406

Open funny-falcon opened 6 years ago

funny-falcon commented 6 years ago

Looks like @alanjds maintains active fork of this project ~https://github.com/alanjds/grumpy~ https://github.com/grumpyhome/grumpy Lets support him with our attention!

cclauss commented 6 years ago

I am highly supportive of this effort but... 1) ~We can not open new issues at the fork. Should we just open and track issues here?~ 2) Current course and speed, will this this project succeed at just the point where Python 2 reaches end of life?

corona10 commented 6 years ago

There are 2 ways

  1. Lets start from base to support python3.
  2. Aim this project to archiving python2 code

Anyway I would like to maintain or cowork this project as a new grumpy org not someone's repository.

corona10 commented 6 years ago

@alanjds WDYT?

alanjds commented 6 years ago

Hi.

First of all, thanks for you support. I am preparing to publish an article detailing the new features of my branch. If you can, please leave comments before I do release it next week: https://labs.getninjas.com.br/unfinished-draft-released-grumpy-runtime-v0-3-0-a05f1cf8e111

@corona10:

  1. I think its better to keep the existing codebase, but build over Python3 support.
  2. AND keep aiming for Python2 support.

In fact is not hard to support both for now. I do think about a command line switch, or even try to parse as Py3 and fallback to Py2. But the way to do it is not important now I guess. Better is to have the only Python 2-and-3 compatible runtime and maybe let projects mix both flavors to ease the upgrade to Py3.

When messing with the compiler, made clear to me that many Py3 features are just compatible with Py2, and as easy or easier to implement. For exemple the PEP-3174 (__pycache__ folders) is so nicer then trying to create .pyc files.

@cclauss:

  1. Fixed :) You can create issues there now. But should we deprecate this google/grumpy repo?
  2. Not with just me coding ;-]

In fact, personally I am committed to push Grumpy until Python 2.7 EOL. If it does not be close to substitute Python 2.7 there, I will see it as sink cost of my bandwith and stop.

The whole work I made in this time after forking is all about making easier/appealing for new people to contribute. Now the job will be of getting more hands to help. Please take a look at the article I linked up. I do think it is a lot more welcoming than before, but maybe not enough.

Anyway I would like to maintain or cowork this project as a new grumpy org not someone's repository.

I had hold myself from a hard-hard fork until have something useful/better to show. And this repo here have 9k starts that will not be pulled over. Was hoping Google to create the organization and hand it over (what you think @trotterdylan ?). But is time to do the new organization :/

We may create a whole new organization, like grumpyorg/grumpy, or put it on https://jazzband.co one.

What do you think?

corona10 commented 6 years ago

@alanjds

Yes, is time to create a grumpy.org / grumpy.

Few things should be discussed.

  1. I know your branch has a head from 198 commits from google / grumpy, as you know, https://github.com/google/grumpy/pulls?q=is%3Apr+is%3Aclosed we merged all commits per feature units. So would you like to squash your 198 commits into few feature based commits.

  2. IMHO, we don't need 9k stars this is not a facebook, I mean we should focus on maintaining source codes not stars.

  3. We should move all issues to new org issues.

  4. grumpy project has highly dependent on https://github.com/m-labs/pythonparser to parse Python code. we should fork this one also into grumpy.org / pythonparser .

Please understand my short English thanks!

corona10 commented 6 years ago

@alanjds I saw one case that tries transfer into the new repository but failed. https://github.com/dropbox/pyston/issues/1422

alanjds commented 6 years ago

Your english is damn good for me.

  1. Maybe. I am not a fan of squashing commits because it makes bisecting very harder, but maybe for a one-off... Lots of new features are dependent on each other. I had not removed the branch marks on Github, so would be easy to redo the paths, but is it worth?
  2. Agreed, but, eh... its all about more hands. The 398 watchers are being notified as we talk and this is a nice asset. I am ok to lose it, but prefer not if possible.
  3. Totally agreed.
  4. Right now the pythonparser is vendored inside Grumpy repo. I thought about unvendoring it and search for a working "stock" version. This will help with the Py3 quest too. May be needed to fork it, but I vote for trying some "stock" versions first.

Sad on pyston repo :/ Corporates sometimes have odd decisions. At least Google is not Facebook nor Oracle and Grumpy is Apache 2 already. Thanks for all the code I could not write myself 😘.

alanjds commented 5 years ago

Yesterday I published grumpy-tools v0.2.1, and now all the article examples do work.

I want to public publish the article this week.

However there is one feature on the paths branch that I do not know if should be included: it includes the whole sys.path on the search for imports. Means that everything pip-installed is available to be transpiled.

Should it be included?

alanjds commented 5 years ago

Other thing: will we create the grumpyorg to include in the article or publish another later pointing people to it?

Have you a preference on a new organization or jazzband?

alanjds commented 5 years ago

Merged the paths branch and released grumpy-runtime 0.2.2 on PyPI. Should be up in a few minutes.

If nothing new cames, I should release the article Tuesday 17.

alanjds commented 5 years ago

@corona10

Have you thought about moving the fork to a new org or to jazzband one?

I am ready to release the 0.3.0 version and publish the article, and want to migrate the issues before that if possible.

r21gh commented 5 years ago

@alanjds I think it's better to move this active fork to another organization with python 3 support.

alanjds commented 5 years ago

@RezaGhanbari Ok. Will create a new organization instead of jazzband, and will invite all you 🙈 ❤️

Python 3 support is a matter of listing the features and start implementing. Most missing stuff is needed both on Python2 and Python3:

Right now I am on the quest to support import *, needed to be able to run grumpy -m pip and grumpy -m httpie.

Btw, is released the grumpy-runtime v0.3.0 on PyPI. The article explaining the new features on my branch is released too: https://labs.getninjas.com.br/released-grumpy-runtime-v0-3-0-a05f1cf8e111

corona10 commented 5 years ago

@alanjds I agree with new org, not jazzband. IMHO, There is no reason to use jazzband

Anyway congrats to release the new version 👍

alanjds commented 5 years ago

Huh, @grumpyorg is now taken. I saw it available last week. What will be the new name now?

r21gh commented 5 years ago

@alanjds what about combination of grumpier and org? Or just grumpier?

alanjds commented 5 years ago

Taken too :/

alanjds commented 5 years ago

grumpyhome is available

alanjds commented 5 years ago

The new grumpy home is at https://github.com/grumpyhome/grumpy !

abitrolly commented 4 years ago

@funny-falcon can you update your comment to point directly to https://github.com/grumpyhome/grumpy ?

Hey, @google. Can you update a description of this repo to point to a better maintained fork?

XVilka commented 4 years ago

It seems the development of that fork stopped - 5 months no updates.

alanjds commented 4 years ago

Well, I am not actively pushing it forward. However am still reviewing PRs and answering questions.