{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.G5SkT08l/b1/python-gsd_3.3.0-1_arm64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.G5SkT08l/b2/python-gsd_3.3.0-1_arm64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- b5c02afeced58410afd2edbad4c204ac 130396 doc optional python-gsd-doc_3.3.0-1_all.deb\n+ c3ff925167d76a6f8da1d046a9f3ad56 130408 doc optional python-gsd-doc_3.3.0-1_all.deb\n feb4626ca3b5949ec568036c06151f24 342468 debug optional python3-gsd-dbgsym_3.3.0-1_arm64.deb\n f7d938915ef3d0840031de27a9fe0746 192244 python optional python3-gsd_3.3.0-1_arm64.deb\n"}, {"source1": "python-gsd-doc_3.3.0-1_all.deb", "source2": "python-gsd-doc_3.3.0-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-07-05 16:19:20.000000 debian-binary\n -rw-r--r-- 0 0 0 2692 2024-07-05 16:19:20.000000 control.tar.xz\n--rw-r--r-- 0 0 0 127512 2024-07-05 16:19:20.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 127524 2024-07-05 16:19:20.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -71,15 +71,15 @@\n -rw-r--r-- 0 root (0) root (0) 23394 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/python-api.html\n -rw-r--r-- 0 root (0) root (0) 87526 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.fl.html\n -rw-r--r-- 0 root (0) root (0) 95472 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.hoomd.html\n -rw-r--r-- 0 root (0) root (0) 49307 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.pygsd.html\n -rw-r--r-- 0 root (0) root (0) 18756 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.version.html\n -rw-r--r-- 0 root (0) root (0) 107555 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/schema-hoomd.html\n -rw-r--r-- 0 root (0) root (0) 16660 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/search.html\n--rw-r--r-- 0 root (0) root (0) 82721 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n+-rw-r--r-- 0 root (0) root (0) 82715 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n -rw-r--r-- 0 root (0) root (0) 32666 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/shapes.html\n -rw-r--r-- 0 root (0) root (0) 20804 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/specification.html\n -rw-r--r-- 0 root (0) root (0) 24988 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/style.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-07-05 16:19:20.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 331 2024-07-05 16:19:20.000000 ./usr/share/doc-base/python-gsd-doc.python-gsd\n lrwxrwxrwx 0 root (0) root (0) 0 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/_static/doctools.js -> ../../../../javascript/sphinxdoc/1.0/doctools.js\n lrwxrwxrwx 0 root (0) root (0) 0 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/_static/language_data.js -> ../../../../javascript/sphinxdoc/1.0/language_data.js\n"}, {"source1": "./usr/share/doc/python-gsd-doc/html/hoomd-examples.html", "source2": "./usr/share/doc/python-gsd-doc/html/hoomd-examples.html", "unified_diff": "@@ -355,23 +355,23 @@\n Out[16]: 5\n \n In [17]: frame.particles.N\n Out[17]: 9\n \n In [18]: frame.particles.position\n Out[18]: \n-array([[0.42762005, 0.5995185 , 0.17625992],\n- [0.01507192, 0.2198901 , 0.18624258],\n- [0.12385984, 0.35740712, 0.95184076],\n- [0.87491786, 0.57147056, 0.10922549],\n- [0.4320016 , 0.03388397, 0.37735447],\n- [0.66945654, 0.1281381 , 0.3224847 ],\n- [0.69905853, 0.05098594, 0.76696116],\n- [0.00728182, 0.32758805, 0.33714134],\n- [0.4033845 , 0.22565362, 0.5241118 ]], dtype=float32)\n+array([[0.37617898, 0.02921823, 0.3181492 ],\n+ [0.07637903, 0.05105699, 0.4318303 ],\n+ [0.5434294 , 0.90905243, 0.8541243 ],\n+ [0.09609508, 0.23760219, 0.9507907 ],\n+ [0.27434492, 0.18769567, 0.46605378],\n+ [0.6552686 , 0.19569013, 0.124889 ],\n+ [0.60575736, 0.27261105, 0.20555745],\n+ [0.3423628 , 0.14256673, 0.09142295],\n+ [0.12705009, 0.44257653, 0.26512194]], dtype=float32)\n \n \n
gsd.hoomd.HOOMDTrajectory
supports random indexing of frames in the file.\n Indexing into a trajectory returns a gsd.hoomd.Frame
.
In [23]: f = gsd.pygsd.GSDFile(open('example.gsd', 'rb'))\n \n In [24]: trajectory = gsd.hoomd.HOOMDTrajectory(f);\n \n In [25]: trajectory[3].particles.position\n Out[25]: \n-array([[0.01788189, 0.5904076 , 0.45841432],\n- [0.4371966 , 0.12461864, 0.3973799 ],\n- [0.49021384, 0.6375728 , 0.7886163 ],\n- [0.7094969 , 0.14664403, 0.64999604],\n- [0.9375438 , 0.64998126, 0.10089307],\n- [0.9277264 , 0.18798125, 0.15587695],\n- [0.275371 , 0.74342525, 0.8970372 ]], dtype=float32)\n+array([[0.4314515 , 0.18603884, 0.06030942],\n+ [0.3875254 , 0.69201684, 0.2707817 ],\n+ [0.935579 , 0.7430232 , 0.02803754],\n+ [0.8762236 , 0.4848037 , 0.84796506],\n+ [0.4932978 , 0.7863742 , 0.70142907],\n+ [0.6007287 , 0.77635235, 0.8356668 ],\n+ [0.1916973 , 0.4385504 , 0.1868127 ]], dtype=float32)\n
You can use GSD without needing to compile C code to read GSD files\n using gsd.pygsd.GSDFile
in combination with gsd.hoomd.HOOMDTrajectory
. It\n only supports the rb
mode and does not read files as fast as the C\n implementation. It takes in a python file-like object, so it can be used with\n in-memory IO classes, and grid file classes that access data over the internet.