{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.HA2hgo5s/b1/python-gsd_3.4.2-2_i386.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.HA2hgo5s/b2/python-gsd_3.4.2-2_i386.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- a15cd11c31e369329e361c192ef781f7 130596 doc optional python-gsd-doc_3.4.2-2_all.deb\n+ b3584c90b94809588094997d58effbee 130568 doc optional python-gsd-doc_3.4.2-2_all.deb\n b03411724db65d3570fe496dadd9c96f 687436 debug optional python3-gsd-dbgsym_3.4.2-2_i386.deb\n 729c80094d28c1558da5f6debb1125aa 237704 python optional python3-gsd_3.4.2-2_i386.deb\n"}, {"source1": "python-gsd-doc_3.4.2-2_all.deb", "source2": "python-gsd-doc_3.4.2-2_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 2025-02-13 09:32:12.000000 debian-binary\n -rw-r--r-- 0 0 0 2700 2025-02-13 09:32:12.000000 control.tar.xz\n--rw-r--r-- 0 0 0 127704 2025-02-13 09:32:12.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 127676 2025-02-13 09:32:12.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 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/python-api.html\n -rw-r--r-- 0 root (0) root (0) 87525 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.fl.html\n -rw-r--r-- 0 root (0) root (0) 95444 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.hoomd.html\n -rw-r--r-- 0 root (0) root (0) 49306 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.pygsd.html\n -rw-r--r-- 0 root (0) root (0) 18756 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.version.html\n -rw-r--r-- 0 root (0) root (0) 107555 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/schema-hoomd.html\n -rw-r--r-- 0 root (0) root (0) 16660 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/search.html\n--rw-r--r-- 0 root (0) root (0) 82979 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n+-rw-r--r-- 0 root (0) root (0) 82980 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n -rw-r--r-- 0 root (0) root (0) 32666 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/shapes.html\n -rw-r--r-- 0 root (0) root (0) 20931 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/specification.html\n -rw-r--r-- 0 root (0) root (0) 24988 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/style.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-13 09:32:12.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 331 2025-02-13 09:32:12.000000 ./usr/share/doc-base/python-gsd-doc.python-gsd\n lrwxrwxrwx 0 root (0) root (0) 0 2025-02-13 09:32:12.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 2025-02-13 09:32:12.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]: np.uint64(5)\n \n In [17]: frame.particles.N\n Out[17]: np.uint32(9)\n \n In [18]: frame.particles.position\n Out[18]: \n-array([[0.4123692 , 0.69574815, 0.7767962 ],\n- [0.26737106, 0.25902492, 0.42512208],\n- [0.7943765 , 0.49429697, 0.61867416],\n- [0.84307003, 0.6791098 , 0.3594299 ],\n- [0.52521664, 0.80897075, 0.16132158],\n- [0.37815017, 0.51720166, 0.9843401 ],\n- [0.37681502, 0.14976847, 0.6149963 ],\n- [0.3455346 , 0.11830968, 0.72472495],\n- [0.7562354 , 0.09042371, 0.9617478 ]], dtype=float32)\n+array([[0.60919744, 0.94693375, 0.42471802],\n+ [0.41097042, 0.23355684, 0.94994766],\n+ [0.78269154, 0.01335376, 0.61965394],\n+ [0.12661535, 0.8312703 , 0.8301611 ],\n+ [0.24158382, 0.9433453 , 0.81000894],\n+ [0.72714716, 0.00394834, 0.3986141 ],\n+ [0.9851779 , 0.8445048 , 0.62762123],\n+ [0.73786247, 0.24997196, 0.9519371 ],\n+ [0.3411991 , 0.9568856 , 0.20801212]], 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.2433684 , 0.1995935 , 0.10321329],\n- [0.5455287 , 0.2947632 , 0.61673594],\n- [0.47003114, 0.1067265 , 0.65945655],\n- [0.8713121 , 0.7293742 , 0.45098072],\n- [0.43565452, 0.7408555 , 0.34020287],\n- [0.60877997, 0.970383 , 0.3259656 ],\n- [0.3763888 , 0.7431791 , 0.27808467]], dtype=float32)\n+array([[0.37933293, 0.6108526 , 0.62475497],\n+ [0.55347687, 0.26317596, 0.12352356],\n+ [0.09232485, 0.5584721 , 0.6136809 ],\n+ [0.28462407, 0.34485 , 0.9677967 ],\n+ [0.4284878 , 0.283918 , 0.8482275 ],\n+ [0.04234144, 0.99790263, 0.6589163 ],\n+ [0.3028175 , 0.07036121, 0.78807384]], 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.