{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.C2pd9OlR/b1/python-gsd_3.0.1-3_i386.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.C2pd9OlR/b2/python-gsd_3.0.1-3_i386.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- e01374bcdb1aa7421807ed88722646b2 119956 doc optional python-gsd-doc_3.0.1-3_all.deb\n+ 4a7b3a803b20a0963001bdf80b1a4031 119968 doc optional python-gsd-doc_3.0.1-3_all.deb\n db62f0df1c966c54385264229ef537ca 608612 debug optional python3-gsd-dbgsym_3.0.1-3_i386.deb\n 5bf4872d42bb84f4d53fb290ab899681 241024 python optional python3-gsd_3.0.1-3_i386.deb\n"}, {"source1": "python-gsd-doc_3.0.1-3_all.deb", "source2": "python-gsd-doc_3.0.1-3_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 2023-08-02 12:37:21.000000 debian-binary\n -rw-r--r-- 0 0 0 2548 2023-08-02 12:37:21.000000 control.tar.xz\n--rw-r--r-- 0 0 0 117216 2023-08-02 12:37:21.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 117228 2023-08-02 12:37:21.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": "@@ -65,15 +65,15 @@\n -rw-r--r-- 0 root (0) root (0) 23806 2023-08-02 12:37:21.000000 ./usr/share/doc/python-gsd-doc/html/python-api.html\n -rw-r--r-- 0 root (0) root (0) 87993 2023-08-02 12:37:21.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.fl.html\n -rw-r--r-- 0 root (0) root (0) 91372 2023-08-02 12:37:21.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.hoomd.html\n -rw-r--r-- 0 root (0) root (0) 49733 2023-08-02 12:37:21.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.pygsd.html\n -rw-r--r-- 0 root (0) root (0) 19294 2023-08-02 12:37:21.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.version.html\n -rw-r--r-- 0 root (0) root (0) 108026 2023-08-02 12:37:21.000000 ./usr/share/doc/python-gsd-doc/html/schema-hoomd.html\n -rw-r--r-- 0 root (0) root (0) 16972 2023-08-02 12:37:21.000000 ./usr/share/doc/python-gsd-doc/html/search.html\n--rw-r--r-- 0 root (0) root (0) 80516 2023-08-02 12:37:21.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n+-rw-r--r-- 0 root (0) root (0) 80514 2023-08-02 12:37:21.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n -rw-r--r-- 0 root (0) root (0) 33183 2023-08-02 12:37:21.000000 ./usr/share/doc/python-gsd-doc/html/shapes.html\n -rw-r--r-- 0 root (0) root (0) 21209 2023-08-02 12:37:21.000000 ./usr/share/doc/python-gsd-doc/html/specification.html\n -rw-r--r-- 0 root (0) root (0) 25504 2023-08-02 12:37:21.000000 ./usr/share/doc/python-gsd-doc/html/style.html\n drwxr-xr-x 0 root (0) root (0) 0 2023-08-02 12:37:21.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 331 2023-08-02 12:37:21.000000 ./usr/share/doc-base/python-gsd-doc.python-gsd\n lrwxrwxrwx 0 root (0) root (0) 0 2023-08-02 12:37:21.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 2023-08-02 12:37:21.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": "@@ -373,23 +373,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.36798644, 0.07553432, 0.7288105 ],\n- [0.9501886 , 0.9769809 , 0.29660204],\n- [0.7733284 , 0.32416892, 0.18283087],\n- [0.18509436, 0.9494383 , 0.4242514 ],\n- [0.09281526, 0.8705943 , 0.44307205],\n- [0.36445987, 0.42829543, 0.8349339 ],\n- [0.9110619 , 0.91177046, 0.5401867 ],\n- [0.61777544, 0.10692187, 0.47779647],\n- [0.2972691 , 0.7331256 , 0.08529285]], dtype=float32)\n+array([[0.8046812 , 0.7774476 , 0.3202053 ],\n+ [0.26349333, 0.25723392, 0.08997948],\n+ [0.22261477, 0.22823796, 0.5558498 ],\n+ [0.25447813, 0.5269797 , 0.86721754],\n+ [0.7660178 , 0.4102713 , 0.9292814 ],\n+ [0.26161072, 0.5052718 , 0.09840216],\n+ [0.3907851 , 0.5823956 , 0.00438084],\n+ [0.04814243, 0.68482 , 0.8163642 ],\n+ [0.28740498, 0.8026995 , 0.58856654]], 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.5400142 , 0.49577564, 0.6817024 ],\n- [0.9694922 , 0.38492605, 0.946464 ],\n- [0.87456787, 0.00272021, 0.3855506 ],\n- [0.26604223, 0.09042733, 0.8698884 ],\n- [0.46471235, 0.07507263, 0.72128886],\n- [0.14375438, 0.13716176, 0.831158 ],\n- [0.6333585 , 0.40529063, 0.64898455]], dtype=float32)\n+array([[0.43663085, 0.795424 , 0.09042378],\n+ [0.73390126, 0.08755711, 0.5627384 ],\n+ [0.8447416 , 0.6151984 , 0.51817167],\n+ [0.09286611, 0.5899285 , 0.38378918],\n+ [0.74108064, 0.92047375, 0.3437683 ],\n+ [0.33504182, 0.76071966, 0.04657712],\n+ [0.22756313, 0.53693753, 0.7477841 ]], 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.