potiuk commented on issue #42892:
URL: https://github.com/apache/airflow/issues/42892#issuecomment-2408790168

   This is invalid. 
   
   Agree - we missed that we have an old and not really used package before, 
but it should not be prevented from being installed on higher airflow version.
   
   While unicodecsv had indeed only specified classifiers for up to Python 3.5 
it had no requirements set to be only used for Python < 3.5 and since it had no 
dependencies on its own and it did not have python_requires that prevented it 
from being installed.
   
   What you are likely referring to when you mane are Trove Classifiers:
   
   ```
   Classifier: Development Status :: 5 - Production/Stable
   Classifier: Intended Audience :: Developers
   Classifier: License :: OSI Approved :: BSD License
   Classifier: Natural Language :: English
   Classifier: Programming Language :: Python :: 2.6
   Classifier: Programming Language :: Python :: 2.7
   Classifier: Programming Language :: Python :: 3.3
   Classifier: Programming Language :: Python :: 3.4
   Classifier: Programming Language :: Python :: 3.5
   Classifier: Programming Language :: Python :: Implementation :: PyPy
   Classifier: Programming Language :: Python :: Implementation :: CPython
   ```
   
   The trove classifiers are defined in https://peps.python.org/pep-0301/ and 
they are only there to classify projects when you search for them, but they 
should not be used by packaging tools to decide if they are installed for 
specific python version (`python_requires is the way to do that). 
   
   I am not sure what errors you had an which tools you used besides poetry - 
you missed to explain what kind of error you had when you tried to install 
airflow. But I am quite sure it is installable for higher python versio. In 
fact I just did it and it works (python 3.11 in this case):
   
   ```
   [jarek:~/code/airflow] fix-dependencies-removal+ 1 ± python --version
   Python 3.11.6
   [jarek:~/code/airflow] fix-dependencies-removal+ ± pip install unicodecsv
   DEPRECATION: Loading egg at 
/Users/jarek/.pyenv/versions/3.11.6/lib/python3.11/site-packages/Flask_OpenID-1.3.1-py3.11.egg
 is deprecated. pip 24.3 will enforce this behaviour change. A possible 
replacement is to use pip for package installation. Discussion can be found at 
https://github.com/pypa/pip/issues/12330
   DEPRECATION: Loading egg at 
/Users/jarek/.pyenv/versions/3.11.6/lib/python3.11/site-packages/defusedxml-0.8.0rc2-py3.11.egg
 is deprecated. pip 24.3 will enforce this behaviour change. A possible 
replacement is to use pip for package installation. Discussion can be found at 
https://github.com/pypa/pip/issues/12330
   DEPRECATION: Loading egg at 
/Users/jarek/.pyenv/versions/3.11.6/lib/python3.11/site-packages/python3_openid-3.2.0-py3.11.egg
 is deprecated. pip 24.3 will enforce this behaviour change. A possible 
replacement is to use pip for package installation. Discussion can be found at 
https://github.com/pypa/pip/issues/12330
   Collecting unicodecsv
     Using cached unicodecsv-0.14.1-py3-none-any.whl
   Installing collected packages: unicodecsv
   Successfully installed unicodecsv-0.14.1
   ```
   
   
   The setup.py of unicodecsv does not contain python_requires so generally no 
tool should be limited to installing it on higher python version than 3.5 (and 
since it is very simple code, it generally installs and works fine on higher 
versions).
   
   This is setup.py of latest `unicode.csv` - there is no limitation of Python 
version:
   
   ```python
   setup(
       name='unicodecsv',
       version=version,
       description="Python2's stdlib csv module is nice, but it doesn't support 
unicode. This module is a drop-in replacement which *does*.",
       long_description=open(os.path.join(os.path.dirname(__file__), 
'README.rst'), 'rb').read().decode('utf-8'),
       author='Jeremy Dunck',
       author_email='[email protected]',
       url='https://github.com/jdunck/python-unicodecsv',
       packages=find_packages(),
       tests_require=['unittest2>=0.5.1'],
       test_suite='runtests.get_suite',
       license='BSD License',
       classifiers=['Development Status :: 5 - Production/Stable',
                   'Intended Audience :: Developers',
                   'License :: OSI Approved :: BSD License',
                   'Natural Language :: English',
                   'Programming Language :: Python :: 2.6',
                   'Programming Language :: Python :: 2.7',
                   'Programming Language :: Python :: 3.3',
                   'Programming Language :: Python :: 3.4',
                   'Programming Language :: Python :: 3.5',
                   'Programming Language :: Python :: Implementation :: PyPy',
                   'Programming Language :: Python :: Implementation :: 
CPython',],
   ```
   
   
   I am not sure how you came to the conclusion that unicodecsv is not 
installable for Python 3.8+ - maybe you can explain what exactly error you 
experienced and what exactly you did in a follow-up discussion but I can assure 
you Airflow is instalable so this issue is invalid. 
   
   Converting to discussion if you need more. I will also make sure to check if 
unicodecsv removal is cherry-picked to 2-10 branch - so also we will remove it 
in the next release, but this is more of a cleanup than problem with 
installation.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to