Closed regisb closed 3 years ago
I like good build support. But make
is not my cup of tea. So pls explain what this PR enables. - Digging deeper: I understand you've added MakeFile. Moreover, some auto-generated files have been added/changed. Do we really need these in the repo? Isn't MakeFile enough?
Hey @dr-leo!
The Makefile was already present, I added it a while ago. What I added in this PR is a "upgrade-requirements" target to this Makefile. The role of this target is to update the requirements/.txt files. These txt files are not used by the pyhyphen end users. Instead, the `requirements/.infiles describe minimally constrained requirements that are then loaded by [setup.py](https://github.com/dr-leo/PyHyphen/blob/03b3817ab258c9f5ac30408ae161051e8a4fab32/setup.py#L14). The "requirements/*.txt" files are created to ensure that all pyhyphen developers have identical development environments. Developers should install requirements by running
pip install -r requirements/dev.txt. In CI, docs should be generated in a environment where we run
pip install -r requirements/doc.txt`.
Does that make sense?
For more information, check for instance: https://packaging.python.org/discussions/install-requires-vs-requirements/
Thanks for this clarification. I will merge this PR, or you can do it. I understand this does not require a new release. On a separate note, I was wondering if the release of python 3.10 requires a new release. I also wonder what to do with the other two open PR‘s opened by bots. Finally, I wonder if set up tools is finally able to compile a C extension without setup.py.
Am 31.10.2021 um 15:53 schrieb Régis Behmo @.***>:
Hey @dr-leo!
The Makefile was already present, I added it a while ago. What I added in this PR is a "upgrade-requirements" target to this Makefile. The role of this target is to update the requirements/.txt files. These txt files are not used by the pyhyphen end users. Instead, the requirements/*.in files describe minimally constrained requirements that are then loaded by setup.py. The "requirements/.txt" files are created to ensure that all pyhyphen developers have identical development environments. Developers should install requirements by running pip install -r requirements/dev.txt. In CI, docs should be generated in a environment where we run pip install -r requirements/doc.txt.
Does that make sense?
For more information, check for instance: https://packaging.python.org/discussions/install-requires-vs-requirements/
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
On a separate note, I was wondering if the release of python 3.10 requires a new release
Yes, we should release a new minor version.
I also wonder what to do with the other two open PR‘s opened by bots.
They were closed automatically after this PR was merged. Actually, the notifications I received from these bots is what triggered me to upgrade the dependencies.
Finally, I wonder if set up tools is finally able to compile a C extension without setup.py.
I have no idea...
And set up tools: I have checked the release history. Unfortunately, the set up script is still required. What would be the purpose of the new minor release you are proposing? I have no problem with doing this release. But from what I understand there is no change whatsoever. Maybe in the read me to reference documentation or something?
Am 01.11.2021 um 08:14 schrieb Régis Behmo @.***>:
On a separate note, I was wondering if the release of python 3.10 requires a new release
Yes, we should release a new minor version.
I also wonder what to do with the other two open PR‘s opened by bots.
They were closed automatically after this PR was merged. Actually, the notifications I received from these bots is what triggered me to upgrade the dependencies.
Finally, I wonder if set up tools is finally able to compile a C extension without setup.py.
I have no idea...
— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or unsubscribe.
What would be the purpose of the new minor release you are proposing?
The point of creating a new minor release would simply be that users of Python 3.10 can install pyhyphen from pip.
Thanks. I've releas3ed v4.0.2 regardless. Kindly doublecheck if it is fit for purpose.
On 29/11/2021, Régis Behmo @.***> wrote:
What would be the purpose of the new minor release you are proposing?
The point of creating a new minor release would simply be that users of Python 3.10 can install pyhyphen from pip.
-- You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub: https://github.com/dr-leo/PyHyphen/pull/13#issuecomment-981408303
I managed to install pyhyphen==4.0.2 with Python 3.10.0 :+1:
$ pyenv install 3.10.0
Downloading Python-3.10.0.tar.xz...
-> https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tar.xz
Installing Python-3.10.0...
patching file aclocal.m4
patching file configure
Hunk #5 succeeded at 10537 (offset -15 lines).
Installed Python-3.10.0 to /home/regis/.pyenv/versions/3.10.0
$ ~/.pyenv/versions/3.10.0/bin/python -m venv venv3.10
$ source venv3.10/bin/activate
$ pip install pyhyphen
Collecting pyhyphen
Downloading PyHyphen-4.0.2.tar.gz (39 kB)
Collecting wheel>=0.36.0
Using cached wheel-0.37.0-py2.py3-none-any.whl (35 kB)
Requirement already satisfied: setuptools>=52.0 in ./venv3.10/lib/python3.10/site-packages (from pyhyphen) (57.4.0)
Collecting appdirs>=1.4.0
Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting requests>=2.25
Using cached requests-2.26.0-py2.py3-none-any.whl (62 kB)
Collecting charset-normalizer~=2.0.0
Downloading charset_normalizer-2.0.8-py3-none-any.whl (39 kB)
Collecting urllib3<1.27,>=1.21.1
Using cached urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
Collecting certifi>=2017.4.17
Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting idna<4,>=2.5
Using cached idna-3.3-py3-none-any.whl (61 kB)
Using legacy 'setup.py install' for pyhyphen, since package 'wheel' is not installed.
Installing collected packages: urllib3, idna, charset-normalizer, certifi, wheel, requests, appdirs, pyhyphen
Running setup.py install for pyhyphen ... done
Successfully installed appdirs-1.4.4 certifi-2021.10.8 charset-normalizer-2.0.8 idna-3.3 pyhyphen-4.0.2 requests-2.26.0 urllib3-1.26.7 wheel-0.37.0
WARNING: You are using pip version 21.2.3; however, version 21.3.1 is available.
You should consider upgrading via the '/home/regis/tmp/venv3.10/bin/python -m pip install --upgrade pip' command.
(venv3.10) $ python
Python 3.10.0 (default, Nov 30 2021, 11:23:31) [GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from hyphen import Hyphenator
>>> h = Hyphenator('de_DE')
>>> s = 'Politikverdrossenheit'
>>> h.pairs(s)
[['Po', 'litikverdrossenheit'], ['Poli', 'tikverdrossenheit'], ['Politik', 'verdrossenheit'], ['Politikver', 'drossenheit'], ['Politikverdros', 'senheit'], ['Politikverdrossen', 'heit']]
Success!
Also, add a make target to make it easy to upgrade all requirements at once.