{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.jeTvDxrF/b1/python-gsd_3.3.0-1_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.jeTvDxrF/b2/python-gsd_3.3.0-1_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- 9f50d896982ab50d37778d70132a76e4 130400 doc optional python-gsd-doc_3.3.0-1_all.deb\n+ 09c9c194c55e2a6e82d0ed7978e925f2 130388 doc optional python-gsd-doc_3.3.0-1_all.deb\n 4354e77ce395ad181a1ee62046235972 352432 debug optional python3-gsd-dbgsym_3.3.0-1_amd64.deb\n ccd3da5d707e1b8bdebeb036fe51c258 201044 python optional python3-gsd_3.3.0-1_amd64.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 2696 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 2692 2024-07-05 16:19:20.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 127504 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) 82713 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) 82718 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.3906053 , 0.7982939 , 0.13249825],\n- [0.08762941, 0.9698718 , 0.7465096 ],\n- [0.5217746 , 0.5869636 , 0.05711472],\n- [0.43368328, 0.19981961, 0.99849916],\n- [0.26216894, 0.9755526 , 0.79254746],\n- [0.8000221 , 0.4555179 , 0.01714437],\n- [0.02250571, 0.81580526, 0.90255946],\n- [0.41454065, 0.795025 , 0.72614133],\n- [0.55761117, 0.5245034 , 0.5643201 ]], dtype=float32)\n+array([[0.34500182, 0.50312454, 0.16205648],\n+ [0.41659373, 0.6363003 , 0.37928304],\n+ [0.7680027 , 0.47234228, 0.24231546],\n+ [0.9044785 , 0.39045572, 0.21271239],\n+ [0.97232676, 0.48578948, 0.33545575],\n+ [0.2845195 , 0.22092439, 0.8631076 ],\n+ [0.85210484, 0.40112188, 0.68633413],\n+ [0.58596283, 0.7709515 , 0.820715 ],\n+ [0.938334 , 0.6847929 , 0.5444276 ]], 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.37039247, 0.30891952, 0.8251746 ],\n- [0.653635 , 0.11954182, 0.6019412 ],\n- [0.6172643 , 0.17101894, 0.46162254],\n- [0.80561113, 0.33783922, 0.978411 ],\n- [0.9547193 , 0.8199346 , 0.7679181 ],\n- [0.2933946 , 0.6690161 , 0.74442685],\n- [0.11007647, 0.8694062 , 0.19159201]], dtype=float32)\n+array([[0.69176614, 0.15584548, 0.37557462],\n+ [0.70840347, 0.53091973, 0.6832412 ],\n+ [0.03283734, 0.4477202 , 0.9881101 ],\n+ [0.21695948, 0.65363663, 0.1257673 ],\n+ [0.33138326, 0.8949739 , 0.3779857 ],\n+ [0.7785498 , 0.68830144, 0.39934534],\n+ [0.5390124 , 0.8151408 , 0.35981557]], 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.