@haehn I am working on example for the new stateful_tractogram class made to facilitate loading/saving various file format (including trk)
The easiest way in the meantime to get an example is the test in https://github.com/nipy/dipy/blob/master/dipy/io/tests/test_stateful_tractogram.py and look for ''random_streamline_color'' or ''random_point_gray'' or ''random_point_color''.
That would cover data_per_point. For data_per_streamline it is easier, the new class accept a dictionnary. The key is the name is name of your metadata and the value is an array or a list and then len() must be the same as the number of streamlines.
Also this new class require a reference so make sure you have the nifti file they were generated with and know in which space they are when creating the object.
(If you have no idea what I meant, tell me)