{ "info": { "author": "MonkeyLearn", "author_email": "hello@monkeylearn.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "# MonkeyLearn API for Python\n\nOfficial Python client for the [MonkeyLearn API](https://monkeylearn.com/api/). Build and run machine learning models for language processing from your Python apps.\n\n\nInstallation\n---------------\n\n\nYou can use pip to install the library:\n\n```bash\n$ pip install monkeylearn\n```\n\nAlternatively, you can just clone the repository and run the setup.py script:\n\n```bash\n$ python setup.py install\n```\n\n\nUsage\n------\n\n\nBefore making requests to the API, you need to create an instance of the MonkeyLearn client. You will have to use your [account API Key](https://app.monkeylearn.com/main/my-account/tab/api-keys/):\n\n```python\nfrom monkeylearn import MonkeyLearn\n\n# Instantiate the client Using your API key\nml = MonkeyLearn('')\n```\n\n### Requests\n\nFrom the MonkeyLearn client instance, you can call any endpoint (check the [available endpoints](#available-endpoints) below). For example, you can [classify](#classify) a list of texts using the public [Sentiment analysis classifier](https://app.monkeylearn.com/main/classifiers/cl_oJNMkt2V/):\n\n\n```python\nresponse = ml.classifiers.classify(\n model_id='cl_Jx8qzYJh',\n data=[\n 'Great hotel with excellent location',\n 'This is the worst hotel ever.'\n ]\n)\n\n```\n\n### Responses\n\nThe response object returned by every endpoint call is a `MonkeyLearnResponse` object. The `body` attribute has the parsed response from the API:\n\n```python\nprint(response.body)\n# => [\n# => {\n# => 'text': 'Great hotel with excellent location',\n# => 'external_id': null,\n# => 'error': false,\n# => 'classifications': [\n# => {\n# => 'tag_name': 'Positive',\n# => 'tag_id': 1994,\n# => 'confidence': 0.922,\n# => }\n# => ]\n# => },\n# => {\n# => 'text': 'This is the worst hotel ever.',\n# => 'external_id': null,\n# => 'error': false,\n# => 'classifications': [\n# => {\n# => 'tag_name': 'Negative',\n# => 'tag_id': 1941,\n# => 'confidence': 0.911,\n# => }\n# => ]\n# => }\n# => ]\n```\n\nYou can also access other attributes in the response object to get information about the queries used or available:\n\n```python\nprint(response.plan_queries_allowed)\n# => 300\n\nprint(response.plan_queries_remaining)\n# => 240\n\nprint(response.request_queries_used)\n# => 2\n```\n\n### Errors\n\nEndpoint calls may raise exceptions. Here is an example on how to handle them:\n\n```python\nfrom monkeylearn.exceptions import PlanQueryLimitError, MonkeyLearnException\n\ntry:\n response = ml.classifiers.classify('[MODEL_ID]', data=['My text'])\nexcept PlanQueryLimitError as e:\n # No monthly queries left\n # e.response contains the MonkeyLearnResponse object\n print(e.error_code, e.detail)\nexcept MonkeyLearnException:\n raise\n```\n\nAvailable exceptions:\n\n| class | Description |\n|-----------------------------|-------------|\n| `MonkeyLearnException` | Base class for every exception below. |\n| `RequestParamsError` | An invalid parameter was sent. Check the exception message or response object for more information. |\n| `AuthenticationError` | Authentication failed, usually because an invalid token was provided. Check the exception message. More about [Authentication](https://monkeylearn.com/api/v3/#authentication). |\n| `ForbiddenError` | You don't have permissions to perform the action on the given resource. |\n| `ModelLimitError` | You have reached the custom model limit for your plan. |\n| `ModelNotFound` | The model does not exist. Check the `model_id`. |\n| `TagNotFound` | The tag does not exist. Check the `tag_id` parameter. |\n| `PlanQueryLimitError` | You have reached the monthly query limit for your plan. Consider upgrading your plan. More about [Plan query limits](https://monkeylearn.com/api/v3/#query-limits). |\n| `PlanRateLimitError` | You have sent too many requests in the last minute. Check the exception detail. More about [Plan rate limit](https://monkeylearn.com/api/v3/#plan-rate-limit). |\n| `ConcurrencyRateLimitError` | You have sent too many requests in the last second. Check the exception detail. More about [Concurrency rate limit](https://monkeylearn.com/api/v3/#concurrecy-rate-limit). |\n| `ModelStateError` | The state of the model is invalid. Check the exception detail. |\n\n\n### Auto-batching\n\n[Classify](#classify) and [Extract](#extract) endpoints might require more than one request to the MonkeyLearn API in order to process every text in the `data` parameter. If the `auto_batch` parameter is `True` (which is the default value), you won't have to keep the `data` length below the max allowed value (200). You can just pass the full list and the library will handle the batching and make the necessary requests. If the `retry_if_throttled` parameter is `True` (which is the default value), it will also wait and retry if the API throttled a request.\n\nLet's say you send a `data` parameter with 300 texts and `auto_batch` is enabled. The list will be split internally and two requests will be sent to MonkeyLearn with 200 and 100 texts, respectively. If all requests respond with a 200 status code, the responses will be appended and you will get the 300 classifications as usual in the `MonkeyLearnResponse.body` attribute:\n\n``` python\ndata = ['Text to classify'] * 300\nresponse = ml.classifiers.classify('[MODEL_ID]', data)\nassert len(response.body) == 300 # => True\n```\n\nNow, let's say you only had 200 queries left when trying the previous example, the second internal request would fail since you wouldn't have queries left after the first batch and a `PlanQueryLimitError` exception would be raised. The first 200 (successful) classifications will be in the exception object. However, if you don't manage this exception with an `except` clause, those first 200 successful classifications will be lost. Here's how you should handle that case:\n\n``` python\nfrom monkeylearn.exceptions import PlanQueryLimitError\n\ndata = ['Text to classify'] * 300\nbatch_size = 200\n\ntry:\n response = ml.classifiers.classify('[MODEL_ID]', data, batch_size=batch_size)\nexcept PlanQueryLimitError as e:\n partial_predictions = e.response.body # The body of the successful responses\n non_2xx_raw_responses = r.response.failed_raw_responses # List of requests responses objects\nelse:\n predictions = response.body\n```\n\nThis is very convenient and usually should be enough. If you need more flexibility, you can manage batching and rate limits yourself.\n\n``` python\nfrom time import sleep\nfrom monkeylearn.exceptions import PlanQueryLimitError, ConcurrencyRateLimitError, PlanRateLimitError\n\ndata = ['Text to classify'] * 300\nbatch_size = 200\npredictions = []\n\nfor i in range(0, len(data), batch_size):\n batch_data = data[i:i + batch_size]\n\n retry = True\n while retry:\n try:\n retry = True\n response = ml.classifiers.classify('[MODEL_ID]', batch_data, auto_batch=False,\n retry_if_throttled=False)\n except PlanRateLimitError as e:\n sleep(e.seconds_to_wait)\n except ConcurrencyRateLimitError:\n sleep(2)\n except PlanQueryLimitError:\n raise\n else:\n retry = False\n\n predictions.extend(response.body)\n```\n\nThis way you'll be able to control every request that is sent to the MonkeyLearn API.\n\nAvailable endpoints\n------------------------\n\nThese are all the endpoints of the API. For more information about each endpoint, check out the [API documentation](https://monkeylearn.com/api/v3/).\n\n### Classifiers\n\n#### [Classify](https://monkeylearn.com/api/v3/?shell#classify)\n\n\n```python\ndef MonkeyLearn.classifiers.classify(model_id, data, production_model=False, batch_size=200,\n auto_batch=True, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Classifier ID. It always starts with `'cl'`, for example, `'cl_oJNMkt2V'`. |\n|*data* |`list[str or dict]`|A list of up to 200 data elements to classify. Each element must be a *string* with the text or a *dict* with the required `text` key and the text as the value. You can provide an optional `external_id` key with a string that will be included in the response. |\n|*production_model* |`bool` |Indicates if the classifications are performed by the production model. Only use this parameter with *custom models* (not with the public ones). Note that you first need to deploy your model to production either from the UI model settings or by using the [Classifier deploy endpoint](#deploy). |\n|*batch_size* |`int` |Max number of texts each request will send to MonkeyLearn. A number from 1 to 200. |\n|*auto_batch* |`bool` |Split the `data` list into smaller valid lists, send each one in separate request to MonkeyLearn, and merge the responses. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\ndata = ['First text', {'text': 'Second text', 'external_id': '2'}]\nresponse = ml.classifiers.classify('[MODEL_ID]', data)\n```\n\n
\n\n#### [Classifier detail](https://monkeylearn.com/api/v3/?shell#classifier-detail)\n\n\n```python\ndef MonkeyLearn.classifiers.detail(model_id, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Classifier ID. It always starts with `'cl'`, for example, `'cl_oJNMkt2V'`. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.classifiers.detail('[MODEL_ID]')\n```\n\n
\n\n#### [Create Classifier](https://monkeylearn.com/api/v3/?shell#create-classifier)\n\n\n```python\ndef MonkeyLearn.classifiers.create(name, description='', algorithm='nb', language='en',\n max_features=10000, ngram_range=(1, 1), use_stemming=True,\n preprocess_numbers=True, preprocess_social_media=False,\n normalize_weights=True, stopwords=True, whitelist=None,\n retry_if_throttled=True)\n```\n\nParameters:\n\nParameter | Type | Description\n--------- | ------- | -----------\n*name* | `str` | The name of the model.\n*description* | `str` | The description of the model.\n*algorithm* | `str` | The [algorithm](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-changing-the-algorithm) used when training the model. It can be either \"nb\" or \"svm\".\n*language* | `str` | The [language](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-language) of the model. Full list of [supported languages](https://monkeylearn.com/api/v3/#classifier-detail).\n*max_features* | `int` | The [maximum number of features](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-max-features) used when training the model. Between 10 and 100000.\n*ngram_range* | `tuple(int,int)` | Indicates which [n-gram range](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-n-gram-range) used when training the model. A list of two numbers between 1 and 3. They indicate the minimum and the maximum n for the n-grams used.\n*use_stemming* | `bool`| Indicates whether [stemming](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-stemming) is used when training the model.\n*preprocess_numbers* | `bool` | Indicates whether [number preprocessing](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-preprocess-numbers) is done when training the model.\n*preprocess_social_media* | `bool` | Indicates whether [preprocessing of social media](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-social-media-preprocessing-and-regular-expressions) is done when training the model.\n*normalize_weights* | `bool` | Indicates whether [weights will be normalized](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-normalize-weights) when training the model.\n*stopwords* | `bool or list` | The list of [stopwords](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-filter-stopwords) used when training the model. Use *False* for no stopwords, *True* for the default stopwords, or a list of strings for custom stopwords.\n*whitelist* | `list` | The [whitelist](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-whitelist) of words used when training the model.\n*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.classifiers.create(name='New classifier', stopwords=True)\n```\n
\n\n#### [Edit Classifier](https://monkeylearn.com/api/v3/?shell#edit-classifier)\n\n\n```python\ndef MonkeyLearn.classifiers.edit(model_id, name=None, description=None, algorithm=None,\n language=None, max_features=None, ngram_range=None,\n use_stemming=None, preprocess_numbers=None,\n preprocess_social_media=None, normalize_weights=None,\n stopwords=None, whitelist=None, retry_if_throttled=None)\n```\n\nParameters:\n\nParameter | Type | Description\n--------- | ------- | -----------\n|*model_id* |`str` |Classifier ID. It always starts with `'cl'`, for example, `'cl_oJNMkt2V'`. |\n*name* | `str` | The name of the model.\n*description* | `str` | The description of the model.\n*algorithm* | `str` | The [algorithm](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-changing-the-algorithm) used when training the model. It can be either \"nb\" or \"svm\".\n*language* | `str` | The [language](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-language) of the model. Full list of [supported languages](https://monkeylearn.com/api/v3/#classifier-detail).\n*max_features* | `int` | The [maximum number of features](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-max-features) used when training the model. Between 10 and 100000.\n*ngram_range* | `tuple(int,int)` | Indicates which [n-gram range](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-n-gram-range) used when training the model. A list of two numbers between 1 and 3. They indicate the minimum and the maximum n for the n-grams used.\n*use_stemming* | `bool`| Indicates whether [stemming](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-stemming) is used when training the model.\n*preprocess_numbers* | `bool` | Indicates whether [number preprocessing](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-preprocess-numbers) is done when training the model.\n*preprocess_social_media* | `bool` | Indicates whether [preprocessing of social media](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-social-media-preprocessing-and-regular-expressions) is done when training the model.\n*normalize_weights* | `bool` | Indicates whether [weights will be normalized](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-normalize-weights) when training the model.\n*stopwords* | `bool or list` | The list of [stopwords](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-filter-stopwords) used when training the model. Use *False* for no stopwords, *True* for the default stopwords, or a list of strings for custom stopwords.\n*whitelist* | `list` | The [whitelist](http://help.monkeylearn.com/tips-and-tricks-for-custom-modules/parameters-whitelist) of words used when training the model.\n*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.classifiers.edit('[MODEL_ID]', description='The new description of the classifier')\n```\n
\n\n#### [Delete classifier](https://monkeylearn.com/api/v3/?shell#delete-classifier)\n\n\n```python\ndef MonkeyLearn.classifiers.delete(model_id, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Classifier ID. It always starts with `'cl'`, for example, `'cl_oJNMkt2V'`. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.classifiers.delete('[MODEL_ID]')\n```\n\n
\n\n#### [List Classifiers](https://monkeylearn.com/api/v3/?shell#list-classifiers)\n\n\n```python\ndef MonkeyLearn.classifiers.list(page=1, per_page=20, order_by='-created', retry_if_throttled=True)\n```\n\nParameters:\n\n|Parameter |Type | Description |\n|-------------------- |-------------------|-------------|\n|*page* |`int` |Specifies which page to get.|\n|*per_page* |`int` |Specifies how many items per page will be returned. |\n|*order_by* |`string or list` |Specifies the ordering criteria. It can either be a *string* for single criteria ordering or a *list of strings* for more than one. Each *string* must be a valid field name; if you want inverse/descending order of the field prepend a `-` (dash) character. Some valid examples are: `'is_public'`, `'-name'` or `['-is_public', 'name']`. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.classifiers.list(page=2, per_page=5, order_by=['-is_public', 'name'])\n```\n\n
\n\n#### [Deploy](https://monkeylearn.com/api/v3/?shell#deploy)\n\n\n```python\ndef MonkeyLearn.classifiers.deploy(model_id, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Classifier ID. It always starts with `'cl'`, for example, `'cl_oJNMkt2V'`. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.classifiers.deploy('[MODEL_ID]')\n```\n\n
\n\n#### [Train](https://monkeylearn.com/api/v3/?shell#train)\n\n\n```python\ndef MonkeyLearn.classifiers.train(model_id, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Classifier ID. It always starts with `'cl'`, for example, `'cl_oJNMkt2V'`. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.classifiers.train('[MODEL_ID]')\n```\n\n
\n\n#### [Tag detail](https://monkeylearn.com/api/v3/?shell#classify)\n\n\n```python\ndef MonkeyLearn.classifiers.tags.detail(model_id, tag_id, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Classifier ID. It always starts with `'cl'`, for example, `'cl_oJNMkt2V'`. |\n|*tag_id* |`int` |Tag ID. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n``` python\nresponse = ml.classifiers.tags.detail('[MODEL_ID]', TAG_ID)\n```\n\n
\n\n#### [Create tag](https://monkeylearn.com/api/v3/?shell#create-tag)\n\n\n```python\ndef MonkeyLearn.classifiers.tags.create(model_id, name, parent_id=None, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Classifier ID. It always starts with `'cl'`, for example, `'cl_oJNMkt2V'`. |\n|*name* |`str` |The name of the new tag. |\n|*parent_id* |`int` |**DEPRECATED** (only for v2 models). The ID of the parent tag. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.classifiers.tags.create('[MODEL_ID]', 'Positive')\n```\n\n
\n\n#### [Edit tag](https://monkeylearn.com/api/v3/?shell#edit-tag)\n\n\n```python\ndef MonkeyLearn.classifiers.tags.edit(model_id, tag_id, name=None, parent_id=None,\n retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Classifier ID. It always starts with `'cl'`, for example, `'cl_oJNMkt2V'`. |\n|*tag_id* |`int` |Tag ID. |\n|*name* |`str` |The new name of the tag. |\n|*parent_id* |`int` |**DEPRECATED** (only for v2 models). The new parent tag ID. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.classifiers.tags.edit('[MODEL_ID]', TAG_ID, 'New name')\n```\n\n
\n\n#### [Delete tag](https://monkeylearn.com/api/v3/?shell#delete-tag)\n\n\n```python\ndef MonkeyLearn.classifiers.tags.delete(model_id, tag_id, move_data_to=None,\n retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Classifier ID. It always starts with `'cl'`, for example, `'cl_oJNMkt2V'`. |\n|*tag_id* |`int` |Tag ID. |\n|*move_data_to* |`int` |An optional tag ID. If provided, training data associated with the tag to be deleted will be moved to the specified tag before deletion. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.classifiers.tags.delete('[MODEL_ID]', TAG_ID)\n```\n\n
\n\n#### [Upload data](https://monkeylearn.com/api/v3/?shell#upload-data)\n\n\n```python\ndef MonkeyLearn.classifiers.upload_data(model_id, data, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Classifier ID. It always starts with `'cl'`, for example, `'cl_oJNMkt2V'`. |\n|*data* |`list[dict]` |A list of dicts with the keys described below.\n|*input_duplicates_strategy* |`str` | Indicates what to do with duplicate texts in this request. Must be one of `merge`, `keep_first` or `keep_last`.\n|*existing_duplicates_strategy* |`str` | Indicates what to do with texts of this request that already exist in the model. Must be one of `overwrite` or `ignore`.\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\n`data` dict keys:\n\n|Key | Description |\n|--------- | ----------- |\n|text | A *string* of the text to upload.|\n|tags | A *list* of tags that can be refered to by their numeric ID or their name. The text will be tagged with each tag in the *list* when created (in case it doesn't already exist on the model). Otherwise, its tags will be updated to the new ones. New tags will be created if they don't already exist.|\n|markers | An optional *list* of *string*. Each one represents a marker that will be associated with the text. New markers will be created if they don't already exist.|\n\n\nExample:\n\n```python\nresponse = ml.classifiers.upload_data(\n model_id='[MODEL_ID]',\n data=[{'text': 'text 1', 'tags': [TAG_ID_1, '[tag_name]']},\n {'text': 'text 2', 'tags': [TAG_ID_1, TAG_ID_2]}]\n)\n```\n\n
\n\n### Extractors\n\n\n#### [Extract](https://monkeylearn.com/api/v3/?shell#extract)\n\n\n```python\ndef MonkeyLearn.extractors.extract(model_id, data, production_model=False, batch_size=200,\n retry_if_throttled=True, extra_args=None)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Extractor ID. It always starts with `'ex'`, for example, `'ex_oJNMkt2V'`. |\n|*data* |`list[str or dict]`|A list of up to 200 data elements to extract from. Each element must be a *string* with the text or a *dict* with the required `text` key and the text as the value. You can also provide an optional `external_id` key with a string that will be included in the response. |\n|*production_model* |`bool` |Indicates if the extractions are performed by the production model. Only use this parameter with *custom models* (not with the public ones). Note that you first need to deploy your model to production from the UI model settings. |\n|*batch_size* |`int` |Max number of texts each request will send to MonkeyLearn. A number from 1 to 200. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\ndata = ['First text', {'text': 'Second text', 'external_id': '2'}]\nresponse = ml.extractors.extract('[MODEL_ID]', data=data)\n```\n\n
\n\n#### [Extractor detail](https://monkeylearn.com/api/v3/?shell#extractor-detail)\n\n\n```python\ndef MonkeyLearn.extractors.detail(model_id, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Extractor ID. It always starts with `'ex'`, for example, `'ex_oJNMkt2V'`. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.extractors.detail('[MODEL_ID]')\n```\n\n
\n\n#### [List extractors](https://monkeylearn.com/api/v3/?shell#list-extractors)\n\n\n```python\ndef MonkeyLearn.extractors.list(page=1, per_page=20, order_by='-created', retry_if_throttled=True)\n```\n\nParameters:\n\n|Parameter |Type | Description |\n|---------------------|-------------------|-------------|\n|*page* |`int` |Specifies which page to get.|\n|*per_page* |`int` |Specifies how many items per page will be returned. |\n|*order_by* |`string or list` |Specifies the ordering criteria. It can either be a *string* for single criteria ordering or a *list of strings* for more than one. Each *string* must be a valid field name; if you want inverse/descending order of the field prepend a `-` (dash) character. Some valid examples are: `'is_public'`, `'-name'` or `['-is_public', 'name']`. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.extractors.list(page=2, per_page=5, order_by=['-is_public', 'name'])\n```\n\n### Workflows\n\n#### [Workflow detail](https://monkeylearn.com/api/v3/#workflow-detail)\n\n```python\ndef MonkeyLearn.workflows.detail(model_id, step_id, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Workflow ID. It always starts with `'wf'`, for example, `'wf_oJNMkt2V'`. |\n|*step_id* |`int` |Step ID. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.workflows.detail('[MODEL_ID]', '[STEP_ID]')\n```\n\n
\n\n#### [Create workflow](https://monkeylearn.com/api/v3/#create-workflow)\n\n```python\ndef MonkeyLearn.workflows.create(name, db_name, steps, description='', webhook_url=None,\n custom_fields=None, sources=None, retry_if_throttled=True)\n```\n\nParameters:\n\nParameter | Type | Description\n--------- | ------- | -----------\n*name* | `str` | The name of the model.\n*db_name* | `str` | The name of the database where the data will be stored. The name must not already be in use by another database.\n*steps* | `list[dict]` | A list of step dicts.\n*description* | `str` | The description of the model.\n*webhook_url* | `str` | An URL that will be called when an action is triggered.\n*custom_fields* | `[]`| A list of custom_field dicts that represent user defined fields that come with the input data and that will be saved. It does not include the mandatory `text` field.\n*sources* | `{}` | An object that represents the data sources of the workflow.\n\nExample:\n\n```python\nresponse = ml.workflows.create(\n name='Example Workflow',\n db_name='example_workflow',\n steps=[{\n name: 'sentiment',\n model_id: 'cl_pi3C7JiL'\n }, {\n name: 'keywords',\n model_id: 'ex_YCya9nrn'\n }])\n```\n\n
\n\n#### [Delete workflow](https://monkeylearn.com/api/v3/#delete-workflow)\n\n```python\ndef MonkeyLearn.workflows.delete(model_id, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Workflow ID. It always starts with `'wf'`, for example, `'wf_oJNMkt2V'`. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.workflows.delete('[MODEL_ID]')\n```\n\n
\n\n#### [Step detail](https://monkeylearn.com/api/v3/#step-detail)\n\n```python\ndef MonkeyLearn.workflows.steps.detail(model_id, step_id, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Workflow ID. It always starts with `'wf'`, for example, `'wf_oJNMkt2V'`. |\n|*step_id* |`int` |Step ID. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n``` python\nresponse = ml.workflows.steps.detail('[MODEL_ID]', STEP_ID)\n```\n\n
\n\n#### [Create step](https://monkeylearn.com/api/v3/#create-step)\n\n```python\ndef MonkeyLearn.workflows.steps.create(model_id, name, step_model_id, input=None,\n conditions=None, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Workflow ID. It always starts with `'wf'`, for example, `'wf_oJNMkt2V'`. |\n|*name* |`str` |The name of the new step. |\n|*step_model_id* |`str` |The ID of the MonkeyLearn model that will run in this step. Must be an existing classifier or extractor. |\n|*input* |`str` |Where the input text to use in this step comes from. It can be either the name of a step or `input_data` (the default), which means that the input will be the original text. |\n|*conditions* |`list[dict]` |A list of condition dicts that indicate whether this step should execute or not. All the conditions in the list must be true for the step to execute. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.workflows.steps.create(model_id='[MODEL_ID]', name='sentiment',\n step_model_id='cl_pi3C7JiL')\n```\n\n
\n\n#### [Delete step](https://monkeylearn.com/api/v3/#delete-step)\n\n```python\ndef MonkeyLearn.workflows.steps.delete(model_id, step_id, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Workflow ID. It always starts with `'wf'`, for example, `'wf_oJNMkt2V'`. |\n|*step_id* |`int` |Step ID. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.workflows.steps.delete('[MODEL_ID]', STEP_ID)\n```\n\n
\n\n#### [Upload workflow data](https://monkeylearn.com/api/v3/#upload-workflow-data)\n\n```python\ndef MonkeyLearn.workflows.data.create(model_id, data, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Workflow ID. It always starts with `'wf'`, for example, `'wf_oJNMkt2V'`. |\n|*data* |`list[dict]` |A list of dicts with the keys described below.\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\n`data` dict keys:\n\n|Key | Description |\n|--------- | ----------- |\n|text | A *string* of the text to upload.|\n|[custom field name] | The value for a custom field for this text. The type of the value must be the one specified when the field was created.|\n\n\nExample:\n\n```python\nresponse = ml.workflows.data.create(\n model_id='[MODEL_ID]',\n data=[{'text': 'text 1', 'rating': 3},\n {'text': 'text 2', 'rating': 4}]\n)\n```\n\n
\n\n#### [List workflow data](https://monkeylearn.com/api/v3/#list-workflow-data)\n\n```python\ndef MonkeyLearn.workflows.data.list(model_id, batch_id=None, is_processed=None,\n sent_to_process_date_from=None, sent_to_process_date_to=None,\n page=None, per_page=None, retry_if_throttled=True)\n```\n\nParameters:\n\nParameter | Type | Description\n--------- | ------- | -----------\npage | `int` | The page number to be retrieved.\nper_page | `int` | The maximum number of items the page should have. The maximum allowed value is `50`.\nbatch_id | `int` | The ID of the batch to retrieve. If unspecified, data from all batches is shown.\nis_processed | `bool` | Whether to return data that has been processed or data that has not been processed yet. If unspecified, both are shown indistinctly.\nsent_to_process_date_from | `str` | An [ISO formatted date](https://en.wikipedia.org/wiki/ISO_8601) which specifies the oldest `sent_date` of the data to be retrieved.\nsent_to_process_date_to | `str` | An [ISO formatted date](https://en.wikipedia.org/wiki/ISO_8601) which specifies the most recent `sent_date` of the data to be retrieved.\n\nExample:\n\n```python\nresponse = ml.workflows.data.list('[MODEL_ID]', batch_id=1839, page=1)\n```\n\n
\n\n#### [Create custom field](https://monkeylearn.com/api/v3/#create-custom-field)\n\n\n```python\ndef MonkeyLearn.workflows.custom_fields.create(model_id, name, data_type, retry_if_throttled=True)\n```\n\nParameters:\n\n| Parameter |Type | Description |\n|--------------------|-------------------|-----------------------------------------------------------|\n|*model_id* |`str` |Workflow ID. It always starts with `'wf'`, for example, `'wf_oJNMkt2V'`. |\n|*name* |`str` |The name of the new custom field. |\n|*data_type* |`str` |The type of the data of the field. It must be one of `string`, `date`, `text`, `integer`, `float`, `bool`. |\n|*retry_if_throttled* |`bool` |If a request is [throttled](https://monkeylearn.com/api/v3/#query-limits), sleep and retry the request. |\n\nExample:\n\n```python\nresponse = ml.workflows.custom_fields.create(model_id='[MODEL_ID]', name='rating',\n data_type='integer')\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/monkeylearn/monkeylearn-python/tarball/v3.2.4", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/monkeylearn/monkeylearn-python", "keywords": "monkeylearn,machine learning,python", "license": "", "maintainer": "", "maintainer_email": "", "name": "monkeylearn", "package_url": "https://pypi.org/project/monkeylearn/", "platform": "", "project_url": "https://pypi.org/project/monkeylearn/", "project_urls": { "Download": "https://github.com/monkeylearn/monkeylearn-python/tarball/v3.2.4", "Homepage": "https://github.com/monkeylearn/monkeylearn-python" }, "release_url": "https://pypi.org/project/monkeylearn/3.5.1/", "requires_dist": [ "requests (>=2.8.1)", "six (>=1.10.0)" ], "requires_python": "", "summary": "Official Python client for the MonkeyLearn API", "version": "3.5.1" }, "last_serial": 5992546, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "c1bbb0df09718ef545a93404788f63f0", "sha256": "89c36b1ca0d699dbaf3248c129fefea9082885e2070d824500ed56501b990ccf" }, "downloads": -1, "filename": "monkeylearn-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c1bbb0df09718ef545a93404788f63f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3465, "upload_time": "2015-11-20T15:12:57", "url": "https://files.pythonhosted.org/packages/a2/d3/bab4e403c1fa3c34a3a1a80cf4e94defd70db5e68c95d6c413410dbfd3c8/monkeylearn-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "ea8584a2d7f3ac41147e61478da1c9ce", "sha256": "c03e787eaa573b6d6c97a3f39839797f3c6f01d8b87cb17813cba6c710282b0b" }, "downloads": -1, "filename": "monkeylearn-0.2.tar.gz", "has_sig": false, "md5_digest": "ea8584a2d7f3ac41147e61478da1c9ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3500, "upload_time": "2015-12-03T17:16:22", "url": "https://files.pythonhosted.org/packages/f4/bd/f958c6cf5899e160e39cdba42a4f7fa02aca395940c499a9f7d80157f44d/monkeylearn-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "786f06ede36c7d7a38cf5969267ba232", "sha256": "8293aaee2b1bc311a5a4c811c638f364e5930a32ed60bae01640b121e8315ba1" }, "downloads": -1, "filename": "monkeylearn-0.2.1.tar.gz", "has_sig": false, "md5_digest": "786f06ede36c7d7a38cf5969267ba232", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3507, "upload_time": "2015-12-07T14:38:02", "url": "https://files.pythonhosted.org/packages/5d/83/7d618710f3e19f16b33ff1488b66448306467d24d5559385aa863a390132/monkeylearn-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "220963843ce939e920d784aebe201c57", "sha256": "eeb30aaf81ab6d2f2c04be15b8780a3d6da23c14e4637c3e27de9ebd9709685f" }, "downloads": -1, "filename": "monkeylearn-0.2.2.tar.gz", "has_sig": false, "md5_digest": "220963843ce939e920d784aebe201c57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3521, "upload_time": "2016-03-03T14:47:54", "url": "https://files.pythonhosted.org/packages/a6/e5/b7d55d129b2b6bda6e9a02b2e8053ab4a18d41172f12142975e1001d737b/monkeylearn-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "56f6e1e1785685e806db63c148fdaba2", "sha256": "87aa18650efa5739c370293a68e8d665de532412e44fc504c0345166ec2d89ed" }, "downloads": -1, "filename": "monkeylearn-0.2.3.tar.gz", "has_sig": false, "md5_digest": "56f6e1e1785685e806db63c148fdaba2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3742, "upload_time": "2016-03-04T15:18:14", "url": "https://files.pythonhosted.org/packages/46/8f/f78658387b98713e93009bf6ef1913f6db3659fa60148a57866ba71c5cdc/monkeylearn-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "d2c760b4d8236e266165928da5fa63fa", "sha256": "7ba44ad6ea6f89a7120b4b6cb54eb9f842930055005cf5187b785cd53156df9f" }, "downloads": -1, "filename": "monkeylearn-0.2.4.tar.gz", "has_sig": false, "md5_digest": "d2c760b4d8236e266165928da5fa63fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3841, "upload_time": "2016-03-10T20:00:12", "url": "https://files.pythonhosted.org/packages/e2/51/9f464e73c49f57f9d3ee3041fe102da72aafa8b8bc9d77696c376d7a6bba/monkeylearn-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "331c6bf7334e3917a43002bfd9a879f3", "sha256": "2585775fd5814409a0bacd534d82054c480e9346196b801b133726d9ba133ac0" }, "downloads": -1, "filename": "monkeylearn-0.2.5.tar.gz", "has_sig": false, "md5_digest": "331c6bf7334e3917a43002bfd9a879f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3839, "upload_time": "2016-04-04T14:30:02", "url": "https://files.pythonhosted.org/packages/e8/1a/f66ade481d8d4a72f9483d6ba318369e7a6e57aae7a66edcd227c9f569ed/monkeylearn-0.2.5.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "5420b17d4d994c935c3c157dc50fc704", "sha256": "50709de48aeb11252383b1b8244ca338e53449a81c60b570bf1f4a9cd3434a7a" }, "downloads": -1, "filename": "monkeylearn-0.3.0.tar.gz", "has_sig": false, "md5_digest": "5420b17d4d994c935c3c157dc50fc704", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4194, "upload_time": "2016-04-29T16:06:46", "url": "https://files.pythonhosted.org/packages/73/12/76386eec7d193fbf839022064a207515aae9171f11c607db697c21a774d4/monkeylearn-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "ff878b827a5c25598366019f1f8d0cb4", "sha256": "2c343fe1f3cb837bfa07a7fdf4f5347fbaf441f893b98a4feef34b03e958a8c3" }, "downloads": -1, "filename": "monkeylearn-0.3.1.tar.gz", "has_sig": false, "md5_digest": "ff878b827a5c25598366019f1f8d0cb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4450, "upload_time": "2016-05-27T14:02:49", "url": "https://files.pythonhosted.org/packages/68/43/2fd26f76df80e8df0395156194afbeb1963b0042f58286a7d94f0cb608d5/monkeylearn-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "dabbbf752886ed02527c13db1ddee12b", "sha256": "84eeaea1e0e57fda983acdf4e4ff2360faf7fecffea5b7f9fd87946876a8a66e" }, "downloads": -1, "filename": "monkeylearn-0.3.2.tar.gz", "has_sig": false, "md5_digest": "dabbbf752886ed02527c13db1ddee12b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4533, "upload_time": "2016-06-15T13:32:31", "url": "https://files.pythonhosted.org/packages/96/39/e47e8edda702ec1f792971491e5d900ee62823a36b46015841c3091dde58/monkeylearn-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "fcf131cc026a145c41265e76f7d0ffd5", "sha256": "9f6bbc072e9f01af5e3e750ca82c569be7566869d8a70fd7c034875a156231b7" }, "downloads": -1, "filename": "monkeylearn-0.3.3.tar.gz", "has_sig": false, "md5_digest": "fcf131cc026a145c41265e76f7d0ffd5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4587, "upload_time": "2016-08-05T13:54:50", "url": "https://files.pythonhosted.org/packages/89/cd/f980226d1b7d44aa49c99096943049d8596a43598478d642717d845ef132/monkeylearn-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "7696d3164df04537ebfa512fe9a8a0f5", "sha256": "f8c739e56e32e4fe916ed88430f8b1675d6a6830070accc2fecc4c98119c87fa" }, "downloads": -1, "filename": "monkeylearn-0.3.4.tar.gz", "has_sig": false, "md5_digest": "7696d3164df04537ebfa512fe9a8a0f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4583, "upload_time": "2016-08-30T21:20:06", "url": "https://files.pythonhosted.org/packages/25/75/86fe2712b1f2ebead6b360d0e8671355df344b4dcc084480d18233bfadca/monkeylearn-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "f0fa2df6affceff6741c3f0e87fac939", "sha256": "171d14c6ba93d281aabafa2a7b477b49fc701265853c0cf363055b4ed968fce9" }, "downloads": -1, "filename": "monkeylearn-0.3.5.tar.gz", "has_sig": false, "md5_digest": "f0fa2df6affceff6741c3f0e87fac939", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4584, "upload_time": "2016-08-30T21:24:33", "url": "https://files.pythonhosted.org/packages/7f/88/dfdd7414f54234d736c0f0b6d90d405c3d3c0e2d85e6c376475ca59f0606/monkeylearn-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "ac04d230c39bc9f321cc53a5faaee72f", "sha256": "d22c860596bc89241f86d3a270c6ead794950d4ecfad893d7cf699448e54aaab" }, "downloads": -1, "filename": "monkeylearn-0.3.6.tar.gz", "has_sig": false, "md5_digest": "ac04d230c39bc9f321cc53a5faaee72f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4599, "upload_time": "2017-01-04T20:02:23", "url": "https://files.pythonhosted.org/packages/07/3f/bc121332217ee98745c04e343a6804605b3889b1641ef472e72d3ad9d99b/monkeylearn-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "cf6141796b1ddaed70a31b72051b7050", "sha256": "5b91c79b00f74826a67ecdeadcd184ccdc656ad5d210dca3ee75c913985c5076" }, "downloads": -1, "filename": "monkeylearn-0.3.7.tar.gz", "has_sig": false, "md5_digest": "cf6141796b1ddaed70a31b72051b7050", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4611, "upload_time": "2017-03-21T18:18:58", "url": "https://files.pythonhosted.org/packages/7f/88/43514b17a0b5e7f26e45dcbbde20a5a01d09fbfc9a64eea86436615fce1f/monkeylearn-0.3.7.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "fe564381d72dc7e17ab307fcbad1dcf9", "sha256": "dda8e71b066c8621ac98c65afac0ae3919591573e1311e7f3aa584e351b4d330" }, "downloads": -1, "filename": "monkeylearn-3.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "fe564381d72dc7e17ab307fcbad1dcf9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7569, "upload_time": "2018-05-28T19:12:48", "url": "https://files.pythonhosted.org/packages/51/dd/17dc69c421d4b4f669a059f25060935d6fc7fb6bf4f2857d32e3fa0184e8/monkeylearn-3.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad37ef7a34ece113f4c0a943c833cead", "sha256": "32c1a9e2052c14c41f93f06d2dda0ff42c8e85569bbdd4832c8f9519b2b5c670" }, "downloads": -1, "filename": "monkeylearn-3.0.0.tar.gz", "has_sig": false, "md5_digest": "ad37ef7a34ece113f4c0a943c833cead", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9498, "upload_time": "2018-05-28T19:12:50", "url": "https://files.pythonhosted.org/packages/e9/37/73618c228fd24252a2e7ec5940b3c48c85bfff2fe98a926800143d5d6463/monkeylearn-3.0.0.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "d9d64ffb5e3e73669cd87faec170a69f", "sha256": "87050fcc9574aa1286ed47036852f7ee12279e50bcb6ae2d2d8a9b83b3fdbfd7" }, "downloads": -1, "filename": "monkeylearn-3.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "d9d64ffb5e3e73669cd87faec170a69f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 12639, "upload_time": "2018-07-04T19:30:28", "url": "https://files.pythonhosted.org/packages/0b/c7/2b43aacc7ac085c1083153473d9ce63a2f8a715eb3d56058316a7f34280b/monkeylearn-3.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "251e3f9077163f75b846f1c076c2848e", "sha256": "9a608fd831d3cd0a07fc4b4856dee50bc531d96030591fd6b6de73340f93a7b2" }, "downloads": -1, "filename": "monkeylearn-3.0.1.tar.gz", "has_sig": false, "md5_digest": "251e3f9077163f75b846f1c076c2848e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17944, "upload_time": "2018-07-04T19:30:30", "url": "https://files.pythonhosted.org/packages/0c/35/564dbf5bfde32ead9adfa579c47a502953681c7381a0548f44c4b9269b2a/monkeylearn-3.0.1.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "e6f0a778010cb5a7fd33b82fa4bfeff9", "sha256": "0c771193ab9eb3d258478b16d513bfbfe98e77d1cce1055dcb623071ea882674" }, "downloads": -1, "filename": "monkeylearn-3.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "e6f0a778010cb5a7fd33b82fa4bfeff9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 12761, "upload_time": "2018-07-13T20:26:44", "url": "https://files.pythonhosted.org/packages/15/87/908dc2b84d00f724bfd543b74bb1a66857d9394e48f1cb2121b7254c07c4/monkeylearn-3.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98a85151bb6ac256a39447c83b591bd5", "sha256": "25a7f04fd75acc2c566f7ce3659f5585da04994130a88ea3770db5838ace6bda" }, "downloads": -1, "filename": "monkeylearn-3.1.0.tar.gz", "has_sig": false, "md5_digest": "98a85151bb6ac256a39447c83b591bd5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18515, "upload_time": "2018-07-13T20:26:45", "url": "https://files.pythonhosted.org/packages/a5/4b/303e24f6215da0de202a6fdcf97642745a322fe59f8d7802ebf6028fab61/monkeylearn-3.1.0.tar.gz" } ], "3.2.0": [ { "comment_text": "", "digests": { "md5": "5311e51f75d70951e16ee2b7031a7641", "sha256": "8d85df3d91ecf4004f27336bac2e73b8ba273acadae37d2445057c635c367da6" }, "downloads": -1, "filename": "monkeylearn-3.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "5311e51f75d70951e16ee2b7031a7641", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13395, "upload_time": "2018-07-26T18:28:18", "url": "https://files.pythonhosted.org/packages/b5/61/125b7264d7cbfee62a70592a57038f9c41d956e5e4ed4ea8ead218918dd7/monkeylearn-3.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a97a9971e52a038bc8753b73702b246", "sha256": "66450e555d1c8bb4b165fce10d486559205fae90e69bfe47a8d3ba0772f1fcb5" }, "downloads": -1, "filename": "monkeylearn-3.2.0.tar.gz", "has_sig": false, "md5_digest": "7a97a9971e52a038bc8753b73702b246", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19318, "upload_time": "2018-07-26T18:28:19", "url": "https://files.pythonhosted.org/packages/86/60/120dea55e50feb3cf1a39cf30312c8c4b470149ab554df4530ee9a86d58c/monkeylearn-3.2.0.tar.gz" } ], "3.2.1": [ { "comment_text": "", "digests": { "md5": "9bc161ac227fba1291205b3776841394", "sha256": "c6a7f6ad70a4bc388e813a7dd01a3d4fcc626ee7973e769a2876c46ca2b361e4" }, "downloads": -1, "filename": "monkeylearn-3.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "9bc161ac227fba1291205b3776841394", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13592, "upload_time": "2018-09-13T20:52:41", "url": "https://files.pythonhosted.org/packages/f8/83/6ee07715956ad4bfc6090c2e6724f59b4a7ef5f9eb56d1959d3de8029ad4/monkeylearn-3.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cfa5299d1aeb00c8a750007bfea21ad7", "sha256": "4e5dbc4f27e441fabe448eb238e17ad2037562774bf0d81e4c043537ec6b408b" }, "downloads": -1, "filename": "monkeylearn-3.2.1.tar.gz", "has_sig": false, "md5_digest": "cfa5299d1aeb00c8a750007bfea21ad7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20032, "upload_time": "2018-09-13T20:52:43", "url": "https://files.pythonhosted.org/packages/b7/10/6921cd269f9123ef65bc31b57d0e1c7a8e0a1411efdbe6094bb81b69fac8/monkeylearn-3.2.1.tar.gz" } ], "3.2.2": [ { "comment_text": "", "digests": { "md5": "799939473b0625852fb7a2443d0e6407", "sha256": "df91aa1c945332a4f8141c12c294276e4a3848e2843e358540f08f852c37d952" }, "downloads": -1, "filename": "monkeylearn-3.2.2-py2.7.egg", "has_sig": false, "md5_digest": "799939473b0625852fb7a2443d0e6407", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 27560, "upload_time": "2018-12-28T16:56:57", "url": "https://files.pythonhosted.org/packages/cb/7f/1be555115b5cd13d113d30b4d28a8bd7ad344eabd066319fae5273399e73/monkeylearn-3.2.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "2ad6aab408fdbd8117c6b7295a61d782", "sha256": "42e99ebec98015252100e0fd769554b313c7335fc7ff4c14db8216e3e0e631b6" }, "downloads": -1, "filename": "monkeylearn-3.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "2ad6aab408fdbd8117c6b7295a61d782", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 20804, "upload_time": "2018-12-28T16:56:54", "url": "https://files.pythonhosted.org/packages/ee/65/79b3faa6375699102a30913b2d9bc14c2f30735ad3001f7607d1e7d3fa67/monkeylearn-3.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c79f4548e70af6d9ccf231a6c83d7c91", "sha256": "40e31f47a581f8aac9522a0d7f79e4328c9e6a229882d841e8d6e3a839530387" }, "downloads": -1, "filename": "monkeylearn-3.2.2.tar.gz", "has_sig": false, "md5_digest": "c79f4548e70af6d9ccf231a6c83d7c91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15475, "upload_time": "2018-12-28T16:56:59", "url": "https://files.pythonhosted.org/packages/cc/9b/4a9b319cad340c401dbeccfc95c150c1d69a437a4aa3778e947d66c61442/monkeylearn-3.2.2.tar.gz" } ], "3.2.3": [ { "comment_text": "", "digests": { "md5": "7b20508f5978e384ba561712707d8380", "sha256": "57ada485f22b73ba3786b92fdd02d5ad9bdd8f624738bf86f70d66cf8115a1f6" }, "downloads": -1, "filename": "monkeylearn-3.2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "7b20508f5978e384ba561712707d8380", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 20892, "upload_time": "2018-12-28T21:12:40", "url": "https://files.pythonhosted.org/packages/92/e5/9e2069241ce75148ada11398b09a1c37abb1858d75aa5a4117e720be36e2/monkeylearn-3.2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a9ac4e274c266571996aa09e05f90f03", "sha256": "1c528155eba9f8ee518caa1212f1750681de6b6ac79d384b02358641f11b8318" }, "downloads": -1, "filename": "monkeylearn-3.2.3.tar.gz", "has_sig": false, "md5_digest": "a9ac4e274c266571996aa09e05f90f03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15550, "upload_time": "2018-12-28T21:12:43", "url": "https://files.pythonhosted.org/packages/48/8a/abcb544ca733ae680168a5c0d38b1c3e2718e3eaaadcd643adb2a3a29de9/monkeylearn-3.2.3.tar.gz" } ], "3.2.4": [ { "comment_text": "", "digests": { "md5": "4e36ec0802df3208e3fcc18dfaaa7c88", "sha256": "4a3ec5d0cefdc90355696b8394b248bc0f46773172efeea59e5b995718135b88" }, "downloads": -1, "filename": "monkeylearn-3.2.4-py2-none-any.whl", "has_sig": false, "md5_digest": "4e36ec0802df3208e3fcc18dfaaa7c88", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15547, "upload_time": "2019-01-11T20:29:13", "url": "https://files.pythonhosted.org/packages/57/bf/a0d89f78c0f869e0534583286d7beda817783bc80732334cfab14bc9343e/monkeylearn-3.2.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a15b7afc5a93215d6a5c9dd688e3d3f", "sha256": "48d39efb820b14e822377669547e9dc29e94cf6f79025915eb2be171f08f9e35" }, "downloads": -1, "filename": "monkeylearn-3.2.4.tar.gz", "has_sig": false, "md5_digest": "4a15b7afc5a93215d6a5c9dd688e3d3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17548, "upload_time": "2019-01-11T20:29:15", "url": "https://files.pythonhosted.org/packages/d8/c4/b4c9a37214faa5b6c15c4764e16ccdba176e195728b43ad2a39113541cc1/monkeylearn-3.2.4.tar.gz" } ], "3.4.0": [ { "comment_text": "", "digests": { "md5": "40d3bd40ec41a762784e5ecacf5ee9f0", "sha256": "5f4146b4fbb8cc24712a77c04e10b9ec4fe032c22392a24e2643249b55ff9828" }, "downloads": -1, "filename": "monkeylearn-3.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "40d3bd40ec41a762784e5ecacf5ee9f0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 16868, "upload_time": "2019-06-06T19:01:02", "url": "https://files.pythonhosted.org/packages/c8/14/4567bb0671ea22d3224b14b5defd7c81330c05d6c75decef77e1d4ed032a/monkeylearn-3.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b7ce3c2d14e56fe4cf9656e4d89d79e", "sha256": "6f93084520e44b19bc701f8c23f4c7316646a51120fe549c78613ee27a0b11a4" }, "downloads": -1, "filename": "monkeylearn-3.4.0.tar.gz", "has_sig": false, "md5_digest": "4b7ce3c2d14e56fe4cf9656e4d89d79e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25094, "upload_time": "2019-06-06T19:01:05", "url": "https://files.pythonhosted.org/packages/21/4f/c4972e36c85b05a9451ad12df2a4bcd001b972c538e6a9170adf8fbba2e8/monkeylearn-3.4.0.tar.gz" } ], "3.5.0": [ { "comment_text": "", "digests": { "md5": "538b3fce1759a4085cbf4dc0fbba0535", "sha256": "80cdb5b814a28619f8232b24cdd6a5f2cd01636c66b727d5162f73f46446468e" }, "downloads": -1, "filename": "monkeylearn-3.5.0-py2-none-any.whl", "has_sig": false, "md5_digest": "538b3fce1759a4085cbf4dc0fbba0535", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17020, "upload_time": "2019-06-10T21:06:02", "url": "https://files.pythonhosted.org/packages/aa/f0/97de327575000e9503d87281a90e7f31a9eb7639265679be78b4ae628fec/monkeylearn-3.5.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "93249608e34031f9465eb6dc520e3573", "sha256": "07feddf5816ec1df98f5749d823f3b1a25639d5ba2258ef69b967fb1c8773d36" }, "downloads": -1, "filename": "monkeylearn-3.5.0.tar.gz", "has_sig": false, "md5_digest": "93249608e34031f9465eb6dc520e3573", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25402, "upload_time": "2019-06-10T21:06:04", "url": "https://files.pythonhosted.org/packages/10/a8/26ae61f740287613ed8ed5a89193c6eee19cda7292cee911b2030e4c2b9b/monkeylearn-3.5.0.tar.gz" } ], "3.5.1": [ { "comment_text": "", "digests": { "md5": "ff8e3c0cbea87399a940aa5da266acb2", "sha256": "9b29035f9c0f54fc1de514b40a6a90c5767a9198a358e9e4e426b8eff62bab40" }, "downloads": -1, "filename": "monkeylearn-3.5.1-py2-none-any.whl", "has_sig": false, "md5_digest": "ff8e3c0cbea87399a940aa5da266acb2", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17018, "upload_time": "2019-10-17T21:46:33", "url": "https://files.pythonhosted.org/packages/e3/8a/82bf6af9f9cd588d90d662636b71739826f27b8853ce9f16e166feff77ea/monkeylearn-3.5.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eefb0bfb5e6906e9ac01af53446e8a57", "sha256": "e48acceb14ae5f9727971803158b42af26ea8a8d13807ca49c5686e570533a1e" }, "downloads": -1, "filename": "monkeylearn-3.5.1.tar.gz", "has_sig": false, "md5_digest": "eefb0bfb5e6906e9ac01af53446e8a57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25410, "upload_time": "2019-10-17T21:46:36", "url": "https://files.pythonhosted.org/packages/c8/1a/43a49c824e8d727033304ff642da3d16abe25e048dd0a8d61e70fce6094d/monkeylearn-3.5.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ff8e3c0cbea87399a940aa5da266acb2", "sha256": "9b29035f9c0f54fc1de514b40a6a90c5767a9198a358e9e4e426b8eff62bab40" }, "downloads": -1, "filename": "monkeylearn-3.5.1-py2-none-any.whl", "has_sig": false, "md5_digest": "ff8e3c0cbea87399a940aa5da266acb2", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17018, "upload_time": "2019-10-17T21:46:33", "url": "https://files.pythonhosted.org/packages/e3/8a/82bf6af9f9cd588d90d662636b71739826f27b8853ce9f16e166feff77ea/monkeylearn-3.5.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eefb0bfb5e6906e9ac01af53446e8a57", "sha256": "e48acceb14ae5f9727971803158b42af26ea8a8d13807ca49c5686e570533a1e" }, "downloads": -1, "filename": "monkeylearn-3.5.1.tar.gz", "has_sig": false, "md5_digest": "eefb0bfb5e6906e9ac01af53446e8a57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25410, "upload_time": "2019-10-17T21:46:36", "url": "https://files.pythonhosted.org/packages/c8/1a/43a49c824e8d727033304ff642da3d16abe25e048dd0a8d61e70fce6094d/monkeylearn-3.5.1.tar.gz" } ] }