{ "info": { "author": "Ernest W. Durbin III", "author_email": "ewdurbin@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Programming Language :: Python :: 3.7" ], "description": "DynamoClasses\n=============\n\nAPI interface for [Amazon Web Services DynamoDB](https://aws.amazon.com/dynamodb/) built on top of [PEP 557 Data Classes](https://www.python.org/dev/peps/pep-0557/).\n\nThe goal is to have something that is fully a `dataclass` class, but gets some helpers bolted on allowing for retrieving/storing the objects in DynamoDB.\n\n## Basic Usage\n\n```python\n>>> import botocore\n>>>\n>>> from moto import mock_dynamodb2\n>>>\n>>> from dynamoclasses import dynamoclass\n>>>\n>>> mock_dynamodb2().start()\n>>>\n>>> session = botocore.session.get_session()\n>>> client = session.create_client(\"dynamodb\")\n>>> client.create_table(\n... TableName=\"inventory\",\n... KeySchema=[\n... {\"AttributeName\": \"item_id\", \"KeyType\": \"HASH\"},\n... ],\n... AttributeDefinitions=[\n... {\"AttributeName\": \"item_id\", \"AttributeType\": \"S\"},\n... ],\n... ProvisionedThroughput={\"ReadCapacityUnits\": 1, \"WriteCapacityUnits\": 1},\n... )\n{'TableDescription': ...}\n>>>\n>>> @dynamoclass(table_name=\"inventory\", partition_key_name=\"item_id\")\n... class InventoryItem:\n... item_id: str\n...\n>>> item = InventoryItem(\"hammers\")\n>>> item.save()\n{'Attributes': ...}\n>>>\n>>> found_item = InventoryItem.get(partition_key=\"hammers\", sort_key=None)\n>>>\n>>> print(found_item.item_id)\nhammers\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ewdurbin/dynamoclasses", "keywords": "dataclasses dynamodb", "license": "", "maintainer": "", "maintainer_email": "", "name": "dynamoclasses", "package_url": "https://pypi.org/project/dynamoclasses/", "platform": "", "project_url": "https://pypi.org/project/dynamoclasses/", "project_urls": { "Bug Reports": "https://github.com/ewdurbin/dynamoclasses/issues", "Homepage": "https://github.com/ewdurbin/dynamoclasses", "Source": "https://github.com/ewdurbin/dynamoclasses/" }, "release_url": "https://pypi.org/project/dynamoclasses/1.0.0a1/", "requires_dist": [ "boto3", "dataclasses", "moto; extra == 'test'" ], "requires_python": "", "summary": "DynamoDB ORM using dataclasses", "version": "1.0.0a1" }, "last_serial": 5446746, "releases": { "1.0.0a1": [ { "comment_text": "", "digests": { "md5": "6422e108546546d98c722bcfdb3f1ff9", "sha256": "1175b0cde9b768d9765bf3d5e042e53db3a0eab299b41737052a1dde14ae3cca" }, "downloads": -1, "filename": "dynamoclasses-1.0.0a1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6422e108546546d98c722bcfdb3f1ff9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4235, "upload_time": "2018-04-03T21:14:46", "url": "https://files.pythonhosted.org/packages/34/12/0df601f1f6c7e1fd134975d0ffd10779a39e096ba135cd10be6af7ec773a/dynamoclasses-1.0.0a1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b70863514f1e9ff1eb1ffcc392faea50", "sha256": "bd6ff8085cdd20f2938ad74a784905328b926d153f3597b23a43fbab3b81fd51" }, "downloads": -1, "filename": "dynamoclasses-1.0.0a1.tar.gz", "has_sig": false, "md5_digest": "b70863514f1e9ff1eb1ffcc392faea50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3597, "upload_time": "2018-04-03T21:14:47", "url": "https://files.pythonhosted.org/packages/22/60/011b58a15755a73e3471914c00078e8e373f7a675d4afb4c7814864ef246/dynamoclasses-1.0.0a1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6422e108546546d98c722bcfdb3f1ff9", "sha256": "1175b0cde9b768d9765bf3d5e042e53db3a0eab299b41737052a1dde14ae3cca" }, "downloads": -1, "filename": "dynamoclasses-1.0.0a1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6422e108546546d98c722bcfdb3f1ff9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4235, "upload_time": "2018-04-03T21:14:46", "url": "https://files.pythonhosted.org/packages/34/12/0df601f1f6c7e1fd134975d0ffd10779a39e096ba135cd10be6af7ec773a/dynamoclasses-1.0.0a1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b70863514f1e9ff1eb1ffcc392faea50", "sha256": "bd6ff8085cdd20f2938ad74a784905328b926d153f3597b23a43fbab3b81fd51" }, "downloads": -1, "filename": "dynamoclasses-1.0.0a1.tar.gz", "has_sig": false, "md5_digest": "b70863514f1e9ff1eb1ffcc392faea50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3597, "upload_time": "2018-04-03T21:14:47", "url": "https://files.pythonhosted.org/packages/22/60/011b58a15755a73e3471914c00078e8e373f7a675d4afb4c7814864ef246/dynamoclasses-1.0.0a1.tar.gz" } ] }