{ "info": { "author": "", "author_email": "support@nanonets.com", "bugtrack_url": null, "classifiers": [], "description": "
\n \n \"The\n \n
\n\n

The NanoNets API Python Wrapper

\n\n** **\n\nNanonets provides an easy to use API to communicate with it's servers and build machine learning models and make predictions on image data. \nThe models that can be built are - \n1. Image Classification\n2. Multi-label Classification\n3. Object Detection\n4. OCR \n\nCheck us out at https://nanonets.com.
\nTo find out about our GUI solution or to get your API key, check out https://app.nanonets.com\n\n** **\n\n## Installation\n\n### Pip install - \nRun the following command from your terminal - \n```bash\npip install nanonets\n```\n\n### Setuptools - \nTo install using setuptools, run the following commands from your terminal\n```bash\ngit clone https://github.com/NanoNets/nanonets-python-wrapper.git\ncd nanonets-python-wrapper\npython setup.py install --user\n```\n\n** **\n\n## Create Models - \nTo create a new model\n1. Head over to https://app.nanonets.com, login, click on the 'API Keys' tab on the left. \n2. Click on 'COPY KEY'\n3. Create a model using the following python code\n```python\nfrom nanonets import ImageClassification\n\n# from nanonets import MultilabelClassification\n# from nanonets import ObjectDetection\n# from nanonets import OCR\n\napi_key = 'YOUR_API_KEY_GOES_HERE'\ncategories = ['list', 'of', 'your', 'labels']\n\nmodel = ImageClassification(api_key, categories)\n```\n\nThis will print a Model ID that you should note down for future reference. You can also find this out by visiting https://app.nanonets.com\n\n** **\n\n## Preparing training data\nThe training data, needs to be put into a dictionary format where \n* for image classification models - \n\t* keys (str) - filepaths/urls of images\n\t* values (str) - labels for each image\n* for multilabel classification models - \n\t* keys (str) - filepaths/urls of images\n\t* values (List[str]) - list of labels for each image\n* for object detection models - \n\t* keys (str) - filepaths of images\n\t* values (str) - annotation paths for each image (XML or JSON)\n* for OCR models - \n\t* keys (str) - filepaths of images\n\t* values (str) - annotation paths for each image (XML or JSON)\n\nyou can look into the data/annotations directory to get a better idea. \n\n** **\n\n## Training and model status\n\nTo train a model on some training data - \n```python\nmodel.train(training_dict, data_path_type='files')\n```\n\nThe images will get uploaded and the training will get initialised after. \n\nYou can check if the model is trained or not at anytime by running the following command from a python console - \n```python\napi_key = 'YOUR_API_KEY_GOES_HERE'\ncategories = ['list', 'of', 'your', 'labels']\nmodel_id = 'YOUR_MODEL_ID'\n\nmodel = ImageClassification(api_key, categories, model_id=model_id)\nmodel._check_model_state()\n```\nOr you can wait for Nanonets to email you once the training is finished. \n\n** **\n\n## Inference\nYou can run inference on a single image or multiple images. You can use urls as well as local files. \n\n```python\napi_key = 'YOUR_API_KEY_GOES_HERE'\ncategories = ['list', 'of', 'your', 'labels']\nmodel_id = 'YOUR_MODEL_ID'\n\nmodel = ImageClassification(api_key, categories, model_id=model_id)\n\n## list of file paths of several test images\nimg_dir = 'PATH_TO_YOUR_IMAGES_DIR'\nimglist = os.listdir(img_dir)\nimglist = [img_dir + '/' + x for x in imglist]\n\n## list of urls of several test images\nurls = ['LIST', 'OF', 'YOUR', 'IMAGE', 'URLS']\n\n## prediction functions for single file\nresp_one_file = model.predict_for_file(imglist[0])\nprint(\"IC response - single image: \", resp_one_file)\n\n## prediction functions for multiple files\nresp_mul_files = model.predict_for_files(imglist)\nprint(\"IC response - multiple images: \", resp_mul_files)\n\n## prediction functions for single url\nresp_one_url = model.predict_for_url(urls[0])\nprint(\"IC response - single URL: \", resp_one_url)\n\n## prediction functions for multiple urls\nresp_mul_urls = model.predict_for_urls(urls)\nprint(\"IC response - multiple URLs: \", resp_mul_urls)\n```\n\n** **\n\n NOTE: The data in the ```data``` directory is meant to serve as examples and is generated randomly to demonstrate training and inference code in the ```examples``` directory. Use said data to understand the format requirements for the library and not for building models. \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://nanonets.com", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "nanonets", "package_url": "https://pypi.org/project/nanonets/", "platform": "", "project_url": "https://pypi.org/project/nanonets/", "project_urls": { "Homepage": "https://nanonets.com" }, "release_url": "https://pypi.org/project/nanonets/2.0.5/", "requires_dist": [ "requests (==2.22.0)", "setuptools (==41.0.1)", "tqdm (==4.36.1)", "xmljson (==0.2.0)" ], "requires_python": "", "summary": "The Nanonets API", "version": "2.0.5", "yanked": false, "yanked_reason": null }, "last_serial": 6213197, "releases": { "2.0.0": [ { "comment_text": "", "digests": { "md5": "8ab58eb80d155db41243fa3c95260196", "sha256": "6f52e28064570065cdf6693e3a712fc31051052a06b70c5dc604415b7b6044ba" }, "downloads": -1, "filename": "nanonets-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8ab58eb80d155db41243fa3c95260196", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13213, "upload_time": "2019-10-18T10:03:23", "upload_time_iso_8601": "2019-10-18T10:03:23.270771Z", "url": "https://files.pythonhosted.org/packages/25/aa/411504dfdc7e9502388450a99df9ef8053d466f86f637ebff01b0086936d/nanonets-2.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ca8495d9a8f9179d9d5c7d69cc610f06", "sha256": "0ca621493b12d5f50bb9a94c93e3d414b95ffecc506b73795f7d687e53471b07" }, "downloads": -1, "filename": "nanonets-2.0.0.tar.gz", "has_sig": false, "md5_digest": "ca8495d9a8f9179d9d5c7d69cc610f06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8831, "upload_time": "2019-10-18T10:03:25", "upload_time_iso_8601": "2019-10-18T10:03:25.926741Z", "url": "https://files.pythonhosted.org/packages/77/da/5f4697487a1942ae92d72f86a8615e1bb86f59865930d00c949cbc4e6755/nanonets-2.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "dd3b2e74aa14491a4609a50787e713ed", "sha256": "a57e1b9372090ed07dbd424eb3cf7f54062fb857970d3df267b26cd3d405918c" }, "downloads": -1, "filename": "nanonets-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "dd3b2e74aa14491a4609a50787e713ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12894, "upload_time": "2019-10-23T07:38:01", "upload_time_iso_8601": "2019-10-23T07:38:01.887145Z", "url": "https://files.pythonhosted.org/packages/e6/dc/88e848496f9d5e8263bdaba858dca65db15b3feb017a68d39a8852650a93/nanonets-2.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0abfd5a2a1f65c67acad11b32ba69163", "sha256": "deacfd7a6847d4c9c7a18fa3b4e6ae782059d8341848394bb9bf066eddd46f97" }, "downloads": -1, "filename": "nanonets-2.0.1.tar.gz", "has_sig": false, "md5_digest": "0abfd5a2a1f65c67acad11b32ba69163", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9142, "upload_time": "2019-10-23T07:38:03", "upload_time_iso_8601": "2019-10-23T07:38:03.438782Z", "url": "https://files.pythonhosted.org/packages/a6/45/a81696ddc8391bc1ca7da6ec837ce80e38e47fdc0bb4ce75674e589856a1/nanonets-2.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "dceaf79fe3b64954f1dce86dcd2f396f", "sha256": "cc114e2ed2f68427891decec6466b971be3e07c3fa143393d4f373836ca55933" }, "downloads": -1, "filename": "nanonets-2.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dceaf79fe3b64954f1dce86dcd2f396f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13137, "upload_time": "2019-11-28T08:41:24", "upload_time_iso_8601": "2019-11-28T08:41:24.500129Z", "url": "https://files.pythonhosted.org/packages/7e/4c/34bb9a8af238fcae00bd9188fa470d76efd8df736426671502ca4842e5e8/nanonets-2.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "433a4324c11183e610c7453532b938f4", "sha256": "456323efd7c57cbfaf038599677b13676f3413403814e8997b2dab0cb6c7a01a" }, "downloads": -1, "filename": "nanonets-2.0.2.tar.gz", "has_sig": false, "md5_digest": "433a4324c11183e610c7453532b938f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8978, "upload_time": "2019-11-28T08:41:25", "upload_time_iso_8601": "2019-11-28T08:41:25.795279Z", "url": "https://files.pythonhosted.org/packages/7a/c5/c8f147b8e361697bece4c4b57bbb758ac8df09d9075cf32b4bf3164699e5/nanonets-2.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "b47eb01526a873b39b59841e7f431610", "sha256": "08d0bfab7322c25d52f6d3f9fe6a503ae780dc049cdaa1fc92933cefe3efe176" }, "downloads": -1, "filename": "nanonets-2.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b47eb01526a873b39b59841e7f431610", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13204, "upload_time": "2019-11-28T09:12:13", "upload_time_iso_8601": "2019-11-28T09:12:13.973663Z", "url": "https://files.pythonhosted.org/packages/d5/7c/eb651d3bbec769c492b8166ab49a0fefce70a3e687f0ffd3113f55805fe6/nanonets-2.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "066dd9d42e46d45e94e68b6c97958972", "sha256": "2e87611ac1b2f01914727d9b69a38618e48f61dbcbefbd8ed7de771581e035eb" }, "downloads": -1, "filename": "nanonets-2.0.3.tar.gz", "has_sig": false, "md5_digest": "066dd9d42e46d45e94e68b6c97958972", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9055, "upload_time": "2019-11-28T09:12:15", "upload_time_iso_8601": "2019-11-28T09:12:15.828802Z", "url": "https://files.pythonhosted.org/packages/f6/bd/6385ccabd7aaca2341e30a982965329d274efd9c3cb5d2f276966f94855e/nanonets-2.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "481fba2c192c1a5bab39f45d06c9d983", "sha256": "e92bd8a30bbefac85256bce299edf387925470247e51a50261d5a4aff98bf137" }, "downloads": -1, "filename": "nanonets-2.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "481fba2c192c1a5bab39f45d06c9d983", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13202, "upload_time": "2019-11-28T09:19:53", "upload_time_iso_8601": "2019-11-28T09:19:53.068774Z", "url": "https://files.pythonhosted.org/packages/7c/d1/4ab68c9b3657c7ea310ff734285b801dee0c70e4805f3d7378ba89b07efb/nanonets-2.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "edfe107467b7a47c3e38d78ef615e103", "sha256": "4aaf3ad715c61d0df7cd89ff1e9e9aa2f7ed915169bfbc038cd05b0274f959ac" }, "downloads": -1, "filename": "nanonets-2.0.4.tar.gz", "has_sig": false, "md5_digest": "edfe107467b7a47c3e38d78ef615e103", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9058, "upload_time": "2019-11-28T09:19:55", "upload_time_iso_8601": "2019-11-28T09:19:55.090528Z", "url": "https://files.pythonhosted.org/packages/f7/94/f5896c6874440ef370f0eb2cd1afa0159d1d7d8a818faddb363a144feecf/nanonets-2.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "20a5f5e96f54c7e5dbb3ae81cb16863b", "sha256": "40ea4e602067b77654671a56f5213d9bce1cda726dbcd4b812726c25d455ea25" }, "downloads": -1, "filename": "nanonets-2.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "20a5f5e96f54c7e5dbb3ae81cb16863b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13231, "upload_time": "2019-11-28T09:33:35", "upload_time_iso_8601": "2019-11-28T09:33:35.885004Z", "url": "https://files.pythonhosted.org/packages/86/88/0cf1ea4ac888c994a25c61101a74c84025392bf64c0d18df2e588a484833/nanonets-2.0.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f5871f2844c822da9da59e911283e5ad", "sha256": "a5a1caf5dfd25afca666adf27f8e455e909f970918ebccb70a6dd14f14e2297b" }, "downloads": -1, "filename": "nanonets-2.0.5.tar.gz", "has_sig": false, "md5_digest": "f5871f2844c822da9da59e911283e5ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9090, "upload_time": "2019-11-28T09:33:37", "upload_time_iso_8601": "2019-11-28T09:33:37.989852Z", "url": "https://files.pythonhosted.org/packages/d0/8e/085adcdadf04e207da3dafd7987eeee7d40c75d64893839b7bd38a56d1e4/nanonets-2.0.5.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "20a5f5e96f54c7e5dbb3ae81cb16863b", "sha256": "40ea4e602067b77654671a56f5213d9bce1cda726dbcd4b812726c25d455ea25" }, "downloads": -1, "filename": "nanonets-2.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "20a5f5e96f54c7e5dbb3ae81cb16863b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13231, "upload_time": "2019-11-28T09:33:35", "upload_time_iso_8601": "2019-11-28T09:33:35.885004Z", "url": "https://files.pythonhosted.org/packages/86/88/0cf1ea4ac888c994a25c61101a74c84025392bf64c0d18df2e588a484833/nanonets-2.0.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f5871f2844c822da9da59e911283e5ad", "sha256": "a5a1caf5dfd25afca666adf27f8e455e909f970918ebccb70a6dd14f14e2297b" }, "downloads": -1, "filename": "nanonets-2.0.5.tar.gz", "has_sig": false, "md5_digest": "f5871f2844c822da9da59e911283e5ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9090, "upload_time": "2019-11-28T09:33:37", "upload_time_iso_8601": "2019-11-28T09:33:37.989852Z", "url": "https://files.pythonhosted.org/packages/d0/8e/085adcdadf04e207da3dafd7987eeee7d40c75d64893839b7bd38a56d1e4/nanonets-2.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }