{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.Tk2fiD7W/b1/python-gsd_3.4.2-2_i386.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.Tk2fiD7W/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- f1d94368f2b0809de1ed901d1b89d025 130524 doc optional python-gsd-doc_3.4.2-2_all.deb\n+ 9f9e75002949dc166d10de4296482bea 130556 doc optional python-gsd-doc_3.4.2-2_all.deb\n 91ed88a969bb09d6fe123a3fa33a9901 687428 debug optional python3-gsd-dbgsym_3.4.2-2_i386.deb\n 65b0310c828496488bf51013f01d308a 240920 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 127632 2025-02-13 09:32:12.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 127664 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) 82986 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.87231 , 0.72310317, 0.54790103],\n- [0.8545118 , 0.7364721 , 0.16672318],\n- [0.9876071 , 0.23616505, 0.45114356],\n- [0.30442265, 0.14542492, 0.93165445],\n- [0.361704 , 0.49487624, 0.645563 ],\n- [0.65410763, 0.90310967, 0.9968178 ],\n- [0.33137575, 0.28441352, 0.22736734],\n- [0.5574603 , 0.16157703, 0.6035545 ],\n- [0.09605698, 0.17810859, 0.5396191 ]], dtype=float32)\n+array([[0.04004173, 0.6852082 , 0.4645165 ],\n+ [0.35417596, 0.28106087, 0.8575941 ],\n+ [0.10062465, 0.3943242 , 0.9555284 ],\n+ [0.87036914, 0.37900513, 0.73263526],\n+ [0.48710957, 0.54866165, 0.10004098],\n+ [0.77787924, 0.5465128 , 0.9337087 ],\n+ [0.42388943, 0.78668076, 0.83996975],\n+ [0.86929494, 0.21025875, 0.07424699],\n+ [0.6271071 , 0.97841203, 0.5575535 ]], 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.43101472, 0.01768122, 0.6152548 ],\n- [0.35970965, 0.61762303, 0.35206166],\n- [0.55421823, 0.97202975, 0.81779563],\n- [0.714984 , 0.7646258 , 0.4755939 ],\n- [0.29615712, 0.4360736 , 0.01195396],\n- [0.01378267, 0.4877474 , 0.81022733],\n- [0.19020946, 0.514359 , 0.40238523]], dtype=float32)\n+array([[0.49076432, 0.85442984, 0.7782259 ],\n+ [0.21614397, 0.5161107 , 0.12312242],\n+ [0.34702963, 0.17594916, 0.5366333 ],\n+ [0.97524375, 0.17601402, 0.2514957 ],\n+ [0.48414803, 0.37251237, 0.6270297 ],\n+ [0.6186352 , 0.22973995, 0.22756504],\n+ [0.84015846, 0.34329876, 0.3896865 ]], 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.