/ramlfications

Python parser for RAML

Primary LanguageRAMLApache License 2.0Apache-2.0

ramlfications: RAML reference implementation in Python

Latest Version Development Status License Current coverage Supported Python versions

Note: this project has been discontinued at Spotify and will be transferred to a new maintainer, we are currently finishing the transfer of this repository and the associated pypi package.

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 3.10+, and PyPy. Linux , OS X and Windows 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 3.10+, or PyPy
  • virtualenv

Here's how to set your machine up:

$ git clone git@github.com:jdiegodcp/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: py310, py311, py312, pypy, flake8, verbose, manifest, docs, setup, setupcov):

(env) $ tox -e py310

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.

Project History

Ramlfications was originally created by Spotify engineer github.com/econchick, but is currently not in use at Spotify. The project was discontinued in April 2022 and transferred to an external maintainer.

Still have issues?

Feel free to drop by #ramlfications on Freenode (webchat) or ping via Twitter[X]. "jdiegodcp" is the maintainer, a.k.a jdiegodcp on GitHub.