{ "info": { "author": "Jonathan Chukinas", "author_email": "chukinas@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License" ], "description": "=========================================\nRequirements Trace Matrix (RTM) Validator\n=========================================\n\nValidate a Function & Design Requirements document.\n\nFree software: MIT license\n\n\nJ&J Quick Start\n---------------\n1. **Install Python**\n a. Navigate to J&J App Store. You may need to use Internet Explorer. Users have had difficulty with Chrome.\n #. Search ``Python``. You should see something similar to ``Python 3.6``. Add it to cart and install.\n #. No restart is required.\n#. **Run Command Prompt with Elevated Privileges**\n a. Do not call IRIS.\n #. Hit the ``Windows Key`` and type ``cmd`` to search for the Windows command prompt\n #. Right-click ``cmd`` and select ``open file location``. This opens File Explorer.\n #. Right-click on the ``cmd`` icon and select ``Run with elevated privileges``.\n#. **Install** ``dps-rtm``\n a. In Command Prompt, type ``pip install dps-rtm``\n #. If this throws an error, try instead: ``python -m pip install dps-rtm``. Hint: the up-arrow accesses previous commands to reduce the amount of typing you need to do.\n #. Note: You might see a note about ``pip`` being out of date. This is ok, but feel free to update it as suggested.\n#. **Run** ``rtm``\n a. In Command Prompt, type ``rtm``\n #. Note: Running the command prompt with elevated privileges is only needed for installing and upgrading ``rtm``. To run the program, just open command prompt normally.\n \n\nHow to Upgrade to Latest Version\n--------------------------------\n1. **Run Command Prompt with Elevated Privileges**\n a. Hit the ``Windows Key`` and type ``cmd`` to search for the Windows command prompt\n #. Right-click ``cmd`` and select ``open file location``. This opens File Explorer.\n #. Right-click on the ``cmd`` icon and select ``Run with elevated privileges``.\n#. **Upgrade** ``dps-rtm``\n a. In Command Prompt, type ``pip install --upgrade dps-rtm``\n\n\n\nValidation Rules\n-----------------\nGeneral Notes\n'''''''''''''\n- The FDR sheet must have the title 'Procedure Based Requirements'\n- If multiples headers share the same name, only the first will be used.\n- All columns get checked for 1) Exist and 2) Correct left-to-right order.\n\nID\n''\n- **UNIQUE**: Each ID must be unique\n- **ALPHABETICAL SORT**: The entire column must be in alphabetical order.\n- **PROCEDURE STEP FORMAT**: Procedure Step IDs must be formatted `PXYZ` e.g. `P010`\n- **START WITH ROOT ID**: All other IDs must start with the ID of its root Procedure Step. Example: if a Procedure Step has an ID of \"P010\", then the following VOC USER NEED could have an ID of \"P010-0010\".\n\nCascade Block\n'''''''''''''\nThe Cascade Block is a group of columns: Procedure Step, Need, Design Input, Solution Level 1, ..., Solution Level n.\n\n- **NOT EMPTY**: Error if Cascade Block row is entirely empty.\n- **SINGLE ENTRY**: Warning if more than one cell in Cascade Block row has an entry. Only the first is considered.\n- **USE ALL COLUMNS**: Warning if any Cascade Block columns are completely blank.\n- **ORPHAN WORK ITEMS**: Each work item must trace back to a procedure step.\n- **SOLUTION LEVEL TERMINAL**: Each requirements trace terminates at the Solution Level.\n- **F ENTRY**: Terminal work items are marked with 'F' in the Cascade Block.\n- **X ENTRY**: All other work items are marked with 'X'.\n\n\nCascade Level\n'''''''''''''\n- **NOT EMPTY**\n- **VALID INPUT**: Procedure Step, VOC User Need, Business Need, Risk Need, Design Input, or Solution Level\n- **CASCADE BLOCK MATCH**: matches selection in Cascade Block\n\nRequirement Statement\n'''''''''''''''''''''\nRTM Validator recognizes text string as tags if they meet these criteria:\n\n- Text string starts with `#` (pound sign)\n- Text string begins on a new line.\n\nSome tags (e.g. #ParentOf, #ChildOf) take modifiers. RTM Validator recognizes text strings as modifiers if they meet these criteria:\n\n- Text string is separated from tag by white space (one or more spaces).\n- Occurs on same line as tag\n- modifiers cannot contain white space.\n\nExamples:\n\n- `#ParentOf P010-020` - tag: `ParentOf`; modifier: `P010-020`.\n- `#ChildOf P 020-054` - tag: `ChildOf`; modifier: `P`. Note that the `020-054` is ignored.\n- `#ParentOf` - tag: `ParentOf`; modifier: (None).\n\nAvailable Base Tags:\n\n- ParentOf\n- ChildOf\n- Function\n- MatingParts\n- MechProperties\n- UserInterface\n\nChecks\n\n- **NOT EMPTY**\n- **MISSING TAGS**: Use each base tag at least once in the document\n- **CUSTOM TAG**: Custom tags are allowed, but produce a warning.\n- **PARENT/CHILD MODIFIERS** ParentOf and ChildOf modifiers must match a value in the ID column.\n- **MUTUAL PARENT/CHILD**: Each ChildOf work item must point to a work item that is itself a ParentOf the first work item.\n\nRequirement Rationale\n'''''''''''''''''''''\n- **NOT EMPTY**\n\nVorV Strategy\n'''''''''''''\n- **NOT EMPTY**\n- **BUSINESS NEED N/A**: Business Need work items are marked with 'N/A'.\n\nVorV Results\n''''''''''''\n- **NOT EMPTY**\n- **BUSINESS NEED N/A**: Business Need work items are marked with 'N/A'.\n\nDevices\n'''''''\n- **NOT EMPTY**\n\nDO Features\n'''''''''''\n- **NOT EMPTY**\n- **CTQ FORMAT**: if contains features that are CTQs, CTQ ID should be formatted as \"(CTQ##)\"\n- **MISSING CTQ**: if CTQ Y/N yes, check for CTQ IDs in DO Features column\n\nCTQ Y/N\n'''''''\n- **NOT EMPTY**\n- **VALID INPUT**: \"yes\", \"no\", \"N/A\", or \" - \" (only procedure step can have \" - \")\n- **CTQ -> YES**: If DO Feature has a ctq, then this cell needs a yes\n\nPotential Future Features\n-------------------------\n- Report on Windchill documents (WC#s, where used)\n\nDeveloper Notes\n---------------\nHow It Works\n''''''''''''''\nThe Requirements Trace Matrix (RTM) documents the requirements cascade for an New Product Development (NPD) project.\nBroad core requirements flow into multiple subrequirements, which themselves spawn yet more subrequirements, and so on.\nEach (sub)requirement can have multiple parents, though most have only one.\nEach of these (sub)requirements is called a **work item**.\n\nExpressed in terms of `Graph Theory `_,\nthe RTM is a collection of one or more directed, acyclic graphs.\nEach graph node is represented as a single row in the RTM Excel worksheet.\nEach node has multiple fields, represented by worksheet columns.\nThe graph edges are represented by the worksheet's Cascade Block. To find a node's primary parent,\nfind the last '**X**' in the previous column of the Cascade Block.\nAll other parents are called out with tags in the **Requirements Statement** field.\n\nThe RTM Validator works by first reading all rows of each field into an object.\nThen each work item (node) is read into its own object.\nFinally, validation functions are called, field by field.\nThe output (pass/warning/fail) is displayed on the console.\n\n\nRelease History\n---------------\n\nv 0.1.1\n''''''''''\n* Initial PyPI upload\n\nv 0.1.2\n''''''''''\n* added README\n\nv 0.1.3|4|5\n''''''''''''\n* implement tkinter\n\nv 0.1.6\n''''''''''\n* implement click cli\n\n...\n\nv 0.1.16\n''''''''''''\n* add Cascade Block validation\n\nv 0.1.17\n''''''''''''\n* add Cascade Level & Requirement Statement validation\n\nv 0.1.22\n''''''''''''\n* add excel markup\n\nv 0.1.23\n''''''''''''\n* add upgrade instruction to readme\n\nv 0.1.26\n''''''''''''\n* version check\n* ``rtm markup`` (no longer ``rtm highlight``) saves marked-up excel sheet to subdirectory and open file\n* headers must be located in row 2\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jonathanchukinas/fdr", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "dps-rtm", "package_url": "https://pypi.org/project/dps-rtm/", "platform": "", "project_url": "https://pypi.org/project/dps-rtm/", "project_urls": { "Homepage": "https://github.com/jonathanchukinas/fdr" }, "release_url": "https://pypi.org/project/dps-rtm/0.1.26/", "requires_dist": [ "click", "openpyxl", "colorama", "requests" ], "requires_python": ">=3.6", "summary": "Validate a Requirements Trace Matrix", "version": "0.1.26" }, "last_serial": 5982730, "releases": { "0.1.10": [ { "comment_text": "", "digests": { "md5": "b433003eaeb5e17b723b2c124de5852d", "sha256": "a9aa251ba9c7356456258d11c841fca889fcfb3cb8ae764a5f7d417d552d99c9" }, "downloads": -1, "filename": "dps_rtm-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "b433003eaeb5e17b723b2c124de5852d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 34056, "upload_time": "2019-08-01T14:41:16", "url": "https://files.pythonhosted.org/packages/38/d0/292d1d56ab4d0b881c36ad005141e942357ceacf280fc0aa391d92404f9d/dps_rtm-0.1.10-py3-none-any.whl" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "83edbb5696c58e05784f49f8974d046f", "sha256": "46b65dbb696b254e01416efcb520e30ebb8c133eea20a82f814855a545688ec3" }, "downloads": -1, "filename": "dps_rtm-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "83edbb5696c58e05784f49f8974d046f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 48759, "upload_time": "2019-08-04T16:23:41", "url": "https://files.pythonhosted.org/packages/18/7c/77c15b54dd0f53d9cbfda18381dac9a6521e7ee6b83b7b0ad398b17647a0/dps_rtm-0.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39cdd1eb5de973ec2c951c96b910b22a", "sha256": "7b98c37a380b1aea06ef6ddb5f69a08ce5a93a25e81a6265f0a05e22d5e30799" }, "downloads": -1, "filename": "dps-rtm-0.1.11.tar.gz", "has_sig": false, "md5_digest": "39cdd1eb5de973ec2c951c96b910b22a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 50906, "upload_time": "2019-08-04T16:23:43", "url": "https://files.pythonhosted.org/packages/82/d1/45e98e379e02ceb5baf283729c2ae293068444018c548651d2a2ad461129/dps-rtm-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "45b0d81433f0362cdfd0aed24f49a40e", "sha256": "a34b82356a0b15d493c413fa0cb1ae5609e4409e664a6926d4c750f6565eb00b" }, "downloads": -1, "filename": "dps_rtm-0.1.12-py3-none-any.whl", "has_sig": false, "md5_digest": "45b0d81433f0362cdfd0aed24f49a40e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 48768, "upload_time": "2019-08-04T16:30:59", "url": "https://files.pythonhosted.org/packages/61/e8/f2e3ad3f05c16a8f9371d5527ff99ff73e6939d38466e2d5d5d7ab06b946/dps_rtm-0.1.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23fcc1c3216461d0e431b48329a0e668", "sha256": "88151d7d5bfd2a3b71cc798f495f43d5c66d82963b43c91ed3d103b8ba777b9c" }, "downloads": -1, "filename": "dps-rtm-0.1.12.tar.gz", "has_sig": false, "md5_digest": "23fcc1c3216461d0e431b48329a0e668", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 50919, "upload_time": "2019-08-04T16:31:01", "url": "https://files.pythonhosted.org/packages/36/c1/7c3483c8797f97226fe4bbefc9d5fc9e4e6bc1ec760e1bead06971b546ec/dps-rtm-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "0333bce924c04b731519d90552185840", "sha256": "e008be91ca58034a6f7398cf42bdf7ffd24b1189eaff2c0439eb66ac8d240932" }, "downloads": -1, "filename": "dps_rtm-0.1.13-py3-none-any.whl", "has_sig": false, "md5_digest": "0333bce924c04b731519d90552185840", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 48318, "upload_time": "2019-08-04T18:34:15", "url": "https://files.pythonhosted.org/packages/1e/c1/d718a9ab981286a0261eb100561420106faba2bb6b2c81fa1167b7827bea/dps_rtm-0.1.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e23af38e9a25906dc4572ba010f86a9c", "sha256": "aca08eb952f899c22905b667a1be6b7a0d1589ad95c5efe614021d449fb0c8f4" }, "downloads": -1, "filename": "dps-rtm-0.1.13.tar.gz", "has_sig": false, "md5_digest": "e23af38e9a25906dc4572ba010f86a9c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 50803, "upload_time": "2019-08-04T18:34:17", "url": "https://files.pythonhosted.org/packages/de/c2/83a3a27020af37f3a7824a86b263a1259f8508670ad4bb928c7321fcabe8/dps-rtm-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "39f4998c40a5fd6a91ea036ad09bbf75", "sha256": "657401b64076fe610709578f143772cc004ec1eba29b139b237369202dad75f8" }, "downloads": -1, "filename": "dps_rtm-0.1.14-py3-none-any.whl", "has_sig": false, "md5_digest": "39f4998c40a5fd6a91ea036ad09bbf75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 62798, "upload_time": "2019-08-13T22:46:36", "url": "https://files.pythonhosted.org/packages/a0/26/045a99cae4ca036bb73e47f12ef4660769f1a873efdaa9f92a8377a1eb80/dps_rtm-0.1.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c86bfa3f846ee31671a2846995524d09", "sha256": "f6efb3b56b63767921cb5d7025e035ce7275d1c46326447f8c856446223c3cda" }, "downloads": -1, "filename": "dps-rtm-0.1.14.tar.gz", "has_sig": false, "md5_digest": "c86bfa3f846ee31671a2846995524d09", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 59557, "upload_time": "2019-08-13T22:46:38", "url": "https://files.pythonhosted.org/packages/33/11/defff55862564b01e3b683eb166a5a5ed69dc22fb58548efd1b35d3ab50c/dps-rtm-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "33aa0e4a76cb1fca58776f08302159c1", "sha256": "c6c5c0aeb04b30cacd46a3daa3ae47e7dc9e271a233b059b0c153c15872e5506" }, "downloads": -1, "filename": "dps_rtm-0.1.15-py3-none-any.whl", "has_sig": false, "md5_digest": "33aa0e4a76cb1fca58776f08302159c1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 66838, "upload_time": "2019-08-26T01:12:18", "url": "https://files.pythonhosted.org/packages/62/5c/ff66ac0f39fde4166a44874571ca26f629296fbde06407d36067f10adec0/dps_rtm-0.1.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23ad7f3a0fa320b26cbb66867c1d45a9", "sha256": "7279182d43282a96f8649c4dbf12380d05fa73fd5d83735ba0f5a10ca1ce72dd" }, "downloads": -1, "filename": "dps-rtm-0.1.15.tar.gz", "has_sig": false, "md5_digest": "23ad7f3a0fa320b26cbb66867c1d45a9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 61512, "upload_time": "2019-08-26T01:12:21", "url": "https://files.pythonhosted.org/packages/0f/33/10c10c230d53d36405f904d4982b4d0d04bcefc64e071656493203d1c5b3/dps-rtm-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "5707efb4504177a8b2423b51c20220b3", "sha256": "bb321af0ba6bdca73b81bd69427b6250b4aa3290b2761ea9f636a81cc3bf0580" }, "downloads": -1, "filename": "dps_rtm-0.1.16-py3-none-any.whl", "has_sig": false, "md5_digest": "5707efb4504177a8b2423b51c20220b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 90500, "upload_time": "2019-09-16T18:18:53", "url": "https://files.pythonhosted.org/packages/20/93/0aa7a8afaa566c6849acdd69877235f821b6d222c50b9414b5744754de9c/dps_rtm-0.1.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7d278012ab4297f256957921fd168ab", "sha256": "ff7b7d325e43dfabb6737fc0c9b3802b6edbf0f124bd5ceb4e086da0980277d8" }, "downloads": -1, "filename": "dps-rtm-0.1.16.tar.gz", "has_sig": false, "md5_digest": "b7d278012ab4297f256957921fd168ab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 68594, "upload_time": "2019-09-16T18:18:58", "url": "https://files.pythonhosted.org/packages/3a/08/b5aed869eed4bdcfb52a1175cbc9ee837cf48f9fe5f0f9234494dd0a177d/dps-rtm-0.1.16.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "daba5a7b269c51f04cc93099940b2997", "sha256": "cbd9a1fd74e37b4bd112162bb9eb9add6e37200189630dc0d554fed801812eec" }, "downloads": -1, "filename": "dps_rtm-0.1.17-py3-none-any.whl", "has_sig": false, "md5_digest": "daba5a7b269c51f04cc93099940b2997", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 69929, "upload_time": "2019-09-24T20:19:13", "url": "https://files.pythonhosted.org/packages/d5/d4/a7f9bed71f5608563ebb3847c92d176cfec06ba39f1c64cb1f0ce318025a/dps_rtm-0.1.17-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac9da08003dc1f37c8ed0802df8fba1c", "sha256": "c86e1bdd1968a049a4d880e606523772459e678e13fd63cd92e1a2fe52b448bb" }, "downloads": -1, "filename": "dps-rtm-0.1.17.tar.gz", "has_sig": false, "md5_digest": "ac9da08003dc1f37c8ed0802df8fba1c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 70373, "upload_time": "2019-09-24T20:25:46", "url": "https://files.pythonhosted.org/packages/c2/03/eeaf97c8772cbd4f0bd413a36b2fe33f093cd7b67393bce78a228a849880/dps-rtm-0.1.17.tar.gz" } ], "0.1.21": [ { "comment_text": "", "digests": { "md5": "d497acb5b992ae3cf5181ba69703a60b", "sha256": "57fa754f74cf711d6fb1936d8b6cdbb8d98d38c6a86325b98837b18714da39d8" }, "downloads": -1, "filename": "dps_rtm-0.1.21-py3-none-any.whl", "has_sig": false, "md5_digest": "d497acb5b992ae3cf5181ba69703a60b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 69997, "upload_time": "2019-10-01T12:51:03", "url": "https://files.pythonhosted.org/packages/97/5a/6719f23176935b276e686978a84e04bad30170fc8115d7b1021dc9739179/dps_rtm-0.1.21-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fabb1b6183ecdad0d08a12e9b383278e", "sha256": "5f1ef049d0274fd1a625fe3035378b736aaeb783c505d977c62504d8fa6a3fe7" }, "downloads": -1, "filename": "dps-rtm-0.1.21.tar.gz", "has_sig": false, "md5_digest": "fabb1b6183ecdad0d08a12e9b383278e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 70822, "upload_time": "2019-10-01T12:51:05", "url": "https://files.pythonhosted.org/packages/47/65/1f2c5ea121f188c02c925b418c382ffc05d373177efbce74572ecf86ec63/dps-rtm-0.1.21.tar.gz" } ], "0.1.22": [ { "comment_text": "", "digests": { "md5": "7ed431f439369a7cda7ad7c531fb82d7", "sha256": "8117c84d5e8a6651edd7ae6954eb02682e01ba8b53fdc07946dc86826b0eecf4" }, "downloads": -1, "filename": "dps_rtm-0.1.22-py3-none-any.whl", "has_sig": false, "md5_digest": "7ed431f439369a7cda7ad7c531fb82d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 79070, "upload_time": "2019-10-14T13:39:18", "url": "https://files.pythonhosted.org/packages/a1/66/9103b71a1d311e8d757e6e27de32a705857e464f54f9961b5b1002aead8b/dps_rtm-0.1.22-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "795281272bc034791d7b0e64b50e78e8", "sha256": "5b088f9e6cb203400be4cbb39b89269401bf1cd64ffc4eaea471f29e1ca7ee99" }, "downloads": -1, "filename": "dps-rtm-0.1.22.tar.gz", "has_sig": false, "md5_digest": "795281272bc034791d7b0e64b50e78e8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 77836, "upload_time": "2019-10-14T13:39:19", "url": "https://files.pythonhosted.org/packages/89/fd/569c9135f520bb5d8cd958cc6696d049d41b4bafb3c2098368266eb04a5a/dps-rtm-0.1.22.tar.gz" } ], "0.1.23": [ { "comment_text": "", "digests": { "md5": "e6b6e25195ab7ae72c514b4e510c792e", "sha256": "9616fdac43b5c609453c8c8b4262f25e11c8bfa32f973609b94f862e946a2046" }, "downloads": -1, "filename": "dps_rtm-0.1.23-py3-none-any.whl", "has_sig": false, "md5_digest": "e6b6e25195ab7ae72c514b4e510c792e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 79197, "upload_time": "2019-10-14T14:13:14", "url": "https://files.pythonhosted.org/packages/0b/c3/cadb2994c81d02999277ab85095d592b1f846853754162c58f8911c5effe/dps_rtm-0.1.23-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "edca7b998fbea5d339e2225321381aa3", "sha256": "87ba1058c1cfb4cd79b7140fa37d19eea2e8e68a4db215ed37538c0763fb98a5" }, "downloads": -1, "filename": "dps-rtm-0.1.23.tar.gz", "has_sig": false, "md5_digest": "edca7b998fbea5d339e2225321381aa3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 77245, "upload_time": "2019-10-14T14:13:17", "url": "https://files.pythonhosted.org/packages/a8/fd/28b1bec5fc4402c1ebadebc5ba8efc1a73914cba7ccac8e2bfdf73328194/dps-rtm-0.1.23.tar.gz" } ], "0.1.26": [ { "comment_text": "", "digests": { "md5": "0281bf08261a966950a99603933f8a3e", "sha256": "ef77119ad174ceae5f7bc67834777b97707783d96abadd1ecf2c6eaa334e371c" }, "downloads": -1, "filename": "dps_rtm-0.1.26-py3-none-any.whl", "has_sig": false, "md5_digest": "0281bf08261a966950a99603933f8a3e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 82233, "upload_time": "2019-10-16T11:45:14", "url": "https://files.pythonhosted.org/packages/a0/d6/f1c024fc1a8ab3721c389525af9fd69f5f0969b35909fcc399062f124cb7/dps_rtm-0.1.26-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8195dafa3fd964c1955e9ed612ec3443", "sha256": "df2739e25d7832d229c12153dff351df08f3f5366dd78c12e4a375f493057fa0" }, "downloads": -1, "filename": "dps-rtm-0.1.26.tar.gz", "has_sig": false, "md5_digest": "8195dafa3fd964c1955e9ed612ec3443", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 78334, "upload_time": "2019-10-16T11:45:16", "url": "https://files.pythonhosted.org/packages/29/0b/1a9c8546ab031970d51437530300385e3c8070f03d61b39494285a79167f/dps-rtm-0.1.26.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "fe4f25c06334f9014511758cbdab8722", "sha256": "31a582814340836f49b2efc2b9cb4a4bbf5b0da224c29a1ad5157de5dda75aec" }, "downloads": -1, "filename": "dps_rtm-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "fe4f25c06334f9014511758cbdab8722", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19651, "upload_time": "2019-08-01T14:03:35", "url": "https://files.pythonhosted.org/packages/22/bc/7b633b99586563b8d4c43d72d88615fc6526f68de56c2449d8967bf0837e/dps_rtm-0.1.8-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0281bf08261a966950a99603933f8a3e", "sha256": "ef77119ad174ceae5f7bc67834777b97707783d96abadd1ecf2c6eaa334e371c" }, "downloads": -1, "filename": "dps_rtm-0.1.26-py3-none-any.whl", "has_sig": false, "md5_digest": "0281bf08261a966950a99603933f8a3e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 82233, "upload_time": "2019-10-16T11:45:14", "url": "https://files.pythonhosted.org/packages/a0/d6/f1c024fc1a8ab3721c389525af9fd69f5f0969b35909fcc399062f124cb7/dps_rtm-0.1.26-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8195dafa3fd964c1955e9ed612ec3443", "sha256": "df2739e25d7832d229c12153dff351df08f3f5366dd78c12e4a375f493057fa0" }, "downloads": -1, "filename": "dps-rtm-0.1.26.tar.gz", "has_sig": false, "md5_digest": "8195dafa3fd964c1955e9ed612ec3443", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 78334, "upload_time": "2019-10-16T11:45:16", "url": "https://files.pythonhosted.org/packages/29/0b/1a9c8546ab031970d51437530300385e3c8070f03d61b39494285a79167f/dps-rtm-0.1.26.tar.gz" } ] }