waxeye-org / waxeye

Waxeye is a parser generator based on parsing expression grammars (PEGs). It supports C, Java, JavaScript, Python, Racket, and Ruby.
https://waxeye-org.github.io/waxeye/index.html
Other
235 stars 38 forks source link

Merge pull request #99 from KOLANICH/python_package_setup #99

Closed KOLANICH closed 4 years ago

glebm commented 4 years ago

numpy seems to fall back to distutils:

https://github.com/numpy/numpy/blob/8957f23bd61623e0293df610dfe339e09fb0c653/setup.py#L219-L227

SciPy does something similar

Should this package do the same? Why is this change useful?

glebm commented 4 years ago

Nevermind, numpy seems to require setuptools now (I referenced an old commit hash in the comment above).

Still please provide a more detailed explanation.

KOLANICH commented 4 years ago

Why is this change useful?

  1. python3 ./setup.py bdist_wheel works.
  2. setup.cfg is not Turing-complete, so it is easier for third party tools to extract data from it.
glebm commented 4 years ago

Does this break any workflows? As far as I can tell, distutils are built-in and setuptools are not but I don't know much about Python packaging.

KOLANICH commented 4 years ago

Does this break any workflows?

The only workflow miss of setuptools breaks I know is when I want to build a wheel manually. For example when I want to build a wheel as a user and then install it as root.

As far as I can tell, distutils are built-in and setuptools are not but I don't know much about Python packaging.

They are de-facto standard. Anyway, I can move the metadata back and make a fallback to distutils. Should I?

glebm commented 4 years ago

Yeah, please do the fall back. I'd rather err on the side of caution here. Thanks.

KOLANICH commented 4 years ago

Already done.

glebm commented 4 years ago

Thanks @KOLANICH