[
https://issues.apache.org/jira/browse/BEAM-6988?focusedWorklogId=242708&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-242708
]
ASF GitHub Bot logged work on BEAM-6988:
----------------------------------------
Author: ASF GitHub Bot
Created on: 15/May/19 17:42
Start Date: 15/May/19 17:42
Worklog Time Spent: 10m
Work Description: udim commented on issue #8530: [BEAM-6988] solved
problem related to updates of the str object
URL: https://github.com/apache/beam/pull/8530#issuecomment-492753407
`fn.__objclass__` is a partial type hint for some builtin methods, since it
doesn't provide type information to all possible arguments.
In Py3.7:
```py
>>> inspect.signature(str.isupper).bind('a') # okay
<BoundArguments (self='a')>
>>> inspect.signature(str.strip).bind('a') # missing optional arg chars
<BoundArguments (self='a')>
>>> inspect.signature(str.join).bind('a') # missing required arg iterable
TypeError: missing a required argument: 'iterable'
```
We can avoid the TypeError above by using `bind_partial()`, but the type
information for arguments beyond `self` will be missing from all builtins.
Hence, these are partial type hints.
----------------------------------------------------------------
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]
Issue Time Tracking
-------------------
Worklog Id: (was: 242708)
Time Spent: 3h 10m (was: 3h)
> TypeHints Py3 Error: test_non_function
> (apache_beam.typehints.typed_pipeline_test.MainInputTest) Fails on Python 3.7+
> ---------------------------------------------------------------------------------------------------------------------
>
> Key: BEAM-6988
> URL: https://issues.apache.org/jira/browse/BEAM-6988
> Project: Beam
> Issue Type: Sub-task
> Components: sdk-py-core
> Reporter: Robbe
> Assignee: niklas Hansson
> Priority: Major
> Time Spent: 3h 10m
> Remaining Estimate: 0h
>
> {noformat}
> Traceback (most recent call last):
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/typehints/typed_pipeline_test.py",
> line 53, in test_non_function
> result = ['xa', 'bbx', 'xcx'] | beam.Map(str.strip, 'x')
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/transforms/ptransform.py",
> line 510, in _ror_
> result = p.apply(self, pvalueish, label)
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/pipeline.py",
> line 514, in apply
> transform.type_check_inputs(pvalueish)
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/transforms/ptransform.py",
> line 753, in type_check_inputs
> hints = getcallargs_forhints(argspec_fn, *type_hints[0], **type_hints[1])
> File
> "/home/jenkins/jenkins-slave/workspace/beam_PreCommit_Python_Commit/src/sdks/python/test-suites/tox/py37/build/srcs/sdks/python/apache_beam/typehints/decorators.py",
> line 283, in getcallargs_forhints
> raise TypeCheckError(e)
> apache_beam.typehints.decorators.TypeCheckError: strip() missing 1 required
> positional argument: 'chars'{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)