OrmPy provides a Python-based API to load, check, and instantiate Object Role Modeling (ORM) models developed with the NORMA modeling tool. The primary algorithm is based upon research by Smaragdakis, et al.
OrmPy is a work-in-progress. The Smaragdakis algorithm
is implemented with extensions by McGill, et al.
The --experimental
command-line option accesses extensions published by Nizol, et al.
as well as unpublished extensions.
OrmPy has been tested with Python 2.7 on a 64-bit Linux machine. To build ORM models consumable by OrmPy, you must use NORMA, which is a Visual Studio plug-in. However, several test models are available at ./test/data. These can be viewed online using the ORM Solutions ORM Viewer without installing NORMA.
OrmPy includes a command-line interface which can be executed via the
ormpy script. Run ormpy -h
for usage instructions.
API documentation is at ./doc/_build/html. To rebuild the documentation after an update to the code, run the update_doc script. This script requires sphinx.
The ./test subdirectory contains a suite of unit tests and test data.
Some tests rely on nosetests plugins.
You can run all tests in the test suite via the run_tests script.
This script requires nosetests and coverage.py.
Executing run_tests --cover
provides test coverage information via coverage.py.
This software is based upon work supported by the National Science Foundation Graduate Research Fellowship under Grant No. DGE-1424871.