Skip to content

Latest commit

 

History

History
135 lines (99 loc) · 5.44 KB

README.md

File metadata and controls

135 lines (99 loc) · 5.44 KB

USD Manager

Documentation Status License

Website

USD Manager is an open-source, python-based Qt tool for browsing, managing, and editing text-based files like USD, combining the best features from your favorite web browser and text editor into one application, with hooks to deeply integrate with other pipeline tools. It is developed and maintained by DreamWorks Animation for use with USD and other hierarchical, text-based workflows, primarily geared towards feature film production. While originally designed around PyQt4, USD Manager uses the Qt.py compatibility library to allow working with PyQt4, PyQt5, PySide, or PySide2 for Qt bindings.

USD Manager screenshot

Development Repository

This GitHub repository hosts the trunk of the USD Manager development. This implies that it is the newest public version with the latest features and bug fixes. However, it also means that it has not undergone a lot of testing and is generally less stable than the production releases.

License

USD Manager is released under the Apache License, Version 2.0, which is a free, open-source, and detailed software license developed and maintained by the Apache Software Foundation.

Contents

Installing USD Manager

Requirements

usdmanager requires Python 2 (for Python 3, see the python3 branch), Qt.py and setuptools (can be handled by setup.py), and one of Qt.py's four supported Qt bindings, which will need to be installed separately.

Additionally, an installation of USD itself is recommended but not required for all use cases. Installing USD provides access to file path resolvers, non-ASCII USD formats, and plug-ins like usdview. All USD versions should be supported.

Install with setup.py

For a site-wide install, try:

python setup.py install

For a personal install, try:

python setup.py install --user

Studios with significant python codebases or non-trivial installs may need to customize setup.py.

Your PATH and PYTHONPATH will need to be set appropriately to launch usdmanager, and this will depend on your setup.py install settings.

For more OS-specific installation notes, known issues, and common problems, see Installing USD Manager.

Using USD Manager

Once you have installed usdmanager, you can launch from the command line:

usdmanager

You can also specify one or more files to open directly:

usdmanager shot.usd

For more documentation on usage, see Using USD Manager

Keyboard shortcuts

For a full list of keyboard shortcuts, see Keyboard Shortcuts

Development / Customization

Most customization of the app is through the usdmanager/config.json file.

For a full list of all customization options, see Development / Customization

Contributing

Developers who wish to contribute code to be considered for inclusion in the USD Manager distribution must first complete the Contributor License Agreement and submit it to DreamWorks (directions in the CLA). We prefer code submissions in the form of pull requests to this repository.

Every commit must be signed off. That is, every commit log message must include a "Signed-off-by" line (generated, for example, with "git commit --signoff"), indicating that the committer wrote the code and has the right to release it under the Apache 2.0 license. See http://developercertificate.org/ for more information on this requirement.

  1. Fork the repository on GitHub
  2. Clone it locally
  3. Build a local copy
python setup.py install --user
pip install -r docs/requirements.txt
  1. Write code, following the style guide.
  2. Test it
  3. Update any manual documentation pages (like this one)
  4. Test that the documentation builds without errors with:
sphinx-build -b html docs/ docs/_build
  1. Commit changes to the dev branch, signing off on them per the code signing instructions, then push the changes to your fork on GitHub
  2. Make a pull request targeting the dev branch

Pull requests should be rebased on the latest dev commit and squashed to as few logical commits as possible, preferably one. Each commit should pass tests without requiring further commits.