This is somewhat related tohttps://knowledge.safe.com/questions/30874/expose-format-attributes-with-values-only.htmlandhttps://knowledge.safe.com/questions/32483/dynamic-attributes-in-custom-transformer.html.
The short answer is that you can't, really.At least not easily without resorting to tricks.
You could either continue with the PythonCaller (my preferred solution), or consider a solution using the AttributeExploder, which will let you work with features having attribute names that are unknown when you design the workspace.Just be aware that the AttributeExploder route can be quite demanding on memory resources when
You can expose attributes using a featuremerger (not sure whether this is by accident or design).
If you have a file which has all the attributes you wish to expose, you can merge with the data (using 1 so everything is merged) with the featuremerger settings set to accumuldation mode - merge supplier and conflict resolution - use requestor.