www.programcreek.com
Open in
urlscan Pro
2606:4700:20::ac43:4749
Public Scan
URL:
https://www.programcreek.com/python/example/4554/abc.ABCMeta
Submission: On October 17 via api from FI — Scanned from FI
Submission: On October 17 via api from FI — Scanned from FI
Form analysis
0 forms found in the DOMText Content
* Search by Module * Search by Words * Search Projects Most Popular Top Python APIs Popular Projects * Java * Python * JavaScript * TypeScript * C++ * Scala * Blog More from abc * .ABCMeta() * .abstractmethod() * .abstractproperty() * .abstractstaticmethod() * .get_cache_token() * .ABC * .abstractclassmethod() Related Methods * sys.exit() * sys.argv() * re.compile() * os.environ() * time.time() * os.listdir() * time.sleep() * os.makedirs() * logging.getLogger() * sys.version_info() * json.loads() * json.dumps() * copy.deepcopy() * functools.partial() * argparse.ArgumentParser() * collections.defaultdict() * collections.OrderedDict() * collections.namedtuple() * abc.abstractmethod() * setuptools.find_packages() Related Modules * os * sys * re * time * logging * datetime * random * copy * itertools * json * numpy * collections * functools * argparse * setuptools PYTHON ABC.ABCMETA() EXAMPLES The following are 30 code examples of abc.ABCMeta(). You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may also want to check out all available functions/classes of the module abc , or try the search function . Example #1 Source File: deploy.py From picoCTF with MIT License 6 votes def challenge_meta(attributes): """ Returns a metaclass that will introduce the given attributes into the class namespace. Args: attributes: The dictionary of attributes Returns: The metaclass described above """ class ChallengeMeta(ABCMeta): def __new__(cls, name, bases, attr): attrs = dict(attr) attrs.update(attributes) return super().__new__(cls, name, bases, attrs) return ChallengeMeta Example #2 Source File: test_descr.py From ironpython2 with Apache License 2.0 6 votes def test_slots_descriptor(self): # Issue2115: slot descriptors did not correctly check # the type of the given object import abc class MyABC: __metaclass__ = abc.ABCMeta __slots__ = "a" class Unrelated(object): pass MyABC.register(Unrelated) u = Unrelated() self.assertIsInstance(u, MyABC) # This used to crash self.assertRaises(TypeError, MyABC.a.__set__, u, 3) Example #3 Source File: test_abc.py From ironpython2 with Apache License 2.0 6 votes def test_registration_basics(self): class A: __metaclass__ = abc.ABCMeta class B(object): pass b = B() self.assertFalse(issubclass(B, A)) self.assertFalse(issubclass(B, (A,))) self.assertNotIsInstance(b, A) self.assertNotIsInstance(b, (A,)) A.register(B) self.assertTrue(issubclass(B, A)) self.assertTrue(issubclass(B, (A,))) self.assertIsInstance(b, A) self.assertIsInstance(b, (A,)) class C(B): pass c = C() self.assertTrue(issubclass(C, A)) self.assertTrue(issubclass(C, (A,))) self.assertIsInstance(c, A) self.assertIsInstance(c, (A,)) Example #4 Source File: test_abc.py From ironpython2 with Apache License 2.0 6 votes def test_registration_edge_cases(self): class A: __metaclass__ = abc.ABCMeta A.register(A) # should pass silently class A1(A): pass self.assertRaises(RuntimeError, A1.register, A) # cycles not allowed class B(object): pass A1.register(B) # ok A1.register(B) # should pass silently class C(A): pass A.register(C) # should pass silently self.assertRaises(RuntimeError, C.register, A) # cycles not allowed C.register(B) # ok Example #5 Source File: test_abc.py From ironpython2 with Apache License 2.0 6 votes def test_cache_leak(self): # See issue #2521. class A(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod def f(self): pass class C(A): def f(self): A.f(self) r = weakref.ref(C) # Trigger cache. C().f() del C test_support.gc_collect() self.assertEqual(r(), None) Example #6 Source File: test_descr.py From BinderFilter with MIT License 6 votes def test_slots_descriptor(self): # Issue2115: slot descriptors did not correctly check # the type of the given object import abc class MyABC: __metaclass__ = abc.ABCMeta __slots__ = "a" class Unrelated(object): pass MyABC.register(Unrelated) u = Unrelated() self.assertIsInstance(u, MyABC) # This used to crash self.assertRaises(TypeError, MyABC.a.__set__, u, 3) Example #7 Source File: test_abc.py From BinderFilter with MIT License 6 votes def test_registration_basics(self): class A: __metaclass__ = abc.ABCMeta class B(object): pass b = B() self.assertFalse(issubclass(B, A)) self.assertFalse(issubclass(B, (A,))) self.assertNotIsInstance(b, A) self.assertNotIsInstance(b, (A,)) A.register(B) self.assertTrue(issubclass(B, A)) self.assertTrue(issubclass(B, (A,))) self.assertIsInstance(b, A) self.assertIsInstance(b, (A,)) class C(B): pass c = C() self.assertTrue(issubclass(C, A)) self.assertTrue(issubclass(C, (A,))) self.assertIsInstance(c, A) self.assertIsInstance(c, (A,)) Example #8 Source File: test_abc.py From BinderFilter with MIT License 6 votes def test_registration_edge_cases(self): class A: __metaclass__ = abc.ABCMeta A.register(A) # should pass silently class A1(A): pass self.assertRaises(RuntimeError, A1.register, A) # cycles not allowed class B(object): pass A1.register(B) # ok A1.register(B) # should pass silently class C(A): pass A.register(C) # should pass silently self.assertRaises(RuntimeError, C.register, A) # cycles not allowed C.register(B) # ok Example #9 Source File: test_abc.py From BinderFilter with MIT License 6 votes def test_cache_leak(self): # See issue #2521. class A(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod def f(self): pass class C(A): def f(self): A.f(self) r = weakref.ref(C) # Trigger cache. C().f() del C test_support.gc_collect() self.assertEqual(r(), None) Example #10 Source File: meta.py From dimod with Apache License 2.0 6 votes def __new__(mcls, name, bases, namespace, **kwargs): cls = abc.ABCMeta.__new__(mcls, name, bases, namespace, **kwargs) samplermixins = {name for name, value in namespace.items() if getattr(value, "__issamplemixin__", False)} if len(samplermixins) == 3: abstracts = samplermixins else: abstracts = set() for base in bases: samplermixins = {name for name in getattr(base, "__abstractmethods__", set()) if getattr(getattr(cls, name, None), "__issamplemixin__", False)} if len(samplermixins) == 3: abstracts.update(samplermixins) # if we found any, update abstract methods if abstracts: cls.__abstractmethods__ = frozenset(abstracts.union(cls.__abstractmethods__)) return cls Example #11 Source File: test_descr.py From oss-ftp with MIT License 6 votes def test_slots_descriptor(self): # Issue2115: slot descriptors did not correctly check # the type of the given object import abc class MyABC: __metaclass__ = abc.ABCMeta __slots__ = "a" class Unrelated(object): pass MyABC.register(Unrelated) u = Unrelated() self.assertIsInstance(u, MyABC) # This used to crash self.assertRaises(TypeError, MyABC.a.__set__, u, 3) Example #12 Source File: test_abc.py From oss-ftp with MIT License 6 votes def test_registration_basics(self): class A: __metaclass__ = abc.ABCMeta class B(object): pass b = B() self.assertFalse(issubclass(B, A)) self.assertFalse(issubclass(B, (A,))) self.assertNotIsInstance(b, A) self.assertNotIsInstance(b, (A,)) A.register(B) self.assertTrue(issubclass(B, A)) self.assertTrue(issubclass(B, (A,))) self.assertIsInstance(b, A) self.assertIsInstance(b, (A,)) class C(B): pass c = C() self.assertTrue(issubclass(C, A)) self.assertTrue(issubclass(C, (A,))) self.assertIsInstance(c, A) self.assertIsInstance(c, (A,)) Example #13 Source File: test_abc.py From oss-ftp with MIT License 6 votes def test_registration_edge_cases(self): class A: __metaclass__ = abc.ABCMeta A.register(A) # should pass silently class A1(A): pass self.assertRaises(RuntimeError, A1.register, A) # cycles not allowed class B(object): pass A1.register(B) # ok A1.register(B) # should pass silently class C(A): pass A.register(C) # should pass silently self.assertRaises(RuntimeError, C.register, A) # cycles not allowed C.register(B) # ok Example #14 Source File: test_abc.py From oss-ftp with MIT License 6 votes def test_cache_leak(self): # See issue #2521. class A(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod def f(self): pass class C(A): def f(self): A.f(self) r = weakref.ref(C) # Trigger cache. C().f() del C test_support.gc_collect() self.assertEqual(r(), None) Example #15 Source File: config.py From blueoil with Apache License 2.0 6 votes def _save_config_yaml(output_dir, config): file_name = 'config.yaml' config_dict = _easy_dict_to_dict(config) file_path = os.path.join(output_dir, file_name) class Dumper(yaml.Dumper): def ignore_aliases(self, data): return True Dumper.add_representer(ABCMeta, Representer.represent_name) if type(config_dict['CLASSES']) != list: DatasetClass = config.DATASET_CLASS dataset_kwargs = dict((key.lower(), val) for key, val in config.DATASET.items()) train_dataset = DatasetClass( subset="train", **dataset_kwargs, ) config_dict['CLASSES'] = train_dataset.classes with gfile.GFile(os.path.join(output_dir, file_name), 'w') as outfile: yaml.dump(config_dict, outfile, default_flow_style=False, Dumper=Dumper) return file_path Example #16 Source File: config.py From blueoil with Apache License 2.0 6 votes def _save_config_yaml(output_dir, config): file_name = 'config.yaml' config_dict = _easy_dict_to_dict(config) file_path = os.path.join(output_dir, file_name) class Dumper(yaml.Dumper): def ignore_aliases(self, data): return True Dumper.add_representer(ABCMeta, Representer.represent_name) if type(config_dict['CLASSES']) != list: DatasetClass = config.DATASET_CLASS dataset_kwargs = dict((key.lower(), val) for key, val in config.DATASET.items()) train_dataset = DatasetClass( subset="train", **dataset_kwargs, ) config_dict['CLASSES'] = train_dataset.classes with gfile.GFile(os.path.join(output_dir, file_name), 'w') as outfile: yaml.dump(config_dict, outfile, default_flow_style=False, Dumper=Dumper) return file_path Example #17 Source File: test_descr.py From Fluid-Designer with GNU General Public License v3.0 6 votes def test_slots_descriptor(self): # Issue2115: slot descriptors did not correctly check # the type of the given object import abc class MyABC(metaclass=abc.ABCMeta): __slots__ = "a" class Unrelated(object): pass MyABC.register(Unrelated) u = Unrelated() self.assertIsInstance(u, MyABC) # This used to crash self.assertRaises(TypeError, MyABC.a.__set__, u, 3) Example #18 Source File: test_abc.py From Fluid-Designer with GNU General Public License v3.0 6 votes def test_abstractproperty_basics(self): @abc.abstractproperty def foo(self): pass self.assertTrue(foo.__isabstractmethod__) def bar(self): pass self.assertFalse(hasattr(bar, "__isabstractmethod__")) class C(metaclass=abc.ABCMeta): @abc.abstractproperty def foo(self): return 3 self.assertRaises(TypeError, C) class D(C): @property def foo(self): return super().foo self.assertEqual(D().foo, 3) self.assertFalse(getattr(D.foo, "__isabstractmethod__", False)) Example #19 Source File: test_abc.py From Fluid-Designer with GNU General Public License v3.0 6 votes def test_abstractclassmethod_basics(self): @abc.abstractclassmethod def foo(cls): pass self.assertTrue(foo.__isabstractmethod__) @classmethod def bar(cls): pass self.assertFalse(getattr(bar, "__isabstractmethod__", False)) class C(metaclass=abc.ABCMeta): @abc.abstractclassmethod def foo(cls): return cls.__name__ self.assertRaises(TypeError, C) class D(C): @classmethod def foo(cls): return super().foo() self.assertEqual(D.foo(), 'D') self.assertEqual(D().foo(), 'D') Example #20 Source File: test_abc.py From Fluid-Designer with GNU General Public License v3.0 6 votes def test_abstractproperty_basics(self): @property @abc.abstractmethod def foo(self): pass self.assertTrue(foo.__isabstractmethod__) def bar(self): pass self.assertFalse(getattr(bar, "__isabstractmethod__", False)) class C(metaclass=abc.ABCMeta): @property @abc.abstractmethod def foo(self): return 3 self.assertRaises(TypeError, C) class D(C): @C.foo.getter def foo(self): return super().foo self.assertEqual(D().foo, 3) Example #21 Source File: test_abc.py From Fluid-Designer with GNU General Public License v3.0 6 votes def test_abstractclassmethod_basics(self): @classmethod @abc.abstractmethod def foo(cls): pass self.assertTrue(foo.__isabstractmethod__) @classmethod def bar(cls): pass self.assertFalse(getattr(bar, "__isabstractmethod__", False)) class C(metaclass=abc.ABCMeta): @classmethod @abc.abstractmethod def foo(cls): return cls.__name__ self.assertRaises(TypeError, C) class D(C): @classmethod def foo(cls): return super().foo() self.assertEqual(D.foo(), 'D') self.assertEqual(D().foo(), 'D') Example #22 Source File: test_abc.py From Fluid-Designer with GNU General Public License v3.0 6 votes def test_abstractstaticmethod_basics(self): @staticmethod @abc.abstractmethod def foo(): pass self.assertTrue(foo.__isabstractmethod__) @staticmethod def bar(): pass self.assertFalse(getattr(bar, "__isabstractmethod__", False)) class C(metaclass=abc.ABCMeta): @staticmethod @abc.abstractmethod def foo(): return 3 self.assertRaises(TypeError, C) class D(C): @staticmethod def foo(): return 4 self.assertEqual(D.foo(), 4) self.assertEqual(D().foo(), 4) Example #23 Source File: test_abc.py From Fluid-Designer with GNU General Public License v3.0 6 votes def test_registration_basics(self): class A(metaclass=abc.ABCMeta): pass class B(object): pass b = B() self.assertFalse(issubclass(B, A)) self.assertFalse(issubclass(B, (A,))) self.assertNotIsInstance(b, A) self.assertNotIsInstance(b, (A,)) B1 = A.register(B) self.assertTrue(issubclass(B, A)) self.assertTrue(issubclass(B, (A,))) self.assertIsInstance(b, A) self.assertIsInstance(b, (A,)) self.assertIs(B1, B) class C(B): pass c = C() self.assertTrue(issubclass(C, A)) self.assertTrue(issubclass(C, (A,))) self.assertIsInstance(c, A) self.assertIsInstance(c, (A,)) Example #24 Source File: test_abc.py From Fluid-Designer with GNU General Public License v3.0 6 votes def test_register_as_class_deco(self): class A(metaclass=abc.ABCMeta): pass @A.register class B(object): pass b = B() self.assertTrue(issubclass(B, A)) self.assertTrue(issubclass(B, (A,))) self.assertIsInstance(b, A) self.assertIsInstance(b, (A,)) @A.register class C(B): pass c = C() self.assertTrue(issubclass(C, A)) self.assertTrue(issubclass(C, (A,))) self.assertIsInstance(c, A) self.assertIsInstance(c, (A,)) self.assertIs(C, A.register(C)) Example #25 Source File: test_abc.py From Fluid-Designer with GNU General Public License v3.0 6 votes def test_registration_edge_cases(self): class A(metaclass=abc.ABCMeta): pass A.register(A) # should pass silently class A1(A): pass self.assertRaises(RuntimeError, A1.register, A) # cycles not allowed class B(object): pass A1.register(B) # ok A1.register(B) # should pass silently class C(A): pass A.register(C) # should pass silently self.assertRaises(RuntimeError, C.register, A) # cycles not allowed C.register(B) # ok Example #26 Source File: test_inspect.py From Fluid-Designer with GNU General Public License v3.0 6 votes def test_isabstract(self): from abc import ABCMeta, abstractmethod class AbstractClassExample(metaclass=ABCMeta): @abstractmethod def foo(self): pass class ClassExample(AbstractClassExample): def foo(self): pass a = ClassExample() # Test general behaviour. self.assertTrue(inspect.isabstract(AbstractClassExample)) self.assertFalse(inspect.isabstract(ClassExample)) self.assertFalse(inspect.isabstract(a)) self.assertFalse(inspect.isabstract(int)) self.assertFalse(inspect.isabstract(5)) Example #27 Source File: inspect.py From Imogen with MIT License 6 votes def isabstract(object): """Return true if the object is an abstract base class (ABC).""" if not isinstance(object, type): return False if object.__flags__ & TPFLAGS_IS_ABSTRACT: return True if not issubclass(type(object), abc.ABCMeta): return False if hasattr(object, '__abstractmethods__'): # It looks like ABCMeta.__new__ has finished running; # TPFLAGS_IS_ABSTRACT should have been accurate. return False # It looks like ABCMeta.__new__ has not finished running yet; we're # probably in __init_subclass__. We'll look for abstractmethods manually. for name, value in object.__dict__.items(): if getattr(value, "__isabstractmethod__", False): return True for base in object.__bases__: for name in getattr(base, "__abstractmethods__", ()): value = getattr(object, name, None) if getattr(value, "__isabstractmethod__", False): return True return False Example #28 Source File: test_functools.py From python-clean-architecture with MIT License 5 votes def test_abstractmethod_register(self): class Abstract(abc.ABCMeta): @singledispatchmethod @abc.abstractmethod def add(self, x, y): pass assert Abstract.add.__isabstractmethod__ is True Example #29 Source File: _abcoll.py From jawfish with MIT License 5 votes def abstractmethod(self): return self ### ONE-TRICK PONIES ### #class Iterable(metaclass=ABCMeta): Example #30 Source File: _abcoll.py From jawfish with MIT License 5 votes def __subclasshook__(cls, C): if cls is Iterable: if any("__iter__" in B.__dict__ for B in C.__mro__): return True return NotImplemented #class Sized(metaclass=ABCMeta):