{ "info": { "author": "Krzysztof Laskowski", "author_email": "krzysztof.laskowski@nokia.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Telecommunications Industry", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator", "Topic :: Software Development :: Code Generators", "Topic :: Software Development :: Compilers", "Topic :: Utilities" ], "description": "Melina can convert meta.xml to meta language (similar to protobuf) and back.\n\n.. code-block::\n\n melina --meta-out DIR1 meta.xml # to meta\n melina --xml-out DIR2 meta.meta # back to xml\n\n melina --meta-stdout meta.xml > x.meta # or to stdout\n\nThis is how melina language looks like:\n\n.. code-block:: cpp\n\n /// pdmeta: \"1.1\", domain: \"f\", product: \"b\", release: \"AX\", version: \"1.5\", revision: \"198\"\n\n // line above is a header with meta module versions.\n // It needs to be the first symbol in file and start with '///'\n\n mo SCALAR\n {\n // you can define managed objects like structs in C++\n\n bool x;\n int y;\n string z;\n };\n\n mo COMPLEX\n {\n // enum/struct fields contain definition of enum/struct\n // enum/struct name should begin with small letter - after all it's a name of variable\n\n enum x\n {\n A = 1,\n B,\n C = 2\n };\n\n struct y\n {\n int z;\n struct v { int w; };\n };\n };\n\n mo CARDINALITY\n {\n // you can define cardinality of each managed object or struct field\n\n int x; // required by default\n optional int y; // optional integer, may be null\n repeated int z; // list of integers\n repeated(15) int z; // at most 15 'z' integers\n };\n\n mo DEFAULTS\n {\n // bool, int, string, enum can have default values\n\n bool x [default = true];\n int y [default = 12];\n string z [default = \"foo bar\"];\n enum v [default = 12] { A = 1, B = 12 };\n };\n\n mo RANGES\n {\n // int/string fields can specify allowed ranges\n // if int has a 3-param specifier, it's considered a \"float\"\n\n int(0..12) x; // allowed integers from 0 to 12 inclusive\n int(-0.5, 0.5, 0.001) y; // allowed floats from -0.5 to 0.5 inclusive with step 0.001\n string(0..10) z; // allowed string length from 0 to 10 chars inclusive\n };\n\n mo UNITS\n {\n // integers can have units (for documentational purposes)\n\n int y [units = \"kbps\"];\n };\n\n /**\n * Example managed object description.\n */\n mo COMMENTS\n {\n // you can use C++-style '//foo' or '/*foo*/' comments in meta files\n // doxygen-style comments '///foo' and '/**foo*/' are treated as mo/field description,\n // if present immediately above or rightwards of mo/field\n\n int x; /// Example scalar field description\n int y; /** Example scalar field description */\n\n /**\n * Example complex type description.\n */\n struct z\n {\n };\n\n /// Example complex type description.\n struct v\n {\n };\n };\n\n mo CHILDREN -> FIRST, SECOND, THIRD(10)\n {\n // managed object can have children defined\n // children can have max count specified in parens (at most 10 THIRD children)\n };\n\n mo(hc) FLAGS\n {\n // each managed object has: hidden('h'), create('c'), update('u'), delete('d') flags.\n // If not specified, hidden is assumed false, rest is assumed true.\n // Specification may be provided as 'hcud' letters in parens.\n };", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/aurzenligl/melina", "keywords": "idl compiler", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "melina", "package_url": "https://pypi.org/project/melina/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/melina/", "project_urls": { "Homepage": "https://github.com/aurzenligl/melina" }, "release_url": "https://pypi.org/project/melina/0.1/", "requires_dist": null, "requires_python": "", "summary": "melina: meta/xml converter", "version": "0.1" }, "last_serial": 2997178, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "290f73a6cda316f4c0dc2a47ed47dbd6", "sha256": "30ef825cd52aa25daa340933f31486a3f2254c520abf9f084007d1b82ad3c0eb" }, "downloads": -1, "filename": "melina-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "290f73a6cda316f4c0dc2a47ed47dbd6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17261, "upload_time": "2017-07-03T16:25:45", "url": "https://files.pythonhosted.org/packages/d6/cf/b763c2865d803e954e609db9011ec8ea38458cc0ecc88add5328fe31339e/melina-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0aee751082631987bef361243e71ab9", "sha256": "e277912546855f3c02155533498caafa0ecf256de870de8d3e52ed5c5e03d518" }, "downloads": -1, "filename": "melina-0.1.tar.gz", "has_sig": false, "md5_digest": "b0aee751082631987bef361243e71ab9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14016, "upload_time": "2017-07-03T16:25:48", "url": "https://files.pythonhosted.org/packages/93/3a/5a4ed9e4024513475b3d488c3da8a203e01a3472f2dcae2d2007507fe32b/melina-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "290f73a6cda316f4c0dc2a47ed47dbd6", "sha256": "30ef825cd52aa25daa340933f31486a3f2254c520abf9f084007d1b82ad3c0eb" }, "downloads": -1, "filename": "melina-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "290f73a6cda316f4c0dc2a47ed47dbd6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17261, "upload_time": "2017-07-03T16:25:45", "url": "https://files.pythonhosted.org/packages/d6/cf/b763c2865d803e954e609db9011ec8ea38458cc0ecc88add5328fe31339e/melina-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0aee751082631987bef361243e71ab9", "sha256": "e277912546855f3c02155533498caafa0ecf256de870de8d3e52ed5c5e03d518" }, "downloads": -1, "filename": "melina-0.1.tar.gz", "has_sig": false, "md5_digest": "b0aee751082631987bef361243e71ab9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14016, "upload_time": "2017-07-03T16:25:48", "url": "https://files.pythonhosted.org/packages/93/3a/5a4ed9e4024513475b3d488c3da8a203e01a3472f2dcae2d2007507fe32b/melina-0.1.tar.gz" } ] }