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()

Note for Python build

Current CD (continuous delivery) flow is partial, which means we only have prebuilt linux wheels for x86_64 and for Windows.

  • Prebuilt wheels for linux x86_64 are built with Github actions.
  • Windows wheels (64bit) are built manually on a local machine.
  • macOS prebuilt wheels are not available for now. However, you can install dependencies (OpenCV, Vulkan) manually, then install Daisykit with pip command.

We will be happy if you can make a pull request to make the CD build fully automated. A good choice is using Github flow for all building tasks.

Current steps for Windows build:

bash ./build_tools/py_windows/build_dk_all_pythons_windows.sh
bash ./build_tools/py_windows/build_dk_python_source_dist.sh
bash ./build_tools/upload_pypi.sh

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.20211123.tar.gz (15.4 MB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.10 Windows x86-64

daisykit-0.1.20211123-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.20211123-cp39-cp39-win_amd64.whl (24.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

daisykit-0.1.20211123-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.20211123-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.20211123-cp38-cp38-win_amd64.whl (24.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

daisykit-0.1.20211123-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.20211123-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.20211123-cp37-cp37m-win_amd64.whl (24.0 MB view details)

Uploaded CPython 3.7m Windows x86-64

daisykit-0.1.20211123-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.20211123-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.20211123-cp36-cp36m-win_amd64.whl (24.0 MB view details)

Uploaded CPython 3.6m Windows x86-64

daisykit-0.1.20211123-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.20211123-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.20211123.tar.gz.

File metadata

  • Download URL: daisykit-0.1.20211123.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.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8

File hashes

Hashes for daisykit-0.1.20211123.tar.gz
Algorithm Hash digest
SHA256 7a6da83fb9cc2aa3beb2089c3a403db139e9a32a99365a628540e2d91a982bed
MD5 245a2cf6beb63f8de0e69a54c36dc443
BLAKE2b-256 b0a8308dad4126a6b26e9c7d1b112cb8fe9280209a53a5900b2a08dcf492785d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: daisykit-0.1.20211123-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.20211123-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4ea7c8aa01a91770541e0be5164fdfb172c518349f58db945fabf893bc459887
MD5 3f19a17768bd9c9b5d6c33da5a8b66ba
BLAKE2b-256 c792fe7ac65a0e556ca55e72ce8587a0b4833fe9e7640c3d751dfe23b802edb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211123-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de917b0aedae2917978cc1d769e7ff849a69c7881587ca0193cefb0174ce6f45
MD5 19a8ff044864d0c6e51f2b15eb6f37d3
BLAKE2b-256 3e7b57009c693fe07a7003196b1e777f7c85566b24fceb84cf15a7ef37013f36

See more details on using hashes here.

File details

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

File metadata

  • Download URL: daisykit-0.1.20211123-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.20211123-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f0dd65043268b469df182879e6a1f2b1d52f3b3d35ebcf73d3bd05b8c9e75a9b
MD5 a387414f6560187deedc1355c86b0933
BLAKE2b-256 e7de0ce2fb7737286398346e1449f4f6402b077a4771298bc6835639920aaeb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211123-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 680c89876ddc9f5370943de8c2ba506409e82f6f0208cf2de519c9033fc64468
MD5 96acceba159fbf26ddb2fe9c3ebfcb1c
BLAKE2b-256 5eed358b5ef032d20efd7a06ee8e42e8c7d28bfafaf6708a97090ae2f59ba02a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211123-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 573b0a337770bcc5315d7585c1b81676667c3417a80d66b0c5535efb5b42d67a
MD5 6351e42b937d3c2b29ee34db952f9d9f
BLAKE2b-256 f2fc654470c439268feb976af94001bf94e2224e5dc0bc6cbdbfd0078af2286f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: daisykit-0.1.20211123-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.20211123-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a2aecc588950284fa65098890194d9a93fbf55a36101e047246ad27692523cf5
MD5 d85190c13dc44f7db6fcaa86691bb8de
BLAKE2b-256 5772488883e653c870b4bfb7422cdffc3549eead6d6c175ae0d5007840138230

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211123-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69f822973cc9fcf8fc6bb2ad2bfbe2a234580aa4960919d31c61e909c9a51301
MD5 8c7c451c8c810945f738b552b0540bf6
BLAKE2b-256 ac55f558c3fb4abc2afefe780a04e4b7e6fed5e8427ddde05d523377fc6c2d6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211123-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 84cced0664f8a247df8e124ae6f4c25ba4bebefc1dfaf4b0e1b4efb6b05054ba
MD5 8dfc143b9d58e0d4d55a9a003e0d7efb
BLAKE2b-256 c5af2ff5207cda040ad171d0aa56093a42403d3f057e21b56679168db9f49132

See more details on using hashes here.

File details

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

File metadata

  • Download URL: daisykit-0.1.20211123-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.20211123-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 27c3155dbbbef3bfbbae8e40fa1239cbe8bbb56b80b9608af9cd7e8ed85ef54c
MD5 a8a02ad9d18af5e6c9d48764b44a3109
BLAKE2b-256 d8e82fd8e025337d7f96ffa627a9a09f69c50ccbc9d44b02cfd516fa67435e82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211123-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7db41737f05e2fce57344c10ef77a9159292ca1a953021b60b87e5c8e2d84280
MD5 a5fe2ca5a06f55f23e7432dd950c4399
BLAKE2b-256 c2bfa7815453570c9c8d76542c522904b3af1bab2b03c45aa09f0746ccecb16f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211123-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 23ef2021b2327d50fc56e0e135410c633a6ae2b3940ea6b423390043e9aa15e6
MD5 abe15acb804d9e6ce1c035bfa1089268
BLAKE2b-256 f1092a7acfab0d882948e0d9bbdf02d0b26bc16a138cf45e32abf84b8de6eeb1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: daisykit-0.1.20211123-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.20211123-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 46039a172ba59d02ba831b7256648e5f712e4170be3a4bf67bdc2d60712947af
MD5 bacd5d2206c723d8a4a1e6f02ed73ddb
BLAKE2b-256 6e275d2ab30b026cf039e725132d1440a037e2ffa0be69cc6e40c8177f04ba36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211123-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 078fc4ce9ca91755fe3d09263bf1ab010a76c4f330e0be3eeae5b18c55dfa54a
MD5 08fdfaab0bf819d824e43ccdf87d0a27
BLAKE2b-256 c82b044a43516ddbf9be30e6ef224ae0c0867e648430051e98571544558186c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211123-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8d6cd624c021641d2a0bbdce9823e4badc42a5223da864887d7ceb7ec0632706
MD5 bbe429be48d05d761c4272fd9f7ae35a
BLAKE2b-256 23a5e95b6ed07f771fb5c4adc4cc1dc79d4bb839e1285cf1384ac28b586c51a8

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