ramlfications


Nameramlfications JSON
Version 0.2.2 PyPI version JSON
download
home_pagehttps://ramlfications.readthedocs.io
SummaryA Python RAML parser
upload_time2024-02-22 23:39:47
maintainer
docs_urlNone
authorLynn Root
requires_python
licenseApache 2.0
keywords raml rest
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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

            

Raw data

            {
    "_id": null,
    "home_page": "https://ramlfications.readthedocs.io",
    "name": "ramlfications",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "raml,rest",
    "author": "Lynn Root",
    "author_email": "lynn@spotify.com",
    "download_url": "https://files.pythonhosted.org/packages/c0/c2/a81405ecdc6c28dbd36a6268134f5fa8282969a25cec139e560f2d4ca107/ramlfications-0.2.2.tar.gz",
    "platform": null,
    "description": "ramlfications: RAML reference implementation in Python\n======================================================\n\n.. image:: https://img.shields.io/pypi/v/ramlfications.svg?style=flat-square\n   :target: https://pypi.python.org/pypi/ramlfications/\n   :alt: Latest Version\n\n.. image:: https://img.shields.io/pypi/status/ramlfications.svg?style=flat-square\n    :target: https://pypi.python.org/pypi/ramlfications/\n    :alt: Development Status\n\n.. image:: https://img.shields.io/pypi/l/ramlfications.svg?style=flat-square\n   :target: https://github.com/spotify/ramlfications/blob/master/LICENSE\n   :alt: License\n\n.. image:: https://codecov.io/github/spotify/ramlfications/coverage.svg?branch=master\n   :target: https://codecov.io/github/spotify/ramlfications?branch=master\n   :alt: Current coverage\n\n.. image:: https://img.shields.io/pypi/pyversions/ramlfications.svg?style=flat-square\n    :target: https://pypi.python.org/pypi/ramlfications/\n    :alt: Supported Python versions\n\n\n.. begin\n\nNote: 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. \n\n\nRequirements and Installation\n=============================\n\nUser Setup\n----------\n\nThe latest stable version can be found on PyPI_, and you can install via pip_::\n\n   $ pip install ramlfications\n\n``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.\n\nContinue onto `usage`_ to get started on using ``ramlfications``.\n\n\nDeveloper Setup\n---------------\n\nIf you'd like to contribute or develop upon ``ramlfications``, be sure to read `How to Contribute`_\nfirst.\n\nYou can see the progress of ``ramlfications`` on our public `project management`_ page.\n\nSystem requirements:\n^^^^^^^^^^^^^^^^^^^^\n\n- C Compiler (gcc/clang/etc.)\n- If on Linux - you'll need to install Python headers (e.g. ``apt-get install python-dev``)\n- Python 3.10+, or PyPy\n- virtualenv_\n\nHere's how to set your machine up::\n\n    $ git clone git@github.com:jdiegodcp/ramlfications\n    $ cd ramlfications\n    $ virtualenv env\n    $ source env/bin/activate\n    (env) $ pip install -r dev-requirements.txt\n\n\nRun Tests\n^^^^^^^^^\n\nIf you'd like to run tests for all supported Python versions, you must have all Python versions\ninstalled on your system.  I suggest pyenv_ to help with that.\n\nTo run all tests::\n\n    (env) $ tox\n\nTo run a specific test setup (options include: ``py310``, ``py311``, ``py312``, ``pypy``,\n``flake8``, ``verbose``, ``manifest``, ``docs``, ``setup``, ``setupcov``)::\n\n    (env) $ tox -e py310\n\nTo run tests without tox::\n\n    (env) $ py.test\n    (env) $ py.test --cov ramlfications --cov-report term-missing\n\n\nBuild Docs\n^^^^^^^^^^\n\nDocumentation is build with Sphinx_, written in rST, uses the `Read the Docs`_ theme with\na slightly customized CSS, and is hosted on `Read the Docs site`_.\n\nTo rebuild docs locally, within the parent ``ramlfications`` directory::\n\n    (env) $ tox -e docs\n\nor::\n\n    (env) $ sphinx-build -b docs/ docs/_build\n\nThen within ``ramlfications/docs/_build`` you can open the index.html page in your browser.\n\n\nProject History\n^^^^^^^^^^^^^^^\n\nRamlfications was originally created by Spotify engineer github.com/econchick, but is currently not in use at Spotify. The project was discontinued \nin April 2022 and transferred to an external maintainer. \n\n\nStill have issues?\n^^^^^^^^^^^^^^^^^^\n\nFeel free to drop by ``#ramlfications`` on Freenode (`webchat`_) or ping via `Twitter[X]`_.\n\"jdiegodcp\" is the maintainer, a.k.a `jdiegodcp`_ on GitHub.\n\n\n.. _pip: https://pip.pypa.io/en/latest/installing.html#install-pip\n.. _PyPI: https://pypi.python.org/project/ramlfications/\n.. _virtualenv: https://virtualenv.pypa.io/en/latest/\n.. _pyenv: https://github.com/yyuu/pyenv\n.. _Sphinx: http://sphinx-doc.org/\n.. _`Read the Docs`: https://github.com/snide/sphinx_rtd_theme\n.. _`Read the Docs site`: https://ramlfications.readthedocs.io\n.. _`usage`: https://ramlfications.readthedocs.io/en/latest/usage.html\n.. _`How to Contribute`: https://ramlfications.readthedocs.io/en/latest/contributing.html\n.. _`webchat`: http://webchat.freenode.net?channels=%23ramlfications&uio=ND10cnVlJjk9dHJ1ZQb4\n.. _`jdiegodcp`: https://github.com/jdiegodcp\n.. _`Twitter[X]`: https://twitter.com/jdiegodcp\n.. _`project management`: https://github.com/jdiegodcp/ramlfications/projects/1\n.. _plans: https://github.com/spotify/ramlfications/issues/54\n\nChangelog\n=========\n\n0.1.9 (2015-12-24)\n------------------\n\nHappy holidays!\n\n- Fix resource type inheritance (`Issue 23`_ & `Issue 47`_)\n- Preserve order of ``baseUriParameters`` and ``uriParameters`` in API root and resource nodes (`Issue 37`_)\n- Fix missing URI parameters if not defined/declared inline (`Issue 56`_)\n- Fix how arguments are passed into pytest in ``setup.py`` (`PR 55`_ - thank you `matiasb`_!)\n\n\n0.1.8 (2015-10-07)\n------------------\n\n- Fix incorrect/incomplete behavior optional properties of Resource Types (`Issue 44`_).\n- Fix ``protocols`` inheritance (`Issue 44`_).\n- Partial fix for `Issue 23`_ - incorrect resource type inheritance\n\n    * 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\u2019s method should not inherit from the optional method\n    * When a resource inherits a resource type but explicitly defines named parameters, the named parameters in the resource should overwrite those that are inherited\n\n0.1.7 (2015-08-20)\n------------------\n\nAdded:\n\n- Support for parsing ``$ref`` s in included JSON schemas (`Issue 4`_).  Thank you `benhamill`_, `nvillalva`_, and `jhl2343`_!\n- Collect all validation errors (rather than just erroring out on the first one) (`Issue 21`_).  Thank you `cerivera`_!\n\n\n0.1.6 (2015-08-03)\n------------------\n\nAdded:\n\n- `waffle.io`_ page to documentation for project management overview\n\nFixed:\n\n- Parse errors when RAML file would have empty mappings (`Issue 30`_)\n- Switch ``yaml.Loader`` to ``yaml.SafeLoader`` (`Issue 26`_)\n- Update documentation to reflect rearrangement of errors (`Issue 27`_)\n- Remove ``default`` parameter from being required for ``baseURIParameters`` (`Issue 29`_)\n- Pin mock library for tox tests (`Issue 22`_)\n- Experimenting with speeding up pypy tests within tox on Travis\n\n0.1.5 (2015-06-05)\n------------------\n\nFixed:\n\n- Configuration parsing for validation/production.  Thanks `vrajmohan`_!\n- Parsing of response bodies (fixes `Issue 12`_).  Thanks `Igor`_!\n\n0.1.4 (2015-05-27)\n------------------\n\nAdded:\n\n- Support for recursive ``!includes`` in RAML files (0.1.3 would handle the error, now actually supports it. Thanks `Ben`_ for your `PR`_!).\n\n0.1.3 (2015-05-14)\n------------------\n\nAdded:\n\n- New ``#ramlfications`` channel on `freenode`_ (web chat link)! Come chat, I'm lonely.\n- Documentation for configuration and the ``update`` command.\n\nFixed:\n\n- Handle recursive/cyclical ``!includes`` in RAML files for now (`PR`_)\n- Encoding issues from upgrading to tox 2.0\n- ``tests/test_utils.py`` would create ``ramlfications/data/supported_mime_types.json``; now mocked out.\n\n0.1.2 (2015-04-21)\n------------------\n\nFixed:\n\n- pypy 2.5.x would fail a parser test because order of list was not expected\n\n0.1.1 (2015-04-21)\n------------------\n\nNew:\n\n- Added ability to parse IANA-supported MIME media types\n- Added ``update`` command for user to update IANA-supported MIME types if/when needed\n\n0.1.0a1 (2015-04-18)\n--------------------\nInitial alpha release of ``ramlfications``\\!\n\n\n.. _`PR`: https://github.com/spotify/ramlfications/pull/8\n.. _`freenode`: http://webchat.freenode.net?channels=%23ramlfications&uio=ND10cnVlJjk9dHJ1ZQb4\n.. _`Ben`: https://github.com/benhamill\n.. _`vrajmohan`: https://github.com/spotify/ramlfications/pull/16\n.. _`Issue 12`: https://github.com/spotify/ramlfications/issues/12\n.. _`Igor`: https://github.com/spotify/ramlfications/pull/13\n.. _`Issue 30`: https://github.com/spotify/ramlfications/issues/30\n.. _`Issue 26`: https://github.com/spotify/ramlfications/issues/26\n.. _`Issue 27`: https://github.com/spotify/ramlfications/issues/27\n.. _`Issue 29`: https://github.com/spotify/ramlfications/issues/29\n.. _`Issue 22`: https://github.com/spotify/ramlfications/issues/22\n.. _`waffle.io`: https://waffle.io/spotify/ramlfications\n.. _`Issue 4`: https://github.com/spotify/ramlfications/issues/4\n.. _`benhamill`: https://github.com/benhamill\n.. _`nvillalva`: https://github.com/nvillalva\n.. _`jhl2343`: https://github.com/jhl2343\n.. _`Issue 21`: https://github.com/spotify/ramlfications/issues/21\n.. _`cerivera`: https://github.com/cerivera\n.. _`Issue 44`: https://github.com/spotify/ramlfications/issues/44\n.. _`Issue 23`: https://github.com/spotify/ramlfications/issues/23\n.. _`matiasb`: https://github.com/matiasb\n.. _`PR 55`: https://github.com/spotify/ramlfications/pull/55\n.. _`Issue 47`: https://github.com/spotify/ramlfications/issues/47\n.. _`Issue 37`: https://github.com/spotify/ramlfications/issues/37\n.. _`Issue 56`: https://github.com/spotify/ramlfications/issues/56\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "A Python RAML parser",
    "version": "0.2.2",
    "project_urls": {
        "Homepage": "https://ramlfications.readthedocs.io"
    },
    "split_keywords": [
        "raml",
        "rest"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "63044fa175deb5d24c331cccb716bb7a0e935544be9256b1e723f4130162dd0f",
                "md5": "e54f4c6a29481b16bb4548a55776a735",
                "sha256": "1a6ab382d04b2c915c5b8f46e8c16f6125108621af5f62f24ef7f50cf31b7eb3"
            },
            "downloads": -1,
            "filename": "ramlfications-0.2.2-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e54f4c6a29481b16bb4548a55776a735",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 83131,
            "upload_time": "2024-02-22T23:39:45",
            "upload_time_iso_8601": "2024-02-22T23:39:45.913718Z",
            "url": "https://files.pythonhosted.org/packages/63/04/4fa175deb5d24c331cccb716bb7a0e935544be9256b1e723f4130162dd0f/ramlfications-0.2.2-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c0c2a81405ecdc6c28dbd36a6268134f5fa8282969a25cec139e560f2d4ca107",
                "md5": "f6672d83c54e5a9254536e1d562594b3",
                "sha256": "c1c41de63ef8cbb774c4579697096171e663f798b1526bf9ba99efffa465d5ec"
            },
            "downloads": -1,
            "filename": "ramlfications-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "f6672d83c54e5a9254536e1d562594b3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 1155837,
            "upload_time": "2024-02-22T23:39:47",
            "upload_time_iso_8601": "2024-02-22T23:39:47.839550Z",
            "url": "https://files.pythonhosted.org/packages/c0/c2/a81405ecdc6c28dbd36a6268134f5fa8282969a25cec139e560f2d4ca107/ramlfications-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-22 23:39:47",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "ramlfications"
}
        
Elapsed time: 0.30754s