{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.D6Gii0p9/b1/python-gsd_2.4.0-1_i386.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.D6Gii0p9/b2/python-gsd_2.4.0-1_i386.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- a1a598a93743c5c8eaecf9bdd7d6365a 80356 doc optional python-gsd-doc_2.4.0-1_all.deb\n+ 226b9180c7e8937ca32ab3318b387e02 80356 doc optional python-gsd-doc_2.4.0-1_all.deb\n 5cc48f0c090eb6ab7dda61e321e6b626 239304 debug optional python3-gsd-dbgsym_2.4.0-1_i386.deb\n 0e741c35f7848bbd453846081ff37551 82920 python optional python3-gsd_2.4.0-1_i386.deb\n"}, {"source1": "python-gsd-doc_2.4.0-1_all.deb", "source2": "python-gsd-doc_2.4.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 2020-12-28 05:06:26.000000 debian-binary\n--rw-r--r-- 0 0 0 2364 2020-12-28 05:06:26.000000 control.tar.xz\n--rw-r--r-- 0 0 0 77800 2020-12-28 05:06:26.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 2360 2020-12-28 05:06:26.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 77804 2020-12-28 05:06:26.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": "@@ -59,15 +59,15 @@\n -rw-r--r-- 0 root (0) root (0) 7418 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/py-modindex.html\n -rw-r--r-- 0 root (0) root (0) 11468 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/python-api.html\n -rw-r--r-- 0 root (0) root (0) 79089 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.fl.html\n -rw-r--r-- 0 root (0) root (0) 61519 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.hoomd.html\n -rw-r--r-- 0 root (0) root (0) 31619 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.pygsd.html\n -rw-r--r-- 0 root (0) root (0) 90606 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/schema-hoomd.html\n -rw-r--r-- 0 root (0) root (0) 6318 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/search.html\n--rw-r--r-- 0 root (0) root (0) 30363 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n+-rw-r--r-- 0 root (0) root (0) 30359 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n -rw-r--r-- 0 root (0) root (0) 23081 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/shapes.html\n -rw-r--r-- 0 root (0) root (0) 10386 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/specification.html\n -rw-r--r-- 0 root (0) root (0) 14373 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/style.html\n drwxr-xr-x 0 root (0) root (0) 0 2020-12-28 05:06:26.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 331 2020-12-28 05:06:26.000000 ./usr/share/doc-base/python-gsd\n lrwxrwxrwx 0 root (0) root (0) 0 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/_static/css/badge_only.css -> ../../../../../sphinx_rtd_theme/static/css/badge_only.css\n lrwxrwxrwx 0 root (0) root (0) 0 2020-12-28 05:06:26.000000 ./usr/share/doc/python-gsd-doc/html/_static/css/theme.css -> ../../../../../sphinx_rtd_theme/static/css/theme.css\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": "@@ -271,23 +271,23 @@\n Out[15]: 5\n \n In [16]: snap.particles.N\n Out[16]: 9\n \n In [17]: snap.particles.position\n Out[17]: \n-array([[0.5077382 , 0.8372176 , 0.23493913],\n- [0.9315517 , 0.01661259, 0.20839739],\n- [0.57566804, 0.1113988 , 0.21778193],\n- [0.93271506, 0.7368922 , 0.44685918],\n- [0.45934746, 0.12712356, 0.29378355],\n- [0.39839774, 0.9931263 , 0.6487042 ],\n- [0.726088 , 0.06767916, 0.5081903 ],\n- [0.27825364, 0.9198226 , 0.36862633],\n- [0.57056254, 0.45457312, 0.37678513]], dtype=float32)\n+array([[0.38942668, 0.72499925, 0.38981888],\n+ [0.7370328 , 0.0371015 , 0.6248308 ],\n+ [0.03066199, 0.29817763, 0.64044046],\n+ [0.12105249, 0.668596 , 0.3471077 ],\n+ [0.32116565, 0.08526101, 0.6318575 ],\n+ [0.5716352 , 0.22254606, 0.9692116 ],\n+ [0.63306206, 0.4300094 , 0.5232522 ],\n+ [0.94874215, 0.4298119 , 0.14488807],\n+ [0.02770482, 0.9873039 , 0.910634 ]], 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.Snapshot
.
In [22]: f = gsd.pygsd.GSDFile(open('test.gsd', 'rb'))\n \n In [23]: t = gsd.hoomd.HOOMDTrajectory(f);\n \n In [24]: t[3].particles.position\n Out[24]: \n-array([[0.67661846, 0.6277788 , 0.23424281],\n- [0.58799756, 0.79520845, 0.6225677 ],\n- [0.9988816 , 0.39310053, 0.81670964],\n- [0.7997339 , 0.9129552 , 0.47058058],\n- [0.01602105, 0.6723751 , 0.3265618 ],\n- [0.9158029 , 0.9627533 , 0.02170856],\n- [0.36964944, 0.08626444, 0.9899074 ]], dtype=float32)\n+array([[0.27135256, 0.5074564 , 0.67848873],\n+ [0.12658359, 0.03680112, 0.97649187],\n+ [0.29499775, 0.4048031 , 0.7975048 ],\n+ [0.9266474 , 0.42408133, 0.78571934],\n+ [0.12701146, 0.9936678 , 0.36304513],\n+ [0.9438783 , 0.8438437 , 0.8283084 ],\n+ [0.07066517, 0.6642075 , 0.7835892 ]], 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.