{ "info": { "author": "Allegroai", "author_email": "trains@allegro.ai", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Image Recognition", "Topic :: System :: Logging", "Topic :: System :: Monitoring" ], "description": "# Allegro Trains Agent\n## Deep Learning DevOps For Everyone - Now supporting all platforms (Linux, macOS, and Windows)\n\n\"All the Deep-Learning DevOps your research needs, and then some... Because ain't nobody got time for that\"\n\n[![GitHub license](https://img.shields.io/github/license/allegroai/trains-agent.svg)](https://img.shields.io/github/license/allegroai/trains-agent.svg)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/trains-agent.svg)](https://img.shields.io/pypi/pyversions/trains-agent.svg)\n[![PyPI version shields.io](https://img.shields.io/pypi/v/trains-agent.svg)](https://img.shields.io/pypi/v/trains-agent.svg)\n[![PyPI status](https://img.shields.io/pypi/status/trains-agent.svg)](https://pypi.python.org/pypi/trains-agent/)\n\n### Help improve Trains by filling our 2-min [user survey](https://allegro.ai/lp/trains-user-survey/)\n\n**Trains Agent is an AI experiment cluster solution.**\n\nIt is a zero configuration fire-and-forget execution agent, which combined with trains-server provides a full AI cluster solution.\n\n**Full AutoML in 5 steps** \n1. Install the [Trains Server](https://github.com/allegroai/trains-agent) (or use our [open server](https://demoapp.trains.allegro.ai))\n2. `pip install trains-agent` ([install](#installing-the-trains-agent) the Trains Agent on any GPU machine: on-premises / cloud / ...)\n3. Add [Trains](https://github.com/allegroai/trains) to your code with just 2 lines & run it once (on your machine / laptop)\n4. Change the [parameters](#using-the-trains-agent) in the UI & schedule for [execution](#using-the-trains-agent) (or automate with an [AutoML pipeline](#automl-and-orchestration-pipelines-))\n5. :chart_with_downwards_trend: :chart_with_upwards_trend: :eyes: :beer:\n\n\n**Using the Trains Agent, you can now set up a dynamic cluster with \\*epsilon DevOps**\n\n*epsilon - Because we are scientists :triangular_ruler: and nothing is really zero work\n\n(Experience Trains live at [https://demoapp.trains.allegro.ai](https://demoapp.trains.allegro.ai))\n\n\n## Simple, Flexible Experiment Orchestration\n**The Trains Agent was built to address the DL/ML R&D DevOps needs:**\n\n* Easily add & remove machines from the cluster\n* Reuse machines without the need for any dedicated containers or images\n* **Combine GPU resources across any cloud and on-prem**\n* **No need for yaml/json/template configuration of any kind**\n* **User friendly UI**\n* Manageable resource allocation that can be used by researchers and engineers\n* Flexible and controllable scheduler with priority support\n* Automatic instance spinning in the cloud **(coming soon)**\n\n\n## But ... K8S?\nWe think Kubernetes is awesome. \nCombined with KubeFlow it is a robust solution for production-grade DevOps. \nWe've observed, however, that it can be a bit of an overkill as an R&D DL/ML solution.\nIf you are considering K8S for your research, also consider that you will soon be managing **hundreds** of containers...\n\nIn our experience, handling and building the environments, having to package every experiment in a docker, managing those hundreds (or more) containers and building pipelines on top of it all, is very complicated (also, it\u2019s usually out of scope for the research team, and overwhelming even for the DevOps team).\n\nWe feel there has to be a better way, that can be just as powerful for R&D and at the same time allow integration with K8S **when the need arises**. \n(If you already have a K8S cluster for AI, detailed instructions on how to integrate Trains into your K8S cluster are [here](https://github.com/allegroai/trains-server-k8s/tree/master/trains-server-chart) with included [helm chart](https://github.com/allegroai/trains-server-helm))\n\n\n## Using the Trains Agent\n**Full scale HPC with a click of a button**\n\nThe Trains Agent is a job scheduler that listens on job queue(s), pulls jobs, sets the job environments, executes the job and monitors its progress.\n\nAny 'Draft' experiment can be scheduled for execution by a Trains agent.\n\nA previously run experiment can be put into 'Draft' state by either of two methods:\n* Using the **'Reset'** action from the experiment right-click context menu in the\n Trains UI - This will clear any results and artifacts the previous run had created.\n* Using the **'Clone'** action from the experiment right-click context menu in the\n Trains UI - This will create a new 'Draft' experiment with the same configuration as the original experiment.\n\nAn experiment is scheduled for execution using the **'Enqueue'** action from the experiment\n right-click context menu in the Trains UI and selecting the execution queue.\n\nSee [creating an experiment and enqueuing it for execution](#from-scratch).\n\nOnce an experiment is enqueued, it will be picked up and executed by a Trains agent monitoring this queue.\n\nThe Trains UI Workers & Queues page provides ongoing execution information:\n - Workers Tab: Monitor you cluster\n - Review available resources\n - Monitor machines statistics (CPU / GPU / Disk / Network)\n - Queues Tab:\n - Control the scheduling order of jobs\n - Cancel or abort job execution\n - Move jobs between execution queues\n\n### What The Trains Agent Actually Does\nThe Trains Agent executes experiments using the following process:\n - Create a new virtual environment (or launch the selected docker image)\n - Clone the code into the virtual-environment (or inside the docker)\n - Install python packages based on the package requirements listed for the experiment\n - Special note for PyTorch: The Trains Agent will automatically select the\n torch packages based on the CUDA_VERSION environment variable of the machine\n - Execute the code, while monitoring the process\n - Log all stdout/stderr in the Trains UI, including the cloning and installation process, for easy debugging\n - Monitor the execution and allow you to manually abort the job using the Trains UI (or, in the unfortunate case of a code crash, catch the error and signal the experiment has failed)\n\n### System Design & Flow\n```text\n +-----------------+\n | GPU Machine |\nDevelopment Machine | |\n+------------------------+ | +-------------+ |\n| Data Scientist's | +--------------+ | |Trains Agent | |\n| DL/ML Code | | WEB UI | | | | |\n| | | | | | +---------+ | |\n| | | | | | | DL/ML | | |\n| | +--------------+ | | | Code | | |\n| | User Clones Exp #1 / . . . . . . . / | | | | | |\n| +-------------------+ | into Exp #2 / . . . . . . . / | | +---------+ | |\n| | Trains | | +---------------/-_____________-/ | | | |\n| +---------+---------+ | | | | ^ | |\n+-----------|------------+ | | +------|------+ |\n | | +--------|--------+\n Auto-Magically | |\n Creates Exp #1 | The Trains Agent\n \\ User Change Hyper-Parameters Pulls Exp #2, setup the\n | | environment & clone code.\n | | Start execution with the\n+------------|------------+ | +--------------------+ new set of Hyper-Parameters.\n| +---------v---------+ | | | Trains Server | |\n| | Experiment #1 | | | | | |\n| +-------------------+ | | | Execution Queue | |\n| || | | | | |\n| +-------------------+<----------+ | | |\n| | | | | | |\n| | Experiment #2 | | | | |\n| +-------------------<------------\\ | | |\n| | ------------->---------------+ | |\n| | User Send Exp #2 | |Execute Exp #2 +--------------------+\n| | For Execution | +---------------+ |\n| Trains Server | | |\n+-------------------------+ +--------------------+\n```\n\n### Installing the Trains Agent\n\n```bash\npip install trains-agent\n```\n\n### Trains Agent Usage Examples\n\nFull Interface and capabilities are available with\n```bash\ntrains-agent --help\ntrains-agent daemon --help\n```\n\n### Configuring the Trains Agent\n\n```bash\ntrains-agent init\n```\n\nNote: The Trains Agent uses a cache folder to cache pip packages, apt packages and cloned repositories. The default Trains Agent cache folder is `~/.trains`\n\nSee full details in your configuration file at `~/trains.conf`\n\nNote: The **Trains agent** extends the **Trains** configuration file `~/trains.conf`\nThey are designed to share the same configuration file, see example [here](docs/trains.conf)\n\n### Running the Trains Agent\n\nFor debug and experimentation, start the Trains agent in `foreground` mode, where all the output is printed to screen\n```bash\ntrains-agent daemon --queue default --foreground\n```\n\nFor actual service mode, all the stdout will be stored automatically into a temporary file (no need to pipe)\nNotice: with `--detached` flag, the *trains-agent* will be running in the background\n```bash\ntrains-agent daemon --detached --queue default\n```\n\nGPU allocation is controlled via the standard OS environment `NVIDIA_VISIBLE_DEVICES` or `--gpus` flag (or disabled with `--cpu-only`).\n\nIf no flag is set, and `NVIDIA_VISIBLE_DEVICES` variable doesn't exist, all GPU's will be allocated for the `trains-agent`
\nIf `--cpu-only` flag is set, or `NVIDIA_VISIBLE_DEVICES` is an empty string (\"\"), no gpu will be allocated for the `trains-agent`\n\nExample: spin two agents, one per gpu on the same machine:\nNotice: with `--detached` flag, the *trains-agent* will be running in the background\n```bash\ntrains-agent daemon --detached --gpus 0 --queue default\ntrains-agent daemon --detached --gpus 1 --queue default\n```\n\nExample: spin two agents, pulling from dedicated `dual_gpu` queue, two gpu's per agent\n```bash\ntrains-agent daemon --detached --gpus 0,1 --queue dual_gpu\ntrains-agent daemon --detached --gpus 2,3 --queue dual_gpu\n```\n\n#### Starting the Trains Agent in docker mode\n\nFor debug and experimentation, start the Trains agent in `foreground` mode, where all the output is printed to screen\n```bash\ntrains-agent daemon --queue default --docker --foreground\n```\n\nFor actual service mode, all the stdout will be stored automatically into a file (no need to pipe)\nNotice: with `--detached` flag, the *trains-agent* will be running in the background\n```bash\ntrains-agent daemon --detached --queue default --docker\n```\n\nExample: spin two agents, one per gpu on the same machine, with default nvidia/cuda docker:\n```bash\ntrains-agent daemon --detached --gpus 0 --queue default --docker nvidia/cuda\ntrains-agent daemon --detached --gpus 1 --queue default --docker nvidia/cuda\n```\n\nExample: spin two agents, pulling from dedicated `dual_gpu` queue, two gpu's per agent, with default nvidia/cuda docker:\n```bash\ntrains-agent daemon --detached --gpus 0,1 --queue dual_gpu --docker nvidia/cuda\ntrains-agent daemon --detached --gpus 2,3 --queue dual_gpu --docker nvidia/cuda\n```\n\n#### Starting the Trains Agent - Priority Queues\n\nPriority Queues are also supported, example use case:\n\nHigh priority queue: `important_jobs` Low priority queue: `default`\n```bash\ntrains-agent daemon --queue important_jobs default\n```\nThe **Trains Agent** will first try to pull jobs from the `important_jobs` queue, only then it will fetch a job from the `default` queue.\n\nAdding queues, managing job order within a queue and moving jobs between queues, is available using the Web UI, see example on our [open server](https://demoapp.trains.allegro.ai/workers-and-queues/queues)\n\n#### Stopping the Trains Agent\n\nTo stop a **Trains Agent** running in the background, run the same command line used to start the agent with `--stop` appended. \nFor example, to stop the first of the above shown same machine, single gpu agents:\n```bash\ntrains-agent daemon --detached --gpus 0 --queue default --docker nvidia/cuda --stop\n```\n\n## How do I create an experiment on the Trains Server? \n* Integrate [Trains](https://github.com/allegroai/trains) with your code\n* Execute the code on your machine (Manually / PyCharm / Jupyter Notebook)\n* As your code is running, **Trains** creates an experiment logging all the necessary execution information:\n - Git repository link and commit ID (or an entire jupyter notebook)\n - Git diff (we\u2019re not saying you never commit and push, but still...)\n - Python packages used by your code (including specific versions used)\n - Hyper-Parameters\n - Input Artifacts\n\n You now have a 'template' of your experiment with everything required for automated execution\n\n* In the Trains UI, Right click on the experiment and select 'clone'. A copy of your experiment will be created.\n* You now have a new draft experiment cloned from your original experiment, feel free to edit it\n - Change the Hyper-Parameters\n - Switch to the latest code base of the repository\n - Update package versions\n - Select a specific docker image to run in (see docker execution mode section)\n - Or simply change nothing to run the same experiment again...\n* Schedule the newly created experiment for execution: Right-click the experiment and select 'enqueue'\n\n## Trains-Agent Services Mode \n\nTrains-Agent Services is a special mode of Trains-Agent that provides the ability to launch long-lasting jobs \nthat previously had to be executed on local / dedicated machines. It allows a single agent to \nlaunch multiple dockers (Tasks) for different use cases. To name a few use cases, auto-scaler service (spinning instances \nwhen the need arises and the budget allows), Controllers (Implementing pipelines and more sophisticated DevOps logic),\nOptimizer (such as Hyper-parameter Optimization or sweeping), and Application (such as interactive Bokeh apps for \nincreased data transparency)\n\nTrains-Agent Services mode will spin **any** task enqueued into the specified queue. \nEvery task launched by Trains-Agent Services will be registered as a new node in the system, \nproviding tracking and transparency capabilities. \nCurrently trains-agent in services-mode supports cpu only configuration. Trains-agent services mode can be launched alongside GPU agents.\n\n```bash\ntrains-agent daemon --services-mode --detached --queue services --create-queue --docker ubuntu:18.04 --cpu-only\n```\n\n**Note**: It is the user's responsibility to make sure the proper tasks are pushed into the specified queue. \n\n\n## AutoML and Orchestration Pipelines \nThe Trains Agent can also be used to implement AutoML orchestration and Experiment Pipelines in conjunction with the Trains package.\n\nSample AutoML & Orchestration examples can be found in the Trains [example/automation](https://github.com/allegroai/trains/tree/master/examples/automation) folder.\n\nAutoML examples\n - [Toy Keras training experiment](https://github.com/allegroai/trains/blob/master/examples/optimization/hyper-parameter-optimization/base_template_keras_simple.py)\n - In order to create an experiment-template in the system, this code must be executed once manually\n - [Random Search over the above Keras experiment-template](https://github.com/allegroai/trains/blob/master/examples/automation/manual_random_param_search_example.py)\n - This example will create multiple copies of the Keras experiment-template, with different hyper-parameter combinations\n\nExperiment Pipeline examples\n - [First step experiment](https://github.com/allegroai/trains/blob/master/examples/automation/task_piping_example.py)\n - This example will \"process data\", and once done, will launch a copy of the 'second step' experiment-template\n - [Second step experiment](https://github.com/allegroai/trains/blob/master/examples/automation/toy_base_task.py)\n - In order to create an experiment-template in the system, this code must be executed once manually\n\n## License\n\nApache License, Version 2.0 (see the [LICENSE](https://www.apache.org/licenses/LICENSE-2.0.html) for more information)\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/allegroai/trains-agent", "keywords": "trains devops machine deep learning agent automation hpc cluster", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "trains-agent", "package_url": "https://pypi.org/project/trains-agent/", "platform": "", "project_url": "https://pypi.org/project/trains-agent/", "project_urls": { "Homepage": "https://github.com/allegroai/trains-agent" }, "release_url": "https://pypi.org/project/trains-agent/0.16.3/", "requires_dist": [ "attrs (<20.4.0,>=18.0)", "furl (<2.2.0,>=2.0.0)", "future (<0.19.0,>=0.16.0)", "humanfriendly (<9.2,>=2.1)", "jsonschema (<3.3.0,>=2.6.0)", "pathlib2 (<2.4.0,>=2.3.0)", "psutil (<5.9.0,>=3.4.2)", "pyhocon (<0.4.0,>=0.3.38)", "pyparsing (<2.5.0,>=2.0.3)", "python-dateutil (<2.9.0,>=2.4.2)", "pyjwt (<2.0.0,>=1.6.4)", "PyYAML (<5.4.0,>=3.12)", "requests-file (<1.6.0,>=1.4.2)", "requests (<2.26.0,>=2.20.0)", "six (<1.16.0,>=1.11.0)", "tqdm (<4.55.0,>=4.19.5)", "typing (<3.8.0,>=3.6.4)", "urllib3 (<1.27.0,>=1.21.1)", "virtualenv (<20,>=16)", "enum34 (<1.2.0,>=0.9) ; python_version < \"3.6\"" ], "requires_python": "", "summary": "TRAINS Agent - Auto-Magical DevOps for Deep Learning", "version": "0.16.3", "yanked": false, "yanked_reason": null }, "last_serial": 8963061, "releases": { "0.12.0": [ { "comment_text": "", "digests": { "md5": "574c73f6e72628abeb7b93edb120aab6", "sha256": "f8fb0d66cd441e7054d6c3406afe0e7a5db208d747188cec35af5708a024524f" }, "downloads": -1, "filename": "trains_agent-0.12.0-py3-none-any.whl", "has_sig": false, "md5_digest": "574c73f6e72628abeb7b93edb120aab6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 187267, "upload_time": "2019-10-29T19:34:53", "upload_time_iso_8601": "2019-10-29T19:34:53.346726Z", "url": "https://files.pythonhosted.org/packages/1e/26/5ef085c0051ff8c6423ef742121cbf9a107ce694e0fa8c781b64a340b63c/trains_agent-0.12.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.0a10": [ { "comment_text": "", "digests": { "md5": "ce5d5a2527d880423b49f1045f3aa43c", "sha256": "6e1c2fb045ecc083adcf73c8fd6329faf1cb01ab15a7053faf0013c9b4c790c8" }, "downloads": -1, "filename": "trains_agent-0.12.0a10-py3-none-any.whl", "has_sig": false, "md5_digest": "ce5d5a2527d880423b49f1045f3aa43c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 184482, "upload_time": "2019-10-16T01:28:43", "upload_time_iso_8601": "2019-10-16T01:28:43.452600Z", "url": "https://files.pythonhosted.org/packages/12/00/753125c6871437548b0ffa360aa6f2e288f533d016ca84f8c72f45127e6a/trains_agent-0.12.0a10-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.0a11": [ { "comment_text": "", "digests": { "md5": "c29437e9c42ac5db3f5467e8727c8846", "sha256": "241a37cde76d2069269b89cb666f0474dc1d40ebeeda3e475bc5bfd3407390dd" }, "downloads": -1, "filename": "trains_agent-0.12.0a11-py3-none-any.whl", "has_sig": false, "md5_digest": "c29437e9c42ac5db3f5467e8727c8846", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 184482, "upload_time": "2019-10-16T11:51:32", "upload_time_iso_8601": "2019-10-16T11:51:32.375565Z", "url": "https://files.pythonhosted.org/packages/99/ab/a1a85106880e6baa3f8529dc531500124cceaa427d08144514896f299505/trains_agent-0.12.0a11-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.0a7": [ { "comment_text": "", "digests": { "md5": "e51f2fe5c14d05e9fc31a45eab1577d5", "sha256": "1d1e2ad7d4b3cc62a5086d3e5124ecef16bf16c36fb419cb8442699cd00a1317" }, "downloads": -1, "filename": "trains_agent-0.12.0a7-py3-none-any.whl", "has_sig": false, "md5_digest": "e51f2fe5c14d05e9fc31a45eab1577d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 182344, "upload_time": "2019-10-13T23:03:57", "upload_time_iso_8601": "2019-10-13T23:03:57.589300Z", "url": "https://files.pythonhosted.org/packages/ae/8e/82a1239bf0aadc6fd868facbd4d2dcda487ed6107371f70191fcf82a657d/trains_agent-0.12.0a7-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.0a8": [ { "comment_text": "", "digests": { "md5": "ac57ac69a48422caed3997e506573a7d", "sha256": "273be19fd0c632212bd6b2dc5d99c3d4b927f04ff70e7ce4d9b24d116240b732" }, "downloads": -1, "filename": "trains_agent-0.12.0a8-py3-none-any.whl", "has_sig": false, "md5_digest": "ac57ac69a48422caed3997e506573a7d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 182367, "upload_time": "2019-10-13T23:32:13", "upload_time_iso_8601": "2019-10-13T23:32:13.430452Z", "url": "https://files.pythonhosted.org/packages/27/94/e5cfc85a7d24427ae71f1d073af4ec627b535a3c1bdd4d928980bb5da048/trains_agent-0.12.0a8-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.0a9": [ { "comment_text": "", "digests": { "md5": "8143eb4bd5eafa080b26e9f3d2ea3f02", "sha256": "8b1397f1b126bd145bfdd3f216082c70fed0881da0d4d6012dfc861e8bbf6b67" }, "downloads": -1, "filename": "trains_agent-0.12.0a9-py3-none-any.whl", "has_sig": false, "md5_digest": "8143eb4bd5eafa080b26e9f3d2ea3f02", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 184254, "upload_time": "2019-10-15T19:43:18", "upload_time_iso_8601": "2019-10-15T19:43:18.831523Z", "url": "https://files.pythonhosted.org/packages/5f/a1/4e7c923a9fa66983f77d9559c30ce72572bc7fa036be2b19115756b2e1ab/trains_agent-0.12.0a9-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.0rc0": [ { "comment_text": "", "digests": { "md5": "b5e93b5503642f08cbca849353be5219", "sha256": "17f5fcec8575c3d53192ec66c4f7d654f0cad569e3a26eea21c6c0c813bac7fc" }, "downloads": -1, "filename": "trains_agent-0.12.0rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "b5e93b5503642f08cbca849353be5219", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 181300, "upload_time": "2019-10-23T21:54:19", "upload_time_iso_8601": "2019-10-23T21:54:19.462341Z", "url": "https://files.pythonhosted.org/packages/13/13/48ef612227d3c591d58f383c77edf02481f801d1824a03a437e1e3b61fa6/trains_agent-0.12.0rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.0rc1": [ { "comment_text": "", "digests": { "md5": "7464b150063be91b8caa779baa464248", "sha256": "cfc78d34aad01f916930c55f4e6fcc1cf69292e8b76957000931a7a9bba08fef" }, "downloads": -1, "filename": "trains_agent-0.12.0rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "7464b150063be91b8caa779baa464248", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 182424, "upload_time": "2019-10-24T20:04:25", "upload_time_iso_8601": "2019-10-24T20:04:25.630788Z", "url": "https://files.pythonhosted.org/packages/1f/58/37a12f9feabc035543c6070c290ebe03655af6ab7a5618c26ec3814d7b4a/trains_agent-0.12.0rc1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.0rc2": [ { "comment_text": "", "digests": { "md5": "0127d34c429fba240db392611725c7c8", "sha256": "4e22266c0692cb65ebedb46e9d103d972db4d768f2d3ee923e577a45434d221c" }, "downloads": -1, "filename": "trains_agent-0.12.0rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "0127d34c429fba240db392611725c7c8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 182976, "upload_time": "2019-10-26T21:04:45", "upload_time_iso_8601": "2019-10-26T21:04:45.815099Z", "url": "https://files.pythonhosted.org/packages/00/a3/177da7dddac5aab11a793e5de28a244bacb252a169a64d0865c63e24af72/trains_agent-0.12.0rc2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.0rc3": [ { "comment_text": "", "digests": { "md5": "9538fe30339491f87b4ac39869e87cf1", "sha256": "bd809648aef4a42750dfdf9e89a5d6a0fc4b9d77ce4997d2309a95f4e4927ccd" }, "downloads": -1, "filename": "trains_agent-0.12.0rc3-py3-none-any.whl", "has_sig": false, "md5_digest": "9538fe30339491f87b4ac39869e87cf1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 182927, "upload_time": "2019-10-27T07:20:58", "upload_time_iso_8601": "2019-10-27T07:20:58.574222Z", "url": "https://files.pythonhosted.org/packages/53/0e/a8d21138493430e5050347dadd70102a19e46f56eabf3479001c113223a6/trains_agent-0.12.0rc3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.0rc4": [ { "comment_text": "", "digests": { "md5": "b69dc8d120557ed17e1b6d88b20c2cab", "sha256": "00621fdadaadc047a6482b42c3d89a2d1d2d85b7859d688dfe3f8406e1557b9f" }, "downloads": -1, "filename": "trains_agent-0.12.0rc4-py3-none-any.whl", "has_sig": false, "md5_digest": "b69dc8d120557ed17e1b6d88b20c2cab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 182787, "upload_time": "2019-10-28T09:51:46", "upload_time_iso_8601": "2019-10-28T09:51:46.791172Z", "url": "https://files.pythonhosted.org/packages/83/cc/49ccb9be0a521fc3efc7026ff00c418de101fccabb0c5946d5a75a23ed9c/trains_agent-0.12.0rc4-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.0rc5": [ { "comment_text": "", "digests": { "md5": "0688c7d0672f6f7fe82b6ed23ddc90e3", "sha256": "6f29bcbc19c21a6236294f8e1a07e3e52a0eed03767b0b0f5e499be1ea82c185" }, "downloads": -1, "filename": "trains_agent-0.12.0rc5-py3-none-any.whl", "has_sig": false, "md5_digest": "0688c7d0672f6f7fe82b6ed23ddc90e3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 182807, "upload_time": "2019-10-29T11:22:27", "upload_time_iso_8601": "2019-10-29T11:22:27.589415Z", "url": "https://files.pythonhosted.org/packages/77/af/0ef78c4f169ec07e5bc387f2d29d6b59f774c2d7ce597bb6939039baeeda/trains_agent-0.12.0rc5-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "3bcbc8551b62b0e5ea7b4f1cf1fda596", "sha256": "ba1f9ddd27a3df9f2f709527e43addcdadb8f4968902aa9b3c934c54dae45bd5" }, "downloads": -1, "filename": "trains_agent-0.12.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3bcbc8551b62b0e5ea7b4f1cf1fda596", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 189253, "upload_time": "2019-11-15T21:32:06", "upload_time_iso_8601": "2019-11-15T21:32:06.561280Z", "url": "https://files.pythonhosted.org/packages/f6/70/ef5ed114e43187a2c734c0ae7874665d7f6542dc6aa1ff39d52e8cc18202/trains_agent-0.12.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.1rc0": [ { "comment_text": "", "digests": { "md5": "25b507692ef84dac3ecf2cc92ba909ca", "sha256": "d0c016096564a4fb71874b0b4b344fe57a89e8b20b69209b22dd905e600caf94" }, "downloads": -1, "filename": "trains_agent-0.12.1rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "25b507692ef84dac3ecf2cc92ba909ca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 187558, "upload_time": "2019-11-02T23:25:59", "upload_time_iso_8601": "2019-11-02T23:25:59.501788Z", "url": "https://files.pythonhosted.org/packages/ab/ae/6ae733b5f81752be82ed11f685fc271508b604c55053c1a8a29ffec1133f/trains_agent-0.12.1rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.1rc1": [ { "comment_text": "", "digests": { "md5": "f7fd9a2d8100e131cffe4156eabb0b04", "sha256": "1c9b60653599fe0e7e79b121093c07aa23e580e0458f1bb48170c53425603f6d" }, "downloads": -1, "filename": "trains_agent-0.12.1rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "f7fd9a2d8100e131cffe4156eabb0b04", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 187565, "upload_time": "2019-11-02T23:59:19", "upload_time_iso_8601": "2019-11-02T23:59:19.343797Z", "url": "https://files.pythonhosted.org/packages/d7/4d/c66352a82ca4c5e176ce67d4b9fa24119fe3dcd5b73265ad274efb0c3692/trains_agent-0.12.1rc1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.1rc2": [ { "comment_text": "", "digests": { "md5": "b6e80ce89a028210d134a12903bb1d9c", "sha256": "4eddb7f47efa321185fbd157a900b11946cdb3600d2beb963245c95e61474131" }, "downloads": -1, "filename": "trains_agent-0.12.1rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "b6e80ce89a028210d134a12903bb1d9c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 188168, "upload_time": "2019-11-08T20:11:43", "upload_time_iso_8601": "2019-11-08T20:11:43.454422Z", "url": "https://files.pythonhosted.org/packages/18/63/5e64c62df55eee1bae42cbc0aa01c576d6104b9d96613a70cca7b911ae88/trains_agent-0.12.1rc2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.1rc3": [ { "comment_text": "", "digests": { "md5": "6069c024602b6153670942ec4a4f6259", "sha256": "e80c8c725538d5160559d02241c3a8b2d51bdf7cedf904fe35712f650a2039df" }, "downloads": -1, "filename": "trains_agent-0.12.1rc3-py3-none-any.whl", "has_sig": false, "md5_digest": "6069c024602b6153670942ec4a4f6259", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 188749, "upload_time": "2019-11-12T11:48:38", "upload_time_iso_8601": "2019-11-12T11:48:38.461428Z", "url": "https://files.pythonhosted.org/packages/90/f5/1ad4ea8f63aa1fb0423096e57592122e20eaaa29b018a72e0df38d1e6b6b/trains_agent-0.12.1rc3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.1rc4": [ { "comment_text": "", "digests": { "md5": "e1e1327a42855eda832d6548cd3ca8e5", "sha256": "f5a074b8fcb764ef95af9ccc5fe1875d6e9b8cd0a7c656823a6e84db80a1db36" }, "downloads": -1, "filename": "trains_agent-0.12.1rc4-py3-none-any.whl", "has_sig": false, "md5_digest": "e1e1327a42855eda832d6548cd3ca8e5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 189134, "upload_time": "2019-11-13T02:21:30", "upload_time_iso_8601": "2019-11-13T02:21:30.442285Z", "url": "https://files.pythonhosted.org/packages/1e/e3/8475c754ce15310955dd7657529633778892f01cc9f8fe6adecd158871c1/trains_agent-0.12.1rc4-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.1rc5": [ { "comment_text": "", "digests": { "md5": "3152cd97fcb7af38d135fd2fec600582", "sha256": "07505ed714d8296ff6ca7966853bf7c5c98a9eaf71071c9acc40bd1354d7b01a" }, "downloads": -1, "filename": "trains_agent-0.12.1rc5-py3-none-any.whl", "has_sig": false, "md5_digest": "3152cd97fcb7af38d135fd2fec600582", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 189300, "upload_time": "2019-11-15T20:57:32", "upload_time_iso_8601": "2019-11-15T20:57:32.448780Z", "url": "https://files.pythonhosted.org/packages/82/8a/c4b0888b32f5577b07dd76b929073ea724b385f2303bfa8913ff66819292/trains_agent-0.12.1rc5-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.2": [ { "comment_text": "", "digests": { "md5": "6099e8543bc47df0ff9149f5f5b450b7", "sha256": "916b4ba03d7ddca78063242a623a2034acb0116e054cd3e7698d1cd4424fb695" }, "downloads": -1, "filename": "trains_agent-0.12.2-py3-none-any.whl", "has_sig": false, "md5_digest": "6099e8543bc47df0ff9149f5f5b450b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 191906, "upload_time": "2019-12-15T13:44:58", "upload_time_iso_8601": "2019-12-15T13:44:58.286882Z", "url": "https://files.pythonhosted.org/packages/92/41/6cfec89fd5e1f13db41473c182573e36824b3a869a38aae80a9abe20a5a4/trains_agent-0.12.2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.2rc0": [ { "comment_text": "", "digests": { "md5": "144137be2341da26f789b2fffb22b86f", "sha256": "0004108de9da0d5406d31c66696ce86c4e67102203e2d325665cb1d97c0b2f40" }, "downloads": -1, "filename": "trains_agent-0.12.2rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "144137be2341da26f789b2fffb22b86f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 189488, "upload_time": "2019-11-21T21:39:26", "upload_time_iso_8601": "2019-11-21T21:39:26.210600Z", "url": "https://files.pythonhosted.org/packages/40/aa/29a7289b5812a387270736bada1dab9f9bb7548f3978274e86b88f2782de/trains_agent-0.12.2rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.2rc1": [ { "comment_text": "", "digests": { "md5": "2132810afa596d7e12c5261ac499d0e7", "sha256": "573d515bc0140d8cde00f49946a820e2605c544808168c772213707fa53b356f" }, "downloads": -1, "filename": "trains_agent-0.12.2rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "2132810afa596d7e12c5261ac499d0e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 189788, "upload_time": "2019-11-25T00:14:26", "upload_time_iso_8601": "2019-11-25T00:14:26.719708Z", "url": "https://files.pythonhosted.org/packages/57/b3/eb7c7c9d67155b41f5225a4b22c36be0f116b5474ccf5dbe7a446759936f/trains_agent-0.12.2rc1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.2rc2": [ { "comment_text": "", "digests": { "md5": "c50b3c7198ed8085d48c2c62b75a2643", "sha256": "6d4f571d577444dfc8e5c02ecac85423f2cc08b324456500de8978a3bf308255" }, "downloads": -1, "filename": "trains_agent-0.12.2rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "c50b3c7198ed8085d48c2c62b75a2643", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 190582, "upload_time": "2019-12-03T15:27:47", "upload_time_iso_8601": "2019-12-03T15:27:47.805039Z", "url": "https://files.pythonhosted.org/packages/03/27/c312e407ee0e070348f7465d4919fe96d3e403f58058caf64bac27868255/trains_agent-0.12.2rc2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.2rc2.post1": [ { "comment_text": "", "digests": { "md5": "e426aa2677b6d1c4546e2b00b7f67885", "sha256": "58ceb8be1620e94d85c6eff634d3427b64960bcc36253e484074b6893098f643" }, "downloads": -1, "filename": "trains_agent-0.12.2rc2.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "e426aa2677b6d1c4546e2b00b7f67885", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 191781, "upload_time": "2019-12-07T14:07:34", "upload_time_iso_8601": "2019-12-07T14:07:34.244088Z", "url": "https://files.pythonhosted.org/packages/66/08/6cb8d526589a9e36549c5037b476593cfe244fafeb3b5a100a5d2fbad5cf/trains_agent-0.12.2rc2.post1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.2rc3": [ { "comment_text": "", "digests": { "md5": "fa5c941d946717accb0a66ff23455479", "sha256": "6e6ded472b7e48f57eeee9e11a28289f73a30bc6d9cd6c336a9049cfea8e403a" }, "downloads": -1, "filename": "trains_agent-0.12.2rc3-py3-none-any.whl", "has_sig": false, "md5_digest": "fa5c941d946717accb0a66ff23455479", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 191949, "upload_time": "2019-12-15T09:40:04", "upload_time_iso_8601": "2019-12-15T09:40:04.319253Z", "url": "https://files.pythonhosted.org/packages/17/75/adbab4c59a799b6a4c9091ec1c35a931861d5ece92d8558732deb2598c7f/trains_agent-0.12.2rc3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.3rc0": [ { "comment_text": "", "digests": { "md5": "056de6b074386caee2ac75a9e67fa92c", "sha256": "eb084792d5123bf45090f3cd7a8c3011cb6b6f963a8b6456699feaff54e572aa" }, "downloads": -1, "filename": "trains_agent-0.12.3rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "056de6b074386caee2ac75a9e67fa92c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 192257, "upload_time": "2019-12-20T14:22:59", "upload_time_iso_8601": "2019-12-20T14:22:59.879299Z", "url": "https://files.pythonhosted.org/packages/83/26/4e08a9c01043bfa0d5b381dd6bb6bf914457d781d184b2fc96ab65e03186/trains_agent-0.12.3rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.12.3rc1": [ { "comment_text": "", "digests": { "md5": "8e19aa406fef6047203214c243b85b69", "sha256": "3f2e514a53ea2da07c3af45508d500fffe52a4acbafe15ccbbbe7ab0519442f6" }, "downloads": -1, "filename": "trains_agent-0.12.3rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "8e19aa406fef6047203214c243b85b69", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 200102, "upload_time": "2019-12-23T22:13:53", "upload_time_iso_8601": "2019-12-23T22:13:53.250669Z", "url": "https://files.pythonhosted.org/packages/07/93/67582a8e37b7f25bd7feaabac50d9067772489d483bf86a23d9a42457411/trains_agent-0.12.3rc1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "4bccd2c41d9ba8cbd1b1bb5df017a87f", "sha256": "0d7853cda9eed1aab5f1522b441f483acf9c1fecb29fadb14a78a9db19e91c56" }, "downloads": -1, "filename": "trains_agent-0.13.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4bccd2c41d9ba8cbd1b1bb5df017a87f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 200393, "upload_time": "2020-01-06T16:15:22", "upload_time_iso_8601": "2020-01-06T16:15:22.100410Z", "url": "https://files.pythonhosted.org/packages/6d/4d/f8930a91b04ac29330924e7f63fa906650707e22c39a1926938b85366d62/trains_agent-0.13.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.1": [ { "comment_text": "", "digests": { "md5": "5abff872c17156255e9fd65bfb76cd70", "sha256": "fb6e8076000a0ca879e024bb85b02f90c7009d2faf83e7faeab62ed0d84eeda9" }, "downloads": -1, "filename": "trains_agent-0.13.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5abff872c17156255e9fd65bfb76cd70", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 203745, "upload_time": "2020-01-27T17:46:48", "upload_time_iso_8601": "2020-01-27T17:46:48.889251Z", "url": "https://files.pythonhosted.org/packages/44/dc/484f8a7b6d3f7f84e439bb7fd86d8f4999000fe684fd99d1029103165cd8/trains_agent-0.13.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.1rc0": [ { "comment_text": "", "digests": { "md5": "072bc119c8d0a4c517b1e7998a3aefbc", "sha256": "671f6275a3275a73567365085a55ec358b960f40488abaf278d7242c594b810e" }, "downloads": -1, "filename": "trains_agent-0.13.1rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "072bc119c8d0a4c517b1e7998a3aefbc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 200962, "upload_time": "2020-01-13T13:48:55", "upload_time_iso_8601": "2020-01-13T13:48:55.892295Z", "url": "https://files.pythonhosted.org/packages/58/0d/1c1b3f90bbc8b53a669a9f317e58d75fb853fbf4318865886e82c5e4865e/trains_agent-0.13.1rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.1rc1": [ { "comment_text": "", "digests": { "md5": "3cb1dde7830b80e89595abb1aeb5f3dc", "sha256": "bc55f0a2637e50b1f57d560c7b9b38a311699fe51a87e10e2a343e588ebe4bfc" }, "downloads": -1, "filename": "trains_agent-0.13.1rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "3cb1dde7830b80e89595abb1aeb5f3dc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 201128, "upload_time": "2020-01-14T13:27:33", "upload_time_iso_8601": "2020-01-14T13:27:33.518613Z", "url": "https://files.pythonhosted.org/packages/12/bd/fe9ffd3e08d578c6b4c878b409a5dec3a865205c22faf0edf3cd8143227a/trains_agent-0.13.1rc1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.1rc10": [ { "comment_text": "", "digests": { "md5": "4a114c3630b0388376324f98164405bd", "sha256": "2660fe1ecba9b09cece099884e3708b0f9cf0f03c6cb9c2f561904690830a03f" }, "downloads": -1, "filename": "trains_agent-0.13.1rc10-py3-none-any.whl", "has_sig": false, "md5_digest": "4a114c3630b0388376324f98164405bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 203788, "upload_time": "2020-01-26T22:06:41", "upload_time_iso_8601": "2020-01-26T22:06:41.978033Z", "url": "https://files.pythonhosted.org/packages/49/23/f8d4537a6f30bc7de715997635f38059eb9b55577a66fba5919927a2b208/trains_agent-0.13.1rc10-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.1rc2": [ { "comment_text": "", "digests": { "md5": "57e3df36e63455706d93298b67935b65", "sha256": "e2c810ecb7899fccc225ef716925fe4bd394f0277e934407ef55953a612d0063" }, "downloads": -1, "filename": "trains_agent-0.13.1rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "57e3df36e63455706d93298b67935b65", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 202460, "upload_time": "2020-01-15T12:56:25", "upload_time_iso_8601": "2020-01-15T12:56:25.065857Z", "url": "https://files.pythonhosted.org/packages/bc/9b/6781b2dae6eed027a23fd5e5a92a14330863615ea60b09b571aaa9a2c607/trains_agent-0.13.1rc2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.1rc3": [ { "comment_text": "", "digests": { "md5": "c649459cbc19510347a2a3eb3fe4e1a0", "sha256": "00522e94bf8e296444a0f042241ec0c4ea69001102a39e9304916c69cdc51671" }, "downloads": -1, "filename": "trains_agent-0.13.1rc3-py3-none-any.whl", "has_sig": false, "md5_digest": "c649459cbc19510347a2a3eb3fe4e1a0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 202915, "upload_time": "2020-01-21T07:00:47", "upload_time_iso_8601": "2020-01-21T07:00:47.821645Z", "url": "https://files.pythonhosted.org/packages/14/ff/bc88703780f65236af4b76a7141b21a6264c52bb8c654a9d2881b993aa13/trains_agent-0.13.1rc3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.1rc4": [ { "comment_text": "", "digests": { "md5": "7d5f2d028cb37020ccd44c84e23b08c0", "sha256": "f3280f94107b6d6056666932f7922596329a849362b26b7e0699e3d83f3ca418" }, "downloads": -1, "filename": "trains_agent-0.13.1rc4-py3-none-any.whl", "has_sig": false, "md5_digest": "7d5f2d028cb37020ccd44c84e23b08c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 202931, "upload_time": "2020-01-21T11:10:40", "upload_time_iso_8601": "2020-01-21T11:10:40.551570Z", "url": "https://files.pythonhosted.org/packages/02/7b/1917e1f475573766299331370de7eede4c13eec85a95629cdb9562ff59f2/trains_agent-0.13.1rc4-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.1rc6": [ { "comment_text": "", "digests": { "md5": "64e7c6f169c05c92da921fa191ca0133", "sha256": "6457c1d3a3906b9b513d45a06f585f873bbdd26d6deea2d60b5e989227e6d2f4" }, "downloads": -1, "filename": "trains_agent-0.13.1rc6-py3-none-any.whl", "has_sig": false, "md5_digest": "64e7c6f169c05c92da921fa191ca0133", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 202997, "upload_time": "2020-01-21T17:05:15", "upload_time_iso_8601": "2020-01-21T17:05:15.370457Z", "url": "https://files.pythonhosted.org/packages/ad/80/700f3bd6c58de940058844b52ac8762b9319c3859ad025d7fc7f52290ae3/trains_agent-0.13.1rc6-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.1rc7": [ { "comment_text": "", "digests": { "md5": "8922809771db9f555b39f82218d72b00", "sha256": "0ca5fc0a162b3ea6615911fe4f10e4f0c3876f7fce76d8c7e2825357dee77643" }, "downloads": -1, "filename": "trains_agent-0.13.1rc7-py3-none-any.whl", "has_sig": false, "md5_digest": "8922809771db9f555b39f82218d72b00", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 203237, "upload_time": "2020-01-22T09:35:58", "upload_time_iso_8601": "2020-01-22T09:35:58.643022Z", "url": "https://files.pythonhosted.org/packages/32/91/0b3ec2d655fb058ecc21d3f6539e4ed1745a7fedc8d228068ade3d14bd96/trains_agent-0.13.1rc7-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.1rc8": [ { "comment_text": "", "digests": { "md5": "74d1e049888a0173b017b9828b0ba06b", "sha256": "04c3873d5134390a1dbd2078a7d63a9eef124c69691142caf58c86605d159ee2" }, "downloads": -1, "filename": "trains_agent-0.13.1rc8-py3-none-any.whl", "has_sig": false, "md5_digest": "74d1e049888a0173b017b9828b0ba06b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 203320, "upload_time": "2020-01-22T23:07:58", "upload_time_iso_8601": "2020-01-22T23:07:58.911160Z", "url": "https://files.pythonhosted.org/packages/5b/e4/5f05d914adeada99b28333b4c9eaee4c4c19b53d7d37a60a280aba855e64/trains_agent-0.13.1rc8-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.1rc9": [ { "comment_text": "", "digests": { "md5": "7a070b01c0c46a4804a726b146774add", "sha256": "eb15dd2d88d5b082a647d8aa7abc70452fff39905152b298969c12755ed737c6" }, "downloads": -1, "filename": "trains_agent-0.13.1rc9-py3-none-any.whl", "has_sig": false, "md5_digest": "7a070b01c0c46a4804a726b146774add", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 203701, "upload_time": "2020-01-26T12:43:26", "upload_time_iso_8601": "2020-01-26T12:43:26.372307Z", "url": "https://files.pythonhosted.org/packages/c6/f6/c091140ea91acf3ece648008815d36fee8173e0af47bed7c02c48cf8bcfd/trains_agent-0.13.1rc9-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.2": [ { "comment_text": "", "digests": { "md5": "214ebbf174d230002f4443759eed6717", "sha256": "cb5ab65f4933fda8d53054742c70c0b4cd6896f6d5ce7473c5c8b0a491352db7" }, "downloads": -1, "filename": "trains_agent-0.13.2-py3-none-any.whl", "has_sig": false, "md5_digest": "214ebbf174d230002f4443759eed6717", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 212600, "upload_time": "2020-02-23T14:01:45", "upload_time_iso_8601": "2020-02-23T14:01:45.878975Z", "url": "https://files.pythonhosted.org/packages/3c/76/7b0336e0fefdce522503b9d89d2f2b6e5dc1363d6b4cc386f2cb7ea06076/trains_agent-0.13.2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.2rc0": [ { "comment_text": "", "digests": { "md5": "7192a4027b9823015d44303783bc6698", "sha256": "32a04b6ece04505b66d2cf9c89c0ea3afc980a763e43b2574568b8b667282b7e" }, "downloads": -1, "filename": "trains_agent-0.13.2rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "7192a4027b9823015d44303783bc6698", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 203805, "upload_time": "2020-01-30T10:21:38", "upload_time_iso_8601": "2020-01-30T10:21:38.725991Z", "url": "https://files.pythonhosted.org/packages/ab/f8/0efb08ac1a2cccd7f84d0f5c53975764d30c55098fa66964e22e6bc2b92b/trains_agent-0.13.2rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.2rc1": [ { "comment_text": "", "digests": { "md5": "e1d33a67c492cc579d4bef0befc473a2", "sha256": "f1d5cef59c01ed223ade5b9cb5e350e4045af248269983fdd7b754231ca14dfd" }, "downloads": -1, "filename": "trains_agent-0.13.2rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "e1d33a67c492cc579d4bef0befc473a2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 203834, "upload_time": "2020-02-06T14:58:16", "upload_time_iso_8601": "2020-02-06T14:58:16.093480Z", "url": "https://files.pythonhosted.org/packages/89/c1/c15ca183688f3325e73374d6b48c77631e5818c7fb1cdca4e16538895fef/trains_agent-0.13.2rc1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.2rc2": [ { "comment_text": "", "digests": { "md5": "349c76d341ceff1db4f82900a4cf2636", "sha256": "72d39ae07db5987080a84cd70b8718fd436837c04d3cbf8359f0df4061eeba09" }, "downloads": -1, "filename": "trains_agent-0.13.2rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "349c76d341ceff1db4f82900a4cf2636", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 203839, "upload_time": "2020-02-12T09:16:30", "upload_time_iso_8601": "2020-02-12T09:16:30.663212Z", "url": "https://files.pythonhosted.org/packages/d5/cd/20b1135d28b5c60d5b0de2b18041fbf3195bb85625b12d57e09123eaf363/trains_agent-0.13.2rc2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.2rc3": [ { "comment_text": "", "digests": { "md5": "3b37a984a6865365dfb2952771de5d4a", "sha256": "b26f284211ac9aaf523ebd5c7a86a4dc857f3536691507774960aad39b582c7a" }, "downloads": -1, "filename": "trains_agent-0.13.2rc3-py3-none-any.whl", "has_sig": false, "md5_digest": "3b37a984a6865365dfb2952771de5d4a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 212635, "upload_time": "2020-02-16T14:03:54", "upload_time_iso_8601": "2020-02-16T14:03:54.418101Z", "url": "https://files.pythonhosted.org/packages/bb/b7/98bc5af88c1c39b5b38a0dcb7683864748cda8c688acc4b1de2358fa9a95/trains_agent-0.13.2rc3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3": [ { "comment_text": "", "digests": { "md5": "c08739cc9945e92ac8053e4a651893d1", "sha256": "3263fcf1ef0c423adf356ebe47e60511f18c03984f884759fb4a4039bf665c33" }, "downloads": -1, "filename": "trains_agent-0.13.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c08739cc9945e92ac8053e4a651893d1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 215385, "upload_time": "2020-03-09T14:08:35", "upload_time_iso_8601": "2020-03-09T14:08:35.899379Z", "url": "https://files.pythonhosted.org/packages/3a/81/24faefc2bd8f151dc45d6620d2d54f21a16cd973421090b269d58e0adec0/trains_agent-0.13.3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc0": [ { "comment_text": "", "digests": { "md5": "45403176d2cfe661a52c48046da425e7", "sha256": "caf62bfdc52c2b89cb0d8611e8171be1d2ab752a9d95ec888dcf9373ac88ac52" }, "downloads": -1, "filename": "trains_agent-0.13.3rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "45403176d2cfe661a52c48046da425e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 214011, "upload_time": "2020-03-03T09:38:42", "upload_time_iso_8601": "2020-03-03T09:38:42.773580Z", "url": "https://files.pythonhosted.org/packages/bc/65/8bdad7aab18ad88db16e2ece1f929f336f0001877768e9f2af0830b33966/trains_agent-0.13.3rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc1": [ { "comment_text": "", "digests": { "md5": "91043e241cfc3180f7ffbcf603032133", "sha256": "adc34d2e775f0166c8486772e711f49302e63a6e1abba1c66cc11f1e5f4843d6" }, "downloads": -1, "filename": "trains_agent-0.13.3rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "91043e241cfc3180f7ffbcf603032133", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 214717, "upload_time": "2020-03-04T10:37:38", "upload_time_iso_8601": "2020-03-04T10:37:38.829587Z", "url": "https://files.pythonhosted.org/packages/e7/a8/61ceb1e2873b64a4947cc24de105fea6894353e0cce26638703c7a45a10a/trains_agent-0.13.3rc1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc10": [ { "comment_text": "", "digests": { "md5": "3df7bf3503a9f22997d330511d510f9c", "sha256": "d66b1d4d12fe506ed20c1e3652fd244fbf58b17cc65d3abec42e2392cdec770c" }, "downloads": -1, "filename": "trains_agent-0.13.3rc10-py3-none-any.whl", "has_sig": false, "md5_digest": "3df7bf3503a9f22997d330511d510f9c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 215371, "upload_time": "2020-03-08T19:52:45", "upload_time_iso_8601": "2020-03-08T19:52:45.172043Z", "url": "https://files.pythonhosted.org/packages/30/ed/32d26df15cb2b115c901b4e0d7308b8afd8aeba79d6ac97b48a1cd0950cb/trains_agent-0.13.3rc10-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc11": [ { "comment_text": "", "digests": { "md5": "ad3164c999ea16169c247ade951c4ebd", "sha256": "a162152999ed91839976ef3608f3e0ab8263bc9b473283f3a7b5e3b223d1cece" }, "downloads": -1, "filename": "trains_agent-0.13.3rc11-py3-none-any.whl", "has_sig": false, "md5_digest": "ad3164c999ea16169c247ade951c4ebd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 215416, "upload_time": "2020-03-08T19:56:43", "upload_time_iso_8601": "2020-03-08T19:56:43.549409Z", "url": "https://files.pythonhosted.org/packages/13/66/3ae1bb066fb37c28bfedf4262209a1cc22ea5a64013dc084d0b44b69f6cd/trains_agent-0.13.3rc11-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc12": [ { "comment_text": "", "digests": { "md5": "af28f678660393d0277933922cdd041a", "sha256": "c2a333fc4d541abcaa3b2920b1e68441ab3c82184cde6855a555b532389148da" }, "downloads": -1, "filename": "trains_agent-0.13.3rc12-py3-none-any.whl", "has_sig": false, "md5_digest": "af28f678660393d0277933922cdd041a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 215443, "upload_time": "2020-03-09T06:47:19", "upload_time_iso_8601": "2020-03-09T06:47:19.941062Z", "url": "https://files.pythonhosted.org/packages/68/31/b8d656a7af53a9241efb32cd1397bd38a19b6589afd87c2c76c52fb8616b/trains_agent-0.13.3rc12-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc2": [ { "comment_text": "", "digests": { "md5": "67588a517bc08fc1398a725f441c5784", "sha256": "b7a492a6ae83b058476872ea1ff6b4c84867b19e199dd8384bcd9841d5d70eed" }, "downloads": -1, "filename": "trains_agent-0.13.3rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "67588a517bc08fc1398a725f441c5784", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 214659, "upload_time": "2020-03-05T13:31:24", "upload_time_iso_8601": "2020-03-05T13:31:24.717003Z", "url": "https://files.pythonhosted.org/packages/ad/8d/abaae36dabf56d1a072764c11db76e2a28bf3afda34a35165f7edd3652d7/trains_agent-0.13.3rc2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc3": [ { "comment_text": "", "digests": { "md5": "39cd4bb0cd67f791cf7c49f849a68527", "sha256": "2e2014df6366e5d072dc640e2974fec80b2d425f49acd01a043d5c74a74c5e1a" }, "downloads": -1, "filename": "trains_agent-0.13.3rc3-py3-none-any.whl", "has_sig": false, "md5_digest": "39cd4bb0cd67f791cf7c49f849a68527", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 214796, "upload_time": "2020-03-05T14:07:03", "upload_time_iso_8601": "2020-03-05T14:07:03.079191Z", "url": "https://files.pythonhosted.org/packages/dc/2c/305b45c9bd5e87d9ed8c66eb1e3832517872d9dd0e02e4b52d103e2a36d6/trains_agent-0.13.3rc3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc4": [ { "comment_text": "", "digests": { "md5": "d91a4f9f91860016a825a35f1fafb7a9", "sha256": "9bb8f2f921bfd9748ac6415f41ceee9ddb7f2e8f1fd90fca81f5768664b12d4e" }, "downloads": -1, "filename": "trains_agent-0.13.3rc4-py3-none-any.whl", "has_sig": false, "md5_digest": "d91a4f9f91860016a825a35f1fafb7a9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 214834, "upload_time": "2020-03-05T15:21:25", "upload_time_iso_8601": "2020-03-05T15:21:25.978238Z", "url": "https://files.pythonhosted.org/packages/19/4b/a93b184fe32d789a803d75f24ac2f41add4aa8eb208385587dcb00594910/trains_agent-0.13.3rc4-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc5": [ { "comment_text": "", "digests": { "md5": "a6da14665feb8561dbec9f40685f3c1d", "sha256": "72614aca98c83330763e4fd2b70e817906744d17be7161c1b3f13f6ed4f5ee0d" }, "downloads": -1, "filename": "trains_agent-0.13.3rc5-py3-none-any.whl", "has_sig": false, "md5_digest": "a6da14665feb8561dbec9f40685f3c1d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 214836, "upload_time": "2020-03-05T15:49:14", "upload_time_iso_8601": "2020-03-05T15:49:14.460720Z", "url": "https://files.pythonhosted.org/packages/25/72/dd9e383a7aceb4cb1f399e9f49841510d2ec125d95c92595fb83c90b47f5/trains_agent-0.13.3rc5-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc6": [ { "comment_text": "", "digests": { "md5": "9d22d51ff9d0f91f02a6c39fd24fa7b9", "sha256": "b961c6108c794f161600e4f8fbccce343aa34ce7c0f4162da557277ed58363a6" }, "downloads": -1, "filename": "trains_agent-0.13.3rc6-py3-none-any.whl", "has_sig": false, "md5_digest": "9d22d51ff9d0f91f02a6c39fd24fa7b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 214721, "upload_time": "2020-03-05T15:57:30", "upload_time_iso_8601": "2020-03-05T15:57:30.413707Z", "url": "https://files.pythonhosted.org/packages/74/fc/62d24eedd55646a8965f7994116df41b505cd1bbe8c5d7dcbddd9f8b4410/trains_agent-0.13.3rc6-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc7": [ { "comment_text": "", "digests": { "md5": "42d52bcc623ac990a9fa79e11cab7532", "sha256": "82dba94b242bad2734a2d7f37c2e9a2097d1ba4d3547d690603bde9a85e7ddd2" }, "downloads": -1, "filename": "trains_agent-0.13.3rc7-py3-none-any.whl", "has_sig": false, "md5_digest": "42d52bcc623ac990a9fa79e11cab7532", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 215251, "upload_time": "2020-03-08T13:49:04", "upload_time_iso_8601": "2020-03-08T13:49:04.511690Z", "url": "https://files.pythonhosted.org/packages/4e/ef/9018920eb46793e3921a983bcd00d05a9d0920efa6f313caf301118e4ab5/trains_agent-0.13.3rc7-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc8": [ { "comment_text": "", "digests": { "md5": "230a968724ca2314e6bede3facaf3520", "sha256": "e5e5363f2b0510ed96ac6e18356d97ad2c84bc016902ff3fff8ce9b8b265dde7" }, "downloads": -1, "filename": "trains_agent-0.13.3rc8-py3-none-any.whl", "has_sig": false, "md5_digest": "230a968724ca2314e6bede3facaf3520", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 215253, "upload_time": "2020-03-08T19:16:01", "upload_time_iso_8601": "2020-03-08T19:16:01.130954Z", "url": "https://files.pythonhosted.org/packages/4d/16/295a146106afeecf7ebe9b461494cf952221e53fe0611f263387996f6b76/trains_agent-0.13.3rc8-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.13.3rc9": [ { "comment_text": "", "digests": { "md5": "2d006f04d88e7153149b4fdbe085a482", "sha256": "f05ec0b41b31ae5c71e615bcf8e58d1f78d7c11a126852bceb8beab3e7246fb5" }, "downloads": -1, "filename": "trains_agent-0.13.3rc9-py3-none-any.whl", "has_sig": false, "md5_digest": "2d006f04d88e7153149b4fdbe085a482", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 215358, "upload_time": "2020-03-08T19:39:22", "upload_time_iso_8601": "2020-03-08T19:39:22.134810Z", "url": "https://files.pythonhosted.org/packages/24/56/bcf25a4f151fe78910f018fd09f189289616e3f85980d1d71176bfca869e/trains_agent-0.13.3rc9-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "00010ce716a617c7ef3a742f071ede9a", "sha256": "674ab304fef831eea6475ac316adf70475e67994c6e3b5b1a9e7d68e986ec238" }, "downloads": -1, "filename": "trains_agent-0.14.0-py3-none-any.whl", "has_sig": false, "md5_digest": "00010ce716a617c7ef3a742f071ede9a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 274330, "upload_time": "2020-03-12T17:41:56", "upload_time_iso_8601": "2020-03-12T17:41:56.348874Z", "url": "https://files.pythonhosted.org/packages/1d/ab/e906e9e2da03833720df48436b2a317cec999ebf0eba1bc63737b663a45c/trains_agent-0.14.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.14.0rc0": [ { "comment_text": "", "digests": { "md5": "4e7b42a6e23771c751d5711665c2b9d7", "sha256": "a0dd9ea6560c553f467cc0e9a2ecb1da5d5f4d1d1714a0d1f04f978a4c569168" }, "downloads": -1, "filename": "trains_agent-0.14.0rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "4e7b42a6e23771c751d5711665c2b9d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 215462, "upload_time": "2020-03-10T12:43:30", "upload_time_iso_8601": "2020-03-10T12:43:30.081188Z", "url": "https://files.pythonhosted.org/packages/18/16/b2f2034b3233700c382e6142b81e45079bbed875cec220c363d147f3bf7c/trains_agent-0.14.0rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.14.1": [ { "comment_text": "", "digests": { "md5": "f398474a364f7659ef885d997b42a52d", "sha256": "ad1460f9295415e80e26ae883293a52dfdd0765b39e0a19bf8f5b04834ee5861" }, "downloads": -1, "filename": "trains_agent-0.14.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f398474a364f7659ef885d997b42a52d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 276929, "upload_time": "2020-03-24T18:30:57", "upload_time_iso_8601": "2020-03-24T18:30:57.504256Z", "url": "https://files.pythonhosted.org/packages/06/37/f36a0c856c01899abe6272ea6495519b1580e71d45593a78fbd57f4c308c/trains_agent-0.14.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.14.1rc0": [ { "comment_text": "", "digests": { "md5": "4792192f19d21148da6d438be19abed6", "sha256": "b2e81d9edef38512835f70f905ae1384b589fa4915b13be4fbf46d61815117f7" }, "downloads": -1, "filename": "trains_agent-0.14.1rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "4792192f19d21148da6d438be19abed6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 276280, "upload_time": "2020-03-17T23:34:39", "upload_time_iso_8601": "2020-03-17T23:34:39.796113Z", "url": "https://files.pythonhosted.org/packages/06/26/7c7bdbfb8843a9c0bcb66862e4d727d09fc6dc9ffc35e6f4a039015b310b/trains_agent-0.14.1rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.14.1rc1": [ { "comment_text": "", "digests": { "md5": "730ca41e068064b86f74a3e6bccf413b", "sha256": "758330ab731e4efdfb46790d7bccbaa5398bac0cbe9d704a6abfab8c71347561" }, "downloads": -1, "filename": "trains_agent-0.14.1rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "730ca41e068064b86f74a3e6bccf413b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 276497, "upload_time": "2020-03-20T00:58:43", "upload_time_iso_8601": "2020-03-20T00:58:43.731371Z", "url": "https://files.pythonhosted.org/packages/50/b4/f7f4254cc0380c6d67a08b331d101fb6244868734e78cd5384a653850089/trains_agent-0.14.1rc1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.14.2rc0": [ { "comment_text": "", "digests": { "md5": "9d9c2fd7017b3c11981ad215598dcb59", "sha256": "8c71dab5a30aa17a95472c82bb344674b30280aa4b67d75f9f535f85186dd684" }, "downloads": -1, "filename": "trains_agent-0.14.2rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "9d9c2fd7017b3c11981ad215598dcb59", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 283237, "upload_time": "2020-04-19T08:49:10", "upload_time_iso_8601": "2020-04-19T08:49:10.338575Z", "url": "https://files.pythonhosted.org/packages/6c/97/d669a7cd27ec29e23f641d556e13e8d7bd814939667406611b25b733f888/trains_agent-0.14.2rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.14.2rc1": [ { "comment_text": "", "digests": { "md5": "3d488f18152144dc1fcda0f9d4d5e267", "sha256": "7164ac8adbdaf5bca176bb91a20dc65d559ef0b0e7f2156a3b74e5159c1822a9" }, "downloads": -1, "filename": "trains_agent-0.14.2rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "3d488f18152144dc1fcda0f9d4d5e267", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 284322, "upload_time": "2020-04-23T11:59:32", "upload_time_iso_8601": "2020-04-23T11:59:32.177193Z", "url": "https://files.pythonhosted.org/packages/22/08/119f0eb6e6f697e7fbc98b2b7674a1aeaf2ec4fe9fcc3ef1ee42ea7ce5aa/trains_agent-0.14.2rc1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.14.2rc2": [ { "comment_text": "", "digests": { "md5": "b224f7644f9264825bce9ec21c7a3491", "sha256": "ab588475e02eebe9b34d84f144b284d5e61a18d44502bd4bbab09e3955ba9621" }, "downloads": -1, "filename": "trains_agent-0.14.2rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "b224f7644f9264825bce9ec21c7a3491", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 284402, "upload_time": "2020-04-30T08:42:15", "upload_time_iso_8601": "2020-04-30T08:42:15.150854Z", "url": "https://files.pythonhosted.org/packages/fb/30/50e92713824a5e41e555b5eff223848eb804ae169298bbd7e1d13c9bb41f/trains_agent-0.14.2rc2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "e5bece3cc06dc8c217f972abdf3da23c", "sha256": "fafe2a6feeabcac919802bb94d35243337b8b44cfa663e023408a2dbccc0e422" }, "downloads": -1, "filename": "trains_agent-0.15.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e5bece3cc06dc8c217f972abdf3da23c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 286184, "upload_time": "2020-06-01T16:59:37", "upload_time_iso_8601": "2020-06-01T16:59:37.890832Z", "url": "https://files.pythonhosted.org/packages/d4/93/58dd166d617ac24a1b66bcaa0cd0e0fe1567dc5a4a67111908713fc7e69b/trains_agent-0.15.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.15.0rc0": [ { "comment_text": "", "digests": { "md5": "92bf503a8db153a5c4a31928902cd0ae", "sha256": "fc06e7c13aa7267c183aa56b2a80974455f8a00cf69885d29e9c14b89adef855" }, "downloads": -1, "filename": "trains_agent-0.15.0rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "92bf503a8db153a5c4a31928902cd0ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 285238, "upload_time": "2020-05-21T21:03:54", "upload_time_iso_8601": "2020-05-21T21:03:54.403150Z", "url": "https://files.pythonhosted.org/packages/3f/e4/fcb6bc3e27c8490b3c6cf71c76bfb5bed172eed2c7f4afe63577adcf0425/trains_agent-0.15.0rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.15.1": [ { "comment_text": "", "digests": { "md5": "1dcc120b8ce0c8279b96699d2af0b21a", "sha256": "96b2ef201c6159b92bc116938f81ff80982660d0847b4c707683561c22b726fe" }, "downloads": -1, "filename": "trains_agent-0.15.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1dcc120b8ce0c8279b96699d2af0b21a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 300068, "upload_time": "2020-06-21T20:38:58", "upload_time_iso_8601": "2020-06-21T20:38:58.802785Z", "url": "https://files.pythonhosted.org/packages/c6/d7/1709d3edaa8ce3e29ade58100769f5dfbc58852a52506ad175e11543cde4/trains_agent-0.15.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.15.2rc0": [ { "comment_text": "", "digests": { "md5": "83ed6a97078768811f5a859cace704c2", "sha256": "6b3885252fec2da8c8aeffc65d1c157af3557aa8b8bba1021a0df1d8bcb5078e" }, "downloads": -1, "filename": "trains_agent-0.15.2rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "83ed6a97078768811f5a859cace704c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 300611, "upload_time": "2020-07-06T18:11:04", "upload_time_iso_8601": "2020-07-06T18:11:04.497947Z", "url": "https://files.pythonhosted.org/packages/c3/52/42d0d4cf4766470eef252ef5a20197478abb18a081feb893b3c18d74d364/trains_agent-0.15.2rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.16.0": [ { "comment_text": "", "digests": { "md5": "7d6a111ed219ecded937e58007bb5e4d", "sha256": "3888a952f963d573c39d926330624ce3cd34efa32d36d17e8bba4c17f3ed9db0" }, "downloads": -1, "filename": "trains_agent-0.16.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7d6a111ed219ecded937e58007bb5e4d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 307597, "upload_time": "2020-08-11T14:52:29", "upload_time_iso_8601": "2020-08-11T14:52:29.964159Z", "url": "https://files.pythonhosted.org/packages/cf/18/5bb062f72ce4f529f9d4250d7bc8e94e6f56b39f1b7fa2480f65e27b1220/trains_agent-0.16.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.16.1": [ { "comment_text": "", "digests": { "md5": "a5b05f2de9b248c1614bfefe6f52e112", "sha256": "d1bc60495c9ca2e27fa55e08d38fbaa064d90b841e6834d5bd6a7be1f68715fd" }, "downloads": -1, "filename": "trains_agent-0.16.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a5b05f2de9b248c1614bfefe6f52e112", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 314432, "upload_time": "2020-10-05T15:47:08", "upload_time_iso_8601": "2020-10-05T15:47:08.696617Z", "url": "https://files.pythonhosted.org/packages/06/dd/e674efa765e3c2e6aa1808ecf10143629d1e9dda71854b08e2894dbcddfd/trains_agent-0.16.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.16.2": [ { "comment_text": "", "digests": { "md5": "1213b2b1ad9527dc69321473ded19b47", "sha256": "94507e9cf2e356f43cdaa756b51502ad4e72398e88e96d20ec09f5a3b35101b8" }, "downloads": -1, "filename": "trains_agent-0.16.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1213b2b1ad9527dc69321473ded19b47", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 322831, "upload_time": "2020-12-10T10:59:10", "upload_time_iso_8601": "2020-12-10T10:59:10.763995Z", "url": "https://files.pythonhosted.org/packages/98/8f/626f382b037d147ef5f8633fa362b472e526673b395efae8cf1d7b22cebc/trains_agent-0.16.2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.16.2rc0": [ { "comment_text": "", "digests": { "md5": "eaebacd3f2b9a45042120e711276f29a", "sha256": "4d4450996aa814040e5b00efdd7464df58d7cf74027031e3da7eb7b7c4d3efc8" }, "downloads": -1, "filename": "trains_agent-0.16.2rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "eaebacd3f2b9a45042120e711276f29a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 316411, "upload_time": "2020-10-14T22:47:19", "upload_time_iso_8601": "2020-10-14T22:47:19.900572Z", "url": "https://files.pythonhosted.org/packages/50/24/44f1ad173eed2ef7f90267bd465413ead03e9f7778af2b1098fa3f2e1df8/trains_agent-0.16.2rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.16.2rc1": [ { "comment_text": "", "digests": { "md5": "89f37cf77e79692cfe7707827be863d5", "sha256": "cb6072a77bfe7881ffe65cf4085c57fb61059677b6433be5d2ffc3f2b00d142e" }, "downloads": -1, "filename": "trains_agent-0.16.2rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "89f37cf77e79692cfe7707827be863d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 321506, "upload_time": "2020-11-11T15:17:20", "upload_time_iso_8601": "2020-11-11T15:17:20.932735Z", "url": "https://files.pythonhosted.org/packages/23/11/a85c69c5165266fa4abb83e8a013f302fa611ef2e5b9f068b35dfc0e3d8c/trains_agent-0.16.2rc1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.16.2rc2": [ { "comment_text": "", "digests": { "md5": "647e0787d8e10795ca12e35f6403f2c4", "sha256": "fa8bfb9fb300ad5cad2943a51f12be60e995897524e96360cf57cccd7d40653f" }, "downloads": -1, "filename": "trains_agent-0.16.2rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "647e0787d8e10795ca12e35f6403f2c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 321985, "upload_time": "2020-11-29T21:37:16", "upload_time_iso_8601": "2020-11-29T21:37:16.527466Z", "url": "https://files.pythonhosted.org/packages/07/25/cb9a982699681ef645f3ba13245bb5cf7aadfb5a771eb2384d068c0df378/trains_agent-0.16.2rc2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.16.3": [ { "comment_text": "", "digests": { "md5": "8e3442056bdaa06edbaacfaae1870b00", "sha256": "4aa14727efc5e64b70e2a24c7e65986cd6d994da36d71505f48b243860fea87b" }, "downloads": -1, "filename": "trains_agent-0.16.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8e3442056bdaa06edbaacfaae1870b00", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 322898, "upload_time": "2020-12-22T18:33:32", "upload_time_iso_8601": "2020-12-22T18:33:32.066576Z", "url": "https://files.pythonhosted.org/packages/2b/b1/a693d40a10e6134f6e9d417964cccda181f79fdd67d338c77ae04246753f/trains_agent-0.16.3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8e3442056bdaa06edbaacfaae1870b00", "sha256": "4aa14727efc5e64b70e2a24c7e65986cd6d994da36d71505f48b243860fea87b" }, "downloads": -1, "filename": "trains_agent-0.16.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8e3442056bdaa06edbaacfaae1870b00", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 322898, "upload_time": "2020-12-22T18:33:32", "upload_time_iso_8601": "2020-12-22T18:33:32.066576Z", "url": "https://files.pythonhosted.org/packages/2b/b1/a693d40a10e6134f6e9d417964cccda181f79fdd67d338c77ae04246753f/trains_agent-0.16.3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }