Skip to content
/ ormpy Public

Python tool to load and instantiate Object Role Modeling (ORM) models.

License

Notifications You must be signed in to change notification settings

mnizol/ormpy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OrmPy

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.

Dependencies

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.

Command-line use

OrmPy includes a command-line interface which can be executed via the ormpy script. Run ormpy -h for usage instructions.

API Documentation

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.

Unit Tests

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.

Acknowledgment

This software is based upon work supported by the National Science Foundation Graduate Research Fellowship under Grant No. DGE-1424871.

About

Python tool to load and instantiate Object Role Modeling (ORM) models.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages