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

Uploaded Source

Built Distributions

daisykit-0.1.20211122-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.9 Windows x86-64

daisykit-0.1.20211122-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.20211122-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.20211122-cp38-cp38-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.8 Windows x86-64

daisykit-0.1.20211122-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.20211122-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.20211122-cp37-cp37m-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.7m Windows x86-64

daisykit-0.1.20211122-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.20211122-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.20211122-cp36-cp36m-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.6m Windows x86-64

daisykit-0.1.20211122-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.20211122-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.20211122.tar.gz.

File metadata

  • Download URL: daisykit-0.1.20211122.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.20211122.tar.gz
Algorithm Hash digest
SHA256 a4e3c0fe6dd7f5adf18d836417cae69afc2414f34a69de32bfafab5fa32ab8c7
MD5 fe716bbce869df91dbdb47f2461208ac
BLAKE2b-256 fd0b20ec827860d09dc586402afbc980004a3f0b62d630725905cd4fd18fc64e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: daisykit-0.1.20211122-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.2 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.20211122-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7b64c86caa7acb8ce135f0818c1328ce66b318998a14310e2fc2fa11e0f7750a
MD5 fbd0e13ca5dfeb40447039c1b16a0b70
BLAKE2b-256 f2727af5b6099f273716df21bb1a13c57b09215d1522ae2cf8b90b39c48e6f31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211122-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a0ff910a9a41ac63f69b319ec649bac505a0b187d5d81de3e9aebc0ace70c72
MD5 85da0d90c193ecd6651f6d9f52bc9133
BLAKE2b-256 e8976d3a4386c55f792e9917cc53a6731d34c2ec9f7dcb08f46ab8a86df6c563

See more details on using hashes here.

File details

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

File metadata

  • Download URL: daisykit-0.1.20211122-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.20211122-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 aa9d23e199669d940108a0df1b1d16b67c6afd88a5c689c76213c9a400b409d4
MD5 1c93af268a0046bc99a5b16813991a68
BLAKE2b-256 6cdb2e7350b1ede234324b09d98c37847e2d6b1b01c260c7f7f6c55035a80a8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211122-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1aee1c54a9e6e5f242b1c00e98558a8f79a8275cecbf6d86f0860b596707325a
MD5 2f9f8b9a03db2a9de565f7b075b81a96
BLAKE2b-256 bf1fa2b15855b367016438f077db1c008098726fff74147d067cad0cf552d426

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211122-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7f263a39773b18f127fd6e10b6b0a6db1d8132af6709da29ed5e2af18f8afc62
MD5 78d37d29f71dccd4e7d0c18cfc83d18b
BLAKE2b-256 3ca8f23702154aaaf68ba351a342de4a8d4ac0060e57ce8a3f280de88a20070f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: daisykit-0.1.20211122-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.2 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.20211122-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 34b4b1cf5e9824d59f12008f6dbd40379d1616a0013ec59340eedbf8a432284e
MD5 d3a90ce43ec2e2cc994aeb0b7d1cc7c7
BLAKE2b-256 f6269daad7d5a313db09f53317948ee5ee4061197566e47cd64fd9868f5b5b7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211122-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d87d3487cf9b4f8af01e096d3951ee36773b753f13dcda14ec3dac9cef3ee867
MD5 4c4576ad11d0f6e6a7c161ed220f2c70
BLAKE2b-256 8bee54f7dd34dcf890650eca6f67c4294e46a06f76fffef70c6c93948cba1fce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211122-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cb3b6b5e64acb77bc32c1455e58f5596dad5485dbd2c521f1e9b89c5c6a545df
MD5 ec0293c91c8267bb8ef22c17945de86b
BLAKE2b-256 616b9367deee4f76cd5bf7e1af8b4adedd3994dcc3075d09f925ccd2169b85aa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: daisykit-0.1.20211122-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.2 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.20211122-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 5c322b341bab7b7690be7aef47ac49011e89aa2c4a4d22e4db8e099bd1523a3e
MD5 b05d1214e65c33713652b2dbd9614cf7
BLAKE2b-256 66dc94bd9cb60c0af3f844149926e477e8318ceafc385b5281586022aef66db7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211122-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 676149714bbfac95944bc32fe9b13e6ecb07962273bad3b5b6b584592f83deda
MD5 f52ed71a5b7332c08dd6e5ae012b4d47
BLAKE2b-256 4994cf28fcd3a3cc58e37ee4e4a3a79cbf7361359aa29d9262756dd300c0a7ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211122-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c5791705231708e1885f941a9339869c83e6d25459ac2f761ba6f0ea192242dd
MD5 788dbbe03671f143d3cd87ddd09a67c2
BLAKE2b-256 d39a3d0dc16960c20a7ab62309cf6003099215c53746580bf9893f08e1d03594

See more details on using hashes here.

File details

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

File metadata

  • Download URL: daisykit-0.1.20211122-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.2 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.20211122-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 48198d445b01cde28bba22c7da9771c5a0134874b81ef52f9d7a08e8f57b54de
MD5 40ae9ba919f3c203414e1daa75c8df20
BLAKE2b-256 c8087b19c549d03536687fccbabb07bc71ede900cc7336553b62df0199ae6296

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211122-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d632a6e3a0946565f1e3c9bca5241f185fd347614b27b79e0db73f4c2540ce58
MD5 2b7a5e52710892ae80964f8e62b9a588
BLAKE2b-256 a0e974b3610d4a457968325e8229b3b251d6adb50b35c8b314d6ad126350533d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for daisykit-0.1.20211122-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7be1a5f40ee7f92364b001ed4fbaa4abf2c0ecd462a073fe75c7872c477e0dcb
MD5 ea86c376d9dfc56b51e6527eea1bb0cd
BLAKE2b-256 30b2c84f2de915671d944b406b61135a6801431055907236733b104a096eac3c

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