Skip to main content

GPU-accelerated scientific visualization for Python, written in Rust

Project description

dragonsci

DragonSci logo

GPU-accelerated scientific visualization for Python, written in Rust.

Renders large point clouds (250 k+ points) at interactive frame rates by using wgpu (Vulkan / Metal / DirectX 12) via PyO3. The widget embeds directly in any Tkinter layout — no separate window or subprocess.

Installation

Tkinter (default):

pip install dragonsci

JupyterLab / Jupyter Notebook:

pip install "dragonsci[notebook]"

The [notebook] extra adds jupyter_rfb, ipywidgets, and Pillow.

The release workflow builds pre-built wheels for Python 3.9–3.12 on Windows, macOS, and Linux, plus a source distribution for source installs.

GitHub release publishing

This repo now includes automated PyPI publishing through release.yml. The workflow builds:

  • a source distribution
  • Linux x86_64 manylinux wheels
  • Windows x64 wheels
  • macOS x86_64 and arm64 wheels

Publishing uses PyPI Trusted Publishing. Before the first release, configure dragonsci on PyPI to trust this exact GitHub Actions workflow:

  1. Repository owner: NKocur
  2. Repository name: dragonsci
  3. Workflow path: .github/workflows/release.yml

After that, publishing a GitHub Release will build artifacts and upload them to PyPI automatically. You can also run the same workflow manually from GitHub Actions via workflow_dispatch; leave publish unchecked for a build-only dry run, or enable it to upload to PyPI.

Quick start

Tkinter

import tkinter as tk
import numpy as np
from dragonsci import Scatter3D

root = tk.Tk()
widget = Scatter3D(root, width=900, height=700)
widget.pack(fill="both", expand=True)

pts = np.random.default_rng(0).standard_normal((250_000, 3)).astype(np.float32)
widget.set_points(pts, colormap="plasma")

root.mainloop()

JupyterLab / Jupyter Notebook

from dragonsci import scatter3d   # requires dragonsci[notebook]
import numpy as np

w = scatter3d(width=800, height=600)
w.set_points(np.random.randn(50_000, 3).astype("f4"), colormap="viridis")
w  # display in cell

For 2-D scatter plots pass (N, 2) or (N, 3) arrays to JupyterScatter2D:

from dragonsci import JupyterScatter2D
import numpy as np

w = JupyterScatter2D(width=700, height=500)
w.set_points(np.random.randn(20_000, 2).astype("f4"), colormap="plasma")
w

Point picking is available via callback:

def on_hit(result):
    print(result["actor"], result["index"], result["point"])

w.enable_point_picking(on_pick=on_hit)

API

Widget construction

Scatter3D(master, *, width=800, height=600, fps=60, vsync=True, **kwargs)

A tk.Frame subclass. All standard frame keyword arguments are forwarded.

Pre-map behaviour: The following may be called before mainloop() and are queued, then replayed when the renderer initialises on widget map: set_points, add_points, add_lines, add_box, scalar_bar, show_orientation_axes, point_style, show_grid, set_background, set_axes, set_ticks, and the parallel_projection property.

Camera methods (reset_camera, view_*, fit, get_camera, set_camera) and overlay-mutation methods (update_lines, remove_overlay, set_overlay_visibility) are silent no-ops before the widget is mapped.


Point clouds

widget.set_points(positions, *, colors=None, scalars=None, colormap="viridis",
                  point_size=4.0, clim=None, nan_color=(0.3,0.3,0.3),
                  log_scale=False, opacity=1.0)

Replace all point actors with a single point cloud. Line overlays are not affected; call clear() first to reset the whole scene.

Parameter Type Description
positions (N, 3) float32 XYZ coordinates
colors (N, 3) float32, optional Per-point RGB in [0, 1]. Takes priority over scalars.
scalars (N,) float32, optional Mapped through colormap. Used when colors is absent.
colormap str One of the names returned by colormap_names().
point_size float Point diameter in pixels (default 4).
clim (float, float), optional Colormap range. Defaults to data min/max.
nan_color (r, g, b) Colour for NaN scalars (default dark grey).
log_scale bool Apply log₁₀ normalisation before colouring.
opacity float Per-call alpha, [0, 1] (default 1.0).
handle = widget.add_points(positions, *, ...)   # same kwargs as set_points
widget.update_actor(handle, positions, *, ...)  # replace in-place
widget.set_actor_visibility(handle, visible)
widget.remove_actor(handle)
widget.clear()                                   # remove all actors, overlays, and grid

Rendering style

widget.point_style = "circle"   # "circle" | "square" | "gaussian"
widget.set_ticks(x=None, y=None, z=None)

Camera

widget.reset_camera()
widget.fit(bounds=None)          # (xmin,ymin,zmin,xmax,ymax,zmax) or re-fit data
widget.view_xy(); widget.view_xz(); widget.view_yz(); widget.view_isometric()
widget.parallel_projection       # bool property
state = widget.get_camera()
widget.set_camera(state)

