Difference between revisions of "Source overview"
(Imported from Trac) |
m (api) |
||
Line 28: | Line 28: | ||
=== api === | === api === | ||
Programmatic access to the software. See also core.api. | |||
=== core === | === core === |
Revision as of 17:47, 28 April 2014
Source tree overview
contrib
These are packages that are distributed with VisTrails but are not maintained by the team.
dist
Here lie the scripts used to build the VisTrails binary packages: Inno Setup files (Windows installer), Debian package scripts, py2app and dmg creation (Mac OS). It also contains some media (splash screen sources, icons).
doc
This directory contains the documentation for the project: the users' guide and related build scripts, and various documents (text files and figures). We are using the reStructuredText format and the Sphinx tool, which have become the standard for Python software packages.
examples
This contains all the standard examples distributed with VisTrails (.vt or .xml files, and .py scripts for the API).
examples-internal
These are additional examples that are not as useful, or used internally, and thus are not distributed in VisTrails releases.
extensions
Wrappers allowing the use of VisTrails as an extension for another tool: LaTeX, web server or mediawiki.
scripts
Different scripts that are used, or have been used, while working with the VisTrails source tree.
vistrails
This is the package (in the Python sense) of the application. In it lie all the sources of the program. It has to be on the Python path for VisTrails to run.
With 2.1, we changed the layout of our Python packages: previously, 'core', 'gui', ... would be top-level packages; they are now 'vistrails.core', 'vistrails.gui'. This changes the way the path must be set up, and the syntax that has to be used to import VisTrails packages; safeties are in place to enable old packages that were not adapted to keep functioning (in most cases).
api
Programmatic access to the software. See also core.api.
core
core is a package that includes all the core functionality of VisTrails. Ideally, no gui or IO code should be here.
VisTrails should be able to run without the gui package or any gui dependency (PyQt).
db
This package contains the schema definitions, the associated tools, and the autogenerated ORM classes.
gui
This contains the GUI of VisTrails, that enables the user to edit and run workflows interactively. It uses PyQt4.
index
?
packages
This contains the core packages that are maintained by the VisTrails team and distributed along with VisTrails.
tests
tests is a package that includes all infrastructure necessary for testing VisTrails. Right now, there is a single standalone script called runtestsuite.py that will run the tests in the entire VisTrails package, reporting errors and modules without tests.
run.py
This package also contains the run.py script which is the entry point of the application. When run, it fixes the Python path for 'vistrails' to be importable and then start the GUI.