A Python RAML parser
ramlfications: RAML reference implementation in Python
Requirements and Installation
$ pip install ramlfications
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.
Continue onto usage to get started on using ramlfications.
If you’d like to contribute or develop upon ramlfications, be sure to read How to Contribute first.
You can see the progress of ramlfications on our public project management page.
C Compiler (gcc/clang/etc.)
If on Linux - you’ll need to install Python headers (e.g. apt-get install python-dev)
Python 2.6, 2.7, 3.3+, or PyPy
Here’s how to set your machine up:
$ git clone firstname.lastname@example.org:spotify/ramlfications $ cd ramlfications $ virtualenv env $ source env/bin/activate (env) $ pip install -r dev-requirements.txt
If you’d like to run tests for all supported Python versions, you must have all Python versions installed on your system. I suggest pyenv to help with that.
To run all tests:
(env) $ tox
To run a specific test setup (options include: py26, py27, py33, py34, pypy, flake8, verbose, manifest, docs, setup, setupcov):
(env) $ tox -e py26
To run tests without tox:
(env) $ py.test (env) $ py.test --cov ramlfications --cov-report term-missing
To rebuild docs locally, within the parent ramlfications directory:
(env) $ tox -e docs
(env) $ sphinx-build -b docs/ docs/_build
Then within ramlfications/docs/_build you can open the index.html page in your browser.
Still have issues?
Fix incorrect/incomplete behavior optional properties of Resource Types (Issue 44).
Fix protocols inheritance (Issue 44).
Partial fix for Issue 23 - incorrect resource type inheritance
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
When a resource inherits a resource type but explicitly defines named parameters, the named parameters in the resource should overwrite those that are inherited
waffle.io page to documentation for project management overview
Parse errors when RAML file would have empty mappings (Issue 30)
Switch yaml.Loader to yaml.SafeLoader (Issue 26)
Update documentation to reflect rearrangement of errors (Issue 27)
Remove default parameter from being required for baseURIParameters (Issue 29)
Pin mock library for tox tests (Issue 22)
Experimenting with speeding up pypy tests within tox on Travis
New #ramlfications channel on freenode (web chat link)! Come chat, I’m lonely.
Documentation for configuration and the update command.
Handle recursive/cyclical !includes in RAML files for now (PR)
Encoding issues from upgrading to tox 2.0
tests/test_utils.py would create ramlfications/data/supported_mime_types.json; now mocked out.
pypy 2.5.x would fail a parser test because order of list was not expected
Added ability to parse IANA-supported MIME media types
Added update command for user to update IANA-supported MIME types if/when needed
Initial alpha release of ramlfications!
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for ramlfications-0.1.9-py2.py3-none-any.whl