Axis labels, grid and background

widget.set_axes(x="X", y="Y", z="Z")   # axis title labels at grid extents
widget.show_grid(visible=True)          # toggle grid lines + tick labels
widget.set_background(color)            # (r,g,b) tuple or "#RRGGBB" hex string

Scalar bar

widget.scalar_bar(visible=True, *, vmin=0.0, vmax=1.0, log_scale=False,
                  colormap="viridis", title="")

Line overlays

Segments are (N, 6) float32 arrays, each row [x0,y0,z0, x1,y1,z1]. Overlay bounds are included in camera fitting and grid extents.

handle = widget.add_lines(segments, color=(1,1,1))
handle = widget.add_box(bounds, color=(1,1,0))   # (xmin,ymin,zmin,xmax,ymax,zmax)
widget.update_lines(handle, segments, color)
widget.set_overlay_visibility(handle, visible)
widget.remove_overlay(handle)
widget.clear_overlays()
widget.show_orientation_axes(visible=True)

Picking

widget.enable_point_picking(on_pick=None)      # fires <<PointPicked>>
widget.enable_rectangle_picking(on_select=None) # Shift+drag; fires <<SelectionChanged>>
widget.disable_picking()
# After <<PointPicked>>:  widget.picked_point, .picked_index, .picked_actor
# After <<SelectionChanged>>: widget.selected  →  [{"actor":int,"index":int},...]

Animation export

widget.open_gif(path, fps=20, loop=0)
widget.write_frame()
widget.close_gif()
# or all-in-one orbit:
widget.orbit_gif(path, n_frames=60, fps=20, loop=0, elevation=0.3, on_progress=None)

Screenshot

rgba = widget.screenshot()   # (H, W, 4) uint8 ndarray, or None before map
widget.save_png(path)

Linked cameras

from dragonsci import link_cameras, unlink_cameras
link_cameras(w1, w2, w3, ...)
unlink_cameras(w1, w2)

Misc

Scatter3D.colormap_names()  list[str]

Camera controls

Input Action
Left-drag Orbit
Shift + left-drag Pan
Middle-drag Pan
Scroll wheel Zoom
Double left-click Reset camera

Platform notes

Windows

Fully supported. Uses DirectX 12 or Vulkan via wgpu. No extra dependencies.

macOS

Fully supported. Uses Metal via wgpu. No extra dependencies.

Linux

Requires an X11/Xlib display (Wayland is not supported). The widget uses winfo_id() to obtain an XID and opens the display via libX11.so.6. Pure Wayland sessions will fail at renderer initialisation with a warning. Running under XWayland works.

# Confirm X11 is available:
echo $DISPLAY   # should print e.g. :0

Building from source

Requires Rust (stable) and maturin ≥ 1.7.

Development (installs the extension in-place for local imports):

pip install maturin
maturin develop --release
pytest tests/

Distribution wheel — use the helper script, which removes the maturin develop artifact from the source tree before building. Running maturin build directly from a development working tree will fail because the in-place extension collides with the freshly-compiled one:

