Yikun opened a new pull request #32110:
URL: https://github.com/apache/spark/pull/32110


   ### What changes were proposed in this pull request?
   This PR adds the typehint of pyspark.__version__, which was mentioned in 
[SPARK-34630](https://issues.apache.org/jira/browse/SPARK-34630).
   
   ### Why are the changes needed?
   There were some short discussion happened in 
https://github.com/apache/spark/pull/31823#discussion_r593830911 .
   
   After further deep investigation on [1][2], we can see the 
`pyspark.__version__` is added by 
[setup.py](https://github.com/apache/spark/blob/c06758834e6192b1888b4a885c612a151588b390/python/setup.py#L201),
 it makes `__version__` embedded into pyspark module, that means the 
`__init__.pyi` is the right place to add the typehint for `__version__`. 
   
   So, this patch add the type hint __version__ in pyspark/__init__.pyi.
   
   [1] [PEP-396 Module Version 
Numbers](https://www.python.org/dev/peps/pep-0396/)
   [2] https://packaging.python.org/guides/single-sourcing-package-version/
   ### Does this PR introduce _any_ user-facing change?
   No
   
   ### How was this patch tested?
   1. disable the ignore_error on
   
https://github.com/apache/spark/blob/ee7bf7d9628384548d09ac20e30992dd705c20f4/python/mypy.ini#L132
   
   2. Run mypy:
   - Before fix
   ```shell
   (venv) ➜  spark git:(SPARK-34629) ✗ mypy --config-file python/mypy.ini 
python/pyspark | grep version
   python/pyspark/pandas/spark/accessors.py:884: error: Module has no attribute 
"__version__"
   ```
   
   - After fix
   ```shell
   (venv) ➜  spark git:(SPARK-34629) ✗ mypy --config-file python/mypy.ini 
python/pyspark | grep version
   ```
   no output
   
   
   
   


-- 
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.

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



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to