{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.yhI1r87u/b1/python-gsd_2.7.0-2_arm64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.yhI1r87u/b2/python-gsd_2.7.0-2_arm64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- 3176a08ab65fc3206f042797a7377e7b 90960 doc optional python-gsd-doc_2.7.0-2_all.deb\n+ 9b259ea88e7579b3860e0220fe52de23 90968 doc optional python-gsd-doc_2.7.0-2_all.deb\n 323936da81c792c53444b6bebdc57198 249468 debug optional python3-gsd-dbgsym_2.7.0-2_arm64.deb\n 2b5045d90e32639b452fcf10d7a69faf 77972 python optional python3-gsd_2.7.0-2_arm64.deb\n"}, {"source1": "python-gsd-doc_2.7.0-2_all.deb", "source2": "python-gsd-doc_2.7.0-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 2023-01-17 16:37:42.000000 debian-binary\n -rw-r--r-- 0 0 0 2376 2023-01-17 16:37:42.000000 control.tar.xz\n--rw-r--r-- 0 0 0 88392 2023-01-17 16:37:42.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 88400 2023-01-17 16:37:42.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) 7101 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/py-modindex.html\n -rw-r--r-- 0 root (0) root (0) 32745 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/python-api.html\n -rw-r--r-- 0 root (0) root (0) 74465 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.fl.html\n -rw-r--r-- 0 root (0) root (0) 66497 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.hoomd.html\n -rw-r--r-- 0 root (0) root (0) 35551 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.pygsd.html\n -rw-r--r-- 0 root (0) root (0) 97149 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/schema-hoomd.html\n -rw-r--r-- 0 root (0) root (0) 5908 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/search.html\n--rw-r--r-- 0 root (0) root (0) 68818 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n+-rw-r--r-- 0 root (0) root (0) 68820 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n -rw-r--r-- 0 root (0) root (0) 21656 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/shapes.html\n -rw-r--r-- 0 root (0) root (0) 10113 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/specification.html\n -rw-r--r-- 0 root (0) root (0) 13964 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/style.html\n drwxr-xr-x 0 root (0) root (0) 0 2023-01-17 16:37:42.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 331 2023-01-17 16:37:42.000000 ./usr/share/doc-base/python-gsd-doc.python-gsd\n lrwxrwxrwx 0 root (0) root (0) 0 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/_static/_sphinx_javascript_frameworks_compat.js -> ../../../../javascript/sphinxdoc/1.0/_sphinx_javascript_frameworks_compat.js\n lrwxrwxrwx 0 root (0) root (0) 0 2023-01-17 16:37:42.000000 ./usr/share/doc/python-gsd-doc/html/_static/css/badge_only.css -> ../../../../../sphinx_rtd_theme/static/css/badge_only.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": "@@ -193,23 +193,23 @@\n Out[16]: 5\n \n In [17]: snap.particles.N\n Out[17]: 9\n \n In [18]: snap.particles.position\n Out[18]: \n-array([[0.04864376, 0.6388678 , 0.47861114],\n- [0.51105905, 0.02546922, 0.39761963],\n- [0.05343684, 0.2479186 , 0.43118024],\n- [0.78773755, 0.7398912 , 0.33950448],\n- [0.69232833, 0.7173891 , 0.32247263],\n- [0.1698959 , 0.881418 , 0.521817 ],\n- [0.5025626 , 0.2316291 , 0.69645876],\n- [0.11591081, 0.18207751, 0.44569942],\n- [0.6463477 , 0.4145517 , 0.67693067]], dtype=float32)\n+array([[0.31649902, 0.930899 , 0.6207448 ],\n+ [0.11056859, 0.62811136, 0.20228414],\n+ [0.94560254, 0.85934305, 0.0717991 ],\n+ [0.24312589, 0.6255072 , 0.8853982 ],\n+ [0.9675033 , 0.35954842, 0.36298457],\n+ [0.79735494, 0.62377787, 0.34841114],\n+ [0.5194623 , 0.19607814, 0.7781965 ],\n+ [0.7472676 , 0.80175644, 0.10671829],\n+ [0.6548015 , 0.93369675, 0.04346667]], 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 [23]: f = gsd.pygsd.GSDFile(open('test.gsd', 'rb'))\n \n In [24]: t = gsd.hoomd.HOOMDTrajectory(f);\n \n In [25]: t[3].particles.position\n Out[25]: \n-array([[0.7596063 , 0.35071316, 0.44357768],\n- [0.9681369 , 0.2930677 , 0.7252575 ],\n- [0.6025038 , 0.48719928, 0.28194723],\n- [0.9904632 , 0.5146152 , 0.821801 ],\n- [0.16287279, 0.9844114 , 0.13382909],\n- [0.7138911 , 0.75650555, 0.12414929],\n- [0.8925799 , 0.5341969 , 0.26068136]], dtype=float32)\n+array([[0.8549712 , 0.8540309 , 0.88189095],\n+ [0.9028438 , 0.2554103 , 0.2721972 ],\n+ [0.9459284 , 0.6330105 , 0.4404471 ],\n+ [0.8604843 , 0.3100594 , 0.21919934],\n+ [0.20218222, 0.10614425, 0.4902229 ],\n+ [0.7367657 , 0.9544418 , 0.47768393],\n+ [0.66016376, 0.37475777, 0.17023604]], 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.