bonsai


Namebonsai JSON
Version 1.5.4 PyPI version JSON
download
home_pageNone
SummaryPython 3 module for accessing LDAP directory servers.
upload_time2025-07-20 12:49:55
maintainerNone
docs_urlNone
authornoirello
requires_python<4.0,>=3.9
licenseNone
keywords python3 ldap ldap3 python-ldap libldap winldap asyncio gevent tornado trio
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            Bonsai
======

.. image:: https://img.shields.io/pypi/v/bonsai.svg?style=flat-square
    :target: https://pypi.python.org/pypi/bonsai/
    :alt: PyPI Version

.. image:: https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fnoirello%2Fbonsai%2Fbadge%3Fref%3Ddev&style=flat-square
    :target: https://actions-badge.atrox.dev/noirello/bonsai/goto?ref=dev
    :alt: GitHub Action Build Status

.. image:: https://dev.azure.com/noirello/bonsai/_apis/build/status/noirello.bonsai?branchName=dev
    :target: https://dev.azure.com/noirello/bonsai/_build
    :alt: Azure Pipelines Status

.. image:: https://img.shields.io/appveyor/ci/noirello/bonsai/dev.svg?style=flat-square
    :target: https://ci.appveyor.com/project/noirello/bonsai
    :alt: AppVeyor CI Build Status

.. image:: https://codecov.io/gh/noirello/bonsai/branch/dev/graph/badge.svg?token=gPAMdWATgj
    :target: https://app.codecov.io/gh/noirello/bonsai/tree/dev/src
    :alt: Coverage Status

.. image:: https://readthedocs.org/projects/bonsai/badge/?version=latest&style=flat-square
    :target: http://bonsai.readthedocs.org/en/latest/
    :alt: Documentation Status

.. image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
    :target: https://raw.githubusercontent.com/noirello/bonsai/master/LICENSE
    :alt: GitHub License

This is a module for handling LDAP operations in Python. Uses libldap2 on Unix platforms and
WinLDAP on Microsoft Windows. LDAP entries are mapped to a special Python case-insensitive
dictionary, tracking the changes of the dictionary to modify the entry on the server easily.

Supports only Python 3.8 or newer, and LDAPv3.

Features
--------

-  Uses LDAP libraries (OpenLDAP and WinLDAP) written in C for faster
   processing.
-  Simple pythonic design.
-  Implements an own dictionary-like object for mapping LDAP entries
   that makes easier to add and modify them.
-  Works with various asynchronous library (like asyncio, gevent).

Requirements for building
-------------------------

-  python3.8-dev or newer
-  libldap2-dev
-  libsasl2-dev
-  libkrb5-dev or heimdal-dev (optional)

Documentation
-------------

Documentation is available `online`_ with a simple tutorial.

Example
-------

Simple search and modify:

.. code:: python

        import bonsai

        client = bonsai.LDAPClient("ldap://localhost")
        client.set_credentials("SIMPLE", user="cn=admin,dc=bonsai,dc=test", password="secret")
        with client.connect() as conn:
            res = conn.search("ou=nerdherd,dc=bonsai,dc=test", 2, "(cn=chuck)")
            res[0]['givenname'] = "Charles"
            res[0]['sn'] = "Carmichael"
            res[0].modify()

Using with asyncio:

.. code:: python3

        import asyncio
        import bonsai

        async def do():
            client = bonsai.LDAPClient("ldap://localhost")
            client.set_credentials("DIGEST-MD5", user="admin", password="secret")
            async with client.connect(is_async=True) as conn:
                res = await conn.search("ou=nerdherd,dc=bonsai,dc=test", 2)
                print(res)
                who = await conn.whoami()
                print(who)

        asyncio.run(do())

Changelog
---------

The changelog is available `here`_ and included in the documentation as well.

Contribution
------------

Any contributions and advices are welcome. Please report any issues at
the `GitHub page`_.

