{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.sqibkdjL/b1/python-gsd_3.3.0-1_arm64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.sqibkdjL/b2/python-gsd_3.3.0-1_arm64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- 6b11882389e33a54146cc2509aa4c692 130400 doc optional python-gsd-doc_3.3.0-1_all.deb\n+ ec1cc4671de60d899b569483636e3e43 130396 doc optional python-gsd-doc_3.3.0-1_all.deb\n 7571b6bb7442bb2ca239cd8cff55ea69 342492 debug optional python3-gsd-dbgsym_3.3.0-1_arm64.deb\n 1785a8d59f2904ed0a8dcfc443c1d3f9 192160 python optional python3-gsd_3.3.0-1_arm64.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 127516 2024-07-05 16:19:20.000000 data.tar.xz\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 127508 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) 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) 82722 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.03591273, 0.5755214 , 0.26369292],\n- [0.20727535, 0.87262917, 0.3727632 ],\n- [0.1242508 , 0.3342147 , 0.68409294],\n- [0.27694604, 0.87916803, 0.9605033 ],\n- [0.48494866, 0.76059765, 0.6881031 ],\n- [0.46462286, 0.8666853 , 0.20920412],\n- [0.45656675, 0.5672105 , 0.6361439 ],\n- [0.3009316 , 0.5319335 , 0.9938627 ],\n- [0.9184856 , 0.27211064, 0.2193821 ]], dtype=float32)\n+array([[0.9348034 , 0.0600298 , 0.14527726],\n+ [0.25161684, 0.46704134, 0.8927133 ],\n+ [0.6076077 , 0.300132 , 0.74014723],\n+ [0.10045233, 0.0594254 , 0.38956487],\n+ [0.21731788, 0.33837423, 0.25766557],\n+ [0.8101774 , 0.22853024, 0.81941795],\n+ [0.4293972 , 0.86796516, 0.01550099],\n+ [0.8673624 , 0.8377294 , 0.62062705],\n+ [0.7390179 , 0.3670219 , 0.70417184]], 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.15250753, 0.7690562 , 0.21583572],\n- [0.07472026, 0.21464773, 0.6080729 ],\n- [0.9305786 , 0.1780378 , 0.2361275 ],\n- [0.63008565, 0.7537331 , 0.69938016],\n- [0.5400621 , 0.34526867, 0.49260753],\n- [0.2827472 , 0.82502365, 0.48483187],\n- [0.05421347, 0.49674514, 0.5714102 ]], dtype=float32)\n+array([[0.52877283, 0.55959105, 0.11115371],\n+ [0.09361025, 0.49398243, 0.18832383],\n+ [0.56945795, 0.23760736, 0.3806254 ],\n+ [0.38254946, 0.23373856, 0.32114315],\n+ [0.6726387 , 0.3142955 , 0.59746283],\n+ [0.17493731, 0.34842947, 0.72330725],\n+ [0.95992386, 0.8940841 , 0.05210372]], 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.