8000 GitHub - pyecore/pyecoregen at 0.2.0
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

pyecore/pyecoregen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyecoregen - Python code generation from pyecore models

pypi-version master-build coverage license

pyecoregen is a code generator, producing Python classes from Ecore models. It can be used at the command line as well as a module. In the latter case the passed model is expected to be an instance of the pyecore metamodel.

After using pyecoregen, you have a Python package representing the classes from the Ecore model. The generated classes are instances of the pyecore metaclasses. Please see pyecore for documentation how to work with them.

pyecoregen comes in form or a regular Python distribution and can be installed from Github or PyPI with a simple:

$ pip install pyecoregen

The library works with any version of Python >= 3.3.

Code generation can be done programmatically and directly at the command line.

After installation an executable script pyecoregen has been installed. Assuming library.ecore is your Ecore XMI file, and you want to generate the classes in some/folder, you can do:

$ pyecoregen -vv -e library.ecore -o some/folder

The -vv is optional to raise verbosity to log level DEBUG. You should see output like this:

2017-05-26 08:06:54,303 INFO [multigen.generator] Generating code to '/here/some/folder'.
2017-05-26 08:06:54,304 DEBUG [multigen.generator] <pyecore.ecore.EPackage object at 0x000001DCF3C61E80> --> '/here/some/folder/library/__init__.py'
2017-05-26 08:06:54,363 DEBUG [multigen.generator] <pyecore.ecore.EPackage object at 0x000001DCF3C61E80> --> '/here/some/folder/library/library.py'

If you need to generate code from an in-memory representation of a pyecore model, you instantiate the EcoreGenerator class and call the generate method. Assuming you have loaded above model and hold it's root package in library_pkg, you would generate with:

generator = EcoreGenerator()
generator.generate(library_pkg, 'some/folder')

About

Python Model to Text framework for PyEcore, including the Ecore to Python generator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  
0