{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.Wky8Rzpt/b1/python-gsd_3.0.1-3_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.Wky8Rzpt/b2/python-gsd_3.0.1-3_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- 807e607688517c1e55d0548a78f8abf0 119924 doc optional python-gsd-doc_3.0.1-3_all.deb\n+ d0ca3450ffcd53c177658c6c731d1ebd 119944 doc optional python-gsd-doc_3.0.1-3_all.deb\n 09a28f3b69a7bca83240b0a0eaf6b56b 640776 debug optional python3-gsd-dbgsym_3.0.1-3_amd64.deb\n 81a33fd30dbb2238f1688e3ed0df2a52 238964 python optional python3-gsd_3.0.1-3_amd64.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 2552 2023-08-02 12:37:21.000000 control.tar.xz\n--rw-r--r-- 0 0 0 117180 2023-08-02 12:37:21.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 117200 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) 80518 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) 80513 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.34572983, 0.37500283, 0.33949548],\n- [0.03849317, 0.74580145, 0.5424236 ],\n- [0.9482302 , 0.14119253, 0.5842252 ],\n- [0.80311704, 0.13838461, 0.18944742],\n- [0.14611356, 0.61049485, 0.7280875 ],\n- [0.3683398 , 0.7912109 , 0.14169432],\n- [0.3079268 , 0.5179399 , 0.19487612],\n- [0.8191772 , 0.9773109 , 0.11320499],\n- [0.6390237 , 0.1756524 , 0.06113457]], dtype=float32)\n+array([[0.66000354, 0.80018944, 0.40524006],\n+ [0.03902295, 0.60707474, 0.3617959 ],\n+ [0.31056157, 0.01350983, 0.35449055],\n+ [0.77842104, 0.75486183, 0.99325246],\n+ [0.22221321, 0.22139087, 0.6036039 ],\n+ [0.5667096 , 0.6239257 , 0.26685768],\n+ [0.15219833, 0.8701531 , 0.51879627],\n+ [0.05310109, 0.7392927 , 0.959445 ],\n+ [0.18170258, 0.92277443, 0.8302955 ]], 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.31000713, 0.18495111, 0.79042184],\n- [0.204055 , 0.28861836, 0.37294823],\n- [0.76369536, 0.8681031 , 0.8172956 ],\n- [0.05906087, 0.831724 , 0.2190457 ],\n- [0.37453976, 0.82704616, 0.17818612],\n- [0.88178045, 0.4698612 , 0.25677687],\n- [0.62846124, 0.37492198, 0.04040296]], dtype=float32)\n+array([[0.8786009 , 0.5053498 , 0.24389558],\n+ [0.9516114 , 0.5849989 , 0.31378037],\n+ [0.590118 , 0.31564903, 0.519469 ],\n+ [0.545476 , 0.23971617, 0.05313676],\n+ [0.9084468 , 0.9609156 , 0.5286116 ],\n+ [0.3247127 , 0.92925185, 0.50328153],\n+ [0.7454238 , 0.8527697 , 0.10319897]], 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.