.. _online: http://bonsai.readthedocs.org/en/latest/
.. _here: https://github.com/noirello/bonsai/blob/master/CHANGELOG.rst
.. _GitHub page: https://github.com/noirello/bonsai/issues

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "bonsai",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "python3, ldap, ldap3, python-ldap, libldap, winldap, asyncio, gevent, tornado, trio",
    "author": "noirello",
    "author_email": "noirello <noirello@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/dd/4f/3fa00051aeb0a0ef9a4c6b628bfcb83f939ba2b1c2c4746d74e5f2029570/bonsai-1.5.4.tar.gz",
    "platform": null,
    "description": "Bonsai\n======\n\n.. image:: https://img.shields.io/pypi/v/bonsai.svg?style=flat-square\n    :target: https://pypi.python.org/pypi/bonsai/\n    :alt: PyPI Version\n\n.. image:: https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fnoirello%2Fbonsai%2Fbadge%3Fref%3Ddev&style=flat-square\n    :target: https://actions-badge.atrox.dev/noirello/bonsai/goto?ref=dev\n    :alt: GitHub Action Build Status\n\n.. image:: https://dev.azure.com/noirello/bonsai/_apis/build/status/noirello.bonsai?branchName=dev\n    :target: https://dev.azure.com/noirello/bonsai/_build\n    :alt: Azure Pipelines Status\n\n.. image:: https://img.shields.io/appveyor/ci/noirello/bonsai/dev.svg?style=flat-square\n    :target: https://ci.appveyor.com/project/noirello/bonsai\n    :alt: AppVeyor CI Build Status\n\n.. image:: https://codecov.io/gh/noirello/bonsai/branch/dev/graph/badge.svg?token=gPAMdWATgj\n    :target: https://app.codecov.io/gh/noirello/bonsai/tree/dev/src\n    :alt: Coverage Status\n\n.. image:: https://readthedocs.org/projects/bonsai/badge/?version=latest&style=flat-square\n    :target: http://bonsai.readthedocs.org/en/latest/\n    :alt: Documentation Status\n\n.. image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square\n    :target: https://raw.githubusercontent.com/noirello/bonsai/master/LICENSE\n    :alt: GitHub License\n\nThis is a module for handling LDAP operations in Python. Uses libldap2 on Unix platforms and\nWinLDAP on Microsoft Windows. LDAP entries are mapped to a special Python case-insensitive\ndictionary, tracking the changes of the dictionary to modify the entry on the server easily.\n\nSupports only Python 3.8 or newer, and LDAPv3.\n\nFeatures\n--------\n\n-  Uses LDAP libraries (OpenLDAP and WinLDAP) written in C for faster\n   processing.\n-  Simple pythonic design.\n-  Implements an own dictionary-like object for mapping LDAP entries\n   that makes easier to add and modify them.\n-  Works with various asynchronous library (like asyncio, gevent).\n\nRequirements for building\n-------------------------\n\n-  python3.8-dev or newer\n-  libldap2-dev\n-  libsasl2-dev\n-  libkrb5-dev or heimdal-dev (optional)\n\nDocumentation\n-------------\n\nDocumentation is available `online`_ with a simple tutorial.\n\nExample\n-------\n\nSimple search and modify:\n\n.. code:: python\n\n        import bonsai\n\n        client = bonsai.LDAPClient(\"ldap://localhost\")\n        client.set_credentials(\"SIMPLE\", user=\"cn=admin,dc=bonsai,dc=test\", password=\"secret\")\n        with client.connect() as conn:\n            res = conn.search(\"ou=nerdherd,dc=bonsai,dc=test\", 2, \"(cn=chuck)\")\n            res[0]['givenname'] = \"Charles\"\n            res[0]['sn'] = \"Carmichael\"\n            res[0].modify()\n\nUsing with asyncio:\n\n.. code:: python3\n\n        import asyncio\n        import bonsai\n\n        async def do():\n            client = bonsai.LDAPClient(\"ldap://localhost\")\n            client.set_credentials(\"DIGEST-MD5\", user=\"admin\", password=\"secret\")\n            async with client.connect(is_async=True) as conn:\n                res = await conn.search(\"ou=nerdherd,dc=bonsai,dc=test\", 2)\n                print(res)\n                who = await conn.whoami()\n                print(who)\n\n        asyncio.run(do())\n\nChangelog\n---------\n\nThe changelog is available `here`_ and included in the documentation as well.\n\nContribution\n------------\n\nAny contributions and advices are welcome. Please report any issues at\nthe `GitHub page`_.\n\n.. _online: http://bonsai.readthedocs.org/en/latest/\n.. _here: https://github.com/noirello/bonsai/blob/master/CHANGELOG.rst\n.. _GitHub page: https://github.com/noirello/bonsai/issues\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python 3 module for accessing LDAP directory servers.",
    "version": "1.5.4",
    "project_urls": {
        "Documentation": "https://bonsai.readthedocs.io",
        "Homepage": "https://github.com/noirello/bonsai",
        "Repository": "https://github.com/noirello/bonsai.git"
    },
    "split_keywords": [
        "python3",
        " ldap",
        " ldap3",
        " python-ldap",
        " libldap",
        " winldap",
        " asyncio",
        " gevent",
        " tornado",
        " trio"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6b5408cd662c42943a9fa7730dbb6b13b5b2ceb6ab7b6a211bfdda603dcb0c6d",
                "md5": "bf62f8cc4f9a3dc6611174a47ea118b0",
                "sha256": "4ab91fc2d9353ecd5e021366f22cd5c25206ecf796c87bfb01e57242bbfefb7d"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "bf62f8cc4f9a3dc6611174a47ea118b0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4.0,>=3.9",
            "size": 81434,
            "upload_time": "2025-07-20T12:49:25",
            "upload_time_iso_8601": "2025-07-20T12:49:25.331488Z",
            "url": "https://files.pythonhosted.org/packages/6b/54/08cd662c42943a9fa7730dbb6b13b5b2ceb6ab7b6a211bfdda603dcb0c6d/bonsai-1.5.4-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5038748d5c0a01e3cebd15cda9e05ce645ef47bde5f1b38642425d6c0821cd48",
                "md5": "9becd63532b002266efe4677c7e782d8",
                "sha256": "0e7d4dd8477a8892a4d506faac236133e771436fcf5b408a77ba90ed157988c9"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp310-cp310-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9becd63532b002266efe4677c7e782d8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4.0,>=3.9",
            "size": 2625488,
            "upload_time": "2025-07-20T12:49:27",
            "upload_time_iso_8601": "2025-07-20T12:49:27.863450Z",
            "url": "https://files.pythonhosted.org/packages/50/38/748d5c0a01e3cebd15cda9e05ce645ef47bde5f1b38642425d6c0821cd48/bonsai-1.5.4-cp310-cp310-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6a2fd4e8b0a15ee32c8b66500cd050fe81ed3e892b8346ffcef1c2d9b7befa5b",
                "md5": "404e3703b660923275ec5e292785ba1d",
                "sha256": "0cd7a28c2cf2aea30d49a0f1cea103d7d6704b60ea0063c8e04e58e8f0adb1b8"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "404e3703b660923275ec5e292785ba1d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4.0,>=3.9",
            "size": 81434,
            "upload_time": "2025-07-20T12:49:29",
            "upload_time_iso_8601": "2025-07-20T12:49:29.082924Z",
            "url": "https://files.pythonhosted.org/packages/6a/2f/d4e8b0a15ee32c8b66500cd050fe81ed3e892b8346ffcef1c2d9b7befa5b/bonsai-1.5.4-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b876f36a979c4c5add46097eb1ef346330f1d32fa394a3511f0a146fd59609b4",
                "md5": "6f05c9778bcb1d09b800c2f81f6d9cd9",
                "sha256": "7575d00300aaec00883e6e2bcc8da1ed980edb6bfcc3542e48954d274438e5a4"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6f05c9778bcb1d09b800c2f81f6d9cd9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4.0,>=3.9",
            "size": 87269,
            "upload_time": "2025-07-20T12:49:30",
            "upload_time_iso_8601": "2025-07-20T12:49:30.410636Z",
            "url": "https://files.pythonhosted.org/packages/b8/76/f36a979c4c5add46097eb1ef346330f1d32fa394a3511f0a146fd59609b4/bonsai-1.5.4-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cbaa9facb4c736dd1d65c48daf7ab8f48b58495235ca164dd9a94ab6471fba73",
                "md5": "d4df001b787835df649bc271022d1138",
                "sha256": "545518d3e4c98b82fd7a1d8cf34f8d92c730245f039712ac59f85d80bdfea34c"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "d4df001b787835df649bc271022d1138",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4.0,>=3.9",
            "size": 81439,
            "upload_time": "2025-07-20T12:49:31",
            "upload_time_iso_8601": "2025-07-20T12:49:31.896949Z",
            "url": "https://files.pythonhosted.org/packages/cb/aa/9facb4c736dd1d65c48daf7ab8f48b58495235ca164dd9a94ab6471fba73/bonsai-1.5.4-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5bf3873375c7a68e67fc3b216cb2c445ce101a55f0c881f212bb283221e1f8be",
                "md5": "a8b5d46bc96b3ba1896e2e58ce20fdb3",
                "sha256": "58b89576c89aa0869ffb43772da42e889f655d7be6eacad19b90d574c20dabba"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp311-cp311-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a8b5d46bc96b3ba1896e2e58ce20fdb3",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4.0,>=3.9",
            "size": 2625699,
            "upload_time": "2025-07-20T12:49:33",
            "upload_time_iso_8601": "2025-07-20T12:49:33.748900Z",
            "url": "https://files.pythonhosted.org/packages/5b/f3/873375c7a68e67fc3b216cb2c445ce101a55f0c881f212bb283221e1f8be/bonsai-1.5.4-cp311-cp311-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "920ff12a38931ed78e21e6659292805b87ce846b29b38eff8f4607a6da0556a9",
                "md5": "e8131a748e009f7b350ecef555615a8e",
                "sha256": "f0f6a5b60cd27a9813843288f04cb6f2c0357a7105b36a13a8a30ed688cd6078"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "e8131a748e009f7b350ecef555615a8e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4.0,>=3.9",
            "size": 81438,
            "upload_time": "2025-07-20T12:49:35",
            "upload_time_iso_8601": "2025-07-20T12:49:35.188657Z",
            "url": "https://files.pythonhosted.org/packages/92/0f/f12a38931ed78e21e6659292805b87ce846b29b38eff8f4607a6da0556a9/bonsai-1.5.4-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f3a7c5bb56129833d49f4cd2d5415e8d4a62aee8dc69ea1d8fd1d2a005151693",
                "md5": "1a03643471d45764da0313d3cf939cf2",
                "sha256": "1f99f3c9fdebf8e1b2861a31b845c2427e91a898c7e93e995b950f29c7b7c62e"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1a03643471d45764da0313d3cf939cf2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4.0,>=3.9",
            "size": 87270,
            "upload_time": "2025-07-20T12:49:36",
            "upload_time_iso_8601": "2025-07-20T12:49:36.362171Z",
            "url": "https://files.pythonhosted.org/packages/f3/a7/c5bb56129833d49f4cd2d5415e8d4a62aee8dc69ea1d8fd1d2a005151693/bonsai-1.5.4-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dab61babf75ea44b0fc523c17fdea3a9eca53ceecb23b319350ab785943a96b8",
                "md5": "653aef97920015e6319d7428ceb02e2d",
                "sha256": "31c84c5fd72750eae96d211180746d1f92a8fd2fae9d65cc98560830b3fbe08d"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "653aef97920015e6319d7428ceb02e2d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4.0,>=3.9",
            "size": 81575,
            "upload_time": "2025-07-20T12:49:37",
            "upload_time_iso_8601": "2025-07-20T12:49:37.912777Z",
            "url": "https://files.pythonhosted.org/packages/da/b6/1babf75ea44b0fc523c17fdea3a9eca53ceecb23b319350ab785943a96b8/bonsai-1.5.4-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "34f142d490513911a29818088ad4238c83a92e9d265606cf562f5c762d7f7996",
                "md5": "51af99e8050625921affb8b0745ed49e",
                "sha256": "b7f9d5d2e204388014a185e378bda6abe9ff85a56713e7eea81c058173cf57ca"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp312-cp312-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "51af99e8050625921affb8b0745ed49e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4.0,>=3.9",
            "size": 2625816,
            "upload_time": "2025-07-20T12:49:40",
            "upload_time_iso_8601": "2025-07-20T12:49:40.194657Z",
            "url": "https://files.pythonhosted.org/packages/34/f1/42d490513911a29818088ad4238c83a92e9d265606cf562f5c762d7f7996/bonsai-1.5.4-cp312-cp312-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9d9ea092fb6581fdf8ef2560662de4310dc02193a4bdd42d98d7416da6ae7a2e",
                "md5": "5bd8692dff5bf6c17cb20ea06b4af752",
                "sha256": "88d59ea66cb0427bb29cbecfd0da94dba1bffbd3f974a77fd68902205eefd761"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "5bd8692dff5bf6c17cb20ea06b4af752",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4.0,>=3.9",
            "size": 81934,
            "upload_time": "2025-07-20T12:49:41",
            "upload_time_iso_8601": "2025-07-20T12:49:41.753524Z",
            "url": "https://files.pythonhosted.org/packages/9d/9e/a092fb6581fdf8ef2560662de4310dc02193a4bdd42d98d7416da6ae7a2e/bonsai-1.5.4-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4e804ea332689e0a74b92e68906e3e81ac25bbd750654f6c2ee20ab97a489bb7",
                "md5": "4865182960864b24999f5584d87ce212",
                "sha256": "00b84f05c733699deb6d29d97c7749e110bf3a8036d6bf60c9d9ed548ad65b29"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4865182960864b24999f5584d87ce212",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4.0,>=3.9",
            "size": 87612,
            "upload_time": "2025-07-20T12:49:42",
            "upload_time_iso_8601": "2025-07-20T12:49:42.855868Z",
            "url": "https://files.pythonhosted.org/packages/4e/80/4ea332689e0a74b92e68906e3e81ac25bbd750654f6c2ee20ab97a489bb7/bonsai-1.5.4-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a48c58dec7d9bd4a44e65f1bb32b19d82bf5fd05d90da541ba8654abf190876b",
                "md5": "b7bc18a2870f3468f2c95b8eb1df962f",
                "sha256": "0326d069adc8b0636addb61c1f69f6538c532dc604ff39b9082f2ec6ccc4ff5b"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "b7bc18a2870f3468f2c95b8eb1df962f",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<4.0,>=3.9",
            "size": 81533,
            "upload_time": "2025-07-20T12:49:44",
            "upload_time_iso_8601": "2025-07-20T12:49:44.411922Z",
            "url": "https://files.pythonhosted.org/packages/a4/8c/58dec7d9bd4a44e65f1bb32b19d82bf5fd05d90da541ba8654abf190876b/bonsai-1.5.4-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "03fabc82f962534c538764c1420bbe34acc4ace0fc057e17367677da60994de2",
                "md5": "2dee378e5273e6de6166e32816ee9ade",
                "sha256": "4ffe9ceadba12d95f7d944811c6783fb7e1084341ffbcdb8dc44d33ae3857682"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp313-cp313-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2dee378e5273e6de6166e32816ee9ade",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<4.0,>=3.9",
            "size": 2625757,
            "upload_time": "2025-07-20T12:49:46",
            "upload_time_iso_8601": "2025-07-20T12:49:46.872127Z",
            "url": "https://files.pythonhosted.org/packages/03/fa/bc82f962534c538764c1420bbe34acc4ace0fc057e17367677da60994de2/bonsai-1.5.4-cp313-cp313-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "30d8347cb0a440f90ddd3eedef1da8092a2c283bfea0e2d4bdaac42ccfb15bfd",
                "md5": "f368b31b6ecc6d021c10e71e5e3e1899",
                "sha256": "c53481b2f60b278dcb0b60b3079969d5e8f441e3f0abc115ec615c88aa5f5c59"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "f368b31b6ecc6d021c10e71e5e3e1899",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<4.0,>=3.9",
            "size": 81926,
            "upload_time": "2025-07-20T12:49:48",
            "upload_time_iso_8601": "2025-07-20T12:49:48.405792Z",
            "url": "https://files.pythonhosted.org/packages/30/d8/347cb0a440f90ddd3eedef1da8092a2c283bfea0e2d4bdaac42ccfb15bfd/bonsai-1.5.4-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ba241b9ffccc3495ae8039a8a003a2fbe11fe06e01f7e9ba33e7869f2f4fd7bc",
                "md5": "e0f5ab989b7728dd67a93468edcf9cd6",
                "sha256": "0893810bcabbeeb86f794bc9d5289676f16b4c6490c12722f2cfbc08137b7ae0"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e0f5ab989b7728dd67a93468edcf9cd6",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<4.0,>=3.9",
            "size": 87600,
            "upload_time": "2025-07-20T12:49:49",
            "upload_time_iso_8601": "2025-07-20T12:49:49.606205Z",
            "url": "https://files.pythonhosted.org/packages/ba/24/1b9ffccc3495ae8039a8a003a2fbe11fe06e01f7e9ba33e7869f2f4fd7bc/bonsai-1.5.4-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9c9aef86f59e74ebb5bd55d189d0b9b07d1a3c9543118792a104d14e2d76c8f8",
                "md5": "d2b40dda37e3f7a440ae90958b03e013",
                "sha256": "40423ffdec878ab5bcc74d918290c9c50e8d00bc64f937f51cb3ab24b5b09a4b"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp39-cp39-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d2b40dda37e3f7a440ae90958b03e013",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4.0,>=3.9",
            "size": 2625494,
            "upload_time": "2025-07-20T12:49:51",
            "upload_time_iso_8601": "2025-07-20T12:49:51.985023Z",
            "url": "https://files.pythonhosted.org/packages/9c/9a/ef86f59e74ebb5bd55d189d0b9b07d1a3c9543118792a104d14e2d76c8f8/bonsai-1.5.4-cp39-cp39-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2162772a4d6572923596c35e453ebdfb128bf8e2c00ff6e3e9098a1fc60359b5",
                "md5": "6bf4f997b3e17b726419b422b2574d97",
                "sha256": "d9b6a5783aba45c0aff71a2464af564add9724f5a3966ea6b170f36fbfbeaeea"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "6bf4f997b3e17b726419b422b2574d97",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4.0,>=3.9",
            "size": 81443,
            "upload_time": "2025-07-20T12:49:53",
            "upload_time_iso_8601": "2025-07-20T12:49:53.562524Z",
            "url": "https://files.pythonhosted.org/packages/21/62/772a4d6572923596c35e453ebdfb128bf8e2c00ff6e3e9098a1fc60359b5/bonsai-1.5.4-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c028b5d7966a174466b61a3745c207b96b672fceddc765db2302f4536201afb1",
                "md5": "ce01777505fc47891e3b0166669d24b7",
                "sha256": "da7182a56463304a4925168eea85316f26a90ad8125697dbf81e4f98f6461660"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ce01777505fc47891e3b0166669d24b7",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4.0,>=3.9",
            "size": 87307,
            "upload_time": "2025-07-20T12:49:54",
            "upload_time_iso_8601": "2025-07-20T12:49:54.574139Z",
            "url": "https://files.pythonhosted.org/packages/c0/28/b5d7966a174466b61a3745c207b96b672fceddc765db2302f4536201afb1/bonsai-1.5.4-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dd4f3fa00051aeb0a0ef9a4c6b628bfcb83f939ba2b1c2c4746d74e5f2029570",
                "md5": "d4858766857d21729590c30db9eb4fb2",
                "sha256": "52a7fe9a23f57c84dc745a5f2831d11c668734b139a2ff7df04c0ff22676a2c7"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.4.tar.gz",
            "has_sig": false,
            "md5_digest": "d4858766857d21729590c30db9eb4fb2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 150601,
            "upload_time": "2025-07-20T12:49:55",
            "upload_time_iso_8601": "2025-07-20T12:49:55.764452Z",
            "url": "https://files.pythonhosted.org/packages/dd/4f/3fa00051aeb0a0ef9a4c6b628bfcb83f939ba2b1c2c4746d74e5f2029570/bonsai-1.5.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-20 12:49:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "noirello",
    "github_project": "bonsai",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "appveyor": true,
    "lcname": "bonsai"
}
        
Elapsed time: 0.70828s