dragonsci
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_64manylinux wheels - Windows
x64wheels - macOS
x86_64andarm64wheels
Publishing uses PyPI Trusted Publishing. Before the first release, configure
dragonsci on PyPI to trust this exact GitHub Actions workflow:
- Repository owner:
NKocur - Repository name:
dragonsci - 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
Metadata
Release files for dragonsci 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| dragonsci-0.1.0.tar.gz | 892.3 kB | With provenance | Details |
Built distributions (wheels)
Total release size: 46.2 MB
Release files / dragonsci-0.1.0.tar.gz
| Download URL | dragonsci-0.1.0.tar.gz |
|---|---|
| Size | 892.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd667e09762d1a92c11b7bcde2f93d50365caccf90d3b3875481324ac968bc4f
|
|
BLAKE2b-256 checksum How to use checksums |
8af432cec8fd574781a6206f4e9647a2e264c2188feab190c44475a8a02e501c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp312-cp312-win_amd64.whl
| Download URL | dragonsci-0.1.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
26147091abc6e701306584896a7ad3fb7f6cf23bd021c21c251acd71283df08e
|
|
BLAKE2b-256 checksum How to use checksums |
8adba8dfedea1a8c1a2484432475c8142a34a1353ffd786f583f526830c56111
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dragonsci-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ded59efa0edd887195e9e881c6746ace6447ed42bc693f2f6d9e09507802d93d
|
|
BLAKE2b-256 checksum How to use checksums |
6850d63d8d535d1346d43c41881ffd26d829d07db1f3d69e56306eed9d4b71e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | dragonsci-0.1.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7d9293304b3e79ce844c82adc80e1c14effec658b2663d360e94fb688fc37df3
|
|
BLAKE2b-256 checksum How to use checksums |
d02de1370ff94a9f35fc2f872c6f87c24529418ea3a3733c10103b116a316145
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | dragonsci-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
718416c10d77311baf7e944eabe884addffc4be196ff60ab7600d08db044b2c1
|
|
BLAKE2b-256 checksum How to use checksums |
6e12cdf116da0547d60c37e8cdc2d55e11fe77649ba9f95571767961b59fdf8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp311-cp311-win_amd64.whl
| Download URL | dragonsci-0.1.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f49e6f0cbeb051d27f8cc0b8ccf183d94f038381c09dd53dc4911f291e5e9e38
|
|
BLAKE2b-256 checksum How to use checksums |
e3bc6cde798680fa9621a46b42cc443d9700fb5eb3221ca05aed5de400d51021
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dragonsci-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
368373ace772a5ad33f67799c23a76f4e80db4e534ba902723b84e5b8389d665
|
|
BLAKE2b-256 checksum How to use checksums |
aebe255f645d55a9f1ba2c0f2bf97294fa4148388f63133ad7a2e0f1bb0dd3ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | dragonsci-0.1.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f5f3cf72f662eb35139fc763ed3fa9385b7c053f5367a0fe0fac2c034d58d350
|
|
BLAKE2b-256 checksum How to use checksums |
c33d7b5e53ee79f048ac97749a440aef09eb1cbb4d0119dc3ed695135943a29c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | dragonsci-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
ded189321b1e88aec8b3f5bbfcfdda9b5847778a244405cc89543fa6ef2bee0f
|
|
BLAKE2b-256 checksum How to use checksums |
47048171f92e189c4fda9adf4591e7b875280f26ee651f3f0f82c40a6a97ca82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp310-cp310-win_amd64.whl
| Download URL | dragonsci-0.1.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a19c8ae1a51dd518c1d281f67cfd0307ccd1864f08f457f491a092069b59a71f
|
|
BLAKE2b-256 checksum How to use checksums |
7be26aaf4972e122095409b6c18306877b8eeed4250e8a5af6025642ce8791af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dragonsci-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ec97a0d171788e3631e24091b7485a47df41233df3307307d82850062af63267
|
|
BLAKE2b-256 checksum How to use checksums |
873a4bf5e736bbe5cd7cf5b072bb2423da30349ac4c05d6e8f1349dca2e1a76f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | dragonsci-0.1.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
49e9ca1a9abf0049261b389787ca7b81caa8633a9b409c18a794466ad7d63f2d
|
|
BLAKE2b-256 checksum How to use checksums |
0f39f8badde12491062c3be6d99aa236bbf985fac79e0fd554f7a729664fd3e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl
| Download URL | dragonsci-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.10 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
94cbd78c23e853550854b11c715e5af0819f082447d8c7583a8ab42927235109
|
|
BLAKE2b-256 checksum How to use checksums |
e2722ff8d35a85de70118247af82e7f9a63456ee90e71e3b1f22da9485483a28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp39-cp39-win_amd64.whl
| Download URL | dragonsci-0.1.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f61584212ec154459d70a863bfc006fb1304a4cd90099119cc9182a2c9e55e8e
|
|
BLAKE2b-256 checksum How to use checksums |
c82a260997663215bfb77ce3d0a8c743f16051916bb2d75403d42a28b63ee961
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dragonsci-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ae792b6b065a8cd5b3cbdabd68e4258c5aeec8543ff90b6cfc9bcb2ecf24debd
|
|
BLAKE2b-256 checksum How to use checksums |
24a8d9f8ab8a9ea17692a48154967e9a2f2b108d8b34c14079c477e13deae092
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | dragonsci-0.1.0-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5d2ae4d1a1f2e38be8770e944eab330acb10c0549b6168fe2121a6c7a9685c37
|
|
BLAKE2b-256 checksum How to use checksums |
6444aef0c9b2ac890004913be8b172e76028410c8a9530c7fc516b71edb277a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logRelease files / dragonsci-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl
| Download URL | dragonsci-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.9 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
5b7227b924cc67a1c43900808735706a9d5fa275933778c143918d9c0ffd9480
|
|
BLAKE2b-256 checksum How to use checksums |
ad871fb52e1a2c98878363a4041c0344d74921e9134b53b7c5daf4bac6c8d8c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logSecurity for dragonsci 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 17 files in this release have been uploaded with provenance metadata.
Attestation for dragonsci-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.