1Metadata-Version: 1.1 2Name: ramlfications 3Version: 0.1.9 4Summary: A Python RAML parser 5Home-page: https://ramlfications.readthedocs.org 6Author: Lynn Root 7Author-email: lynn@spotify.com 8License: Apache 2.0 9Description: ramlfications: RAML reference implementation in Python 10 ====================================================== 11 12 .. image:: https://img.shields.io/travis/spotify/ramlfications.svg?style=flat-square 13 :target: https://travis-ci.org/spotify/ramlfications 14 :alt: CI status 15 16 .. image:: https://img.shields.io/pypi/v/ramlfications.svg?style=flat-square 17 :target: https://pypi.python.org/pypi/ramlfications/ 18 :alt: Latest Version 19 20 .. image:: https://img.shields.io/pypi/status/ramlfications.svg?style=flat-square 21 :target: https://pypi.python.org/pypi/ramlfications/ 22 :alt: Development Status 23 24 .. image:: https://img.shields.io/pypi/l/ramlfications.svg?style=flat-square 25 :target: https://github.com/spotify/ramlfications/blob/master/LICENSE 26 :alt: License 27 28 .. image:: https://codecov.io/github/spotify/ramlfications/coverage.svg?branch=master 29 :target: https://codecov.io/github/spotify/ramlfications?branch=master 30 :alt: Current coverage 31 32 .. image:: https://img.shields.io/pypi/pyversions/ramlfications.svg?style=flat-square 33 :target: https://pypi.python.org/pypi/ramlfications/ 34 :alt: Supported Python versions 35 36 37 .. begin 38 39 Requirements and Installation 40 ============================= 41 42 User Setup 43 ---------- 44 45 The latest stable version can be found on PyPI_, and you can install via pip_:: 46 47 $ pip install ramlfications 48 49 ``ramlfications`` runs on Python 2.6, 2.7, and 3.3+, and PyPy. Both Linux and OS X are supported. Currently, only RAML 0.8 is supported, but there are plans_ to support 1.0. 50 51 Continue onto `usage`_ to get started on using ``ramlfications``. 52 53 54 Developer Setup 55 --------------- 56 57 If you'd like to contribute or develop upon ``ramlfications``, be sure to read `How to Contribute`_ 58 first. 59 60 You can see the progress of ``ramlfications`` on our public `project management`_ page. 61 62 System requirements: 63 ^^^^^^^^^^^^^^^^^^^^ 64 65 - C Compiler (gcc/clang/etc.) 66 - If on Linux - you'll need to install Python headers (e.g. ``apt-get install python-dev``) 67 - Python 2.6, 2.7, 3.3+, or PyPy 68 - virtualenv_ 69 70 Here's how to set your machine up:: 71 72 $ git clone git@github.com:spotify/ramlfications 73 $ cd ramlfications 74 $ virtualenv env 75 $ source env/bin/activate 76 (env) $ pip install -r dev-requirements.txt 77 78 79 Run Tests 80 ^^^^^^^^^ 81 82 If you'd like to run tests for all supported Python versions, you must have all Python versions 83 installed on your system. I suggest pyenv_ to help with that. 84 85 To run all tests:: 86 87 (env) $ tox 88 89 To run a specific test setup (options include: ``py26``, ``py27``, ``py33``, ``py34``, ``pypy``, 90 ``flake8``, ``verbose``, ``manifest``, ``docs``, ``setup``, ``setupcov``):: 91 92 (env) $ tox -e py26 93 94 To run tests without tox:: 95 96 (env) $ py.test 97 (env) $ py.test --cov ramlfications --cov-report term-missing 98 99 100 Build Docs 101 ^^^^^^^^^^ 102 103 Documentation is build with Sphinx_, written in rST, uses the `Read the Docs`_ theme with 104 a slightly customized CSS, and is hosted on `Read the Docs site`_. 105 106 To rebuild docs locally, within the parent ``ramlfications`` directory:: 107 108 (env) $ tox -e docs 109 110 or:: 111 112 (env) $ sphinx-build -b docs/ docs/_build 113 114 Then within ``ramlfications/docs/_build`` you can open the index.html page in your browser. 115 116 117 Still have issues? 118 ^^^^^^^^^^^^^^^^^^ 119 120 Feel free to drop by ``#ramlfications`` on Freenode (`webchat`_) or ping via `Twitter`_. 121 "roguelynn" is the maintainer, a.k.a `econchick`_ on GitHub, and based in San Fran. 122 123 124 .. _pip: https://pip.pypa.io/en/latest/installing.html#install-pip 125 .. _PyPI: https://pypi.python.org/project/ramlfications/ 126 .. _virtualenv: https://virtualenv.pypa.io/en/latest/ 127 .. _pyenv: https://github.com/yyuu/pyenv 128 .. _Sphinx: http://sphinx-doc.org/ 129 .. _`Read the Docs`: https://github.com/snide/sphinx_rtd_theme 130 .. _`Read the Docs site`: https://ramlfications.readthedocs.org 131 .. _`usage`: http://ramlfications.readthedocs.org/en/latest/usage.html 132 .. _`How to Contribute`: http://ramlfications.readthedocs.org/en/latest/contributing.html 133 .. _`webchat`: http://webchat.freenode.net?channels=%23ramlfications&uio=ND10cnVlJjk9dHJ1ZQb4 134 .. _`econchick`: https://github.com/econchick 135 .. _`Twitter`: https://twitter.com/roguelynn 136 .. _`project management`: https://waffle.io/spotify/ramlfications 137 .. _plans: https://github.com/spotify/ramlfications/issues/54 138 139 Changelog 140 ========= 141 142 0.1.9 (2015-12-24) 143 ------------------ 144 145 Happy holidays! 146 147 - Fix resource type inheritance (`Issue 23`_ & `Issue 47`_) 148 - Preserve order of ``baseUriParameters`` and ``uriParameters`` in API root and resource nodes (`Issue 37`_) 149 - Fix missing URI parameters if not defined/declared inline (`Issue 56`_) 150 - Fix how arguments are passed into pytest in ``setup.py`` (`PR 55`_ - thank you `matiasb`_!) 151 152 153 0.1.8 (2015-10-07) 154 ------------------ 155 156 - Fix incorrect/incomplete behavior optional properties of Resource Types (`Issue 44`_). 157 - Fix ``protocols`` inheritance (`Issue 44`_). 158 - Partial fix for `Issue 23`_ - incorrect resource type inheritance 159 160 * When a resource type is defined with one method that is optional and is applied to a resource that does *not* have that method defined, the resource’s method should not inherit from the optional method 161 * When a resource inherits a resource type but explicitly defines named parameters, the named parameters in the resource should overwrite those that are inherited 162 163 0.1.7 (2015-08-20) 164 ------------------ 165 166 Added: 167 168 - Support for parsing ``$ref`` s in included JSON schemas (`Issue 4`_). Thank you `benhamill`_, `nvillalva`_, and `jhl2343`_! 169 - Collect all validation errors (rather than just erroring out on the first one) (`Issue 21`_). Thank you `cerivera`_! 170 171 172 0.1.6 (2015-08-03) 173 ------------------ 174 175 Added: 176 177 - `waffle.io`_ page to documentation for project management overview 178 179 Fixed: 180 181 - Parse errors when RAML file would have empty mappings (`Issue 30`_) 182 - Switch ``yaml.Loader`` to ``yaml.SafeLoader`` (`Issue 26`_) 183 - Update documentation to reflect rearrangement of errors (`Issue 27`_) 184 - Remove ``default`` parameter from being required for ``baseURIParameters`` (`Issue 29`_) 185 - Pin mock library for tox tests (`Issue 22`_) 186 - Experimenting with speeding up pypy tests within tox on Travis 187 188 0.1.5 (2015-06-05) 189 ------------------ 190 191 Fixed: 192 193 - Configuration parsing for validation/production. Thanks `vrajmohan`_! 194 - Parsing of response bodies (fixes `Issue 12`_). Thanks `Igor`_! 195 196 0.1.4 (2015-05-27) 197 ------------------ 198 199 Added: 200 201 - Support for recursive ``!includes`` in RAML files (0.1.3 would handle the error, now actually supports it. Thanks `Ben`_ for your `PR`_!). 202 203 0.1.3 (2015-05-14) 204 ------------------ 205 206 Added: 207 208 - New ``#ramlfications`` channel on `freenode`_ (web chat link)! Come chat, I'm lonely. 209 - Documentation for configuration and the ``update`` command. 210 211 Fixed: 212 213 - Handle recursive/cyclical ``!includes`` in RAML files for now (`PR`_) 214 - Encoding issues from upgrading to tox 2.0 215 - ``tests/test_utils.py`` would create ``ramlfications/data/supported_mime_types.json``; now mocked out. 216 217 0.1.2 (2015-04-21) 218 ------------------ 219 220 Fixed: 221 222 - pypy 2.5.x would fail a parser test because order of list was not expected 223 224 0.1.1 (2015-04-21) 225 ------------------ 226 227 New: 228 229 - Added ability to parse IANA-supported MIME media types 230 - Added ``update`` command for user to update IANA-supported MIME types if/when needed 231 232 0.1.0a1 (2015-04-18) 233 -------------------- 234 Initial alpha release of ``ramlfications``\! 235 236 237 .. _`PR`: https://github.com/spotify/ramlfications/pull/8 238 .. _`freenode`: http://webchat.freenode.net?channels=%23ramlfications&uio=ND10cnVlJjk9dHJ1ZQb4 239 .. _`Ben`: https://github.com/benhamill 240 .. _`vrajmohan`: https://github.com/spotify/ramlfications/pull/16 241 .. _`Issue 12`: https://github.com/spotify/ramlfications/issues/12 242 .. _`Igor`: https://github.com/spotify/ramlfications/pull/13 243 .. _`Issue 30`: https://github.com/spotify/ramlfications/issues/30 244 .. _`Issue 26`: https://github.com/spotify/ramlfications/issues/26 245 .. _`Issue 27`: https://github.com/spotify/ramlfications/issues/27 246 .. _`Issue 29`: https://github.com/spotify/ramlfications/issues/29 247 .. _`Issue 22`: https://github.com/spotify/ramlfications/issues/22 248 .. _`waffle.io`: https://waffle.io/spotify/ramlfications 249 .. _`Issue 4`: https://github.com/spotify/ramlfications/issues/4 250 .. _`benhamill`: https://github.com/benhamill 251 .. _`nvillalva`: https://github.com/nvillalva 252 .. _`jhl2343`: https://github.com/jhl2343 253 .. _`Issue 21`: https://github.com/spotify/ramlfications/issues/21 254 .. _`cerivera`: https://github.com/cerivera 255 .. _`Issue 44`: https://github.com/spotify/ramlfications/issues/44 256 .. _`Issue 23`: https://github.com/spotify/ramlfications/issues/23 257 .. _`matiasb`: https://github.com/matiasb 258 .. _`PR 55`: https://github.com/spotify/ramlfications/pull/55 259 .. _`Issue 47`: https://github.com/spotify/ramlfications/issues/47 260 .. _`Issue 37`: https://github.com/spotify/ramlfications/issues/37 261 .. _`Issue 56`: https://github.com/spotify/ramlfications/issues/56 262 263Keywords: raml,rest 264Platform: UNKNOWN 265Classifier: Development Status :: 4 - Beta 266Classifier: Intended Audience :: Developers 267Classifier: Natural Language :: English 268Classifier: License :: OSI Approved :: Apache Software License 269Classifier: Operating System :: OS Independent 270Classifier: Programming Language :: Python 271Classifier: Programming Language :: Python :: 2 272Classifier: Programming Language :: Python :: 2.6 273Classifier: Programming Language :: Python :: 2.7 274Classifier: Programming Language :: Python :: 3 275Classifier: Programming Language :: Python :: 3.3 276Classifier: Programming Language :: Python :: 3.4 277Classifier: Programming Language :: Python :: Implementation :: CPython 278Classifier: Programming Language :: Python :: Implementation :: PyPy 279Classifier: Topic :: Software Development :: Libraries :: Python Modules 280