Skip to main content

Deploy AI Systems Yourself (DAISY) Kit. DaisyKit Python is the wrapper of DaisyKit SDK, an AI framework focusing on the ease of deployment.

Project description

DaisyKit Python

https://pypi.org/project/daisykit/

Deploy AI Systems Yourself (DAISY) Kit. DaisyKit Python is the wrapper of DaisyKit SDK, an AI framework focusing on the ease of deployment. At present, this package only has prebuilt distribution for Windows - Python 3. For other platform, you need to compile from source.

How to install ?

For Windows:

pip3 install daisykit

For Ubuntu:

  • Install dependencies
sudo apt install pybind11-dev # Pybind11 - For Python/C++ Wrapper
sudo apt install libopencv-dev # For OpenCV
sudo apt install libvulkan-dev # Optional - For GPU support
  • Install DaisyKit (compile from source)
pip3 install --upgrade pip # Ensure pip is updated
pip3 install daisykit

For other platforms:

  • Install OpenCV, Pybind11 and Vulkan development package (if you want GPu support)

  • Install DaisyKit (compile from source)

pip3 install --upgrade pip # Ensure pip is updated
pip3 install daisykit

Examples

Object detection:

import cv2
import json
from daisykit.utils import get_asset_file, to_py_type
from daisykit import ObjectDetectorFlow

config = {
    "object_detection_model": {
        "model": get_asset_file("models/object_detection/yolox-tiny.param"),
        "weights": get_asset_file("models/object_detection/yolox-tiny.bin"),
        "input_width": 416,
        "input_height": 416,
        "score_threshold": 0.5,
        "iou_threshold": 0.65,
        "use_gpu": False,
        "class_names": [
            "person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", "truck", "boat", "traffic light",
            "fire hydrant", "stop sign", "parking meter", "bench", "bird", "cat", "dog", "horse", "sheep", "cow",
            "elephant", "bear", "zebra", "giraffe", "backpack", "umbrella", "handbag", "tie", "suitcase", "frisbee",
            "skis", "snowboard", "sports ball", "kite", "baseball bat", "baseball glove", "skateboard", "surfboard",
            "tennis racket", "bottle", "wine glass", "cup", "fork", "knife", "spoon", "bowl", "banana", "apple",
            "sandwich", "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", "cake", "chair", "couch",
            "potted plant", "bed", "dining table", "toilet", "tv", "laptop", "mouse", "remote", "keyboard", "cell phone",
            "microwave", "oven", "toaster", "sink", "refrigerator", "book", "clock", "vase", "scissors", "teddy bear",
            "hair drier", "toothbrush"
        ]
    }
}


flow = ObjectDetectorFlow(json.dumps(config))

# Open video stream from webcam
vid = cv2.VideoCapture(0)

while(True):

    # Capture the video frame
    ret, frame = vid.read()

    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

    poses = flow.Process(frame)
    flow.DrawResult(frame, poses)

    frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)

    # Convert poses to Python list of dict
    poses = to_py_type(poses)

    # Display the resulting frame
    cv2.imshow('frame', frame)

    # The 'q' button is set as the
    # quitting button you may use any
    # desired button of your choice
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# After the loop release the cap object
vid.release()
# Destroy all the windows
cv2.destroyAllWindows()

Face Detection with mask recognition:

import cv2
import json
from daisykit.utils import get_asset_file, to_py_type
import daisykit

config = {
    "face_detection_model": {
        "model": get_asset_file("models/face_detection/yolo_fastest_with_mask/yolo-fastest-opt.param"),
        "weights": get_asset_file("models/face_detection/yolo_fastest_with_mask/yolo-fastest-opt.bin"),
        "input_width": 320,
        "input_height": 320,
        "score_threshold": 0.7,
        "iou_threshold": 0.5,
        "use_gpu": False
    },
    "with_landmark": True,
    "facial_landmark_model": {
        "model": get_asset_file("models/facial_landmark/pfld-sim.param"),
        "weights": get_asset_file("models/facial_landmark/pfld-sim.bin"),
        "input_width": 112,
        "input_height": 112,
        "use_gpu": False
    }
}

face_detector_flow = daisykit.FaceDetectorFlow(json.dumps(config))

# Open video stream from webcam
vid = cv2.VideoCapture(0)

while(True):

    # Capture the video frame
    ret, frame = vid.read()

    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

    faces = face_detector_flow.Process(frame)
    # for face in faces:
    #     print([face.x, face.y, face.w, face.h,
    #           face.confidence, face.wearing_mask_prob])
    face_detector_flow.DrawResult(frame, faces)

    frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)

    # Convert faces to Python list of dict
    faces = to_py_type(faces)

    # Display the resulting frame
    cv2.imshow('frame', frame)

    # The 'q' button is set as the
    # quitting button you may use any
    # desired button of your choice
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# After the loop release the cap object
vid.release()
# Destroy all the windows
cv2.destroyAllWindows()

Background Matting:

import cv2
import json
from daisykit.utils import get_asset_file
from daisykit import BackgroundMattingFlow

config = {
    "background_matting_model": {
        "model": get_asset_file("models/background_matting/erd/erdnet.param"),
        "weights": get_asset_file("models/background_matting/erd/erdnet.bin"),
        "input_width": 256,
        "input_height": 256,
        "use_gpu": False
    }
}

# Load background
default_bg_file = get_asset_file("images/background.jpg")
background = cv2.imread(default_bg_file)
background = cv2.cvtColor(background, cv2.COLOR_BGR2RGB)

background_matting_flow = BackgroundMattingFlow(json.dumps(config), background)

# Open video stream from webcam
vid = cv2.VideoCapture(0)

while(True):

    # Capture the video frame
    ret, frame = vid.read()

    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

    mask = background_matting_flow.Process(frame)
    background_matting_flow.DrawResult(frame, mask)

    frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)

    # Display the resulting frame
    cv2.imshow('frame', frame)

    # The 'q' button is set as the
    # quitting button you may use any
    # desired button of your choice
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# After the loop release the cap object
vid.release()
# Destroy all the windows
cv2.destroyAllWindows()

Human Pose Detection:

import cv2
import json
from daisykit.utils import get_asset_file, to_py_type
from daisykit import HumanPoseMoveNetFlow

config = {
    "person_detection_model": {
        "model": get_asset_file("models/human_detection/ssd_mobilenetv2.param"),
        "weights": get_asset_file("models/human_detection/ssd_mobilenetv2.bin"),
        "input_width": 320,
        "input_height": 320,
        "use_gpu": False
    },
    "human_pose_model": {
        "model": get_asset_file("models/human_pose_detection/movenet/lightning.param"),
        "weights": get_asset_file("models/human_pose_detection/movenet/lightning.bin"),
        "input_width": 192,
        "input_height": 192,
        "use_gpu": False
    }
}

human_pose_flow = HumanPoseMoveNetFlow(json.dumps(config))

# Open video stream from webcam
vid = cv2.VideoCapture(0)

while(True):

    # Capture the video frame
    ret, frame = vid.read()

    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

    poses = human_pose_flow.Process(frame)
    human_pose_flow.DrawResult(frame, poses)

    frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)

    # Convert poses to Python list of dict
    poses = to_py_type(poses)

    # Display the resulting frame
    cv2.imshow('frame', frame)

    # The 'q' button is set as the
    # quitting button you may use any
    # desired button of your choice
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# After the loop release the cap object
vid.release()
# Destroy all the windows
cv2.destroyAllWindows()

Barcode Detection:

import cv2
import json
from daisykit.utils import get_asset_file
from daisykit import BarcodeScannerFlow

config = {
    "try_harder": True,
    "try_rotate": True
}

barcode_scanner_flow = BarcodeScannerFlow(json.dumps(config))

# Open video stream from webcam
vid = cv2.VideoCapture(0)

while(True):

    # Capture the video frame
    ret, frame = vid.read()

    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

    result = barcode_scanner_flow.Process(frame, draw=True)

    frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)

    # Display the resulting frame
    cv2.imshow('frame', frame)

    # The 'q' button is set as the
    # quitting button you may use any
    # desired button of your choice
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# After the loop release the cap object
vid.release()
# Destroy all the windows
cv2.destroyAllWindows()

Hand Pose Detection:

import cv2
import json
from daisykit.utils import get_asset_file, to_py_type
from daisykit import HandPoseDetectorFlow

config = {
    "hand_detection_model": {
        "model": get_asset_file("models/hand_pose/yolox_hand_swish.param"),
        "weights": get_asset_file("models/hand_pose/yolox_hand_swish.bin"),
        "input_width": 256,
        "input_height": 256,
        "score_threshold": 0.45,
        "iou_threshold": 0.65,
        "use_gpu": False
    },
    "hand_pose_model": {
        "model": get_asset_file("models/hand_pose/hand_lite-op.param"),
        "weights": get_asset_file("models/hand_pose/hand_lite-op.bin"),
        "input_size": 224,
        "use_gpu": False
    }
}

flow = HandPoseDetectorFlow(json.dumps(config))

# Open video stream from webcam
vid = cv2.VideoCapture(0)

while(True):

    # Capture the video frame
    ret, frame = vid.read()

    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

    poses = flow.Process(frame)
    flow.DrawResult(frame, poses)

    frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)

    # Convert poses to Python list of dict
    poses = to_py_type(poses)

    # Display the resulting frame
    cv2.imshow('frame', frame)

    # The 'q' button is set as the
    # quitting button you may use any
    # desired button of your choice
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# After the loop release the cap object
vid.release()
# Destroy all the windows
cv2.destroyAllWindows()

Bug report

Please open an issue on our official repository if you find any error.

https://github.com/Daisykit-AI/daisykit

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

daisykit-0.1.20211120.tar.gz (15.4 MB view details)

Uploaded Source

Built Distributions

