# Extend Blender Python Class

Note: both Blender SE and google are currently useless for this somewhat simple subject, so bump this question up for others like me.

I would like to extend a blender class (BMesh.types.BMEdge) into a custom class, "PEdge", so that I can add some extra parameters. I want to replace all the BMEdges in my BMesh with my new PEdges as well. How can this be achieved in blender python?

You cannot use a bmesh element as a base type

Unfortunately as possible with many blender types, it is not possible to use bmesh elements as base types to extend the class in a "traditional way".

>>> class Foo(bmesh.types.BMEdge):
...     pass
...
Traceback (most recent call last):
File "<blender_console>", line 1, in <module>
TypeError: type 'BMEdge' is not an acceptable base type

• I know. I have tried that already. The question is what should I do (the NON-traditional way)?
– user97005
May 28 '20 at 4:45
• No. I am quite unfamiliar with Blender's Python API. I am unsure what the 'Blender Way' of adding information to a data type is.
– user97005
May 28 '20 at 4:52