py2many / py2many

Transpiler of Python to many other languages
MIT License
777 stars 55 forks source link

v0.3 #356

Closed jayvdb closed 3 years ago

jayvdb commented 3 years ago

Once https://github.com/adsharma/py2many/pull/350 is merged, I think we're due for a 0.3 release.

Any features wanted before a new release?

ping @PXshadow @dstromberg @john-michaelburke @dumblob

@nsauzede , I notice you have an active fork with some changes. Any you feel are close to being ready - we can help you get them rebased and merged if you let us know which branches we should be investigating.

john-michaelburke commented 3 years ago

Nothing on my end.

adsharma commented 3 years ago

350 is merged. I'm taking a few days off. Will be back online this weekend.

nsauzede commented 3 years ago

@jayvdb hey thanks for reaching out Yes, I did a quick experiment to introduce early V support (vlang) but I just tried a quick rebase on latest main and indeed there are conflicts I'll try to see if I can sort them out... else yes it would be nice to have a bit of help the branch of interest is f-v

jayvdb commented 3 years ago

Looks like you are already past the conflicts. I've added some further guidance at https://github.com/adsharma/py2many/issues/319#issuecomment-870425270 . ping me again on that issue if you're getting stuck.

nsauzede commented 3 years ago

Looks like you are already past the conflicts. I've added some further guidance at #319 (comment) . ping me again on that issue if you're getting stuck.

Yes, but @div72 did a better job (including my initial work) here : https://github.com/adsharma/py2many/pull/357 Please consider reviewing/approving/merging theirs instead

PXshadow commented 3 years ago

It's looking great from my view, congrats on this release, I'm exicted to see a transpiled out typed python source, I think it could be very useful. Still a decent amount to do on my end to transpile the required Go libraries for the Go target of py2many.

adsharma commented 3 years ago

355 is a good one to close. Otherwise it looks like we're in good shape!

jayvdb commented 3 years ago

https://github.com/adsharma/py2many/blob/d5ef9c3/py2many/rewriters.py#L26-L27 was some debugging left behind by me, and should be removed.

I think we should start a changelog.

jayvdb commented 3 years ago

In addition to https://github.com/adsharma/py2many/pull/363, I have another bunch of fixes on the way.

adsharma commented 3 years ago

Looks like we'll have most of the outstanding fixes in today. Sent a changelog PR as well.

Should we look into vlang after the release or hold it till #357 is passing tests?

jayvdb commented 3 years ago

I'll add a comment to https://github.com/adsharma/py2many/pull/388 with extra items I think should be on the changelog for this release. One should be the relative change % in code coverage; im hoping it is an increase ... ;-)

If you could, https://github.com/adsharma/py2many/issues/347 is five mins to set up, and will mean we can add a badge for our quality level, and is worth noting it in the changelog, esp if we're at B levels, as the next changelog entry should see those bumped up to A.

For v0.4, we should define a set of tests that all languages need to pass, incl new ones before they can be merged. I have a Ruby external transpiler passing nearly all cli tests, and iirc the JS one is passing most tests. Haxe and Racket external translater projects will probably also be ready soon. v0.4 changelog will be full of new langs.

jayvdb commented 3 years ago

https://github.com/adsharma/py2many/issues/392 looks like a new problem, likely caused by the directory mode rewrite.

jayvdb commented 3 years ago

fwiw, we are still at 90% coverage.

IMO we are done. Any of the issues created over the last few weeks which are worth getting in?

I would prefer for V to land after the release, but https://github.com/adsharma/py2many/pull/357 also is at 90% coverage currently, so I have no objection to it being included (if it is landed soon).

adsharma commented 3 years ago

Would love to get #357 in. Can add some more excitement to the release. But otherwise we're done. Agreed!

adsharma commented 3 years ago

I'm looking at the bdist wheel and a significant fraction of it is tests. When I searched for is it common practice to include tests, I get mixed results. For example:

https://github.com/dbcli/pgcli/pull/995

The tests are excluded in setup.py:find_packages(), but included in MANIFEST.in. Also vlang is missing there.

I'm not sure if including the tests is valuable since the end user is unlikely to have the setup to run them.

jayvdb commented 3 years ago

When I run bdist_wheel, I see pycpp/tests/*.py and pyrs/tests/*.py are included, but not tests/**. Those two sets can be added to the exclude=[...] list in setup.py.

adsharma commented 3 years ago

https://pypi.org/project/py2many/0.3/

@jayvdb - do you want to send an announcement out on any mailing lists or social media channels that might care about it?

This was a pretty significant step up from 0.2.1. Thank you for making it happen!