{ "info": { "author": "Mike Pagel", "author_email": "mike@mpagel.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development", "Topic :: Software Development :: Libraries" ], "description": "pyecoregen - Python code generation from pyecore models\n=======================================================\n\n|pypiversion| |masterbuild| |coverage| |license|\n\n.. |pypiversion| image:: https://badge.fury.io/py/pyecoregen.svg\n :target: https://badge.fury.io/py/pyecoregen\n\n.. |masterbuild| image:: https://travis-ci.org/pyecore/pyecoregen.svg?branch=master\n :target: https://travis-ci.org/pyecore/pyecoregen\n\n.. |coverage| image:: https://coveralls.io/repos/github/pyecore/pyecoregen/badge.svg?branch=master\n :target: https://coveralls.io/github/pyecore/pyecoregen?branch=master\n\n.. |license| image:: https://img.shields.io/badge/license-New%20BSD-blue.svg\n :target: https://raw.githubusercontent.com/pyecore/pyecoregen/develop/LICENSE\n\n.. contents:: :depth: 2\n\nOverview\n--------\n\npyecoregen is a code generator, producing Python classes from Ecore models. It can be used at the\ncommand line as well as a module. In the latter case the passed model is expected to be an instance\nof the `pyecore `_ metamodel.\n\nAfter using pyecoregen, you have a Python package representing the classes from the Ecore model. The\ngenerated classes are instances of the pyecore metaclasses. Please see `pyecore\n`_ for documentation how to work with them.\n\nInstallation\n------------\n\npyecoregen comes in form or a regular Python distribution and can be installed from Github or PyPI\nwith a simple:\n\n.. code-block:: shell\n\n $ pip install pyecoregen\n\nThe library works with any version of Python >= 3.4.\n\nUsage\n-----\n\nCode generation can be done programmatically and directly at the command line.\n\nCommand line interface\n~~~~~~~~~~~~~~~~~~~~~~\n\nAfter installation an executable script ``pyecoregen`` has been installed. Assuming\n``library.ecore`` is your Ecore XMI file, and you want to generate the classes in ``some/folder``,\nyou can do:\n\n.. code-block:: bash\n\n $ pyecoregen -vv -e library.ecore -o some/folder\n\nThe ``-vv`` is optional to raise verbosity to log level ``DEBUG``. You should see output like this:\n\n.. code-block::\n\n 2017-05-26 08:06:54,303 INFO [multigen.generator] Generating code to '/here/some/folder'.\n 2017-05-26 08:06:54,304 DEBUG [multigen.generator] --> '/here/some/folder/library/__init__.py'\n 2017-05-26 08:06:54,363 DEBUG [multigen.generator] --> '/here/some/folder/library/library.py'\n\n\nThe ``pyecoregen`` command line interface also allows you to generate the classes from a\nremote Ecore XMI file if its \"path\" starts with ``http(s)://``. The usage does not change:\n\n.. code-block:: bash\n\n $ pyecoregen -e \"http://path/towards/my/ecore\" -o some/folder\n\nProgrammatic interface\n~~~~~~~~~~~~~~~~~~~~~~\n\nIf you need to generate code from an in-memory representation of a pyecore model, you instantiate\nthe ``EcoreGenerator`` class and call the generate method. Assuming you have loaded above model and\nhold it's root package in ``library_pkg``, you would generate with:\n\n.. code-block:: python\n\n generator = EcoreGenerator()\n generator.generate(library_pkg, 'some/folder')\n\nGenerator options\n~~~~~~~~~~~~~~~~~\n\nThe end user can control some of the features how the metamodel code is generated. This can be done\nat the command line as well as via programmatic invocation. A command line parameter ``--my-param``\nis then turning into a keyword argument ``my_param``.\n\n``--auto-register-package`` (Default: ``False``)\n If enabled, the generated packages are automatically added to pyecore's global namespace\n registry, which makes them available during XMI deserialization.\n\n``--user-module`` (Default: ``None``)\n If specified, the given string is interpreted as a dotted Python module path. E.g.\n ``--user-module my.custom_mod`` will make the generated code import mixin classes from a module\n ``my.custom_mod``. A generated class with name ```` then derives from a mixin\n ``Mixin``, which is expected to be part of the user module. If this option is used, the\n generator also produces a skeleton file which contains all required mixin classes and methods.\n Usually you copy parts of this template to your own module, which is then checked into version\n control all your other code.\n\n``--with-dependencies`` (Default: ``False``)\n If enabled, the generator also generates code from all metamodels that are *dependencies* of the\n input metamodel. A metamodel dependency is typically a reference from the input\n metamodel to another ``.ecore`` file. Please note that this option introduces slower code\n generation as all metamodels must be scanned in order to determine dependencies.\n\n\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/pyecore/pyecoregen", "keywords": "model metamodel EMF Ecore code generator", "license": "BSD 3-Clause", "maintainer": "", "maintainer_email": "", "name": "pyecoregen", "package_url": "https://pypi.org/project/pyecoregen/", "platform": "", "project_url": "https://pypi.org/project/pyecoregen/", "project_urls": { "Homepage": "https://github.com/pyecore/pyecoregen" }, "release_url": "https://pypi.org/project/pyecoregen/0.4.3/", "requires_dist": [ "pyecore", "pymultigen", "jinja2", "autopep8" ], "requires_python": "", "summary": "Model to text framework for PyEcore, including the Ecore to Python generator", "version": "0.4.3" }, "last_serial": 4210865, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "e891e4ea43a4515adaeea8d85bd70d19", "sha256": "e8ca7a58f0c45b8a92b46f3d09f5744abe446218bb3b4ee72cb83f1a8f7930b5" }, "downloads": -1, "filename": "pyecoregen-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e891e4ea43a4515adaeea8d85bd70d19", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5315, "upload_time": "2017-05-24T15:48:27", "url": "https://files.pythonhosted.org/packages/db/77/29e482b1be2783a65232b02a0e0abdc3123ffdf72e6e4ee8f27a54b9dd3c/pyecoregen-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac0b1874addf54ddb1b08d491dd1dbe1", "sha256": "82a0b005c4908c92a36d4bae96ed9fba17a84d714a1e27fe4928960fc3d2cdcb" }, "downloads": -1, "filename": "pyecoregen-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ac0b1874addf54ddb1b08d491dd1dbe1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3987, "upload_time": "2017-05-24T15:48:28", "url": "https://files.pythonhosted.org/packages/d2/1e/d8cc19cd11f2d4ffd971a4d6a4def8bc6d6bda8ff2d60d7daa96301bf0d6/pyecoregen-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "560b505db2cfca1bc37ecc50d150da9a", "sha256": "d4a241e44fdcde15714fba704aa06ad6d9b4586cf38a18895b17fac9021b5958" }, "downloads": -1, "filename": "pyecoregen-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "560b505db2cfca1bc37ecc50d150da9a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5314, "upload_time": "2017-05-24T15:52:26", "url": "https://files.pythonhosted.org/packages/f4/28/ae0159d2c08fc0b5477128d325f7da4b439e39b9260611876035365b1b65/pyecoregen-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "750849379804f91d2bf2a3d62f774cdb", "sha256": "e0b01f1b467b6272b09846111bc2b27e0a7211aa6be06325f52b8aa0ed79c237" }, "downloads": -1, "filename": "pyecoregen-0.0.2.tar.gz", "has_sig": false, "md5_digest": "750849379804f91d2bf2a3d62f774cdb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3959, "upload_time": "2017-05-24T15:52:28", "url": "https://files.pythonhosted.org/packages/df/0b/6f13b61b506cc00673a9ba33336fa73032ada63d5cf86c9b5debc4f7d90b/pyecoregen-0.0.2.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "90b6ffd8b63291be8f731b0b0d0b3e9f", "sha256": "c963615920d18baa8508019dee888aa6c858cd5f0eb3d6442f6b67ff4230be32" }, "downloads": -1, "filename": "pyecoregen-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "90b6ffd8b63291be8f731b0b0d0b3e9f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8176, "upload_time": "2017-05-26T10:05:45", "url": "https://files.pythonhosted.org/packages/91/3a/2e26ab7e7a5a675b1acf081a9603fc64dfa83b63092130487e1803b35523/pyecoregen-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b97cc3554e980fb88b1bda0543b317e5", "sha256": "a1a6bbd2da23ff9700399510344ba4cddadaaaad7b2e4b8b037d030cda5d49f5" }, "downloads": -1, "filename": "pyecoregen-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b97cc3554e980fb88b1bda0543b317e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5634, "upload_time": "2017-05-26T10:05:47", "url": "https://files.pythonhosted.org/packages/a8/a6/9b571de7fa6b7f1f19391b7372c345b0e936c8a5b8eed51dbf7d964d5ac4/pyecoregen-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b89b1ad9bb3bc36be369661228ec26fe", "sha256": "bacbc38a722b3476381d09f9fd9f67400c6ede61b788ce1d58d28994884334ba" }, "downloads": -1, "filename": "pyecoregen-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b89b1ad9bb3bc36be369661228ec26fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12754, "upload_time": "2017-05-26T11:48:55", "url": "https://files.pythonhosted.org/packages/53/37/a99cd0ae13de720fe6f5662074c46a3efad78587205650b3dbccfd20d6de/pyecoregen-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f657dd9458dab6c5b524acb5543497c", "sha256": "ec3b61818b1e133dee5e637618cc787b957b8be9af09e42e6b2bc0f67a08d41e" }, "downloads": -1, "filename": "pyecoregen-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8f657dd9458dab6c5b524acb5543497c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8012, "upload_time": "2017-05-26T11:48:57", "url": "https://files.pythonhosted.org/packages/21/68/7b4e7dda066ed1c4ba622298eb2a763a8cf61f85b41aaa911ffc8ca1bef2/pyecoregen-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "50235e5516661481a68a4f32a589e12b", "sha256": "8dd2d13fad44b9f5b83d0580df540f50424e16bfe0b7595013840bce0bd40079" }, "downloads": -1, "filename": "pyecoregen-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "50235e5516661481a68a4f32a589e12b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10538, "upload_time": "2017-05-27T15:30:08", "url": "https://files.pythonhosted.org/packages/81/3e/a6f4a6f08ba14327a9a94acbcabc882a203147f2d4982e3c0d718c01db64/pyecoregen-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8efc0d216569ef02bcc469cf6d805825", "sha256": "5f4491e9a8b3cd1eab53de1f677199f538827cc00c937eee7f70fd1f96fb119f" }, "downloads": -1, "filename": "pyecoregen-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8efc0d216569ef02bcc469cf6d805825", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6597, "upload_time": "2017-05-27T15:30:10", "url": "https://files.pythonhosted.org/packages/1f/8f/0a5594c47bcbcee3bfaac840d013e6eab5b83a4dcee60df9ff3feb0a8ea4/pyecoregen-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "48d77f44e2580f7674da19b16f7c756a", "sha256": "955f0d62d808e0b3cfce733b9afc0ea0b46b87019d7ebac35dd4d433cd1443af" }, "downloads": -1, "filename": "pyecoregen-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "48d77f44e2580f7674da19b16f7c756a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11099, "upload_time": "2017-06-07T06:37:46", "url": "https://files.pythonhosted.org/packages/8a/4e/32f17b1af3be12dea0b84f556f0a71d11209d8fca2b80bd79b6a506c1945/pyecoregen-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aad173d905535d7258a30f90178c3e29", "sha256": "93d10236367cf8a62d5c562743a295f61ccbac20d283e1c390a9b8107476fa31" }, "downloads": -1, "filename": "pyecoregen-0.3.0.tar.gz", "has_sig": false, "md5_digest": "aad173d905535d7258a30f90178c3e29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6982, "upload_time": "2017-06-07T06:37:48", "url": "https://files.pythonhosted.org/packages/cc/f3/8714a78febfe0ce6537ee2529a56c163e8875ecff4affbed0b3c177949cd/pyecoregen-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "0ba865c226a32acde02fc585000f2320", "sha256": "a41faf57c9d3cec73e6870f466a53d24afe1e864a0302868b6e7bace0ee7b6fb" }, "downloads": -1, "filename": "pyecoregen-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0ba865c226a32acde02fc585000f2320", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13699, "upload_time": "2017-10-04T17:48:41", "url": "https://files.pythonhosted.org/packages/5e/df/10d8ef5fb1dc39cc9396521ad2fdf71e500c019d1e0cee0a1427bc9fc14f/pyecoregen-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49c4b106fe0d20957979773e8a6a8ecc", "sha256": "9eb20e40753ab8312182cfe39c15a75e1a3fcd321ce738e90663aa3f6f0463ea" }, "downloads": -1, "filename": "pyecoregen-0.4.0.tar.gz", "has_sig": false, "md5_digest": "49c4b106fe0d20957979773e8a6a8ecc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8368, "upload_time": "2017-10-04T17:48:42", "url": "https://files.pythonhosted.org/packages/71/ab/670b34584225bc9c9684da3af223232d62543febdd19be21616b2f7ab36a/pyecoregen-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "88ecef2ec125a3e05625929a6da62245", "sha256": "579c9bba88faa945c8185260c2e7006da8ff045ba4d97b12140f2dc30b904185" }, "downloads": -1, "filename": "pyecoregen-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "88ecef2ec125a3e05625929a6da62245", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13696, "upload_time": "2017-10-04T17:57:23", "url": "https://files.pythonhosted.org/packages/be/13/7d3b5a8ba25786ab6217ffb5ca197565fbe7f32e0da3b8f28e4dd6ff57ce/pyecoregen-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54ff09956838b280290fc42774ef12d6", "sha256": "e1547b594894c8257c63fb8f7e3aead3c0262398961d17c380a8fb8da3266c7c" }, "downloads": -1, "filename": "pyecoregen-0.4.1.tar.gz", "has_sig": false, "md5_digest": "54ff09956838b280290fc42774ef12d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8383, "upload_time": "2017-10-04T17:57:25", "url": "https://files.pythonhosted.org/packages/15/27/dafca81e83c6eb7230d1c7fddbd9b9e335fd6f2bda73a603908f80f930ca/pyecoregen-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "3c13935a949e02041d911acff05a2145", "sha256": "e52215a03fb02fdb31ebea5fa11f02253dc397c162b51de42aea102db06f0275" }, "downloads": -1, "filename": "pyecoregen-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3c13935a949e02041d911acff05a2145", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13694, "upload_time": "2017-11-16T17:42:48", "url": "https://files.pythonhosted.org/packages/b6/1c/38f9d224087b2db6e3d0d245d4c9838a70f0e9b71114682689e7fe38735c/pyecoregen-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d039e3798392361fbde87abeaed76a4", "sha256": "73368f0cc5e18a035a50574a6b11537cc99fdad67e1d51762d6097ee03c99f33" }, "downloads": -1, "filename": "pyecoregen-0.4.2.tar.gz", "has_sig": false, "md5_digest": "1d039e3798392361fbde87abeaed76a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10420, "upload_time": "2017-11-16T17:42:49", "url": "https://files.pythonhosted.org/packages/e8/9d/93982cc190656628f21b750efbe92bb84ed5b48b77f588cb716738299b91/pyecoregen-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "7d55ee2fa7e52ca27ec5949c88ae0957", "sha256": "6d7d0dff7a2c52f5d529d5763d8024a2e067524d7cc53a24590ed446e2cb7f83" }, "downloads": -1, "filename": "pyecoregen-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7d55ee2fa7e52ca27ec5949c88ae0957", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14833, "upload_time": "2018-02-08T19:09:48", "url": "https://files.pythonhosted.org/packages/28/67/e961515797086726b71b279124508ac6616a72610dcb44b17345619b8cd3/pyecoregen-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cec73255424d2e5675e8823c7e435e83", "sha256": "1439a4da433e5912babcfb863a12a9f452cba97653e204a99fdee85e3e1f4b5e" }, "downloads": -1, "filename": "pyecoregen-0.4.3.tar.gz", "has_sig": false, "md5_digest": "cec73255424d2e5675e8823c7e435e83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11413, "upload_time": "2018-02-08T19:09:49", "url": "https://files.pythonhosted.org/packages/a6/69/c36026829f3e1cb2d4b0e696f1815bf24b4a5bcc66157e84e0c2d9813520/pyecoregen-0.4.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7d55ee2fa7e52ca27ec5949c88ae0957", "sha256": "6d7d0dff7a2c52f5d529d5763d8024a2e067524d7cc53a24590ed446e2cb7f83" }, "downloads": -1, "filename": "pyecoregen-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7d55ee2fa7e52ca27ec5949c88ae0957", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14833, "upload_time": "2018-02-08T19:09:48", "url": "https://files.pythonhosted.org/packages/28/67/e961515797086726b71b279124508ac6616a72610dcb44b17345619b8cd3/pyecoregen-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cec73255424d2e5675e8823c7e435e83", "sha256": "1439a4da433e5912babcfb863a12a9f452cba97653e204a99fdee85e3e1f4b5e" }, "downloads": -1, "filename": "pyecoregen-0.4.3.tar.gz", "has_sig": false, "md5_digest": "cec73255424d2e5675e8823c7e435e83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11413, "upload_time": "2018-02-08T19:09:49", "url": "https://files.pythonhosted.org/packages/a6/69/c36026829f3e1cb2d4b0e696f1815bf24b4a5bcc66157e84e0c2d9813520/pyecoregen-0.4.3.tar.gz" } ] }