{ "info": { "author": "Auger AI", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Build Tools" ], "description": "[![CircleCI](https://circleci.com/gh/deeplearninc/auger-cli.svg?style=shield&circle-token=4f5b3d5d345f38b5bce6b267251a03c1ed52708b)](https://circleci.com/gh/deeplearninc/auger-cli)\n[![image](https://img.shields.io/pypi/v/auger-cli.svg)](https://pypi.org/project/auger-cli/)\n[![image](https://img.shields.io/pypi/l/auger-cli.svg)](https://pypi.org/project/auger-cli/)\n[![image](https://img.shields.io/pypi/pyversions/auger-cli.svg)](https://pypi.org/project/auger-cli/)\n[![image](https://img.shields.io/github/contributors/deeplearninc/auger-cli.svg)](https://github.com/deeplearninc/auger-cli/graphs/contributors)\n\n# Auger CLI\n\nA command line tool for the [Auger AI platform](https://auger.ai).\n\n# Installation\n\n## Create Auger account\n\nPlease create account and organization to start working with CLI: https://auger.ai/augersignup\n\n## Python\n\nLatest Python: https://www.python.org/downloads/release/python-373/\n\nInstall pip: https://pip.pypa.io/en/stable/installing/\n\n## Auger CLI python package\n\n```sh\npip3 install auger-cli\n```\n\n## Auger CLI sources\n\n```sh\n# Pull latest version\ngit clone git@github.com:deeplearninc/auger-cli.git\n\ncd auger-cli\npip3 install .\n```\n\n# Usage scenarios\n\n## Help\n\nTo access the usage information, simply add the `--help` option to any command or sub-command. For example:\n\n```sh\n$ auger --help\nUsage: auger [OPTIONS] COMMAND [ARGS]...\n\n Auger command line interface.\n\nOptions:\n --help Show this message and exit.\n\nCommands:\n auth Authentication with Auger.\n experiments Manage Auger Experiments.\n orgs Manage Auger Organizations.\n help\n instances Display available instance types for clusters.\n clusters Manage Auger Clusters.\n projects Manage Auger Projects.\n```\n\n```sh\n$ auger auth --help\nUsage: auger auth [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n --help Show this message and exit.\n\nCommands:\n login Login to Auger.\n logout Logout from Auger.\n```\n\n## Example\n\nThe complete example iris config file described below can be found in experiments/iris_train folder.\n\n## Login\n\nThe first step you'll need to do is login to Auger with:\n\n```sh\nauger auth login\n```\n\nNote you can login to a different Auger hub instance by passing the `--url` argument:\n\n```sh\nauger auth login --url https://test-instance.auger.ai\n```\n\nTo get current login information:\n\n```sh\nauger auth whoami\n```\n\nTo logout:\n\n```sh\nauger auth logout\n```\n\n## Organizations\n\nOrganization allocates S3 bucket where all data can be stored between cluster runs.\n\nTo start using it you should be a member of any organization, check it with:\n```sh\nauger orgs\n```\n\nTo create your own organization go to https://auger.ai:\n\n## Experiments\n### Experiment definition\nTo start working with Auger experiment create folder with experiment name and place file 'auger_experiment.yml' there. This file contain definition of experiment.\n\nFor more details see https://docs.auger.ai/docs/experiments/evaluation-options\n\nauger_experiment.yml fields:\n\n```yml\nevaluation_options:\n # Path to file with data. May be URL or path in project files folder \n # For Google drive use the following format: https://drive.google.com/uc?export=download&id=\n data_path: files/iris_data_sample.csv\n\n # List of features from data file to be used to evaluate ML models\n feature_columns:\n - sepal_length\n - sepal_width\n - petal_length\n - petal_width\n\n # Target feature to build ML model for\n target_feature: class\n\n # If some of your features are strings, add them to the categoricals, so they will be one-hot encoded\n categorical_features:\n - class\n\n # If you want some categoricals whould be hashed instead of one-hot encoded add them to label encoded list\n label_encoding_features: []\n\n # List of features of datetime type\n datetime_features: []\n\n # List of time series features, usually one\n # If provided, when time series preprocessor and models will be used. See: https://docs.auger.ai/docs/next/machine-learning/timeseries\n time_series_features: []\n\n # Define type of ML models. true for 'classification', false for 'regression'\n classification: true\n\n # If target has two unique values, set it to true \n binary_classification: false\n\n # Score used to optimize ML model.\n # Supported scores for classification: accuracy, f1_macro, f1_micro, f1_weighted, neg_log_loss, precision_macro, precision_micro, precision_weighted, recall_macro, recall_micro, recall_weighted\n # Supported scores for binary classification: accuracy, average_precision, f1, f1_macro, f1_micro, f1_weighted, neg_log_loss, precision, precision_macro, precision_micro, precision_weighted, recall, recall_macro, recall_micro, recall_weighted, roc_auc, cohen_kappa_score, matthews_corrcoef\n # Supported scores for regression: explained_variance, neg_median_absolute_error, neg_mean_absolute_error, neg_mean_squared_error, neg_mean_squared_log_error, r2, neg_rmsle, neg_mase, mda, neg_rmse\n\n scoring: accuracy\n\n # Number of K-folds: is a cross validation technique for splitting data into train/test\n cross_validation_folds: 5\n\n # Max Total Time Minutes, the maximum time in minutes an entire training can run for before it is stopped.\n max_total_time_mins: 60\n\n # Max Trial Time Minutes, this is the maximum time in minutes an individual fold in trial can run before it is stopped.\n max_eval_time_mins: 10\n\n # Max Trials, this is the maximum number of trials to be run before training stops.\n max_n_trials: 10\n\n # Build ensembles models after plain models completed. See : https://docs.auger.ai/docs/machine-learning/ensembles \n use_ensemble: true\n\n # OPTIONAL evaluation parameters \n\n # To see list of available algorithms call 'auger experiments search_space'\n #search_space: \n # Use algorithm with parameters range defined in Auger ML\n #sklearn.ensemble.AdaBoostClassifier: {}\n\n # Modify some of algorithm parameters\n #sklearn.ensemble.GradientBoostingClassifier: {\"max_depth\": {\"bounds\": [10, 20]}}\n\n # Use limited set of algorithm parameters, all other parameters will be not tunable and set to default values\n #sklearn.ensemble.GradientBoostingClassifier: {'_no_default_params': True, \"max_depth\": {\"bounds\": [10, 20]}}\n\n # Add new parameter to algorithm. If one value is present, it will be passed as default value to algorithm\n #lightgbm.LGBMClassifier: {\"feature_border_type\": {\"values\": ['Median'], \"type\": \"categorical\", \"tunable\": True}}\n\n # To see list of available optimizers call 'auger experiments search_space'\n #optimizers_names: []\n\n #data_extension: \".csv\"\n #data_compression: gzip\n\n #split_options: {}\n #oversampling: {}\n #use_ensemble: true\n #preprocessors: {}\n\n# OPTIONAL parameters \n\n# Specify organization name, if you have more then one organization.\n# By default Auger will use your first organization.\n# Organization must exist. See Installation section\n#organization: \n\n# Experiment name\n# By default Auger will use folder name of auger_experiment.yml\n# Will be generated automatically if not exists\n#experiment: \n\n# You may use one project/cluster for different experiments\n# By default Auger will use folder name of auger_experiment.yml\n# Will be generated automatically if not exists\n#project: \n\n# Cluster settings with default values\n# cluster:\n # Number of nodes to run on cluster. Minimum of 2, the more workers deployed the more jobs that can be run in parallel.\n # workers_count : 2\n\n # To list available types call: `auger instances`\n # worker_type_id: 1\n\n # Number of workers per computer node. Setting it lower then CPU count, increase amoutn of memory available for worker\n # workers_per_node_count: 2\n\n # Cluster will be terminated after period of inactivity\n # autoterminate_minutes: 30\n\n```\n\nRun experiment:\n```sh\nauger experiments run\n```\n\nDisplay leaderboard from last run:\n```sh\nauger experiments leaderboard\n```\n\nDisplay individual model parameters from last run:\n```sh\nauger trials show \n```\n\nTo call predict using deployed model:\n```sh\nauger experiments predict -p -t -f \n```\n\nPipeline ID is optional, if missed model with trial id will be automatically deployed\nTrial ID to export model for the last experiment session, if missed best trial used.\nCSV file path should point to local file with data for predcition\n\nTo call predict using locally exported model:\n```sh\nauger experiments predict -e -t -f \n```\n\nPipeline ID is optional, if missed model with trial id will be automatically deployed\nTrial ID to export model for the last experiment session, if missed best trial used.\nCSV file path should point to local file with data for predcition\n\nTo call predict proba using locally exported model:\n```sh\nauger experiments predict -e -t -f --threshold 0.5\n```\nPrediction data will contain additional proba_ columns per each target class. \nTarget calculation: if proba(class1) > threshold then class1 else class0\n\nTo export model locally:\n```sh\nauger experiments export_model -t \n```\n\nTrial ID to export model for the last experiment session, if missed best trial used.\n\nModel zip file will be downloaded into models folder. Unzip it and see readme file inside how to use it.\n\nTo deploy model to Auger HUB:\n```sh\nauger experiments deploy_model -t \n```\n\nTrial ID to export model for the last experiment session, if missed best trial used.\n\nDisplay information about experiment:\n```sh\nauger experiments show\n```\n\nDisplay information about experiment settings:\n```sh\nauger experiments settings\n```\n\nDisplay information about Auger ML oprimizers and algorithms:\n```sh\nauger experiments search_space\n```\n\n## Clusters\n\nTo display cluster information.\n```sh\nauger clusters show \n```\n\nTo terminate cluster. It will free all paid AWS resources related with this cluster.\n```sh\nauger clusters delete \n```\n\n## Projects\n\nTo display project information.\n```sh\nauger projects show -p \n```\n\nTo open project in web browser:\n```sh\nauger projects open_project -p \n```\n\nTo download file from project cluster:\n```sh\nauger projects download_file -l -p \n```\n\nRemote path may be full path or relative path on cluster. For examble: files/iris_data_sample.csv\n\nLocal path is optional, by default file will be downloaded to 'files' folder in current directory\n\nProject name is optional, if missed project name will be retrieve from auger_experiment.yml\n\nTo read project log:\n```sh\nauger projects logs \n```\n\nTo Create project:\n```sh\nauger project create --project --organization-id \n```\n\nThe project name must be unique within the organization. This means that a project can be deployed to a cluster, the cluster can be terminated, and the project can be deployed to another one. **NOTE:** If you delete the project, another project with the same name can be used.\n\nTo open project in the browser:\n```sh\nauger projects open -p \n```\n\nTo delete project:\n```sh\nauger projects delete -p \n```\n\n# Auger Python API\n\nTo start working with Auger Python API, follow installation instructions for Auger CLI.\n\n## Getting started\n\n### Create AugerClient and login:\n\n```python\n # To read login information from experiment dir:\n #config_settings={'login_config_path': \"./iris_train\"}\n\n # To use root user dir to read login information\n # You may specify any properties from auger_experiment.yml\n config_settings={}\n\n # Read experiment setting from iris_train\\auger_experiment.yml \n client = AugerClient(AugerConfig(config_dir=\"./iris_train\", \n config_settings=config_settings))\n\n # To login to Auger:\n # You may login using CLI and store login credentials in user dir\n # OR login direcly\n # url is optional parameter, hub_url may be specified in config_settings\n #auth.login(client, \"user\", \"pwd\")\n```\n\n### Run experiment and wait for completion:\n\n```python\n # Experiment run, after finish, save experiment session parameters to .auger_experiment_session.yml\n experiments.run(client)\n\n while True:\n leaderboard, info = experiments.read_leaderboard(client)\n\n if info.get(\"Status\") == 'error':\n raise Exception(\"Iris dataset train failed: %s\"%info.get(\"Error\"))\n\n if info.get(\"Status\") != 'completed':\n time.sleep(5)\n continue\n\n break\n\n```\n\n### Predict using pipeline model:\n\n```python\n # Create pipeline based on best trial \n pipeline_id = experiments.export_model(client, trial_id=leaderboard[0]['id'], deploy=True)\n\n # Pipeline can ber reused multiple time, predict can be called without cluster run\n result = experiments.predict_by_file(client, pipeline_id=pipeline_id, file='./iris_train/files/iris_data_test.csv', save_to_file=False)\n print(result[0])\n\n```\n\n### Predict using locally exported model:\n\n```python\n result = experiments.predict_by_file_locally(client, file='./iris_train/files/iris_data_test.csv', trial_id=leaderboard[0]['id'], save_to_file=False, pull_docker=True)\n print(result[0])\n\n```\n\n### Export model locally:\n\n```python\n # Export model to local zip file, see readme inside how to call predict \n file_path = experiments.export_model(client, trial_id=leaderboard[0]['id'], deploy=False)\n\n\n```\n# How to update Python package:\n1. update version in setup.py\n\n2. commit setup.py\n\n3. create tag with convention 'vX.X.X' (like v0.1.2)\n\ngit tag v0.1.4\n\n4. git push --tags\n\ncircleci will build it and upload the tagged build to pypi.org\n\n5. Review new package here:\nhttps://pypi.org/project/auger-cli/#history\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/deeplearninc/auger-cli", "keywords": "augerai auger ai machine learning automl deeplearn api sdk", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "auger-cli", "package_url": "https://pypi.org/project/auger-cli/", "platform": "any", "project_url": "https://pypi.org/project/auger-cli/", "project_urls": { "Homepage": "https://github.com/deeplearninc/auger-cli" }, "release_url": "https://pypi.org/project/auger-cli/0.1.12/", "requires_dist": [ "click (>=6.7)", "click-spinner (>=0.1)", "auger-hub-api-client (>=0.5.6)", "pandas (==0.23.4)", "ruamel.yaml" ], "requires_python": ">=3", "summary": "Command line tool for the Auger AI platform.", "version": "0.1.12" }, "last_serial": 5511041, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "855444a8edc4a1c5ac4f732511f0e180", "sha256": "1d8fbfb52f1c4c7f43802139c1bb1f73f13275d00ecbfb38481ecff657206aa0" }, "downloads": -1, "filename": "auger_cli-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "855444a8edc4a1c5ac4f732511f0e180", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 43994, "upload_time": "2019-03-06T19:27:53", "url": "https://files.pythonhosted.org/packages/65/fb/da2dc7af0f738a5658ec4b770ef954a1d5b44b3177e555e6b53c5d789bb4/auger_cli-0.1.0-py2.py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7e7ebca325ea4630eb9ecde70aaac722", "sha256": "e0ac55fcb107a0c1a42619ce4aac36e95401e23d3404f1d69004d94d6545244a" }, "downloads": -1, "filename": "auger_cli-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7e7ebca325ea4630eb9ecde70aaac722", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 44005, "upload_time": "2019-03-06T20:15:02", "url": "https://files.pythonhosted.org/packages/c2/fb/75bcbab3fd4af59e9e86b2e1e5b8f05d170616312f24e7d27df822bb4a83/auger_cli-0.1.1-py2.py3-none-any.whl" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "0470e6c52ff29871f3b4f8fdf9901903", "sha256": "cc0c953a8a01ee0f2a583a87cfcb787d77766f420d7db322d78bb04adb320a92" }, "downloads": -1, "filename": "auger_cli-0.1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0470e6c52ff29871f3b4f8fdf9901903", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 43212, "upload_time": "2019-05-19T18:43:50", "url": "https://files.pythonhosted.org/packages/57/a0/02533d6f96d2d1b151a8ea063cd5e7998879047e3e8fa06d864d6b85dfe3/auger_cli-0.1.10-py2.py3-none-any.whl" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "ae8dbaa09eb29902da5f792ffb40385f", "sha256": "0fc7d56f879c473e79957c6de2ab33693fc93fb5bde0bfc610e8ef69881545cf" }, "downloads": -1, "filename": "auger_cli-0.1.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ae8dbaa09eb29902da5f792ffb40385f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 49508, "upload_time": "2019-07-10T09:02:57", "url": "https://files.pythonhosted.org/packages/a4/2d/dca065acf2ac5aeb41063afdcbebd8173c673ac7adccb85482b9a1112a4b/auger_cli-0.1.11-py2.py3-none-any.whl" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "4a29495390c8d6f347be7e8a98c2ea07", "sha256": "c8fef60d3b0ca623322912fc6fd84b0fcc794caecad8145bb64b2575ed8a0dc8" }, "downloads": -1, "filename": "auger_cli-0.1.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4a29495390c8d6f347be7e8a98c2ea07", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 49519, "upload_time": "2019-07-10T09:31:48", "url": "https://files.pythonhosted.org/packages/7e/6f/89c39cae185c4737566ff37506acfebf76657405e28cd707cc22aa99f212/auger_cli-0.1.12-py2.py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "47ca5d56e7d818e78091f7bd91596ada", "sha256": "4b313ed4501fd1e9f2472c6d66030a07993bd8e03b44730b843f6404331fe072" }, "downloads": -1, "filename": "auger_cli-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "47ca5d56e7d818e78091f7bd91596ada", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 33644, "upload_time": "2019-03-07T02:43:20", "url": "https://files.pythonhosted.org/packages/c1/c4/ffa48abb72470c99ba29cb3684d9e4882f6c299cfbcc4f2d12c55e54b4e6/auger_cli-0.1.2-py2.py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "61344e49b0c3c2c59903433fa023b6d1", "sha256": "eab105a16c83df779f0a363f4b8328b76ec2f93495d34ab6eb9120beda38e142" }, "downloads": -1, "filename": "auger_cli-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "61344e49b0c3c2c59903433fa023b6d1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 34472, "upload_time": "2019-03-07T09:23:20", "url": "https://files.pythonhosted.org/packages/83/fb/1af2df83cc7e0011dc491eb8e62b9dffa674507f0f15211d9217d92d4327/auger_cli-0.1.3-py2.py3-none-any.whl" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "f7cc341c5bcaba95ff73cfb1c9976af5", "sha256": "1baa1ec93412467947e9679c3721d02f27d39bb227b2c95f94265285a48623de" }, "downloads": -1, "filename": "auger_cli-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f7cc341c5bcaba95ff73cfb1c9976af5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 39602, "upload_time": "2019-04-05T12:02:09", "url": "https://files.pythonhosted.org/packages/de/8e/598019077728f41f413d3352fc9641d91f3ce9b831f18d2967e81893820c/auger_cli-0.1.4-py2.py3-none-any.whl" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "8e359b45cfca7c8bedd29f36b46fa924", "sha256": "dda836d20c06013c46a62ff8839e550a47d5fcfd4ffccecb92502db691fddb1e" }, "downloads": -1, "filename": "auger_cli-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8e359b45cfca7c8bedd29f36b46fa924", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 40719, "upload_time": "2019-04-06T10:55:34", "url": "https://files.pythonhosted.org/packages/6a/bc/67faea471b8b818d70aacb2b16a44c3e5928528808de3dccae00844937c3/auger_cli-0.1.5-py2.py3-none-any.whl" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "7348137edaa4e2a57d60d9b339ebb395", "sha256": "061ed066544c34683d5e54c5c02a06a049a62808c1f4043bc1b504e09e61907d" }, "downloads": -1, "filename": "auger_cli-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7348137edaa4e2a57d60d9b339ebb395", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 40780, "upload_time": "2019-04-07T08:23:28", "url": "https://files.pythonhosted.org/packages/18/7f/d35457c7c6fa040e2332a0d8b63737a42fa097025ac733879952790bc06c/auger_cli-0.1.6-py2.py3-none-any.whl" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "abbfbb6be21787964a8da94004934d45", "sha256": "973bbcfb59343ac6da34de55f0cf4623c846d9cd8e0d8de15e67b1ee4ef24cc5" }, "downloads": -1, "filename": "auger_cli-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "abbfbb6be21787964a8da94004934d45", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 40806, "upload_time": "2019-04-08T17:53:36", "url": "https://files.pythonhosted.org/packages/ad/ab/ccb2ee5822fcfb24d95d8d43de279fab73890f133113806c5e53094d3ec5/auger_cli-0.1.7-py2.py3-none-any.whl" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "1de76206ddf281b843a42fded8b6bae5", "sha256": "7d77155175375081b6dba69f83527d4154013a3dc2c7a68a4990d7b78edbd6af" }, "downloads": -1, "filename": "auger_cli-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1de76206ddf281b843a42fded8b6bae5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 41180, "upload_time": "2019-04-17T08:06:45", "url": "https://files.pythonhosted.org/packages/7f/3e/349f6c380710b27b2863a336af7cf6fc463ffe4501043cf2ae9649c37b81/auger_cli-0.1.8-py2.py3-none-any.whl" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "33786be343af68936db5884cc72f2b57", "sha256": "00be9414d1f93fa67b7696cf34ba2ecf88d6e5f36afc12e15b79b25ebe39d1cd" }, "downloads": -1, "filename": "auger_cli-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "33786be343af68936db5884cc72f2b57", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 43205, "upload_time": "2019-05-19T18:31:48", "url": "https://files.pythonhosted.org/packages/de/79/5715fe0dbd7c917818cc7dda65133b2e7abdcda2f690de042e2ab091d216/auger_cli-0.1.9-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4a29495390c8d6f347be7e8a98c2ea07", "sha256": "c8fef60d3b0ca623322912fc6fd84b0fcc794caecad8145bb64b2575ed8a0dc8" }, "downloads": -1, "filename": "auger_cli-0.1.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4a29495390c8d6f347be7e8a98c2ea07", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 49519, "upload_time": "2019-07-10T09:31:48", "url": "https://files.pythonhosted.org/packages/7e/6f/89c39cae185c4737566ff37506acfebf76657405e28cd707cc22aa99f212/auger_cli-0.1.12-py2.py3-none-any.whl" } ] }