python scripts/build_wheel.py           # produces target/wheels/*.whl
# or equivalently:
rm -f python/dragonsci/_dragonsci*.{pyd,so,dylib,pdb}
maturin build --release

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dragonsci-0.1.0.tar.gz (892.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dragonsci-0.1.0-cp312-cp312-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.12Windows x86-64

dragonsci-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dragonsci-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dragonsci-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

dragonsci-0.1.0-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11Windows x86-64

dragonsci-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

dragonsci-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dragonsci-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

dragonsci-0.1.0-cp310-cp310-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.10Windows x86-64

dragonsci-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

dragonsci-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dragonsci-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

dragonsci-0.1.0-cp39-cp39-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.9Windows x86-64

dragonsci-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

dragonsci-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

dragonsci-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file dragonsci-0.1.0.tar.gz.

File metadata

  • Download URL: dragonsci-0.1.0.tar.gz
  • Upload date:
  • Size: 892.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dragonsci-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fd667e09762d1a92c11b7bcde2f93d50365caccf90d3b3875481324ac968bc4f
MD5 b7f461619087fc58ede266f0013441bb
BLAKE2b-256 8af432cec8fd574781a6206f4e9647a2e264c2188feab190c44475a8a02e501c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0.tar.gz:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: dragonsci-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dragonsci-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 26147091abc6e701306584896a7ad3fb7f6cf23bd021c21c251acd71283df08e
MD5 02e60b53d835168580b189cf080df680
BLAKE2b-256 8adba8dfedea1a8c1a2484432475c8142a34a1353ffd786f583f526830c56111

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dragonsci-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ded59efa0edd887195e9e881c6746ace6447ed42bc693f2f6d9e09507802d93d
MD5 580655c0fa900efcabde7d81274715e1
BLAKE2b-256 6850d63d8d535d1346d43c41881ffd26d829d07db1f3d69e56306eed9d4b71e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dragonsci-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7d9293304b3e79ce844c82adc80e1c14effec658b2663d360e94fb688fc37df3
MD5 b14b48a61cfc87ac53a5535f4ed22694
BLAKE2b-256 d02de1370ff94a9f35fc2f872c6f87c24529418ea3a3733c10103b116a316145

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dragonsci-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 718416c10d77311baf7e944eabe884addffc4be196ff60ab7600d08db044b2c1
MD5 a08bdb4f384fda6ffd3a24c9b67af0a8
BLAKE2b-256 6e12cdf116da0547d60c37e8cdc2d55e11fe77649ba9f95571767961b59fdf8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: dragonsci-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dragonsci-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f49e6f0cbeb051d27f8cc0b8ccf183d94f038381c09dd53dc4911f291e5e9e38
MD5 f87f6bc64c538fa5bd0343fa9782a173
BLAKE2b-256 e3bc6cde798680fa9621a46b42cc443d9700fb5eb3221ca05aed5de400d51021

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dragonsci-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 368373ace772a5ad33f67799c23a76f4e80db4e534ba902723b84e5b8389d665
MD5 c5b0758cc3fc73d2e46993f864e5ebc9
BLAKE2b-256 aebe255f645d55a9f1ba2c0f2bf97294fa4148388f63133ad7a2e0f1bb0dd3ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dragonsci-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5f3cf72f662eb35139fc763ed3fa9385b7c053f5367a0fe0fac2c034d58d350
MD5 657f706bbf476f73a6e33ca2f1afbc78
BLAKE2b-256 c33d7b5e53ee79f048ac97749a440aef09eb1cbb4d0119dc3ed695135943a29c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dragonsci-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ded189321b1e88aec8b3f5bbfcfdda9b5847778a244405cc89543fa6ef2bee0f
MD5 0a3c73a60201f5ab34cb5254e9d6b8ae
BLAKE2b-256 47048171f92e189c4fda9adf4591e7b875280f26ee651f3f0f82c40a6a97ca82

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: dragonsci-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dragonsci-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a19c8ae1a51dd518c1d281f67cfd0307ccd1864f08f457f491a092069b59a71f
MD5 d1fe9d7f74c639eec2d5bb042b2e77b7
BLAKE2b-256 7be26aaf4972e122095409b6c18306877b8eeed4250e8a5af6025642ce8791af

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dragonsci-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec97a0d171788e3631e24091b7485a47df41233df3307307d82850062af63267
MD5 6d5e64592b01390e29c1c21d8cb34189
BLAKE2b-256 873a4bf5e736bbe5cd7cf5b072bb2423da30349ac4c05d6e8f1349dca2e1a76f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dragonsci-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 49e9ca1a9abf0049261b389787ca7b81caa8633a9b409c18a794466ad7d63f2d
MD5 bf5486dcb391523c07640a715d9da2b5
BLAKE2b-256 0f39f8badde12491062c3be6d99aa236bbf985fac79e0fd554f7a729664fd3e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dragonsci-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 94cbd78c23e853550854b11c715e5af0819f082447d8c7583a8ab42927235109
MD5 b61fecd6b40e14a2622b1cbe55566be1
BLAKE2b-256 e2722ff8d35a85de70118247af82e7f9a63456ee90e71e3b1f22da9485483a28

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: dragonsci-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dragonsci-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f61584212ec154459d70a863bfc006fb1304a4cd90099119cc9182a2c9e55e8e
MD5 ea0f183aebbbb5c392e62283b17be47d
BLAKE2b-256 c82a260997663215bfb77ce3d0a8c743f16051916bb2d75403d42a28b63ee961

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp39-cp39-win_amd64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dragonsci-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae792b6b065a8cd5b3cbdabd68e4258c5aeec8543ff90b6cfc9bcb2ecf24debd
MD5 a1d20a257634d47fbdaa8cc02912672e
BLAKE2b-256 24a8d9f8ab8a9ea17692a48154967e9a2f2b108d8b34c14079c477e13deae092

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dragonsci-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d2ae4d1a1f2e38be8770e944eab330acb10c0549b6168fe2121a6c7a9685c37
MD5 c152f432602644bfcb3aaf520a6df6bc
BLAKE2b-256 6444aef0c9b2ac890004913be8b172e76028410c8a9530c7fc516b71edb277a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dragonsci-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dragonsci-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5b7227b924cc67a1c43900808735706a9d5fa275933778c143918d9c0ffd9480
MD5 8f55cc2258489deccb096a68545a5502
BLAKE2b-256 ad871fb52e1a2c98878363a4041c0344d74921e9134b53b7c5daf4bac6c8d8c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for dragonsci-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl:

Publisher: release.yml on NKocur/DragonSci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page