# aiorgwadmin
[](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[](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"
}