parameters: (self, key)
return_statement: return self._members[key]
docstring: Get a member such as uniforms, uniform blocks, subroutines,
          attributes and varyings by name.
  
          .. code-block:: python
  
              # Get a uniform
              uniform = program['color']
  
              # Uniform values can be set on the returned object
              # or the `__setitem__` shortcut can be used.
              program['color'].value = 1.0, 1.0, 1.0, 1.0
  
              # Still when writing byte data we need to use the `write()` method
              program['color'].write(buffer)
docstring_summary: Get a member such as uniforms, uniform blocks, subroutines,
          attributes and varyings by name.
docstring_tokens: Get a member such as uniforms uniform blocks subroutines attributes and varyings by name .
function: def __getitem__(self, key) -> Union[Uniform, UniformBlock, Subroutine, Attribute, Varying]:
          """Get a member such as uniforms, uniform blocks, subroutines,
          attributes and varyings by name.
  
          .. code-block:: python
  
              # Get a uniform
              uniform = program['color']
  
              # Uniform values can be set on the returned object
              # or the `__setitem__` shortcut can be used.
              program['color'].value = 1.0, 1.0, 1.0, 1.0
  
              # Still when writing byte data we need to use the `write()` method
              program['color'].write(buffer)
          """
          return self._members[key]
function_tokens: def __getitem__ ( self , key ) -> Union [ Uniform , UniformBlock , Subroutine , Attribute , Varying ] : return self . _members [ key ]