bonsai


Namebonsai JSON
Version 1.5.2 PyPI version JSON
download
home_pagehttps://github.com/noirello/bonsai
SummaryPython 3 module for accessing LDAP directory servers.
upload_time2023-11-20 21:54:32
maintainer
docs_urlNone
authornoirello
requires_python
licenseMIT
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.7 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.7-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": "https://github.com/noirello/bonsai",
    "name": "bonsai",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "python3,ldap,ldap3,python-ldap,libldap,winldap,asyncio,gevent,tornado,trio",
    "author": "noirello",
    "author_email": "noirello@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ba/a5/0e3aeedfe4a8f183965e0fe47024c6855ef7bd95912df9c1093351425a03/bonsai-1.5.2.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.7 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.7-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": "MIT",
    "summary": "Python 3 module for accessing LDAP directory servers.",
    "version": "1.5.2",
    "project_urls": {
        "Homepage": "https://github.com/noirello/bonsai"
    },
    "split_keywords": [
        "python3",
        "ldap",
        "ldap3",
        "python-ldap",
        "libldap",
        "winldap",
        "asyncio",
        "gevent",
        "tornado",
        "trio"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0488fb410fd85d65158ab9b98645bdf60597526be886579897b459feb925dc64",
                "md5": "7302b1eaaaa8eb73f003f89d69f7c0ac",
                "sha256": "aaa4ed441cb6562b587f524a7ca6898ef41c6c4d2600fab5cc91af8fbd2d02e8"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp310-cp310-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7302b1eaaaa8eb73f003f89d69f7c0ac",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 2229083,
            "upload_time": "2023-11-20T21:54:02",
            "upload_time_iso_8601": "2023-11-20T21:54:02.700070Z",
            "url": "https://files.pythonhosted.org/packages/04/88/fb410fd85d65158ab9b98645bdf60597526be886579897b459feb925dc64/bonsai-1.5.2-cp310-cp310-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0e4810dbd30873a4df36ea339f6624b85fbed9764f6aa6b722ed4a55de26886c",
                "md5": "f0b906b55b0a64677aeb497354a0ff86",
                "sha256": "c82320679bdaaccf1939eaf4326a4721e80ca099f5bd790c3eb546f37f157e7b"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "f0b906b55b0a64677aeb497354a0ff86",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 80917,
            "upload_time": "2023-11-20T21:54:05",
            "upload_time_iso_8601": "2023-11-20T21:54:05.607203Z",
            "url": "https://files.pythonhosted.org/packages/0e/48/10dbd30873a4df36ea339f6624b85fbed9764f6aa6b722ed4a55de26886c/bonsai-1.5.2-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "82331da1d730f05e7fe753dd57f596853525aef34fd2b1e009b6da34e2c6c57f",
                "md5": "b809b02becbc633bad74462553ab4042",
                "sha256": "3ce093a6a188fcba50c1107f86f30c2ce3dc1f080f1d009b54d160c3b620353b"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b809b02becbc633bad74462553ab4042",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 86795,
            "upload_time": "2023-11-20T21:54:07",
            "upload_time_iso_8601": "2023-11-20T21:54:07.173080Z",
            "url": "https://files.pythonhosted.org/packages/82/33/1da1d730f05e7fe753dd57f596853525aef34fd2b1e009b6da34e2c6c57f/bonsai-1.5.2-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b6f48ae3985ba818084847c3d296594be5665b9940c083225db57d5925f37368",
                "md5": "b79c8a64a6af3c52eb60b1328f329c0a",
                "sha256": "b40510c6d3c338ba805eaf6d07aebffc138d1beca31dc750eb2b6127f99296b1"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "b79c8a64a6af3c52eb60b1328f329c0a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 2264329,
            "upload_time": "2023-11-20T21:54:09",
            "upload_time_iso_8601": "2023-11-20T21:54:09.699148Z",
            "url": "https://files.pythonhosted.org/packages/b6/f4/8ae3985ba818084847c3d296594be5665b9940c083225db57d5925f37368/bonsai-1.5.2-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2f46a3a032dfa9d1ad31ccf3ab6853343449b228beaad87e3505a2576ec46198",
                "md5": "3e70390fa7c10b64dc3de2a500f8abfb",
                "sha256": "3ebc465dcafd0d739e258a201c5043f5ac2380770c3a0ab8b7412222002bf4a4"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "3e70390fa7c10b64dc3de2a500f8abfb",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 80916,
            "upload_time": "2023-11-20T21:54:12",
            "upload_time_iso_8601": "2023-11-20T21:54:12.062942Z",
            "url": "https://files.pythonhosted.org/packages/2f/46/a3a032dfa9d1ad31ccf3ab6853343449b228beaad87e3505a2576ec46198/bonsai-1.5.2-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d1be96ecacd5169308ef5e727a5747a72ef48e0d6526d0a6f50c6cb976ce884c",
                "md5": "9f3a8972a36be3dae5ccdcafaa5b6db5",
                "sha256": "78e75ce4298041516e2a67c47c8332089fc7e0e19a46840b5dd9c0068cfd8abd"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "9f3a8972a36be3dae5ccdcafaa5b6db5",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 86797,
            "upload_time": "2023-11-20T21:54:13",
            "upload_time_iso_8601": "2023-11-20T21:54:13.448803Z",
            "url": "https://files.pythonhosted.org/packages/d1/be/96ecacd5169308ef5e727a5747a72ef48e0d6526d0a6f50c6cb976ce884c/bonsai-1.5.2-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a52df6d8aa846f63f439de6484432d7f2798bdd4538e81e53b96d4685be05be8",
                "md5": "b822c48c68749fe6d25ba89f5561a432",
                "sha256": "24d3ee90938eaea96c21e176202d8dad2ee0fd2119eaae40f3349fcd69e98682"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "b822c48c68749fe6d25ba89f5561a432",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 2264903,
            "upload_time": "2023-11-20T21:54:16",
            "upload_time_iso_8601": "2023-11-20T21:54:16.471263Z",
            "url": "https://files.pythonhosted.org/packages/a5/2d/f6d8aa846f63f439de6484432d7f2798bdd4538e81e53b96d4685be05be8/bonsai-1.5.2-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96b50ec025d266902ba4b0b86622bb7127d0ea5e6ca9db485abbffa0bac8f9ea",
                "md5": "b26fa182d01926f2cfb8f82c23084795",
                "sha256": "ee7cb0269fc887cf60f6fd27dba019a88bfaf1104219e6b23e1bb6b01498dfb6"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "b26fa182d01926f2cfb8f82c23084795",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 81424,
            "upload_time": "2023-11-20T21:54:19",
            "upload_time_iso_8601": "2023-11-20T21:54:19.083515Z",
            "url": "https://files.pythonhosted.org/packages/96/b5/0ec025d266902ba4b0b86622bb7127d0ea5e6ca9db485abbffa0bac8f9ea/bonsai-1.5.2-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0b392892c9b4eeb23337e165553fc756f77603419c8ebf1eada4cf99cd2e3ed0",
                "md5": "75fa8a0ec4ef02e4f4c9a6a72e203210",
                "sha256": "428c503d6d7895f050d55438648572172020c0b3fe0ee7dc524ce6eb046b3a12"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "75fa8a0ec4ef02e4f4c9a6a72e203210",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 87142,
            "upload_time": "2023-11-20T21:54:20",
            "upload_time_iso_8601": "2023-11-20T21:54:20.635729Z",
            "url": "https://files.pythonhosted.org/packages/0b/39/2892c9b4eeb23337e165553fc756f77603419c8ebf1eada4cf99cd2e3ed0/bonsai-1.5.2-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c320055dc9d91ffa97ff67ba782ccd6fa4a8a5b222dae1c3c603750ab485ae0d",
                "md5": "fa8e1eafd02e32e020f8dda553b71b9d",
                "sha256": "bccd9bbd5ba6722444a01557f75b031c455d35c5d0307bceebdad99a35ed1473"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp38-cp38-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fa8e1eafd02e32e020f8dda553b71b9d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 2229077,
            "upload_time": "2023-11-20T21:54:23",
            "upload_time_iso_8601": "2023-11-20T21:54:23.365481Z",
            "url": "https://files.pythonhosted.org/packages/c3/20/055dc9d91ffa97ff67ba782ccd6fa4a8a5b222dae1c3c603750ab485ae0d/bonsai-1.5.2-cp38-cp38-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "985a4104b9425bee3f9fde56112d5c72decfee79bec329db4d3f6598dffc53cb",
                "md5": "0cecbd180a62d759d3444f7a478a524e",
                "sha256": "3c75286ae61f243c9a13855f47734bff1b99736a9350b19350083cd5c9ca4ed8"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp39-cp39-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0cecbd180a62d759d3444f7a478a524e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 2226859,
            "upload_time": "2023-11-20T21:54:26",
            "upload_time_iso_8601": "2023-11-20T21:54:26.704642Z",
            "url": "https://files.pythonhosted.org/packages/98/5a/4104b9425bee3f9fde56112d5c72decfee79bec329db4d3f6598dffc53cb/bonsai-1.5.2-cp39-cp39-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b9de87031103e94d0f7077e1f8c039ed03ccd534c286a9a8b4e49ce3a507c555",
                "md5": "fbd3aae75f3d58e1d794f61df1a04162",
                "sha256": "87765b3971bd63a88dd597f471992767d69d523c4759f372cbf5034767fbb2c6"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "fbd3aae75f3d58e1d794f61df1a04162",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 80964,
            "upload_time": "2023-11-20T21:54:29",
            "upload_time_iso_8601": "2023-11-20T21:54:29.167460Z",
            "url": "https://files.pythonhosted.org/packages/b9/de/87031103e94d0f7077e1f8c039ed03ccd534c286a9a8b4e49ce3a507c555/bonsai-1.5.2-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "adb0300d03302594d281336f1f7f226c91395e8fb5650aaf3c7c7b24ddabf0b6",
                "md5": "408ad08ed903011af56c7127eaef96c3",
                "sha256": "763a0e1d59f31c530599caf1158cf370a5c1b8e41d71a5e8000c552913b35697"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "408ad08ed903011af56c7127eaef96c3",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 86833,
            "upload_time": "2023-11-20T21:54:31",
            "upload_time_iso_8601": "2023-11-20T21:54:31.280556Z",
            "url": "https://files.pythonhosted.org/packages/ad/b0/300d03302594d281336f1f7f226c91395e8fb5650aaf3c7c7b24ddabf0b6/bonsai-1.5.2-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "baa50e3aeedfe4a8f183965e0fe47024c6855ef7bd95912df9c1093351425a03",
                "md5": "9b8fa0663bb530a58b2129df35b40981",
                "sha256": "8d6ba21fcbbd4309dcffdba723247aa3dc6a971474b941edcfa3ce1c0ed3ff41"
            },
            "downloads": -1,
            "filename": "bonsai-1.5.2.tar.gz",
            "has_sig": false,
            "md5_digest": "9b8fa0663bb530a58b2129df35b40981",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 149852,
            "upload_time": "2023-11-20T21:54:32",
            "upload_time_iso_8601": "2023-11-20T21:54:32.914490Z",
            "url": "https://files.pythonhosted.org/packages/ba/a5/0e3aeedfe4a8f183965e0fe47024c6855ef7bd95912df9c1093351425a03/bonsai-1.5.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-20 21:54:32",
    "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.15088s