aiorgwadmin


Nameaiorgwadmin JSON
Version 1.2.0 PyPI version JSON
download
home_pagehttps://github.com/mikle-green/aiorgwadmin
SummaryPython Rados Gateway Admin API
upload_time2025-08-29 10:46:18
maintainerNone
docs_urlNone
authorDerek Yarnell <derek@umiacs.umd.edu>, Mikle Green
requires_python>=3.10
licenseLGPL v2.1
keywords ceph radosgw admin api async
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # aiorgwadmin

[![Documentation Status](https://readthedocs.org/projects/rgwadmin/badge/?version=latest)](https://rgwadmin.readthedocs.io/en/latest/?badge=latest)

aiorgwadmin is fork of rgwadmin library.

aiorgwadmin is an async Python library to access the Ceph Object Storage Admin API.

http://docs.ceph.com/docs/master/radosgw/adminops/


## API Example Usage

```python
import asyncio
from aiorgwadmin import RGWAdmin

async def main():
    rgw = RGWAdmin(access_key='XXX', secret_key='XXX', server='obj.example.com')
    await rgw.create_user(
        uid='liam',
        display_name='Liam Monahan',
        email='liam@umiacs.umd.edu',
        user_caps='usage=read, write; users=read',
        max_buckets=1000)
    await rgw.set_user_quota(
        uid='liam',
        quota_type='user',
        max_size_kb=1024 * 1024,
        enabled=True)
    await rgw.remove_user(uid='liam', purge_data=True)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```

## User Example Usage

```python
import asyncio
from aiorgwadmin import RGWAdmin, RGWUser

async def main():
    RGWAdmin.connect(access_key='XXX', secret_key='XXX', server='obj.example.com')
    u = await RGWUser.create(user_id='test', display_name='Test User')
    u.user_quota.size = 1024 * 1024  # in bytes
    u.user_quota.enabled = True
    await u.save()
    await u.delete()

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```

## Requirements

aiorgwadmin requires the following Python packages:

 * [aiohttp](https://docs.aiohttp.org)
 * [requests](http://python-requests.org/)
 * [requests-aws](https://github.com/tax/python-requests-aws)

Additionally, you need to have a [Ceph](http://www.ceph.org) Object Storage
instance with a user that has appropriate caps (capabilities) on the parts of
the API that you want to access.  See the
[Ceph Object Storage](http://docs.ceph.com/docs/master/radosgw/) page for more
information.

### Compatibility
aiorgwadmin implements all documented Admin API operations or recent versions of
Ceph.  We also implement some of the undocumented ones, too...

## Installation

```pip install aiorgwadmin```


## License

    rgwadmin - a Python interface to the Rados Gateway Admin API
    Copyright (C) 2015  UMIACS

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

    Email:
        github@umiacs.umd.edu

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/mikle-green/aiorgwadmin",
    "name": "aiorgwadmin",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "ceph, radosgw, admin api, async",
    "author": "Derek Yarnell <derek@umiacs.umd.edu>, Mikle Green",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/e1/e6/be55e0d44fd841efbefbea2f61af542745efc334a8d5c2d64052b102b583/aiorgwadmin-1.2.0.tar.gz",
    "platform": null,
    "description": "# aiorgwadmin\r\n\r\n[![Documentation Status](https://readthedocs.org/projects/rgwadmin/badge/?version=latest)](https://rgwadmin.readthedocs.io/en/latest/?badge=latest)\r\n\r\naiorgwadmin is fork of rgwadmin library.\r\n\r\naiorgwadmin is an async Python library to access the Ceph Object Storage Admin API.\r\n\r\nhttp://docs.ceph.com/docs/master/radosgw/adminops/\r\n\r\n\r\n## API Example Usage\r\n\r\n```python\r\nimport asyncio\r\nfrom aiorgwadmin import RGWAdmin\r\n\r\nasync def main():\r\n    rgw = RGWAdmin(access_key='XXX', secret_key='XXX', server='obj.example.com')\r\n    await rgw.create_user(\r\n        uid='liam',\r\n        display_name='Liam Monahan',\r\n        email='liam@umiacs.umd.edu',\r\n        user_caps='usage=read, write; users=read',\r\n        max_buckets=1000)\r\n    await rgw.set_user_quota(\r\n        uid='liam',\r\n        quota_type='user',\r\n        max_size_kb=1024 * 1024,\r\n        enabled=True)\r\n    await rgw.remove_user(uid='liam', purge_data=True)\r\n\r\nloop = asyncio.get_event_loop()\r\nloop.run_until_complete(main())\r\n```\r\n\r\n## User Example Usage\r\n\r\n```python\r\nimport asyncio\r\nfrom aiorgwadmin import RGWAdmin, RGWUser\r\n\r\nasync def main():\r\n    RGWAdmin.connect(access_key='XXX', secret_key='XXX', server='obj.example.com')\r\n    u = await RGWUser.create(user_id='test', display_name='Test User')\r\n    u.user_quota.size = 1024 * 1024  # in bytes\r\n    u.user_quota.enabled = True\r\n    await u.save()\r\n    await u.delete()\r\n\r\nloop = asyncio.get_event_loop()\r\nloop.run_until_complete(main())\r\n```\r\n\r\n## Requirements\r\n\r\naiorgwadmin requires the following Python packages:\r\n\r\n * [aiohttp](https://docs.aiohttp.org)\r\n * [requests](http://python-requests.org/)\r\n * [requests-aws](https://github.com/tax/python-requests-aws)\r\n\r\nAdditionally, you need to have a [Ceph](http://www.ceph.org) Object Storage\r\ninstance with a user that has appropriate caps (capabilities) on the parts of\r\nthe API that you want to access.  See the\r\n[Ceph Object Storage](http://docs.ceph.com/docs/master/radosgw/) page for more\r\ninformation.\r\n\r\n### Compatibility\r\naiorgwadmin implements all documented Admin API operations or recent versions of\r\nCeph.  We also implement some of the undocumented ones, too...\r\n\r\n## Installation\r\n\r\n```pip install aiorgwadmin```\r\n\r\n\r\n## License\r\n\r\n    rgwadmin - a Python interface to the Rados Gateway Admin API\r\n    Copyright (C) 2015  UMIACS\r\n\r\n    This library is free software; you can redistribute it and/or\r\n    modify it under the terms of the GNU Lesser General Public\r\n    License as published by the Free Software Foundation; either\r\n    version 2.1 of the License, or (at your option) any later version.\r\n\r\n    This library is distributed in the hope that it will be useful,\r\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r\n    Lesser General Public License for more details.\r\n\r\n    You should have received a copy of the GNU Lesser General Public\r\n    License along with this library; if not, write to the Free Software\r\n    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r\n\r\n    Email:\r\n        github@umiacs.umd.edu\r\n",
    "bugtrack_url": null,
    "license": "LGPL v2.1",
    "summary": "Python Rados Gateway Admin API",
    "version": "1.2.0",
    "project_urls": {
        "Homepage": "https://github.com/mikle-green/aiorgwadmin"
    },
    "split_keywords": [
        "ceph",
        " radosgw",
        " admin api",
        " async"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f7e285baa46d89a73d782bba14c2805523f92b5e8af2d404f6bb6edce2b63036",
                "md5": "276e36e09b56b3d0e9dc5fb3906021c3",
                "sha256": "47f32e130c11bc18abea108fe655a1ca80c521068eea0a6eca28239e49a9ee22"
            },
            "downloads": -1,
            "filename": "aiorgwadmin-1.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "276e36e09b56b3d0e9dc5fb3906021c3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 21540,
            "upload_time": "2025-08-29T10:46:16",
            "upload_time_iso_8601": "2025-08-29T10:46:16.836586Z",
            "url": "https://files.pythonhosted.org/packages/f7/e2/85baa46d89a73d782bba14c2805523f92b5e8af2d404f6bb6edce2b63036/aiorgwadmin-1.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e1e6be55e0d44fd841efbefbea2f61af542745efc334a8d5c2d64052b102b583",
                "md5": "bd55e2b7ed336cc757c77f0c8c7e86ae",
                "sha256": "9979e4bad5e8f4f8c323dd83bbd29664b30d34b8d1b3e8ff31ce0384a36f6d5e"
            },
            "downloads": -1,
            "filename": "aiorgwadmin-1.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "bd55e2b7ed336cc757c77f0c8c7e86ae",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 31934,
            "upload_time": "2025-08-29T10:46:18",
            "upload_time_iso_8601": "2025-08-29T10:46:18.099883Z",
            "url": "https://files.pythonhosted.org/packages/e1/e6/be55e0d44fd841efbefbea2f61af542745efc334a8d5c2d64052b102b583/aiorgwadmin-1.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-29 10:46:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mikle-green",
    "github_project": "aiorgwadmin",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "tox": true,
    "lcname": "aiorgwadmin"
}
        
Elapsed time: 0.86507s