Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ramlfications

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ramlfications

A Python RAML parser

  • 0.2.2
  • PyPI
  • Socket score

Maintainers
2

ramlfications: RAML reference implementation in Python

.. image:: https://img.shields.io/pypi/v/ramlfications.svg?style=flat-square :target: https://pypi.python.org/pypi/ramlfications/ :alt: Latest Version

.. image:: https://img.shields.io/pypi/status/ramlfications.svg?style=flat-square :target: https://pypi.python.org/pypi/ramlfications/ :alt: Development Status

.. image:: https://img.shields.io/pypi/l/ramlfications.svg?style=flat-square :target: https://github.com/spotify/ramlfications/blob/master/LICENSE :alt: License

.. image:: https://codecov.io/github/spotify/ramlfications/coverage.svg?branch=master :target: https://codecov.io/github/spotify/ramlfications?branch=master :alt: Current coverage

.. image:: https://img.shields.io/pypi/pyversions/ramlfications.svg?style=flat-square :target: https://pypi.python.org/pypi/ramlfications/ :alt: Supported Python versions

.. begin

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.

.. _pip: https://pip.pypa.io/en/latest/installing.html#install-pip .. _PyPI: https://pypi.python.org/project/ramlfications/ .. _virtualenv: https://virtualenv.pypa.io/en/latest/ .. _pyenv: https://github.com/yyuu/pyenv .. _Sphinx: http://sphinx-doc.org/ .. _Read the Docs: https://github.com/snide/sphinx_rtd_theme .. _Read the Docs site: https://ramlfications.readthedocs.io .. _usage: https://ramlfications.readthedocs.io/en/latest/usage.html .. _How to Contribute: https://ramlfications.readthedocs.io/en/latest/contributing.html .. _webchat: http://webchat.freenode.net?channels=%23ramlfications&uio=ND10cnVlJjk9dHJ1ZQb4 .. _jdiegodcp: https://github.com/jdiegodcp .. _Twitter[X]: https://twitter.com/jdiegodcp .. _project management: https://github.com/jdiegodcp/ramlfications/projects/1 .. _plans: https://github.com/spotify/ramlfications/issues/54

Changelog

0.1.9 (2015-12-24)

Happy holidays!

  • Fix resource type inheritance (Issue 23_ & Issue 47_)
  • Preserve order of baseUriParameters and uriParameters in API root and resource nodes (Issue 37_)
  • Fix missing URI parameters if not defined/declared inline (Issue 56_)
  • Fix how arguments are passed into pytest in setup.py (PR 55_ - thank you matiasb_!)

0.1.8 (2015-10-07)

  • 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

0.1.7 (2015-08-20)

Added:

  • Support for parsing $ref s in included JSON schemas (Issue 4). Thank you benhamill, nvillalva, and jhl2343!
  • Collect all validation errors (rather than just erroring out on the first one) (Issue 21). Thank you cerivera!

0.1.6 (2015-08-03)

Added:

  • waffle.io_ page to documentation for project management overview

Fixed:

  • 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

0.1.5 (2015-06-05)

Fixed:

  • Configuration parsing for validation/production. Thanks vrajmohan_!
  • Parsing of response bodies (fixes Issue 12). Thanks Igor!

0.1.4 (2015-05-27)

Added:

  • Support for recursive !includes in RAML files (0.1.3 would handle the error, now actually supports it. Thanks Ben_ for your PR_!).

0.1.3 (2015-05-14)

Added:

  • New #ramlfications channel on freenode_ (web chat link)! Come chat, I'm lonely.
  • Documentation for configuration and the update command.

Fixed:

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

0.1.2 (2015-04-21)

Fixed:

  • pypy 2.5.x would fail a parser test because order of list was not expected

0.1.1 (2015-04-21)

New:

  • Added ability to parse IANA-supported MIME media types
  • Added update command for user to update IANA-supported MIME types if/when needed

0.1.0a1 (2015-04-18)

Initial alpha release of ramlfications!

.. _PR: https://github.com/spotify/ramlfications/pull/8 .. _freenode: http://webchat.freenode.net?channels=%23ramlfications&uio=ND10cnVlJjk9dHJ1ZQb4 .. _Ben: https://github.com/benhamill .. _vrajmohan: https://github.com/spotify/ramlfications/pull/16 .. _Issue 12: https://github.com/spotify/ramlfications/issues/12 .. _Igor: https://github.com/spotify/ramlfications/pull/13 .. _Issue 30: https://github.com/spotify/ramlfications/issues/30 .. _Issue 26: https://github.com/spotify/ramlfications/issues/26 .. _Issue 27: https://github.com/spotify/ramlfications/issues/27 .. _Issue 29: https://github.com/spotify/ramlfications/issues/29 .. _Issue 22: https://github.com/spotify/ramlfications/issues/22 .. _waffle.io: https://waffle.io/spotify/ramlfications .. _Issue 4: https://github.com/spotify/ramlfications/issues/4 .. _benhamill: https://github.com/benhamill .. _nvillalva: https://github.com/nvillalva .. _jhl2343: https://github.com/jhl2343 .. _Issue 21: https://github.com/spotify/ramlfications/issues/21 .. _cerivera: https://github.com/cerivera .. _Issue 44: https://github.com/spotify/ramlfications/issues/44 .. _Issue 23: https://github.com/spotify/ramlfications/issues/23 .. _matiasb: https://github.com/matiasb .. _PR 55: https://github.com/spotify/ramlfications/pull/55 .. _Issue 47: https://github.com/spotify/ramlfications/issues/47 .. _Issue 37: https://github.com/spotify/ramlfications/issues/37 .. _Issue 56: https://github.com/spotify/ramlfications/issues/56

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc