--- /srv/rebuilderd/tmp/rebuilderdijLEzT/inputs/python-gsd-doc_5.0.1-2_all.deb +++ /srv/rebuilderd/tmp/rebuilderdijLEzT/out/python-gsd-doc_5.0.1-2_all.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2026-05-02 12:42:19.000000 debian-binary │ -rw-r--r-- 0 0 0 2840 2026-05-02 12:42:19.000000 control.tar.xz │ --rw-r--r-- 0 0 0 130612 2026-05-02 12:42:19.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 130624 2026-05-02 12:42:19.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── ./usr/share/doc/python-gsd-doc/html/hoomd-examples.html │ │ │ @@ -346,23 +346,23 @@ │ │ │ Out[16]: np.uint64(5) │ │ │ │ │ │ In [17]: frame.particles.N │ │ │ Out[17]: np.uint32(9) │ │ │ │ │ │ In [18]: frame.particles.position │ │ │ Out[18]: │ │ │ -array([[0.40931383, 0.3944288 , 0.28529498], │ │ │ - [0.90414315, 0.16989753, 0.98972803], │ │ │ - [0.5312833 , 0.4872685 , 0.20660008], │ │ │ - [0.48837915, 0.43890172, 0.65516406], │ │ │ - [0.8731297 , 0.3821069 , 0.15367253], │ │ │ - [0.9731316 , 0.94024175, 0.0798687 ], │ │ │ - [0.74591625, 0.9242319 , 0.29902405], │ │ │ - [0.7058642 , 0.9823573 , 0.61915636], │ │ │ - [0.37146032, 0.62659866, 0.38367492]], dtype=float32) │ │ │ +array([[0.3895201 , 0.8922229 , 0.4029734 ], │ │ │ + [0.6099086 , 0.37820303, 0.24648802], │ │ │ + [0.3304348 , 0.8063253 , 0.62818885], │ │ │ + [0.09426489, 0.8577583 , 0.15407461], │ │ │ + [0.18701096, 0.21556483, 0.66546303], │ │ │ + [0.7434537 , 0.8528858 , 0.8560186 ], │ │ │ + [0.728312 , 0.27386367, 0.75368845], │ │ │ + [0.2225079 , 0.82056767, 0.16640535], │ │ │ + [0.24845004, 0.67893153, 0.80714184]], dtype=float32) │ │ │ │ │ │ │ │ │

gsd.hoomd.HOOMDTrajectory supports random indexing of frames in the file. │ │ │ Indexing into a trajectory returns a gsd.hoomd.Frame.

│ │ │ │ │ │
│ │ │

Slicing and selection

│ │ │ @@ -389,21 +389,21 @@ │ │ │

Pure python reader

│ │ │
In [23]: f = gsd.pygsd.GSDFile(open('example.gsd', 'rb'))
│ │ │  
│ │ │  In [24]: trajectory = gsd.hoomd.HOOMDTrajectory(f);
│ │ │  
│ │ │  In [25]: trajectory[3].particles.position
│ │ │  Out[25]: 
│ │ │ -array([[0.49910492, 0.48625803, 0.51129526],
│ │ │ -       [0.35684356, 0.7777966 , 0.7194868 ],
│ │ │ -       [0.82526743, 0.68652916, 0.31804648],
│ │ │ -       [0.27317593, 0.6477686 , 0.8415889 ],
│ │ │ -       [0.15134461, 0.68677837, 0.6604622 ],
│ │ │ -       [0.5948088 , 0.1776684 , 0.17009145],
│ │ │ -       [0.0881347 , 0.99246234, 0.31263277]], dtype=float32)
│ │ │ +array([[0.37303865, 0.7455791 , 0.2619885 ],
│ │ │ +       [0.3601964 , 0.8638101 , 0.80081165],
│ │ │ +       [0.21876085, 0.66382736, 0.78161234],
│ │ │ +       [0.19147414, 0.9197815 , 0.26404357],
│ │ │ +       [0.492531  , 0.42297065, 0.21428843],
│ │ │ +       [0.6071563 , 0.87600887, 0.22788686],
│ │ │ +       [0.8161657 , 0.36587283, 0.26404652]], dtype=float32)
│ │ │  
│ │ │
│ │ │

You can use GSD without needing to compile C code to read GSD files │ │ │ using gsd.pygsd.GSDFile in combination with gsd.hoomd.HOOMDTrajectory. It │ │ │ only supports the rb mode and does not read files as fast as the C │ │ │ implementation. It takes in a python file-like object, so it can be used with │ │ │ in-memory IO classes, and grid file classes that access data over the internet.

│ │ │ ├── html2text {} │ │ │ │ @@ -85,23 +85,23 @@ │ │ │ │ Out[16]: np.uint64(5) │ │ │ │ │ │ │ │ In [17]: frame.particles.N │ │ │ │ Out[17]: np.uint32(9) │ │ │ │ │ │ │ │ In [18]: frame.particles.position │ │ │ │ Out[18]: │ │ │ │ -array([[0.40931383, 0.3944288 , 0.28529498], │ │ │ │ - [0.90414315, 0.16989753, 0.98972803], │ │ │ │ - [0.5312833 , 0.4872685 , 0.20660008], │ │ │ │ - [0.48837915, 0.43890172, 0.65516406], │ │ │ │ - [0.8731297 , 0.3821069 , 0.15367253], │ │ │ │ - [0.9731316 , 0.94024175, 0.0798687 ], │ │ │ │ - [0.74591625, 0.9242319 , 0.29902405], │ │ │ │ - [0.7058642 , 0.9823573 , 0.61915636], │ │ │ │ - [0.37146032, 0.62659866, 0.38367492]], dtype=float32) │ │ │ │ +array([[0.3895201 , 0.8922229 , 0.4029734 ], │ │ │ │ + [0.6099086 , 0.37820303, 0.24648802], │ │ │ │ + [0.3304348 , 0.8063253 , 0.62818885], │ │ │ │ + [0.09426489, 0.8577583 , 0.15407461], │ │ │ │ + [0.18701096, 0.21556483, 0.66546303], │ │ │ │ + [0.7434537 , 0.8528858 , 0.8560186 ], │ │ │ │ + [0.728312 , 0.27386367, 0.75368845], │ │ │ │ + [0.2225079 , 0.82056767, 0.16640535], │ │ │ │ + [0.24845004, 0.67893153, 0.80714184]], dtype=float32) │ │ │ │ _g_s_d_._h_o_o_m_d_._H_O_O_M_D_T_r_a_j_e_c_t_o_r_y supports random indexing of frames in the file. │ │ │ │ Indexing into a trajectory returns a _g_s_d_._h_o_o_m_d_._F_r_a_m_e. │ │ │ │ ********** SSlliicciinngg aanndd sseelleeccttiioonn_?¶ ********** │ │ │ │ Use the slicing operator to select individual frames or a subset of a │ │ │ │ trajectory. │ │ │ │ In [19]: f = gsd.hoomd.open(name='example.gsd', mode='r') │ │ │ │ │ │ │ │ @@ -120,21 +120,21 @@ │ │ │ │ ********** PPuurree ppyytthhoonn rreeaaddeerr_?¶ ********** │ │ │ │ In [23]: f = gsd.pygsd.GSDFile(open('example.gsd', 'rb')) │ │ │ │ │ │ │ │ In [24]: trajectory = gsd.hoomd.HOOMDTrajectory(f); │ │ │ │ │ │ │ │ In [25]: trajectory[3].particles.position │ │ │ │ Out[25]: │ │ │ │ -array([[0.49910492, 0.48625803, 0.51129526], │ │ │ │ - [0.35684356, 0.7777966 , 0.7194868 ], │ │ │ │ - [0.82526743, 0.68652916, 0.31804648], │ │ │ │ - [0.27317593, 0.6477686 , 0.8415889 ], │ │ │ │ - [0.15134461, 0.68677837, 0.6604622 ], │ │ │ │ - [0.5948088 , 0.1776684 , 0.17009145], │ │ │ │ - [0.0881347 , 0.99246234, 0.31263277]], dtype=float32) │ │ │ │ +array([[0.37303865, 0.7455791 , 0.2619885 ], │ │ │ │ + [0.3601964 , 0.8638101 , 0.80081165], │ │ │ │ + [0.21876085, 0.66382736, 0.78161234], │ │ │ │ + [0.19147414, 0.9197815 , 0.26404357], │ │ │ │ + [0.492531 , 0.42297065, 0.21428843], │ │ │ │ + [0.6071563 , 0.87600887, 0.22788686], │ │ │ │ + [0.8161657 , 0.36587283, 0.26404652]], dtype=float32) │ │ │ │ You can use GGSSDD without needing to compile C code to read GGSSDD files using │ │ │ │ _g_s_d_._p_y_g_s_d_._G_S_D_F_i_l_e in combination with _g_s_d_._h_o_o_m_d_._H_O_O_M_D_T_r_a_j_e_c_t_o_r_y. It only │ │ │ │ supports the rb mode and does not read files as fast as the C implementation. │ │ │ │ It takes in a python file-like object, so it can be used with in-memory IO │ │ │ │ classes, and grid file classes that access data over the internet. │ │ │ │ Warning │ │ │ │ _g_s_d_._p_y_g_s_d is ssllooww. Use _g_s_d_._h_o_o_m_d_._o_p_e_n whenever possible.