{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.TdZY4bL5/b1/python-gsd_3.4.2-2_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.TdZY4bL5/b2/python-gsd_3.4.2-2_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- 7bb6f437b675a2cca0281ba8bd2ab299 130516 doc optional python-gsd-doc_3.4.2-2_all.deb\n+ 6e7ff5871c86f3f8653f23906b983a00 130536 doc optional python-gsd-doc_3.4.2-2_all.deb\n aada70e5d4e662dfdaf6cd3a89916475 366376 debug optional python3-gsd-dbgsym_3.4.2-2_amd64.deb\n ae7b1007f0341d012012f0e5eb4e7957 209496 python optional python3-gsd_3.4.2-2_amd64.deb\n"}, {"source1": "python-gsd-doc_3.4.2-2_all.deb", "source2": "python-gsd-doc_3.4.2-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 2025-02-13 09:32:12.000000 debian-binary\n -rw-r--r-- 0 0 0 2700 2025-02-13 09:32:12.000000 control.tar.xz\n--rw-r--r-- 0 0 0 127624 2025-02-13 09:32:12.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 127644 2025-02-13 09:32:12.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 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/python-api.html\n -rw-r--r-- 0 root (0) root (0) 87525 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.fl.html\n -rw-r--r-- 0 root (0) root (0) 95444 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.hoomd.html\n -rw-r--r-- 0 root (0) root (0) 49306 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.pygsd.html\n -rw-r--r-- 0 root (0) root (0) 18756 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.version.html\n -rw-r--r-- 0 root (0) root (0) 107555 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/schema-hoomd.html\n -rw-r--r-- 0 root (0) root (0) 16660 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/search.html\n--rw-r--r-- 0 root (0) root (0) 82989 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n+-rw-r--r-- 0 root (0) root (0) 82983 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js\n -rw-r--r-- 0 root (0) root (0) 32666 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/shapes.html\n -rw-r--r-- 0 root (0) root (0) 20931 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/specification.html\n -rw-r--r-- 0 root (0) root (0) 24988 2025-02-13 09:32:12.000000 ./usr/share/doc/python-gsd-doc/html/style.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-13 09:32:12.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 331 2025-02-13 09:32:12.000000 ./usr/share/doc-base/python-gsd-doc.python-gsd\n lrwxrwxrwx 0 root (0) root (0) 0 2025-02-13 09:32:12.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 2025-02-13 09:32:12.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]: np.uint64(5)\n \n In [17]: frame.particles.N\n Out[17]: np.uint32(9)\n \n In [18]: frame.particles.position\n Out[18]: \n-array([[0.3185808 , 0.18457001, 0.6440212 ],\n- [0.04972604, 0.9304449 , 0.17822313],\n- [0.98495793, 0.34697294, 0.93134874],\n- [0.24793339, 0.13563937, 0.6535792 ],\n- [0.67144233, 0.17722952, 0.21505842],\n- [0.60177666, 0.03838011, 0.87096006],\n- [0.1988281 , 0.5522484 , 0.41681916],\n- [0.1547106 , 0.23366559, 0.12627587],\n- [0.42284644, 0.07340766, 0.8250136 ]], dtype=float32)\n+array([[0.8737125 , 0.02461799, 0.67997545],\n+ [0.34565434, 0.51838285, 0.8960681 ],\n+ [0.40728498, 0.58890384, 0.85587674],\n+ [0.7265208 , 0.1444775 , 0.3657055 ],\n+ [0.6842294 , 0.06987448, 0.29887906],\n+ [0.26945457, 0.03468364, 0.20964943],\n+ [0.27143815, 0.43450254, 0.59445524],\n+ [0.0946566 , 0.16063955, 0.53318685],\n+ [0.1052274 , 0.7959888 , 0.30697897]], 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.01852134, 0.83992165, 0.11307098],\n- [0.24733824, 0.48393846, 0.7320984 ],\n- [0.12562278, 0.87225527, 0.77338076],\n- [0.5110005 , 0.05444133, 0.62107366],\n- [0.02765157, 0.29702023, 0.15928076],\n- [0.05672888, 0.9132185 , 0.51284075],\n- [0.9839551 , 0.03142306, 0.6935195 ]], dtype=float32)\n+array([[0.647641 , 0.6311497 , 0.9277312 ],\n+ [0.7455928 , 0.89539164, 0.28243303],\n+ [0.7582832 , 0.33061197, 0.80228066],\n+ [0.61029047, 0.04947401, 0.8984529 ],\n+ [0.7216449 , 0.77780527, 0.5223803 ],\n+ [0.5498896 , 0.50440747, 0.99737656],\n+ [0.41381207, 0.77063125, 0.42208734]], 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.