You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by ro...@apache.org on 2017/05/11 22:15:57 UTC
[1/4] beam git commit: [BEAM-1345] Mark apache_beam/internal as
internal.
Repository: beam
Updated Branches:
refs/heads/master 0fd0409bf -> 4a62fabdb
[BEAM-1345] Mark apache_beam/internal as internal.
Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/16a3fff1
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/16a3fff1
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/16a3fff1
Branch: refs/heads/master
Commit: 16a3fff18fdd34ebd85fe7d436f8ce3a429666d0
Parents: d531219
Author: Robert Bradshaw <ro...@gmail.com>
Authored: Thu May 11 12:09:28 2017 -0700
Committer: Robert Bradshaw <ro...@gmail.com>
Committed: Thu May 11 15:15:06 2017 -0700
----------------------------------------------------------------------
sdks/python/apache_beam/internal/__init__.py | 2 ++
sdks/python/apache_beam/internal/gcp/__init__.py | 2 ++
2 files changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/beam/blob/16a3fff1/sdks/python/apache_beam/internal/__init__.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/internal/__init__.py b/sdks/python/apache_beam/internal/__init__.py
index cce3aca..0bce5d6 100644
--- a/sdks/python/apache_beam/internal/__init__.py
+++ b/sdks/python/apache_beam/internal/__init__.py
@@ -14,3 +14,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+
+"""For internal use only; no backwards-compatibility guarantees."""
http://git-wip-us.apache.org/repos/asf/beam/blob/16a3fff1/sdks/python/apache_beam/internal/gcp/__init__.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/internal/gcp/__init__.py b/sdks/python/apache_beam/internal/gcp/__init__.py
index cce3aca..0bce5d6 100644
--- a/sdks/python/apache_beam/internal/gcp/__init__.py
+++ b/sdks/python/apache_beam/internal/gcp/__init__.py
@@ -14,3 +14,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+
+"""For internal use only; no backwards-compatibility guarantees."""
[2/4] beam git commit: [BEAM-1345] Annotate public members of pvalue.
Posted by ro...@apache.org.
[BEAM-1345] Annotate public members of pvalue.
Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/d531219f
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/d531219f
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/d531219f
Branch: refs/heads/master
Commit: d531219fcaac19d483d108c8e7df4476034c25f7
Parents: 0fd0409
Author: Robert Bradshaw <ro...@gmail.com>
Authored: Thu May 11 12:07:00 2017 -0700
Committer: Robert Bradshaw <ro...@gmail.com>
Committed: Thu May 11 15:15:06 2017 -0700
----------------------------------------------------------------------
sdks/python/apache_beam/pvalue.py | 11 +++++++++++
1 file changed, 11 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/beam/blob/d531219f/sdks/python/apache_beam/pvalue.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/pvalue.py b/sdks/python/apache_beam/pvalue.py
index fa91fe3..7385e82 100644
--- a/sdks/python/apache_beam/pvalue.py
+++ b/sdks/python/apache_beam/pvalue.py
@@ -31,6 +31,17 @@ import itertools
from apache_beam import typehints
+__all__ = [
+ 'PCollection',
+ 'TaggedOutput',
+ 'AsSingleton',
+ 'AsIter',
+ 'AsList',
+ 'AsDict',
+ 'EmptySideInput',
+]
+
+
class PValue(object):
"""Base class for PCollection.
[4/4] beam git commit: Closes #3094
Posted by ro...@apache.org.
Closes #3094
Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/4a62fabd
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/4a62fabd
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/4a62fabd
Branch: refs/heads/master
Commit: 4a62fabdb30de3f9d1a539ee7e685b5151ed9ca1
Parents: 0fd0409 7881fd5
Author: Robert Bradshaw <ro...@gmail.com>
Authored: Thu May 11 15:15:13 2017 -0700
Committer: Robert Bradshaw <ro...@gmail.com>
Committed: Thu May 11 15:15:13 2017 -0700
----------------------------------------------------------------------
sdks/python/apache_beam/internal/__init__.py | 2 ++
sdks/python/apache_beam/internal/gcp/__init__.py | 2 ++
sdks/python/apache_beam/pipeline.py | 2 +-
sdks/python/apache_beam/pvalue.py | 11 +++++++++++
sdks/python/apache_beam/transforms/core.py | 8 ++++----
sdks/python/apache_beam/transforms/ptransform.py | 14 +++++++-------
sdks/python/apache_beam/typehints/decorators.py | 17 +++++++++++++----
sdks/python/apache_beam/typehints/opcodes.py | 2 ++
.../apache_beam/typehints/trivial_inference.py | 2 ++
sdks/python/apache_beam/typehints/typecheck.py | 15 +++++++++------
sdks/python/apache_beam/typehints/typehints.py | 18 ++++++++++++++++++
.../apache_beam/typehints/typehints_test.py | 19 ++++++++++---------
12 files changed, 81 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
[3/4] beam git commit: [BEAM-1345] Clearly delineate public api in
apache_beam/typehints.
Posted by ro...@apache.org.
[BEAM-1345] Clearly delineate public api in apache_beam/typehints.
Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/7881fd5e
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/7881fd5e
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/7881fd5e
Branch: refs/heads/master
Commit: 7881fd5e6b53f6a26e23f877e47a410f6a515ae7
Parents: 16a3fff
Author: Robert Bradshaw <ro...@gmail.com>
Authored: Thu May 11 12:54:13 2017 -0700
Committer: Robert Bradshaw <ro...@gmail.com>
Committed: Thu May 11 15:15:07 2017 -0700
----------------------------------------------------------------------
sdks/python/apache_beam/pipeline.py | 2 +-
sdks/python/apache_beam/transforms/core.py | 8 ++++----
sdks/python/apache_beam/transforms/ptransform.py | 14 +++++++-------
sdks/python/apache_beam/typehints/decorators.py | 17 +++++++++++++----
sdks/python/apache_beam/typehints/opcodes.py | 2 ++
.../apache_beam/typehints/trivial_inference.py | 2 ++
sdks/python/apache_beam/typehints/typecheck.py | 15 +++++++++------
sdks/python/apache_beam/typehints/typehints.py | 18 ++++++++++++++++++
.../apache_beam/typehints/typehints_test.py | 19 ++++++++++---------
9 files changed, 66 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/beam/blob/7881fd5e/sdks/python/apache_beam/pipeline.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/pipeline.py b/sdks/python/apache_beam/pipeline.py
index ec8dde4..79480d7 100644
--- a/sdks/python/apache_beam/pipeline.py
+++ b/sdks/python/apache_beam/pipeline.py
@@ -53,11 +53,11 @@ import shutil
import tempfile
from apache_beam import pvalue
-from apache_beam import typehints
from apache_beam.internal import pickler
from apache_beam.runners import create_runner
from apache_beam.runners import PipelineRunner
from apache_beam.transforms import ptransform
+from apache_beam.typehints import typehints
from apache_beam.typehints import TypeCheckError
from apache_beam.options.pipeline_options import PipelineOptions
from apache_beam.options.pipeline_options import SetupOptions
http://git-wip-us.apache.org/repos/asf/beam/blob/7881fd5e/sdks/python/apache_beam/transforms/core.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/transforms/core.py b/sdks/python/apache_beam/transforms/core.py
index a1964cf..abe699f 100644
--- a/sdks/python/apache_beam/transforms/core.py
+++ b/sdks/python/apache_beam/transforms/core.py
@@ -40,15 +40,15 @@ from apache_beam.transforms.window import TimestampedValue
from apache_beam.transforms.window import GlobalWindows
from apache_beam.transforms.window import WindowFn
from apache_beam.typehints import Any
-from apache_beam.typehints import get_type_hints
-from apache_beam.typehints import is_consistent_with
from apache_beam.typehints import Iterable
from apache_beam.typehints import KV
from apache_beam.typehints import trivial_inference
-from apache_beam.typehints import TypeCheckError
from apache_beam.typehints import Union
-from apache_beam.typehints import WithTypeHints
+from apache_beam.typehints.decorators import get_type_hints
+from apache_beam.typehints.decorators import TypeCheckError
+from apache_beam.typehints.decorators import WithTypeHints
from apache_beam.typehints.trivial_inference import element_type
+from apache_beam.typehints.typehints import is_consistent_with
from apache_beam.utils import urns
from apache_beam.options.pipeline_options import TypeOptions
http://git-wip-us.apache.org/repos/asf/beam/blob/7881fd5e/sdks/python/apache_beam/transforms/ptransform.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/transforms/ptransform.py b/sdks/python/apache_beam/transforms/ptransform.py
index d1f9835..8898c36 100644
--- a/sdks/python/apache_beam/transforms/ptransform.py
+++ b/sdks/python/apache_beam/transforms/ptransform.py
@@ -46,16 +46,16 @@ from google.protobuf import wrappers_pb2
from apache_beam import error
from apache_beam import pvalue
-from apache_beam import typehints
from apache_beam.internal import pickler
from apache_beam.internal import util
from apache_beam.transforms.display import HasDisplayData
from apache_beam.transforms.display import DisplayDataItem
-from apache_beam.typehints import getcallargs_forhints
-from apache_beam.typehints import TypeCheckError
-from apache_beam.typehints import validate_composite_type_param
-from apache_beam.typehints import WithTypeHints
+from apache_beam.typehints import typehints
+from apache_beam.typehints.decorators import getcallargs_forhints
+from apache_beam.typehints.decorators import TypeCheckError
+from apache_beam.typehints.decorators import WithTypeHints
from apache_beam.typehints.trivial_inference import instance_to_type
+from apache_beam.typehints.typehints import validate_composite_type_param
from apache_beam.utils import proto_utils
from apache_beam.utils import urns
@@ -491,7 +491,7 @@ class PTransformWithSideInputs(PTransform):
"""
def __init__(self, fn, *args, **kwargs):
- if isinstance(fn, type) and issubclass(fn, typehints.WithTypeHints):
+ if isinstance(fn, type) and issubclass(fn, WithTypeHints):
# Don't treat Fn class objects as callables.
raise ValueError('Use %s() not %s.' % (fn.__name__, fn.__name__))
self.fn = self.make_fn(fn)
@@ -577,7 +577,7 @@ class PTransformWithSideInputs(PTransform):
continue
if not typehints.is_consistent_with(
bindings.get(arg, typehints.Any), hint):
- raise typehints.TypeCheckError(
+ raise TypeCheckError(
'Type hint violation for \'%s\': requires %s but got %s for %s'
% (self.label, hint, bindings[arg], arg))
http://git-wip-us.apache.org/repos/asf/beam/blob/7881fd5e/sdks/python/apache_beam/typehints/decorators.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/typehints/decorators.py b/sdks/python/apache_beam/typehints/decorators.py
index 4eabdba..6ed388a 100644
--- a/sdks/python/apache_beam/typehints/decorators.py
+++ b/sdks/python/apache_beam/typehints/decorators.py
@@ -86,11 +86,20 @@ defined, or before importing a module containing type-hinted functions.
import inspect
import types
-from apache_beam.typehints import check_constraint
-from apache_beam.typehints import CompositeTypeHintError
-from apache_beam.typehints import SimpleTypeHintError
from apache_beam.typehints import typehints
-from apache_beam.typehints import validate_composite_type_param
+from apache_beam.typehints.typehints import check_constraint
+from apache_beam.typehints.typehints import CompositeTypeHintError
+from apache_beam.typehints.typehints import SimpleTypeHintError
+from apache_beam.typehints.typehints import validate_composite_type_param
+
+
+__all__ = [
+ 'with_input_types',
+ 'with_output_types',
+ 'WithTypeHints',
+ 'TypeCheckError',
+]
+
# This is missing in the builtin types module. str.upper is arbitrary, any
# method on a C-implemented type will do.
http://git-wip-us.apache.org/repos/asf/beam/blob/7881fd5e/sdks/python/apache_beam/typehints/opcodes.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/typehints/opcodes.py b/sdks/python/apache_beam/typehints/opcodes.py
index 042acc0..83f444c 100644
--- a/sdks/python/apache_beam/typehints/opcodes.py
+++ b/sdks/python/apache_beam/typehints/opcodes.py
@@ -23,6 +23,8 @@ FrameState object, the second the integer opcode argument.
Bytecodes with more complicated behavior (e.g. modifying the program counter)
are handled inline rather than here.
+
+For internal use only; no backwards-compatibility guarantees.
"""
import types
http://git-wip-us.apache.org/repos/asf/beam/blob/7881fd5e/sdks/python/apache_beam/typehints/trivial_inference.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/typehints/trivial_inference.py b/sdks/python/apache_beam/typehints/trivial_inference.py
index 4581aa1..977ea06 100644
--- a/sdks/python/apache_beam/typehints/trivial_inference.py
+++ b/sdks/python/apache_beam/typehints/trivial_inference.py
@@ -16,6 +16,8 @@
#
"""Trivial type inference for simple functions.
+
+For internal use only; no backwards-compatibility guarantees.
"""
import __builtin__
import collections
http://git-wip-us.apache.org/repos/asf/beam/blob/7881fd5e/sdks/python/apache_beam/typehints/typecheck.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/typehints/typecheck.py b/sdks/python/apache_beam/typehints/typecheck.py
index 160d104..09b73f9 100644
--- a/sdks/python/apache_beam/typehints/typecheck.py
+++ b/sdks/python/apache_beam/typehints/typecheck.py
@@ -15,7 +15,10 @@
# limitations under the License.
#
-"""Runtime type checking support."""
+"""Runtime type checking support.
+
+For internal use only; no backwards-compatibility guarantees.
+"""
import collections
import inspect
@@ -25,13 +28,13 @@ import types
from apache_beam.pvalue import TaggedOutput
from apache_beam.transforms.core import DoFn
from apache_beam.transforms.window import WindowedValue
-from apache_beam.typehints import check_constraint
-from apache_beam.typehints import CompositeTypeHintError
-from apache_beam.typehints import GeneratorWrapper
-from apache_beam.typehints import SimpleTypeHintError
-from apache_beam.typehints import TypeCheckError
from apache_beam.typehints.decorators import _check_instance_type
from apache_beam.typehints.decorators import getcallargs_forhints
+from apache_beam.typehints.decorators import GeneratorWrapper
+from apache_beam.typehints.decorators import TypeCheckError
+from apache_beam.typehints.typehints import check_constraint
+from apache_beam.typehints.typehints import CompositeTypeHintError
+from apache_beam.typehints.typehints import SimpleTypeHintError
class AbstractDoFnWrapper(DoFn):
http://git-wip-us.apache.org/repos/asf/beam/blob/7881fd5e/sdks/python/apache_beam/typehints/typehints.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/typehints/typehints.py b/sdks/python/apache_beam/typehints/typehints.py
index 9b41adb..cc430be 100644
--- a/sdks/python/apache_beam/typehints/typehints.py
+++ b/sdks/python/apache_beam/typehints/typehints.py
@@ -68,6 +68,24 @@ import copy
import types
+__all__ = [
+ 'Any',
+ 'Union',
+ 'Optional',
+ 'Tuple',
+ 'Tuple',
+ 'List',
+ 'KV',
+ 'Dict',
+ 'Set',
+ 'Iterable',
+ 'Iterator',
+ 'Generator',
+ 'WindowedValue',
+ 'TypeVariable',
+]
+
+
# A set of the built-in Python types we don't support, guiding the users
# to templated (upper-case) versions instead.
DISALLOWED_PRIMITIVE_TYPES = (list, set, tuple, dict)
http://git-wip-us.apache.org/repos/asf/beam/blob/7881fd5e/sdks/python/apache_beam/typehints/typehints_test.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/typehints/typehints_test.py b/sdks/python/apache_beam/typehints/typehints_test.py
index f90b5e9..f1b92e0 100644
--- a/sdks/python/apache_beam/typehints/typehints_test.py
+++ b/sdks/python/apache_beam/typehints/typehints_test.py
@@ -21,9 +21,8 @@ import inspect
import unittest
-import apache_beam.typehints as typehints
+import apache_beam.typehints.typehints as typehints
from apache_beam.typehints import Any
-from apache_beam.typehints import is_consistent_with
from apache_beam.typehints import Tuple
from apache_beam.typehints import TypeCheckError
from apache_beam.typehints import Union
@@ -34,6 +33,8 @@ from apache_beam.typehints.decorators import _interleave_type_check
from apache_beam.typehints.decorators import _positional_arg_hints
from apache_beam.typehints.decorators import get_type_hints
from apache_beam.typehints.decorators import getcallargs_forhints
+from apache_beam.typehints.decorators import GeneratorWrapper
+from apache_beam.typehints.typehints import is_consistent_with
def check_or_interleave(hint, value, var):
@@ -712,7 +713,7 @@ class TestGeneratorWrapper(TypeHintTestCase):
l = []
interleave_func = lambda x: l.append(x)
- wrapped_gen = typehints.GeneratorWrapper(count(4), interleave_func)
+ wrapped_gen = GeneratorWrapper(count(4), interleave_func)
# Should function as a normal generator.
self.assertEqual(0, next(wrapped_gen))
@@ -1032,12 +1033,12 @@ class CombinedReturnsAndTakesTestCase(TypeHintTestCase):
class DecoratorHelpers(TypeHintTestCase):
def test_hint_helper(self):
- self.assertTrue(typehints.is_consistent_with(Any, int))
- self.assertTrue(typehints.is_consistent_with(int, Any))
- self.assertTrue(typehints.is_consistent_with(str, object))
- self.assertFalse(typehints.is_consistent_with(object, str))
- self.assertTrue(typehints.is_consistent_with(str, Union[str, int]))
- self.assertFalse(typehints.is_consistent_with(Union[str, int], str))
+ self.assertTrue(is_consistent_with(Any, int))
+ self.assertTrue(is_consistent_with(int, Any))
+ self.assertTrue(is_consistent_with(str, object))
+ self.assertFalse(is_consistent_with(object, str))
+ self.assertTrue(is_consistent_with(str, Union[str, int]))
+ self.assertFalse(is_consistent_with(Union[str, int], str))
def test_positional_arg_hints(self):
self.assertEquals(typehints.Any, _positional_arg_hints('x', {}))