cumm-cu118


Namecumm-cu118 JSON
Version 0.5.1 PyPI version JSON
download
home_pagehttps://github.com/FindDefinition/cumm
SummaryCUda Matrix Multiply library
upload_time2023-12-26 04:26:17
maintainer
docs_urlNone
authorYan Yan
requires_python>=3.6
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# cumm
CUda Matrix Multiply library.

[![Build Status](https://github.com/FindDefinition/cumm/workflows/build/badge.svg)](https://github.com/FindDefinition/cumm/actions?query=workflow%3Abuild)

```cumm``` is developed during learning of [CUTLASS](https://github.com/NVIDIA/cutlass), which use too much c++ template and make code unmaintainable. So I develop [pccm](https://github.com/FindDefinition/PCCM), use python as meta programming language, to replace c++ template meta programming. 
Now ```pccm``` become a foundational framework of ```cumm``` and my other c++ project such as [spconv](https://github.com/traveller59/spconv). 
```cumm``` also contains a python asyncio-based gemm simulator that **share same meta program** with CUDA code, enable gemm visualization and easy debug experience.

## BREAKING CHANGES

* 0.3.1: tv::DType enum value changed, this will affect all binary code of tv::Tensor user. you must recompile all code if upgrade to cumm >= 0.3.1.

## News

* Ampere feature support (by [EvernightAurora](https://github.com/EvernightAurora))

## Install

### Prebuilt

We offer python 3.7-3.11 and cuda 10.2/11.3/11.4/11.7/12.0 prebuilt binaries for linux (manylinux).

We offer python 3.7-3.11 and cuda 10.2/11.3/11.4/11.7/12.0 prebuilt binaries for windows 10/11.

```pip install cumm``` for CPU-only

```pip install cumm-cu102``` for CUDA 10.2

```pip install cumm-cu113``` for CUDA 11.3

```pip install cumm-cu114``` for CUDA 11.4

```pip install cumm-cu117``` for CUDA 11.7

```pip install cumm-cu120``` for CUDA 12.0

### Build from source for development (JIT, recommend for develop)

**WARNING** Use code in [tags](https://github.com/FindDefinition/cumm/releases)!!! code in main branch may contain bugs.

The c++ code will be built automatically when you change c++ code in project.

#### Linux

0. uninstall cumm installed by pip. you must ensure no "cumm" exists in ```pip list | grep cumm```
1. install build-essential, install CUDA
2. ```git clone https://github.com/FindDefinition/cumm```, ```cd ./cumm```, ```git checkout tags/<tag_name>```, ```pip install -e .```
3. in python, ```import cumm``` and wait for build finish.

#### Windows
0. uninstall spconv and cumm installed by pip. you must ensure no "cumm" exists in ```pip list | grep cumm```
1. install visual studio 2019 or newer. make sure C++ development component is installed. install CUDA
2. set [powershell script execution policy](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1)
3. start a new powershell, run ```tools/msvc_setup.ps1```
4. ```git clone https://github.com/FindDefinition/cumm```, ```cd ./cumm```, ```git checkout tags/<tag_name>```, ```pip install -e .```
5. in python, ```import cumm``` and wait for build finish.

### Build wheel from source 

**WARNING** Use code in [tags](https://github.com/FindDefinition/cumm/releases)!!! code in main branch may contain bugs.

**WARNING**: If ```CUMM_CUDA_VERSION``` is set with a CUDA version, following steps will create a wheel named "cumm-cuxxx", not "cumm", this means you must use ```cumm-cuxxx``` in dependency of your project which depend on cumm, not ```cumm```. If ```CUMM_CUDA_VERSION``` isn't set, ```cumm``` will always built with CUDA, so the CUDA must exists in your system. The wheel name will be ```cumm``` even if it is built with cuda.

#### Linux

It's recommend to build Linux packages in [official build docker](https://github.com/FindDefinition/cumm/blob/main/.github/workflows/build.yaml). Build with CUDA support don't need a real GPU.

##### Build in Official Docker

1. select a cuda version. available: CUDA 11.1, 11.3, 11.4, 11.5, 12.0
2. (Example for CUDA 11.4) ```git clone https://github.com/FindDefinition/cumm```, ```cd ./cumm```, ```docker run --rm -e PLAT=manylinux2014_x86_64 -e CUMM_CUDA_VERSION=114 -v `pwd`:/io scrin/manylinux2014-cuda:cu114-devel-1.0.0 bash -c "source /etc/bashrc && /io/tools/build-wheels.sh"```

##### Build in your environment

1. install build-essential, install CUDA
2. set env for installed cuda version. for example, ```export CUMM_CUDA_VERSION="11.4"```. If you want to build CPU-only, run ```export CUMM_CUDA_VERSION=""```. If ```CUMM_CUDA_VERSION``` isn't set, you need to ensure cuda libraries are inside OS search path, and the built wheel name will be ```cumm```, otherwise ```cumm-cuxxx```
3. run ```export CUMM_DISABLE_JIT="1"```
4. run ```python setup.py bdist_wheel```+```pip install dists/xxx.whl```

#### Windows 10/11

1. install visual studio 2019 or newer. make sure C++ development package is installed. install CUDA
2. set [powershell script execution policy](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1)
3. start a new powershell, run ```tools/msvc_setup.ps1```
4. set env for installed cuda version. for example, ```$Env:CUMM_CUDA_VERSION = "11.4"```. If you want to build CPU-only, run ```$Env:CUMM_CUDA_VERSION = ""```. . If ```CUMM_CUDA_VERSION``` isn't set, you need to ensure cuda libraries are inside OS search path, and the built wheel name will be ```cumm```, otherwise ```cumm-cuxxx```
4. run ```$Env:CUMM_DISABLE_JIT = "1"```
5. run ```python setup.py bdist_wheel```+```pip install dists/xxx.whl```

## Contributers

* [EvernightAurora](https://github.com/EvernightAurora): add ampere feature.

## Note
The work is done when the author is an employee at [Tusimple](https://www.tusimple.com/).

## LICENSE

Apache 2.0

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/FindDefinition/cumm",
    "name": "cumm-cu118",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Yan Yan",
    "author_email": "yanyan.sub@outlook.com",
    "download_url": "",
    "platform": null,
    "description": "\r\n# cumm\r\nCUda Matrix Multiply library.\r\n\r\n[![Build Status](https://github.com/FindDefinition/cumm/workflows/build/badge.svg)](https://github.com/FindDefinition/cumm/actions?query=workflow%3Abuild)\r\n\r\n```cumm``` is developed during learning of [CUTLASS](https://github.com/NVIDIA/cutlass), which use too much c++ template and make code unmaintainable. So I develop [pccm](https://github.com/FindDefinition/PCCM), use python as meta programming language, to replace c++ template meta programming. \r\nNow ```pccm``` become a foundational framework of ```cumm``` and my other c++ project such as [spconv](https://github.com/traveller59/spconv). \r\n```cumm``` also contains a python asyncio-based gemm simulator that **share same meta program** with CUDA code, enable gemm visualization and easy debug experience.\r\n\r\n## BREAKING CHANGES\r\n\r\n* 0.3.1: tv::DType enum value changed, this will affect all binary code of tv::Tensor user. you must recompile all code if upgrade to cumm >= 0.3.1.\r\n\r\n## News\r\n\r\n* Ampere feature support (by [EvernightAurora](https://github.com/EvernightAurora))\r\n\r\n## Install\r\n\r\n### Prebuilt\r\n\r\nWe offer python 3.7-3.11 and cuda 10.2/11.3/11.4/11.7/12.0 prebuilt binaries for linux (manylinux).\r\n\r\nWe offer python 3.7-3.11 and cuda 10.2/11.3/11.4/11.7/12.0 prebuilt binaries for windows 10/11.\r\n\r\n```pip install cumm``` for CPU-only\r\n\r\n```pip install cumm-cu102``` for CUDA 10.2\r\n\r\n```pip install cumm-cu113``` for CUDA 11.3\r\n\r\n```pip install cumm-cu114``` for CUDA 11.4\r\n\r\n```pip install cumm-cu117``` for CUDA 11.7\r\n\r\n```pip install cumm-cu120``` for CUDA 12.0\r\n\r\n### Build from source for development (JIT, recommend for develop)\r\n\r\n**WARNING** Use code in [tags](https://github.com/FindDefinition/cumm/releases)!!! code in main branch may contain bugs.\r\n\r\nThe c++ code will be built automatically when you change c++ code in project.\r\n\r\n#### Linux\r\n\r\n0. uninstall cumm installed by pip. you must ensure no \"cumm\" exists in ```pip list | grep cumm```\r\n1. install build-essential, install CUDA\r\n2. ```git clone https://github.com/FindDefinition/cumm```, ```cd ./cumm```, ```git checkout tags/<tag_name>```, ```pip install -e .```\r\n3. in python, ```import cumm``` and wait for build finish.\r\n\r\n#### Windows\r\n0. uninstall spconv and cumm installed by pip. you must ensure no \"cumm\" exists in ```pip list | grep cumm```\r\n1. install visual studio 2019 or newer. make sure C++ development component is installed. install CUDA\r\n2. set [powershell script execution policy](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1)\r\n3. start a new powershell, run ```tools/msvc_setup.ps1```\r\n4. ```git clone https://github.com/FindDefinition/cumm```, ```cd ./cumm```, ```git checkout tags/<tag_name>```, ```pip install -e .```\r\n5. in python, ```import cumm``` and wait for build finish.\r\n\r\n### Build wheel from source \r\n\r\n**WARNING** Use code in [tags](https://github.com/FindDefinition/cumm/releases)!!! code in main branch may contain bugs.\r\n\r\n**WARNING**: If ```CUMM_CUDA_VERSION``` is set with a CUDA version, following steps will create a wheel named \"cumm-cuxxx\", not \"cumm\", this means you must use ```cumm-cuxxx``` in dependency of your project which depend on cumm, not ```cumm```. If ```CUMM_CUDA_VERSION``` isn't set, ```cumm``` will always built with CUDA, so the CUDA must exists in your system. The wheel name will be ```cumm``` even if it is built with cuda.\r\n\r\n#### Linux\r\n\r\nIt's recommend to build Linux packages in [official build docker](https://github.com/FindDefinition/cumm/blob/main/.github/workflows/build.yaml). Build with CUDA support don't need a real GPU.\r\n\r\n##### Build in Official Docker\r\n\r\n1. select a cuda version. available: CUDA 11.1, 11.3, 11.4, 11.5, 12.0\r\n2. (Example for CUDA 11.4) ```git clone https://github.com/FindDefinition/cumm```, ```cd ./cumm```, ```docker run --rm -e PLAT=manylinux2014_x86_64 -e CUMM_CUDA_VERSION=114 -v `pwd`:/io scrin/manylinux2014-cuda:cu114-devel-1.0.0 bash -c \"source /etc/bashrc && /io/tools/build-wheels.sh\"```\r\n\r\n##### Build in your environment\r\n\r\n1. install build-essential, install CUDA\r\n2. set env for installed cuda version. for example, ```export CUMM_CUDA_VERSION=\"11.4\"```. If you want to build CPU-only, run ```export CUMM_CUDA_VERSION=\"\"```. If ```CUMM_CUDA_VERSION``` isn't set, you need to ensure cuda libraries are inside OS search path, and the built wheel name will be ```cumm```, otherwise ```cumm-cuxxx```\r\n3. run ```export CUMM_DISABLE_JIT=\"1\"```\r\n4. run ```python setup.py bdist_wheel```+```pip install dists/xxx.whl```\r\n\r\n#### Windows 10/11\r\n\r\n1. install visual studio 2019 or newer. make sure C++ development package is installed. install CUDA\r\n2. set [powershell script execution policy](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1)\r\n3. start a new powershell, run ```tools/msvc_setup.ps1```\r\n4. set env for installed cuda version. for example, ```$Env:CUMM_CUDA_VERSION = \"11.4\"```. If you want to build CPU-only, run ```$Env:CUMM_CUDA_VERSION = \"\"```. . If ```CUMM_CUDA_VERSION``` isn't set, you need to ensure cuda libraries are inside OS search path, and the built wheel name will be ```cumm```, otherwise ```cumm-cuxxx```\r\n4. run ```$Env:CUMM_DISABLE_JIT = \"1\"```\r\n5. run ```python setup.py bdist_wheel```+```pip install dists/xxx.whl```\r\n\r\n## Contributers\r\n\r\n* [EvernightAurora](https://github.com/EvernightAurora): add ampere feature.\r\n\r\n## Note\r\nThe work is done when the author is an employee at [Tusimple](https://www.tusimple.com/).\r\n\r\n## LICENSE\r\n\r\nApache 2.0\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "CUda Matrix Multiply library",
    "version": "0.5.1",
    "project_urls": {
        "Homepage": "https://github.com/FindDefinition/cumm"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f7edac0f42d1d2c25746f790af49c0f2c217aef67c54e35c398528322bcd9617",
                "md5": "ee40911d0eae2a7efe338a9243992f14",
                "sha256": "bb8813b88a08f39454008fd3c05146beabb8466b5e99e7b3a0acaab5947cd201"
            },
            "downloads": -1,
            "filename": "cumm_cu118-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ee40911d0eae2a7efe338a9243992f14",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 25522559,
            "upload_time": "2023-12-26T04:26:17",
            "upload_time_iso_8601": "2023-12-26T04:26:17.733920Z",
            "url": "https://files.pythonhosted.org/packages/f7/ed/ac0f42d1d2c25746f790af49c0f2c217aef67c54e35c398528322bcd9617/cumm_cu118-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "989721f298d3056f1a83cd88dbde4b79dda6d7d21923595bd181aca53e7a53be",
                "md5": "57a5761bfd81899af4b56809dfdc190d",
                "sha256": "5ab9aeb60ec8e48deb3fe5f2fe5b0bbe6b74e088a675d320a6f532144f84d702"
            },
            "downloads": -1,
            "filename": "cumm_cu118-0.5.1-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "57a5761bfd81899af4b56809dfdc190d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 1160804,
            "upload_time": "2023-12-26T04:10:31",
            "upload_time_iso_8601": "2023-12-26T04:10:31.079009Z",
            "url": "https://files.pythonhosted.org/packages/98/97/21f298d3056f1a83cd88dbde4b79dda6d7d21923595bd181aca53e7a53be/cumm_cu118-0.5.1-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d794b564cc41ab82098678f178a20056a4dbb2d38f34f4ddb427a0a4d8bffb1e",
                "md5": "8a91a37e41e842b8b337b4db1f24203b",
                "sha256": "cf1d16b09a69b440babb2b74af0a5ce6789fb46e3db83d73111af847fbf445f1"
            },
            "downloads": -1,
            "filename": "cumm_cu118-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8a91a37e41e842b8b337b4db1f24203b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 25524302,
            "upload_time": "2023-12-26T04:26:24",
            "upload_time_iso_8601": "2023-12-26T04:26:24.069738Z",
            "url": "https://files.pythonhosted.org/packages/d7/94/b564cc41ab82098678f178a20056a4dbb2d38f34f4ddb427a0a4d8bffb1e/cumm_cu118-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "58c6011081cd7f1bd9c9427779534af7a02020c995b8a7bf9f96cbc542d37486",
                "md5": "07e935e3458f748c49beea4ed6ab92c8",
                "sha256": "9fdd084a4e192c86cc5e36ef5df59c01bd44a3a739371299fdefee1a0bc90d73"
            },
            "downloads": -1,
            "filename": "cumm_cu118-0.5.1-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "07e935e3458f748c49beea4ed6ab92c8",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 1162224,
            "upload_time": "2023-12-26T04:10:40",
            "upload_time_iso_8601": "2023-12-26T04:10:40.176198Z",
            "url": "https://files.pythonhosted.org/packages/58/c6/011081cd7f1bd9c9427779534af7a02020c995b8a7bf9f96cbc542d37486/cumm_cu118-0.5.1-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c8acbade5a3b6cd611539bb3a5d0a53ae2a4f733dc11dbe29c39a0776a655f66",
                "md5": "490f4d6971094e2e4558f2b8da7eda74",
                "sha256": "81518b16451bf899597647ae75912f07b358419cf49495d0ee49fd882796a4f7"
            },
            "downloads": -1,
            "filename": "cumm_cu118-0.5.1-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "490f4d6971094e2e4558f2b8da7eda74",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 1160881,
            "upload_time": "2023-12-26T04:04:22",
            "upload_time_iso_8601": "2023-12-26T04:04:22.362373Z",
            "url": "https://files.pythonhosted.org/packages/c8/ac/bade5a3b6cd611539bb3a5d0a53ae2a4f733dc11dbe29c39a0776a655f66/cumm_cu118-0.5.1-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d10ac16e57be339d0af5ff5b2f89d33e22b2af16a7949a52f538c52bd8d929c8",
                "md5": "c7f563cd2e9f559d295f14d054d37bb2",
                "sha256": "df7ce426a54b76846cf3f4efa4fe7c244be80ecf100a0bd6f7f2acdca482bf35"
            },
            "downloads": -1,
            "filename": "cumm_cu118-0.5.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c7f563cd2e9f559d295f14d054d37bb2",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 25512799,
            "upload_time": "2023-12-26T04:26:30",
            "upload_time_iso_8601": "2023-12-26T04:26:30.093267Z",
            "url": "https://files.pythonhosted.org/packages/d1/0a/c16e57be339d0af5ff5b2f89d33e22b2af16a7949a52f538c52bd8d929c8/cumm_cu118-0.5.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5c404e7357629943e29f8fbb204c723510ad9ec1650502795cb5d77ac28c1cf2",
                "md5": "1d2afc964d3c32ea453715061c854419",
                "sha256": "f30b56d6ed84246976edaea3ebeef0898b505be466aada65c8bd9ceb1ffeaa9a"
            },
            "downloads": -1,
            "filename": "cumm_cu118-0.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1d2afc964d3c32ea453715061c854419",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 25520107,
            "upload_time": "2023-12-26T04:26:36",
            "upload_time_iso_8601": "2023-12-26T04:26:36.607090Z",
            "url": "https://files.pythonhosted.org/packages/5c/40/4e7357629943e29f8fbb204c723510ad9ec1650502795cb5d77ac28c1cf2/cumm_cu118-0.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "33a64d60c5a7ce4ea3245b2ae90b01c6f7d34ddf568a08a7f2db292f99782999",
                "md5": "ffbe251c5eaa29a60bb57b10c23fcdb7",
                "sha256": "8760c342f5bfba9a23c841a14b253dace8abbcf49bbce47ac7fb4fc6a1e16c86"
            },
            "downloads": -1,
            "filename": "cumm_cu118-0.5.1-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ffbe251c5eaa29a60bb57b10c23fcdb7",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 1160630,
            "upload_time": "2023-12-26T04:03:39",
            "upload_time_iso_8601": "2023-12-26T04:03:39.307905Z",
            "url": "https://files.pythonhosted.org/packages/33/a6/4d60c5a7ce4ea3245b2ae90b01c6f7d34ddf568a08a7f2db292f99782999/cumm_cu118-0.5.1-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b46198d025c4169da6e8bc81e485da4e690409fc887241f2e183a8cef52e17b5",
                "md5": "3d2be422e5e7baab2ccda9fc2aafe2e8",
                "sha256": "1de9caf96ca0819915975fff3b9ecd2d67f5ec15799ce0c82e7db6b2030579ce"
            },
            "downloads": -1,
            "filename": "cumm_cu118-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3d2be422e5e7baab2ccda9fc2aafe2e8",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 25520437,
            "upload_time": "2023-12-26T04:26:42",
            "upload_time_iso_8601": "2023-12-26T04:26:42.312035Z",
            "url": "https://files.pythonhosted.org/packages/b4/61/98d025c4169da6e8bc81e485da4e690409fc887241f2e183a8cef52e17b5/cumm_cu118-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "47c77aadc0d5481c368191cef5f2ed4a8c890ca40fd7d6c43ead94e6d19b62c4",
                "md5": "edd49195bacd086d1f7e82fc7ceb66c1",
                "sha256": "2072ea283b67ae36e200fdf201519c49dd4abd0c1514665a4c4dc2508ef0b3c8"
            },
            "downloads": -1,
            "filename": "cumm_cu118-0.5.1-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "edd49195bacd086d1f7e82fc7ceb66c1",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 1160986,
            "upload_time": "2023-12-26T04:03:50",
            "upload_time_iso_8601": "2023-12-26T04:03:50.215089Z",
            "url": "https://files.pythonhosted.org/packages/47/c7/7aadc0d5481c368191cef5f2ed4a8c890ca40fd7d6c43ead94e6d19b62c4/cumm_cu118-0.5.1-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-26 04:26:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "FindDefinition",
    "github_project": "cumm",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cumm-cu118"
}
        
Elapsed time: 0.28404s