/ramlfications

Python parser for RAML

Primary LanguageRAMLApache License 2.0Apache-2.0

ramlfications: RAML reference implementation in Python

CI status Latest Version Development Status License Current coverage Supported Python versions

Requirements and Installation

User Setup

The latest stable version can be found on PyPI, and you can install via pip:

$ 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.

Developer Setup

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.

System requirements:

  • 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
  • virtualenv

Here's how to set your machine up:

$ git clone git@github.com:spotify/ramlfications
$ cd ramlfications
$ virtualenv env
$ source env/bin/activate
(env) $ pip install -r dev-requirements.txt

Run Tests

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, py35, 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

Build Docs

Documentation is build with Sphinx, written in rST, uses the Read the Docs theme with a slightly customized CSS, and is hosted on Read the Docs site.

To rebuild docs locally, within the parent ramlfications directory:

(env) $ tox -e docs

or:

(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?

Feel free to drop by #ramlfications on Freenode (webchat) or ping via Twitter. "roguelynn" is the maintainer, a.k.a econchick on GitHub, and based in San Fran.