{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.U37XRQbf/b1/python-gsd_3.3.0-1_i386.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.U37XRQbf/b2/python-gsd_3.3.0-1_i386.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- 1df0111f3a357002a932d3d78c00e72a 130396 doc optional python-gsd-doc_3.3.0-1_all.deb\n+ 1bd362d5351a87a55bfc8308fdec360f 130400 doc optional python-gsd-doc_3.3.0-1_all.deb\n 5bcb6864e55118525c299f30168c65a5 652752 debug optional python3-gsd-dbgsym_3.3.0-1_i386.deb\n adc86eb3c8fd1e0cd0af6e59e65e9a6d 228940 python optional python3-gsd_3.3.0-1_i386.deb\n"}, {"source1": "python-gsd-doc_3.3.0-1_all.deb", "source2": "python-gsd-doc_3.3.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 2024-07-05 16:19:20.000000 debian-binary\n -rw-r--r-- 0 0 0 2692 2024-07-05 16:19:20.000000 control.tar.xz\n--rw-r--r-- 0 0 0 127512 2024-07-05 16:19:20.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 127516 2024-07-05 16:19:20.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 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/python-api.html\n -rw-r--r-- 0 root (0) root (0) 87526 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.fl.html\n -rw-r--r-- 0 root (0) root (0) 95472 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.hoomd.html\n -rw-r--r-- 0 root (0) root (0) 49307 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.pygsd.html\n -rw-r--r-- 0 root (0) root (0) 18756 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.version.html\n -rw-r--r-- 0 root (0) root (0) 107555 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/schema-hoomd.html\n -rw-r--r-- 0 root (0) root (0) 16660 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/search.html\n--rw-r--r-- 0 root (0) root (0) 82720 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n+-rw-r--r-- 0 root (0) root (0) 82716 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n -rw-r--r-- 0 root (0) root (0) 32666 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/shapes.html\n -rw-r--r-- 0 root (0) root (0) 20804 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/specification.html\n -rw-r--r-- 0 root (0) root (0) 24988 2024-07-05 16:19:20.000000 ./usr/share/doc/python-gsd-doc/html/style.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-07-05 16:19:20.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 331 2024-07-05 16:19:20.000000 ./usr/share/doc-base/python-gsd-doc.python-gsd\n lrwxrwxrwx 0 root (0) root (0) 0 2024-07-05 16:19:20.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 2024-07-05 16:19:20.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]: 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.25589982, 0.80897206, 0.5831177 ],\n- [0.5404533 , 0.27261838, 0.8275789 ],\n- [0.91266316, 0.3611013 , 0.7047367 ],\n- [0.53276163, 0.9675206 , 0.6691179 ],\n- [0.50651973, 0.9643156 , 0.86972797],\n- [0.32983097, 0.1444776 , 0.7951081 ],\n- [0.3118031 , 0.08162618, 0.5767198 ],\n- [0.24472031, 0.19139673, 0.973188 ],\n- [0.9314802 , 0.06865617, 0.70398647]], dtype=float32)\n+array([[0.89000833, 0.78214556, 0.10730433],\n+ [0.6417436 , 0.8270846 , 0.9570197 ],\n+ [0.821457 , 0.38895643, 0.97334313],\n+ [0.6873453 , 0.8963854 , 0.77359724],\n+ [0.08911876, 0.47491083, 0.9225868 ],\n+ [0.31591272, 0.76140547, 0.9034318 ],\n+ [0.90301996, 0.36434063, 0.2919426 ],\n+ [0.96828157, 0.8276012 , 0.80564433],\n+ [0.3540873 , 0.90861833, 0.8687205 ]], 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.5693107 , 0.08214574, 0.27140623],\n- [0.46308818, 0.30215883, 0.02921198],\n- [0.47481674, 0.40153757, 0.2512082 ],\n- [0.84106827, 0.02879061, 0.18705133],\n- [0.31908184, 0.39432162, 0.97848856],\n- [0.7737208 , 0.30248344, 0.05918228],\n- [0.6021781 , 0.67744243, 0.06940784]], dtype=float32)\n+array([[0.7270504 , 0.7492513 , 0.21258767],\n+ [0.33500224, 0.29700577, 0.619959 ],\n+ [0.23711888, 0.6514717 , 0.1457817 ],\n+ [0.52364814, 0.11368354, 0.32574153],\n+ [0.8098705 , 0.07036927, 0.75424486],\n+ [0.8440073 , 0.5939139 , 0.8960218 ],\n+ [0.52716863, 0.40591928, 0.26906627]], 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.