Name | nanograd-bgriebel JSON |
Version |
0.1.4
JSON |
| download |
home_page | None |
Summary | Scalar Automatic Differentiation Engine |
upload_time | 2025-02-07 04:11:00 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | Copyright 2025 Braden Griebel
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
automatic differentiation
neural network
machine learning
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Nanograd
A small scalar valued automatic differentiation engine written in C++ with bindings in python. Also includes a small neural network api with basic classes like Neuron, Layer, MultiLayerPerceptron for creating neural networks. Based on [micrograd](https://github.com/karpathy/micrograd) from Andrej Karpathy.
## Installation
Nanograd is available on pypi (the python package index), and so can be installed with uv or pip. It's recommended to create a virtual environment when installing.
With pip:
```{shell}
# Create a virtual environment
python -m venv .venv # Creates a virtual environment called .venv
# Activate (Linux)
source .venv/bin/activate
# Activate (Windows)
.\.venv\env\scripts\activate
# Then you can install using pip
pip install nanograd-bgriebel
```
With uv:
```{shell}
# Create a virtual environment
uv venv
# Activate (Linux)
source .venv/bin/activate
# Activate (Windows)
.\.venv\env\scripts\activate
# Install using uv
uv pip install nanograd-bgriebel
```
## Usage
Nanograd is built around the Value class, which is essentially a wrapped float which keeps track of calculations it is used in so that the gradients can be calculated.
Creating a Value is easy, it just needs a float as input:
```{python}
import nanograd_bgriebel as ng
my_value = ng.Value(1.0)
```
Then Values can be combined with simple arithmetic operations, and gradients can be calculated.
```{python}
import nanograd_bgriebel as ng
# Create some Values
x = ng.Value(2.0)
y = ng.Value(3.0)
z = ng.Value(4.0)
# Can add, and multiply the different Values
a = x+y
b = x*z
# And also raise them to different powers
c = x**3
# This can be chained to build up more complex expressions
d = a/(b*c) # equivalent to (x+y) / (x*z*(x**3))
# Then the result of the calculations can be obtained through the data property
print(d.data) # Output: 0.078125
# And the value of derivatives can be found using the backwards function
d.backwards() # Calculate the derivatives of x*z
print(a.grad) # The gradient of d with respect to a
print(b.grad) # The gradient of b with respect to b
```
## Examples
The examples directory contains example notebooks (one for using the automatic differentiation engine
one for using the neural network api). These can be run by installing the requirements in the requirements.txt file
(again, it is suggested to use a virtual environment).
From inside the examples directory:
```{shell}
# Create a virtual environment
python -m venv .venv # Creates a virtual environment called .venv
# Activate (Linux)
source .venv/bin/activate
# Activate (Windows)
.\.venv\env\scripts\activate
# Then you can install using pip
pip install -r ./requirements.txt
```
or
```{shell}
# Create a virtual environment
uv venv
# Activate (Linux)
source .venv/bin/activate
# Activate (Windows)
.\.venv\env\scripts\activate
# Install using uv
uv pip install -r requirements.txt
```
The notebooks can then be opened in jupyter lab or jupyter notebooks
```{shell}
jupyter lab /path/to/jupyter/notebook
```
or
```{shell}
jupyter notebook jupyter lab /path/to/jupyter/notebook
```
Raw data
{
"_id": null,
"home_page": null,
"name": "nanograd-bgriebel",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "Automatic Differentiation, Neural Network, Machine Learning",
"author": null,
"author_email": "Braden Griebel <bgriebel@uw.edu>",
"download_url": "https://files.pythonhosted.org/packages/e1/76/e04081de947a381a17513375962ebea2d7065bbe3a5b6f868c2f0a1e21e0/nanograd_bgriebel-0.1.4.tar.gz",
"platform": null,
"description": "# Nanograd\n\nA small scalar valued automatic differentiation engine written in C++ with bindings in python. Also includes a small neural network api with basic classes like Neuron, Layer, MultiLayerPerceptron for creating neural networks. Based on [micrograd](https://github.com/karpathy/micrograd) from Andrej Karpathy. \n\n## Installation\nNanograd is available on pypi (the python package index), and so can be installed with uv or pip. It's recommended to create a virtual environment when installing. \n\nWith pip:\n```{shell}\n# Create a virtual environment\npython -m venv .venv # Creates a virtual environment called .venv\n# Activate (Linux)\nsource .venv/bin/activate\n# Activate (Windows)\n.\\.venv\\env\\scripts\\activate\n# Then you can install using pip\npip install nanograd-bgriebel\n```\nWith uv:\n```{shell}\n# Create a virtual environment\nuv venv\n# Activate (Linux)\nsource .venv/bin/activate\n# Activate (Windows)\n.\\.venv\\env\\scripts\\activate\n# Install using uv\nuv pip install nanograd-bgriebel\n```\n\n## Usage\n\nNanograd is built around the Value class, which is essentially a wrapped float which keeps track of calculations it is used in so that the gradients can be calculated. \n \nCreating a Value is easy, it just needs a float as input:\n\n```{python}\nimport nanograd_bgriebel as ng\nmy_value = ng.Value(1.0)\n```\n\nThen Values can be combined with simple arithmetic operations, and gradients can be calculated. \n\n```{python}\nimport nanograd_bgriebel as ng\n# Create some Values\nx = ng.Value(2.0)\ny = ng.Value(3.0)\nz = ng.Value(4.0)\n\n# Can add, and multiply the different Values\na = x+y\nb = x*z\n\n# And also raise them to different powers\nc = x**3\n\n# This can be chained to build up more complex expressions\nd = a/(b*c) # equivalent to (x+y) / (x*z*(x**3))\n\n# Then the result of the calculations can be obtained through the data property\nprint(d.data) # Output: 0.078125\n\n# And the value of derivatives can be found using the backwards function\nd.backwards() # Calculate the derivatives of x*z\nprint(a.grad) # The gradient of d with respect to a\nprint(b.grad) # The gradient of b with respect to b\n```\n\n## Examples\n\nThe examples directory contains example notebooks (one for using the automatic differentiation engine\none for using the neural network api). These can be run by installing the requirements in the requirements.txt file\n(again, it is suggested to use a virtual environment). \n \nFrom inside the examples directory:\n```{shell}\n# Create a virtual environment\npython -m venv .venv # Creates a virtual environment called .venv\n# Activate (Linux)\nsource .venv/bin/activate\n# Activate (Windows)\n.\\.venv\\env\\scripts\\activate\n# Then you can install using pip\npip install -r ./requirements.txt\n```\nor\n\n```{shell}\n# Create a virtual environment\nuv venv\n# Activate (Linux)\nsource .venv/bin/activate\n# Activate (Windows)\n.\\.venv\\env\\scripts\\activate\n# Install using uv\nuv pip install -r requirements.txt\n```\n \nThe notebooks can then be opened in jupyter lab or jupyter notebooks \n\n```{shell}\njupyter lab /path/to/jupyter/notebook\n```\n\nor \n\n```{shell}\njupyter notebook jupyter lab /path/to/jupyter/notebook\n```",
"bugtrack_url": null,
"license": "Copyright 2025 Braden Griebel\n \n Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \u201cSoftware\u201d), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \u201cAS IS\u201d, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
"summary": "Scalar Automatic Differentiation Engine",
"version": "0.1.4",
"project_urls": {
"Documentation": "https://nanograd.readthedocs.io/en/latest/",
"Homepage": "https://github.com/Braden-Griebel/nanograd",
"Issues": "https://github.com/Braden-Griebel/nanograd/issues",
"Repository": "https://github.com/Braden-Griebel/nanograd"
},
"split_keywords": [
"automatic differentiation",
" neural network",
" machine learning"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f66c4e83d803ff51109fed159583c5e62ea33b250b13411ab9f2a12f700d06dc",
"md5": "40f0e6affa2640c1c3f2fe1f1cdd60ca",
"sha256": "c1be38ae4ad61435febf2dacdc79f40036f2dadb5e26a4fe7792e5c3dd3852bb"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "40f0e6affa2640c1c3f2fe1f1cdd60ca",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 110704,
"upload_time": "2025-02-07T04:09:40",
"upload_time_iso_8601": "2025-02-07T04:09:40.929555Z",
"url": "https://files.pythonhosted.org/packages/f6/6c/4e83d803ff51109fed159583c5e62ea33b250b13411ab9f2a12f700d06dc/nanograd_bgriebel-0.1.4-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f75dd07bffa4cd47ee5865c660edcd8a3d940cf8c7f238b6c8d53f5ba6911ede",
"md5": "a23815cde93820701cee2dea121cefca",
"sha256": "4f1a85abb6e445b499102b839ffbf50ca90ae5715f4e491fb6164fffb2348513"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "a23815cde93820701cee2dea121cefca",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 101998,
"upload_time": "2025-02-07T04:09:42",
"upload_time_iso_8601": "2025-02-07T04:09:42.636719Z",
"url": "https://files.pythonhosted.org/packages/f7/5d/d07bffa4cd47ee5865c660edcd8a3d940cf8c7f238b6c8d53f5ba6911ede/nanograd_bgriebel-0.1.4-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f36e4226e350abaf49bb1e60398a0e11d701d3234fa7eb464dff8dc8c79d41de",
"md5": "fb73d33547deafc0f76c781a92223d48",
"sha256": "84954e1438830baa01c046ea807027e3973c7d3a7c5fb39ea0a90914a0fb3e4d"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "fb73d33547deafc0f76c781a92223d48",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 136218,
"upload_time": "2025-02-07T04:09:44",
"upload_time_iso_8601": "2025-02-07T04:09:44.167842Z",
"url": "https://files.pythonhosted.org/packages/f3/6e/4226e350abaf49bb1e60398a0e11d701d3234fa7eb464dff8dc8c79d41de/nanograd_bgriebel-0.1.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "650078ea567dabb17ffc8aad68a55732a06c9f49ddd8f6bbd391c28ebd9e7620",
"md5": "de5d41f26ca39ba0ed0ed338aea31eef",
"sha256": "68786d473cc7f73c7383aeada63069f8edccad847d7beeceeedc61c3be78f03f"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "de5d41f26ca39ba0ed0ed338aea31eef",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 153689,
"upload_time": "2025-02-07T04:09:46",
"upload_time_iso_8601": "2025-02-07T04:09:46.229441Z",
"url": "https://files.pythonhosted.org/packages/65/00/78ea567dabb17ffc8aad68a55732a06c9f49ddd8f6bbd391c28ebd9e7620/nanograd_bgriebel-0.1.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ec2b618870000be81900f330634b49aec17446f6a2b99afb040f567a2134e0de",
"md5": "604fcc56b611fd71ac31edd4b9ee53ab",
"sha256": "205f5be1ca5daced6a6b5c1c1b1db6d5acbd7250cb44a60ce497af928545f498"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "604fcc56b611fd71ac31edd4b9ee53ab",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 144781,
"upload_time": "2025-02-07T04:09:48",
"upload_time_iso_8601": "2025-02-07T04:09:48.486796Z",
"url": "https://files.pythonhosted.org/packages/ec/2b/618870000be81900f330634b49aec17446f6a2b99afb040f567a2134e0de/nanograd_bgriebel-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "29123cc078665c057067fd1fbca88607f8169a668e2199772d7e45cc654b7efb",
"md5": "ebdba38c56328fff17a5df610a2404c7",
"sha256": "0b50a9441ba0a154cc9cc43baa325ca0f027f1b4707eb347e8edca04f7436d29"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp310-cp310-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "ebdba38c56328fff17a5df610a2404c7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1065369,
"upload_time": "2025-02-07T04:09:50",
"upload_time_iso_8601": "2025-02-07T04:09:50.786389Z",
"url": "https://files.pythonhosted.org/packages/29/12/3cc078665c057067fd1fbca88607f8169a668e2199772d7e45cc654b7efb/nanograd_bgriebel-0.1.4-cp310-cp310-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f9f5c0b4ca83538c79c804e0cf8294d04c5465692d98b6a34f0c7760988f1b77",
"md5": "c9b75d36c0736894e4744561608b0bd4",
"sha256": "641fef6872470889f585967030af65ae3ffcd238ae36ea24832854810edd984f"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp310-cp310-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "c9b75d36c0736894e4744561608b0bd4",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1217500,
"upload_time": "2025-02-07T04:09:52",
"upload_time_iso_8601": "2025-02-07T04:09:52.939189Z",
"url": "https://files.pythonhosted.org/packages/f9/f5/c0b4ca83538c79c804e0cf8294d04c5465692d98b6a34f0c7760988f1b77/nanograd_bgriebel-0.1.4-cp310-cp310-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "11ba4e1c448658b20765e9a9fcd974b4bc6edcf5ad0dedf83cf5bd93c688d3ef",
"md5": "27a6fb60b0b3985ee8e8ad34a3a90997",
"sha256": "4b54dc582e397a49a0fc7541b0d6227b9381d1eb6cea1c539fc5ce2177753fd2"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp310-cp310-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "27a6fb60b0b3985ee8e8ad34a3a90997",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1117343,
"upload_time": "2025-02-07T04:09:55",
"upload_time_iso_8601": "2025-02-07T04:09:55.307741Z",
"url": "https://files.pythonhosted.org/packages/11/ba/4e1c448658b20765e9a9fcd974b4bc6edcf5ad0dedf83cf5bd93c688d3ef/nanograd_bgriebel-0.1.4-cp310-cp310-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e738e3b9809dda654d50fcd852985446382239eb8c41689c0029aa73de81f719",
"md5": "bbb9bce5e06d31c37fa60c6b777c8495",
"sha256": "ee8abdadc0b14b2c7afb14bfc4a2d00dc70cbe82176c9c1683654f8d42052745"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "bbb9bce5e06d31c37fa60c6b777c8495",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 88831,
"upload_time": "2025-02-07T04:09:56",
"upload_time_iso_8601": "2025-02-07T04:09:56.782167Z",
"url": "https://files.pythonhosted.org/packages/e7/38/e3b9809dda654d50fcd852985446382239eb8c41689c0029aa73de81f719/nanograd_bgriebel-0.1.4-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "870bd350208b720ba060a9f3d7dbf3250d0ba08a2626b6c50c7561aaafa05927",
"md5": "e99110d704be8fe7690c8a2d18f99a98",
"sha256": "51c6055a3657303578bdadd303b70c0c60a0081389cbe783d622d78bd376ba23"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "e99110d704be8fe7690c8a2d18f99a98",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 105735,
"upload_time": "2025-02-07T04:09:58",
"upload_time_iso_8601": "2025-02-07T04:09:58.124891Z",
"url": "https://files.pythonhosted.org/packages/87/0b/d350208b720ba060a9f3d7dbf3250d0ba08a2626b6c50c7561aaafa05927/nanograd_bgriebel-0.1.4-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d2195009b3ad75bc3e627548508049432132c2c53939199fafc83735b2c9ec19",
"md5": "d5f7839d670804ec741626f3617f4921",
"sha256": "76d1d60f37bfc653ee975f260e2815ba9e6fa16304489b1b3b7158a704dd55ea"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "d5f7839d670804ec741626f3617f4921",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 112374,
"upload_time": "2025-02-07T04:09:59",
"upload_time_iso_8601": "2025-02-07T04:09:59.566912Z",
"url": "https://files.pythonhosted.org/packages/d2/19/5009b3ad75bc3e627548508049432132c2c53939199fafc83735b2c9ec19/nanograd_bgriebel-0.1.4-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "957a802c8e11b5d3b0f618a2d352da91a1d3e4be950e15f8c8b772ba31aae41d",
"md5": "c6cee231646a5dc916891a17a359bceb",
"sha256": "cc2f27ef8fb7290155574d5f9ba8fb6efff357fcdf49304c2390ddc41dff5cd0"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "c6cee231646a5dc916891a17a359bceb",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 103683,
"upload_time": "2025-02-07T04:10:01",
"upload_time_iso_8601": "2025-02-07T04:10:01.602816Z",
"url": "https://files.pythonhosted.org/packages/95/7a/802c8e11b5d3b0f618a2d352da91a1d3e4be950e15f8c8b772ba31aae41d/nanograd_bgriebel-0.1.4-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "927b48d6357f8787a4b1289c18f9d869d4ad47282b85c75cb8520b5e4ffbfd1d",
"md5": "ad4125408970dba9cb8dead61962579d",
"sha256": "1fd4348b599cb21e7b6d093b0ece5692a1dc2f88b9e9010d87ef1136aea4b6ed"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "ad4125408970dba9cb8dead61962579d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 137654,
"upload_time": "2025-02-07T04:10:03",
"upload_time_iso_8601": "2025-02-07T04:10:03.814273Z",
"url": "https://files.pythonhosted.org/packages/92/7b/48d6357f8787a4b1289c18f9d869d4ad47282b85c75cb8520b5e4ffbfd1d/nanograd_bgriebel-0.1.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6b649efc4b8d9084722f126b2311f244c7fd83b5aba28a6690703801b6287606",
"md5": "3625b20b09092ee86bf5607d17231904",
"sha256": "02dcd8ec32254e1652b9f97a114e0367183ac89bff489cfcd6cb8d78821d5fc9"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "3625b20b09092ee86bf5607d17231904",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 154701,
"upload_time": "2025-02-07T04:10:05",
"upload_time_iso_8601": "2025-02-07T04:10:05.957831Z",
"url": "https://files.pythonhosted.org/packages/6b/64/9efc4b8d9084722f126b2311f244c7fd83b5aba28a6690703801b6287606/nanograd_bgriebel-0.1.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3573e12a2798e99f9d539902e70e9666b2cc35d6ee8bbf37d2a832153c4eaa31",
"md5": "cee74c77d1f86d6a1b945a6e26b26d6d",
"sha256": "f11a2882f8c18e4a7e38a7c970c5adc5114b472126797260faab1936eda2c5df"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "cee74c77d1f86d6a1b945a6e26b26d6d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 146480,
"upload_time": "2025-02-07T04:10:08",
"upload_time_iso_8601": "2025-02-07T04:10:08.093154Z",
"url": "https://files.pythonhosted.org/packages/35/73/e12a2798e99f9d539902e70e9666b2cc35d6ee8bbf37d2a832153c4eaa31/nanograd_bgriebel-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6c3d14f435a4fe67f290a8e2bc78bc07625f95aad44a545b0692fe2744ebb11c",
"md5": "bb8343c090363765386a31afc8a2d1b6",
"sha256": "29d3903046ac3265593e452110db9886a96aa6e11245a817c544f404ffd66352"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp311-cp311-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "bb8343c090363765386a31afc8a2d1b6",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1065958,
"upload_time": "2025-02-07T04:10:09",
"upload_time_iso_8601": "2025-02-07T04:10:09.565404Z",
"url": "https://files.pythonhosted.org/packages/6c/3d/14f435a4fe67f290a8e2bc78bc07625f95aad44a545b0692fe2744ebb11c/nanograd_bgriebel-0.1.4-cp311-cp311-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b9826534470093e9510377a78fdc833d78c4d97902cdd13733e00512bc8a9657",
"md5": "4668657505173d1bb622f6d70dc5345c",
"sha256": "0b53ecadc37754193b8ab14aaa3e0253990181ff8b20766e0be447f903af87e3"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp311-cp311-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "4668657505173d1bb622f6d70dc5345c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1217990,
"upload_time": "2025-02-07T04:10:11",
"upload_time_iso_8601": "2025-02-07T04:10:11.151828Z",
"url": "https://files.pythonhosted.org/packages/b9/82/6534470093e9510377a78fdc833d78c4d97902cdd13733e00512bc8a9657/nanograd_bgriebel-0.1.4-cp311-cp311-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0955896ee25678170d19f2f78e2a9a549587fe2d5d914bfff9025a9ca0c24a35",
"md5": "2069aacb1f07b3e14a64b43a772c6263",
"sha256": "bd6954611918ead06df63c603c637d2958d190cfc00f130b3da07e1a0f1d8bd9"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp311-cp311-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "2069aacb1f07b3e14a64b43a772c6263",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1118623,
"upload_time": "2025-02-07T04:10:12",
"upload_time_iso_8601": "2025-02-07T04:10:12.859363Z",
"url": "https://files.pythonhosted.org/packages/09/55/896ee25678170d19f2f78e2a9a549587fe2d5d914bfff9025a9ca0c24a35/nanograd_bgriebel-0.1.4-cp311-cp311-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "12a88d19529cc9ea8bd10786a1b25f60853ea8a7d8ed179b592067812617b327",
"md5": "79c3329504a561b7061f613431e98b8c",
"sha256": "9100876b3c7ba70eafe99da83554d755e0afb38c12c8184c4f38463f96e81482"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "79c3329504a561b7061f613431e98b8c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 90068,
"upload_time": "2025-02-07T04:10:14",
"upload_time_iso_8601": "2025-02-07T04:10:14.320146Z",
"url": "https://files.pythonhosted.org/packages/12/a8/8d19529cc9ea8bd10786a1b25f60853ea8a7d8ed179b592067812617b327/nanograd_bgriebel-0.1.4-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e98617ae8be4016c5cc304fe8ad5401782080bf22ab3dfed2773278b17fc136a",
"md5": "941653eab2916b29c74648e2c3a8a8a8",
"sha256": "ce3137fca561d62f922b156d837882800413b4160c93d635d8bd6701870a7e8c"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "941653eab2916b29c74648e2c3a8a8a8",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 106719,
"upload_time": "2025-02-07T04:10:16",
"upload_time_iso_8601": "2025-02-07T04:10:16.282412Z",
"url": "https://files.pythonhosted.org/packages/e9/86/17ae8be4016c5cc304fe8ad5401782080bf22ab3dfed2773278b17fc136a/nanograd_bgriebel-0.1.4-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "83bcef57382733f2c756b2e05ad3ac38b5fa8e850569a465b08e765e888df972",
"md5": "a7022286aeee768c6005fe4c50b55975",
"sha256": "f4a29af66f8e826ed7d898695730d6cb7f352a615cfcc369e81bffde0402291e"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "a7022286aeee768c6005fe4c50b55975",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 112910,
"upload_time": "2025-02-07T04:10:17",
"upload_time_iso_8601": "2025-02-07T04:10:17.565629Z",
"url": "https://files.pythonhosted.org/packages/83/bc/ef57382733f2c756b2e05ad3ac38b5fa8e850569a465b08e765e888df972/nanograd_bgriebel-0.1.4-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "456ce799be3ba45fe92de79fd2a799247b8826cde782be478ca1895e0bf03eb0",
"md5": "2840274424c9509bf367c08ecbb35afa",
"sha256": "7dc087267a4725e43a0500100a5de9fd16bed4ce7b82f0dde60cdd3f5a5a28d6"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "2840274424c9509bf367c08ecbb35afa",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 103533,
"upload_time": "2025-02-07T04:10:18",
"upload_time_iso_8601": "2025-02-07T04:10:18.893602Z",
"url": "https://files.pythonhosted.org/packages/45/6c/e799be3ba45fe92de79fd2a799247b8826cde782be478ca1895e0bf03eb0/nanograd_bgriebel-0.1.4-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6ac1876c869172be1ccb7a3250d5852642ab071af193b2ffeb434b17599cb114",
"md5": "de03c7fc4cf49642fc599299e96406e7",
"sha256": "a9e04ae8f06089018cd679a350a675ae8a1c5335f46d6dee65136062e4087b67"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "de03c7fc4cf49642fc599299e96406e7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 137086,
"upload_time": "2025-02-07T04:10:21",
"upload_time_iso_8601": "2025-02-07T04:10:21.051193Z",
"url": "https://files.pythonhosted.org/packages/6a/c1/876c869172be1ccb7a3250d5852642ab071af193b2ffeb434b17599cb114/nanograd_bgriebel-0.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "10421429d5a9b3e48cbf041ddcf3adedd95110fd0ccac6277fc44f52205e5d76",
"md5": "73f36aa79d0c9e35efb9b5388239e5eb",
"sha256": "612f33f6cdb72372b4f05c9fe7d9c8cb7caf4d9dfa620748537b42ca55824bef"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "73f36aa79d0c9e35efb9b5388239e5eb",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 154003,
"upload_time": "2025-02-07T04:10:23",
"upload_time_iso_8601": "2025-02-07T04:10:23.220673Z",
"url": "https://files.pythonhosted.org/packages/10/42/1429d5a9b3e48cbf041ddcf3adedd95110fd0ccac6277fc44f52205e5d76/nanograd_bgriebel-0.1.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "43eb754cda3d3592535ae15e45d3bec3baf1c372693dde053a7122c01a5b84d9",
"md5": "c92a2a7e34bd6e6d6f7c35cdf0f26ad4",
"sha256": "744fffa70c94f7bc5e32f18a1c6b93a9ab0f1920c245f4443022f3239e903546"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "c92a2a7e34bd6e6d6f7c35cdf0f26ad4",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 145571,
"upload_time": "2025-02-07T04:10:25",
"upload_time_iso_8601": "2025-02-07T04:10:25.313120Z",
"url": "https://files.pythonhosted.org/packages/43/eb/754cda3d3592535ae15e45d3bec3baf1c372693dde053a7122c01a5b84d9/nanograd_bgriebel-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f650664cae947dee885b1e8b466f9a34e6fb83314655298d4c2fe00bbf618623",
"md5": "0cbe5f42e770a3c5e50775c3297871b3",
"sha256": "31967a0a01e104ea05b02b4b604afe0f1daa02c7c144076526b8f4e5cd357ca5"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp312-cp312-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "0cbe5f42e770a3c5e50775c3297871b3",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1065845,
"upload_time": "2025-02-07T04:10:26",
"upload_time_iso_8601": "2025-02-07T04:10:26.650158Z",
"url": "https://files.pythonhosted.org/packages/f6/50/664cae947dee885b1e8b466f9a34e6fb83314655298d4c2fe00bbf618623/nanograd_bgriebel-0.1.4-cp312-cp312-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "91f5cf94199747c3bf11fc7481d568159c9cd869adae73cf449283dfa04f7fc4",
"md5": "0f47a3e9dce4c43e41e993a7362bebc6",
"sha256": "535317dcb5437db99956347edac875f4087e5cb36a30f097926c112275e27fc4"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp312-cp312-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "0f47a3e9dce4c43e41e993a7362bebc6",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1217479,
"upload_time": "2025-02-07T04:10:28",
"upload_time_iso_8601": "2025-02-07T04:10:28.200706Z",
"url": "https://files.pythonhosted.org/packages/91/f5/cf94199747c3bf11fc7481d568159c9cd869adae73cf449283dfa04f7fc4/nanograd_bgriebel-0.1.4-cp312-cp312-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1bc8dd0ddb956cd112e189ae827cf7e2b46d6accbf378d7d7947eb60c3758d32",
"md5": "bcb66576799990a331bf2d5fb39c3802",
"sha256": "99145b5f600e1aeebc346e614223016b679712200831f5d68452f0830156bb6f"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp312-cp312-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "bcb66576799990a331bf2d5fb39c3802",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1118902,
"upload_time": "2025-02-07T04:10:29",
"upload_time_iso_8601": "2025-02-07T04:10:29.789102Z",
"url": "https://files.pythonhosted.org/packages/1b/c8/dd0ddb956cd112e189ae827cf7e2b46d6accbf378d7d7947eb60c3758d32/nanograd_bgriebel-0.1.4-cp312-cp312-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d723d17c36adbf82263e25a520913c30c4f9e46263e7051b0b653cf829bbdf90",
"md5": "3c5718ff721153400131891b4956adc7",
"sha256": "bfadca3d60bf2618014a47629ac0b33e1fd2e61b223685ebfb88d9468506af8d"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "3c5718ff721153400131891b4956adc7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 89778,
"upload_time": "2025-02-07T04:10:31",
"upload_time_iso_8601": "2025-02-07T04:10:31.389456Z",
"url": "https://files.pythonhosted.org/packages/d7/23/d17c36adbf82263e25a520913c30c4f9e46263e7051b0b653cf829bbdf90/nanograd_bgriebel-0.1.4-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f197980691524f7d3109cb295d0d22b2b18eca18ec02f88732d024138f490de1",
"md5": "e6db1253372cfed5c67c3a50ef374ac8",
"sha256": "ee55fc3e1ce970bccf5cade4890a348152acecd145a2067ccb99b45c679a0709"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "e6db1253372cfed5c67c3a50ef374ac8",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 106996,
"upload_time": "2025-02-07T04:10:32",
"upload_time_iso_8601": "2025-02-07T04:10:32.652119Z",
"url": "https://files.pythonhosted.org/packages/f1/97/980691524f7d3109cb295d0d22b2b18eca18ec02f88732d024138f490de1/nanograd_bgriebel-0.1.4-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "503d1dba1049f4d4696170e2a4178911d260b3962fb4a02244d3bd863c732b86",
"md5": "9a6fa032896110873b58f1d825522822",
"sha256": "786cbad7b84b0e1e68ff606f58bc5c3652e4d010085873d7167449e1871c7eb5"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp313-cp313-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "9a6fa032896110873b58f1d825522822",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 112946,
"upload_time": "2025-02-07T04:10:33",
"upload_time_iso_8601": "2025-02-07T04:10:33.954941Z",
"url": "https://files.pythonhosted.org/packages/50/3d/1dba1049f4d4696170e2a4178911d260b3962fb4a02244d3bd863c732b86/nanograd_bgriebel-0.1.4-cp313-cp313-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "92e04f9e5971db427654c0ae04fc869ccf0962de1f71060c2d2e0c7e7663b2c1",
"md5": "eec8779e824edcb6485fd2dc4e9229ca",
"sha256": "39c3de913f4ee5d9e4c4662ff62752f78ad24d89ab066e7705437d8a927f9b35"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "eec8779e824edcb6485fd2dc4e9229ca",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 103659,
"upload_time": "2025-02-07T04:10:35",
"upload_time_iso_8601": "2025-02-07T04:10:35.293493Z",
"url": "https://files.pythonhosted.org/packages/92/e0/4f9e5971db427654c0ae04fc869ccf0962de1f71060c2d2e0c7e7663b2c1/nanograd_bgriebel-0.1.4-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8e82e695f210c9b408e7971ed1e7c40829fb05d0d1a5404992df6e88906b10d6",
"md5": "d0d2f3e08e74b1ea438c7bc09ec0a072",
"sha256": "fdeaf37aee0c2c4d4b338641167bcff312856801d36c346680e2b8fc5b5dfdf6"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "d0d2f3e08e74b1ea438c7bc09ec0a072",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 137846,
"upload_time": "2025-02-07T04:10:36",
"upload_time_iso_8601": "2025-02-07T04:10:36.515471Z",
"url": "https://files.pythonhosted.org/packages/8e/82/e695f210c9b408e7971ed1e7c40829fb05d0d1a5404992df6e88906b10d6/nanograd_bgriebel-0.1.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9e0608a882ddef2af83e2dc9f5f2e79a9c978662065cac4cca54b0b1af8e81bc",
"md5": "bf5d5683a52da9235f4ac9f5cff3fda2",
"sha256": "3da978b2bacaafdb2f48a321da47a51af123de0e3df49534be5d5b55593aeb38"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "bf5d5683a52da9235f4ac9f5cff3fda2",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 155192,
"upload_time": "2025-02-07T04:10:38",
"upload_time_iso_8601": "2025-02-07T04:10:38.622217Z",
"url": "https://files.pythonhosted.org/packages/9e/06/08a882ddef2af83e2dc9f5f2e79a9c978662065cac4cca54b0b1af8e81bc/nanograd_bgriebel-0.1.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bc6023c64084dd02c8e6409f40017299821af937d8c3e6ed99a1bdd4e2e3723b",
"md5": "ae2d92efd388c5c507db47f0def8671c",
"sha256": "7f7cd8616b7dbc09642cf2673b094b3bac0dd4cdc76d62de43fc023918f660b2"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ae2d92efd388c5c507db47f0def8671c",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 146641,
"upload_time": "2025-02-07T04:10:40",
"upload_time_iso_8601": "2025-02-07T04:10:40.713089Z",
"url": "https://files.pythonhosted.org/packages/bc/60/23c64084dd02c8e6409f40017299821af937d8c3e6ed99a1bdd4e2e3723b/nanograd_bgriebel-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c8c98a4feb43b0bb04c35a4fe5e639443a86e47dba62223a2213c6d2a9993f82",
"md5": "be504712f6171f8f7e230705c5596544",
"sha256": "5e82d6c78aa394eff67a3f1004c4c22146c04299c33c2c0527d451080d1b3d05"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp313-cp313-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "be504712f6171f8f7e230705c5596544",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 1065814,
"upload_time": "2025-02-07T04:10:42",
"upload_time_iso_8601": "2025-02-07T04:10:42.092058Z",
"url": "https://files.pythonhosted.org/packages/c8/c9/8a4feb43b0bb04c35a4fe5e639443a86e47dba62223a2213c6d2a9993f82/nanograd_bgriebel-0.1.4-cp313-cp313-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "790dddcc0a772ad6d7221e5825318815f1dea23c24e177994b05a716db3a452d",
"md5": "72093d22974723a01932bb3376002cca",
"sha256": "eb2b7eea4efe96069737a7d9ce2b71f350681aa73ced1009bd7d7a17ad0b4cc7"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp313-cp313-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "72093d22974723a01932bb3376002cca",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 1218878,
"upload_time": "2025-02-07T04:10:44",
"upload_time_iso_8601": "2025-02-07T04:10:44.429166Z",
"url": "https://files.pythonhosted.org/packages/79/0d/ddcc0a772ad6d7221e5825318815f1dea23c24e177994b05a716db3a452d/nanograd_bgriebel-0.1.4-cp313-cp313-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "07cb37ddc65d949688589022c28e921f9b81bb1a0e5c069f16a02a06dafa4283",
"md5": "33109502b22f3a6fa2d8b80cff40a0a3",
"sha256": "84f2dba186b3c1e587fd31495f5ab3eebf76abf6811c01c623bd721af69798ae"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp313-cp313-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "33109502b22f3a6fa2d8b80cff40a0a3",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 1118829,
"upload_time": "2025-02-07T04:10:46",
"upload_time_iso_8601": "2025-02-07T04:10:46.052988Z",
"url": "https://files.pythonhosted.org/packages/07/cb/37ddc65d949688589022c28e921f9b81bb1a0e5c069f16a02a06dafa4283/nanograd_bgriebel-0.1.4-cp313-cp313-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e163d3b6608e88d07689c553bc863ca5e384d09028738d7656f1b6724ba2fa58",
"md5": "1300bf97ef10a97f5d70d6479c90bd7e",
"sha256": "4617d392a272be572863dbd3997f5707c610874011f19c85ff2387c236b9ee65"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp313-cp313-win32.whl",
"has_sig": false,
"md5_digest": "1300bf97ef10a97f5d70d6479c90bd7e",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 89812,
"upload_time": "2025-02-07T04:10:47",
"upload_time_iso_8601": "2025-02-07T04:10:47.755871Z",
"url": "https://files.pythonhosted.org/packages/e1/63/d3b6608e88d07689c553bc863ca5e384d09028738d7656f1b6724ba2fa58/nanograd_bgriebel-0.1.4-cp313-cp313-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "73fe19af81712e9858d501ec4ba99a39c0c1e5fb98d101dd3e843b1d8a162a7e",
"md5": "9a36a007e66bb7d45ab4b5803453e8ba",
"sha256": "a25bb3d55939b3ca7a0ccedddfcc46fb37bf9eae62cfccdaf29a88866f218eab"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "9a36a007e66bb7d45ab4b5803453e8ba",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 106989,
"upload_time": "2025-02-07T04:10:49",
"upload_time_iso_8601": "2025-02-07T04:10:49.038192Z",
"url": "https://files.pythonhosted.org/packages/73/fe/19af81712e9858d501ec4ba99a39c0c1e5fb98d101dd3e843b1d8a162a7e/nanograd_bgriebel-0.1.4-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "18daaeb4082374e10ac90638d9e1b9129eea7a0aee71d4b77eb3eb2217146e5a",
"md5": "f8c0e4784d7314175e5a9bf6cd5e5121",
"sha256": "2489fa4bcdb07530b05b491a35a7dc3639090592ff1a3d8b51c482ec843cff1b"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "f8c0e4784d7314175e5a9bf6cd5e5121",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.10",
"size": 110816,
"upload_time": "2025-02-07T04:10:50",
"upload_time_iso_8601": "2025-02-07T04:10:50.851773Z",
"url": "https://files.pythonhosted.org/packages/18/da/aeb4082374e10ac90638d9e1b9129eea7a0aee71d4b77eb3eb2217146e5a/nanograd_bgriebel-0.1.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e3550cb4817ce4b98776f31965caa1592611e070ee1fcf1cf1d74d3b7214f7ed",
"md5": "7f6f9c8fddeade504245465814a50994",
"sha256": "176c6b926fabceb84eefc3935eb9e7bd14f03cb29f3fe5af03d618d9306a4589"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "7f6f9c8fddeade504245465814a50994",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.10",
"size": 100780,
"upload_time": "2025-02-07T04:10:52",
"upload_time_iso_8601": "2025-02-07T04:10:52.193817Z",
"url": "https://files.pythonhosted.org/packages/e3/55/0cb4817ce4b98776f31965caa1592611e070ee1fcf1cf1d74d3b7214f7ed/nanograd_bgriebel-0.1.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "03cde2ee7f2d205ba23c2a61d3f541a4bdcc135210f115cd13e7db4a2a878b99",
"md5": "aff0c4262b3d83a96dc59593d7fd0629",
"sha256": "ead36c821e6724711bad402faabd033e9ae7d57bb5470b8c3e0630f7f54ff287"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "aff0c4262b3d83a96dc59593d7fd0629",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.10",
"size": 136001,
"upload_time": "2025-02-07T04:10:54",
"upload_time_iso_8601": "2025-02-07T04:10:54.671815Z",
"url": "https://files.pythonhosted.org/packages/03/cd/e2ee7f2d205ba23c2a61d3f541a4bdcc135210f115cd13e7db4a2a878b99/nanograd_bgriebel-0.1.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "023b90199047bca14cea105056a5fddd66856e961476ed745a79b435ff571c00",
"md5": "782e81d5433e19dd5559206f9bb39543",
"sha256": "94f9f0862f56a1cce0f1bf1a59ed4cafbf0c17486e5e839499e15be9d16efcaa"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "782e81d5433e19dd5559206f9bb39543",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.10",
"size": 153961,
"upload_time": "2025-02-07T04:10:56",
"upload_time_iso_8601": "2025-02-07T04:10:56.083855Z",
"url": "https://files.pythonhosted.org/packages/02/3b/90199047bca14cea105056a5fddd66856e961476ed745a79b435ff571c00/nanograd_bgriebel-0.1.4-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0e95c1cb3be81903d79f8dd00d11afb29e38160379d1176f374f0a43a52972a0",
"md5": "daeeb085478467ba76bdcdcb347f2b96",
"sha256": "0c84a6aa298f9c746bc37006639792bf83bb1ddf8b0b3f50f28d57cd4babe44e"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "daeeb085478467ba76bdcdcb347f2b96",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.10",
"size": 145192,
"upload_time": "2025-02-07T04:10:57",
"upload_time_iso_8601": "2025-02-07T04:10:57.481696Z",
"url": "https://files.pythonhosted.org/packages/0e/95/c1cb3be81903d79f8dd00d11afb29e38160379d1176f374f0a43a52972a0/nanograd_bgriebel-0.1.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "99c1670f0e1e6fb7054255e6cbd16d21eea1d6a3445c49fd4ccb157c86e8277c",
"md5": "5b047c9048e07149a24712a69d40e24d",
"sha256": "9a6d2f2c3a3b1493e39379bd535b07c0c175aae4696f0def0b3ac535fd05e7c1"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4-pp310-pypy310_pp73-win_amd64.whl",
"has_sig": false,
"md5_digest": "5b047c9048e07149a24712a69d40e24d",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.10",
"size": 105277,
"upload_time": "2025-02-07T04:10:59",
"upload_time_iso_8601": "2025-02-07T04:10:59.495100Z",
"url": "https://files.pythonhosted.org/packages/99/c1/670f0e1e6fb7054255e6cbd16d21eea1d6a3445c49fd4ccb157c86e8277c/nanograd_bgriebel-0.1.4-pp310-pypy310_pp73-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e176e04081de947a381a17513375962ebea2d7065bbe3a5b6f868c2f0a1e21e0",
"md5": "42f3b63edb3c71dc1d9948a2ec3336a4",
"sha256": "77554a8edec6b190d7ad52a12a23e43bdc843d81992dc3d84289e141f64639c0"
},
"downloads": -1,
"filename": "nanograd_bgriebel-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "42f3b63edb3c71dc1d9948a2ec3336a4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 121324,
"upload_time": "2025-02-07T04:11:00",
"upload_time_iso_8601": "2025-02-07T04:11:00.988397Z",
"url": "https://files.pythonhosted.org/packages/e1/76/e04081de947a381a17513375962ebea2d7065bbe3a5b6f868c2f0a1e21e0/nanograd_bgriebel-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-07 04:11:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Braden-Griebel",
"github_project": "nanograd",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nanograd-bgriebel"
}