# apininja
`apininja` is a simple CLI automation tool that generates a small boilerplate module
that serves as api for database models or other models. Currently it generates the basic
CRUD operations as well as functions for serializing a single object to dictionary.
## Sample Output
A sample output for `apininja MyModel`
```py
# API Created for my_model
def serialize_my_model(data):
return {"id": data.id}
def serialize_my_models(lst):
serialized = []
for item in lst:
serialized.append(serialize_my_model(item))
return serialized
def my_model_list_api(lst):
return serialize_my_models(lst)
def my_model_detail_api(data):
return serialize_my_model(data)
def my_model_create_api(*args, **kwargs):
pass
def my_model_update_api(*args, **kwargs):
pass
def my_model_delete_api(*args):
pass
```
## Installation
```py
pip install apininja
```
## Usage
```py
apininja UserModel
```
Raw data
{
"_id": null,
"home_page": "https://github.com/alexiusacademia/apininja",
"name": "apininja",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "api generator",
"author": "Alex Academia",
"author_email": "alexius.sayco.academia@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/c5/fd/2e7a553f635c818afb3ec40365f5e4aaffe1a4f2e66d07547f05e7493d42/apininja-0.1.9.tar.gz",
"platform": null,
"description": "# apininja\n\n`apininja` is a simple CLI automation tool that generates a small boilerplate module\nthat serves as api for database models or other models. Currently it generates the basic\nCRUD operations as well as functions for serializing a single object to dictionary.\n\n## Sample Output\n\nA sample output for `apininja MyModel`\n\n```py\n# API Created for my_model\n\ndef serialize_my_model(data):\n\treturn {\"id\": data.id}\n\ndef serialize_my_models(lst):\n\tserialized = []\n\tfor item in lst:\n\t\tserialized.append(serialize_my_model(item))\n\treturn serialized\n\ndef my_model_list_api(lst):\n\treturn serialize_my_models(lst)\n\ndef my_model_detail_api(data):\n\treturn serialize_my_model(data)\n\ndef my_model_create_api(*args, **kwargs):\n\tpass\n\ndef my_model_update_api(*args, **kwargs):\n\tpass\n\ndef my_model_delete_api(*args):\n\tpass\n```\n\n## Installation\n\n```py\npip install apininja\n```\n\n## Usage\n\n```py\napininja UserModel\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "An api module generator.",
"version": "0.1.9",
"project_urls": {
"Homepage": "https://github.com/alexiusacademia/apininja"
},
"split_keywords": [
"api",
"generator"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2c7f705ca067e662a7130fcccf38559bf7c5aaa22ace4a8b7c8df2b98b99ee94",
"md5": "0728e27219620cbded2a61b202d4c5d6",
"sha256": "55858695047676790ef1fa1a44719eccc3a4dc0b92a9af4616ebce6cfbe33aec"
},
"downloads": -1,
"filename": "apininja-0.1.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0728e27219620cbded2a61b202d4c5d6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 2622,
"upload_time": "2023-05-07T12:46:19",
"upload_time_iso_8601": "2023-05-07T12:46:19.260320Z",
"url": "https://files.pythonhosted.org/packages/2c/7f/705ca067e662a7130fcccf38559bf7c5aaa22ace4a8b7c8df2b98b99ee94/apininja-0.1.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c5fd2e7a553f635c818afb3ec40365f5e4aaffe1a4f2e66d07547f05e7493d42",
"md5": "3318c786e2691059950ef67c1d8cc6f8",
"sha256": "66e505734dd27e976720489583d98078fd8be0699b7345fe5dcf8d7d8e7ebe61"
},
"downloads": -1,
"filename": "apininja-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "3318c786e2691059950ef67c1d8cc6f8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2374,
"upload_time": "2023-05-07T12:46:21",
"upload_time_iso_8601": "2023-05-07T12:46:21.360651Z",
"url": "https://files.pythonhosted.org/packages/c5/fd/2e7a553f635c818afb3ec40365f5e4aaffe1a4f2e66d07547f05e7493d42/apininja-0.1.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-07 12:46:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "alexiusacademia",
"github_project": "apininja",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "apininja"
}