daisykit-0.1.20211120-cp310-cp310-win_amd64.whl (24.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

daisykit-0.1.20211120-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (47.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

daisykit-0.1.20211120-cp39-cp39-win_amd64.whl (24.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

daisykit-0.1.20211120-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (47.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

daisykit-0.1.20211120-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (21.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

daisykit-0.1.20211120-cp38-cp38-win_amd64.whl (24.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

daisykit-0.1.20211120-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (47.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

daisykit-0.1.20211120-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (21.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

daisykit-0.1.20211120-cp37-cp37m-win_amd64.whl (24.0 MB view details)

Uploaded CPython 3.7m Windows x86-64

daisykit-0.1.20211120-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (47.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

daisykit-0.1.20211120-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (21.6 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

daisykit-0.1.20211120-cp36-cp36m-win_amd64.whl (24.0 MB view details)

Uploaded CPython 3.6m Windows x86-64

daisykit-0.1.20211120-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (47.9 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

daisykit-0.1.20211120-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (21.6 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686

File details

Details for the file daisykit-0.1.20211120.tar.gz.

File metadata

  • Download URL: daisykit-0.1.20211120.tar.gz
  • Upload date:
  • Size: 15.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for daisykit-0.1.20211120.tar.gz
Algorithm Hash digest
SHA256 3075410d5461a89c0de3523b697a91aee915ad83b5c8253ff055d042fbb869ab
MD5 e29793310cb4637dcb284f744133cc75
BLAKE2b-256 5fdad6603f4d87e259c8106e618c4ba5a67e8e6a2f887c757830d8e1a1d53713

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: daisykit-0.1.20211120-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 24.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for daisykit-0.1.20211120-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9ba6b0fd5b70324d5fdb9c8416f76cc52dc74db96d78b06aae9ec97fafbf471e
MD5 5a73a040fa745e485308f9161d07036e
BLAKE2b-256 2cf78840933d9858a1c7bd1c30e3f977a27e0715c74f634275ff90182aaa65bb

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for daisykit-0.1.20211120-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4b504c830ade14df58c6718db92e8a605e00746e2813398c1a15c687726abbfb
MD5 eb7fb8728f00db436bb79298a16febbc
BLAKE2b-256 ac4d4e2432c0c0401ab507b5156471e06c4d5a3634e4ba9d7a045555a9e605ee

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: daisykit-0.1.20211120-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 24.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for daisykit-0.1.20211120-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8de1690f95099c65e2f5dabac854961f8573e0572baf299a9ea57d9538c206d7
MD5 63bc1fa574c9abfcae35778ba9bd5df1
BLAKE2b-256 865576ab3330ee3ca47da418370cfe8a914d587e5cf7deb9f7026841ad17f426

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for daisykit-0.1.20211120-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a6210940294428a8815f06d597bc053d552e8fd24cf2f38057913bddcbf1256c
MD5 ccd9218036290d49e61ffcd96b9896d5
BLAKE2b-256 3e8b34fd3d85da1609edf667b3df1f9575baf18a21cb458c16f4fdecad1e4a11

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for daisykit-0.1.20211120-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 29a122817c69550936ea43ce44a04f426c372ce3afa673b29e13dedb282b24eb
MD5 b02a350e387245b73af32fb0a15b7eb4
BLAKE2b-256 ec6f389c009f5e03bc8464dc5fad4564863a2ffa3af6f56c1ceb7a2f55c7c927

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: daisykit-0.1.20211120-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 24.0 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for daisykit-0.1.20211120-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9b33f17e33680ee221aa741da661ba86f43d09bf44bea975dbf52b200f34c2b5
MD5 41c8101facd4746361882c4bd2590547
BLAKE2b-256 542eb9ba194428c3ee4069fbea363838f16a382f572984bd8f42f4b6e3bc36c3

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for daisykit-0.1.20211120-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a748850f798878544ecc1556f6c70122eb2104eaa2666beb3a872aa6ed6e739f
MD5 b8a6253eaa90f298c60d772d3364daca
BLAKE2b-256 6e1454aafc477367de0241932aa984824cf1d1714de7ff2958b863b315bc20dd

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for daisykit-0.1.20211120-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8f1ee09e24007abf9af19155318453ef697f0f3dec51a35b56f94435475b0420
MD5 f627ff59b00796705b9a71abcab1e4d6
BLAKE2b-256 4a291ac9d161369dfb04dba073e63727a7e4db11914b06801bf984683d6b734a

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: daisykit-0.1.20211120-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 24.0 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for daisykit-0.1.20211120-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 021af3c9b19afa9c9c57879ad9b5926581ab5bd6d14ee34e6b123a87048344b4
MD5 8e73d735ee58381dde42d538eedc3951
BLAKE2b-256 6073e88d5e64c4e372cff0470cefa110a1213714994c3fc7465506104aaf5c26

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for daisykit-0.1.20211120-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b6ec3708c384c608d66e894c283de2b6be9974d285ebd6dd78532b4de62cc9c
MD5 1a71615274a0e77f9a1a1dde5e7509b1
BLAKE2b-256 0765cbe795f43c09b4c21fa8136f854858b48472002d7bf64c45d6a355b52441

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for daisykit-0.1.20211120-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a06894dfdee9b954b8bbf1a910d1e778de5e439dabe605a7dfd52e5033806462
MD5 db2341869264bcb5139ae07c22b023e3
BLAKE2b-256 714b66b7bd06a768502765f14935d90a85c0159fe77f108c69339894dcf53a7a

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: daisykit-0.1.20211120-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 24.0 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for daisykit-0.1.20211120-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 399486b99e58d861e297dfb459e5f2cffe4272504a0a93ff93abe060233080c7
MD5 79adc67d5eac83acdf05b6ced8e190a0
BLAKE2b-256 ef5ba08c54054dae8c5182c15efaa0a470bad39fd06d4e2bb3bf1b5ce8f80eb7

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for daisykit-0.1.20211120-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a918b92ca3d8294ee4d2e4f0cf5119955dd369d28d007075903e200253124d09
MD5 3d97f7b97daa6e4287c990fca3e57ed3
BLAKE2b-256 e3c140ee58edea56cc88c2ff21ef47f8d236429eed95903401fd5ca92f8ad63f

See more details on using hashes here.

File details

Details for the file daisykit-0.1.20211120-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for daisykit-0.1.20211120-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 88d4de0f856481a921dd4200b7c274b089f84eb01971b9f9c979bc2745a3e96c
MD5 89e2cf6fca815173e6ec0c2309193a24
BLAKE2b-256 b51a1ddf88e68e28b6641bbd6074efaef3daaf6b77e6e5a31de83ff5caa17b55

See more details on using hashes here.

Supported by

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