/avalon-core

OpenPype compatible fork of avalon-core

Primary LanguagePythonMIT LicenseMIT

The safe post-production pipeline

Build Status Coverage Status


Testing

$ cd avalon-core

# One-time build and database
$ docker run --name avalon-mongo -d mongo
$ . build_docker.sh

# Run
$ . test_docker.sh

Contributing

See CONTRIBUTING.md for a summary of guidelines for how you can contribute to Avalon.

Also visit the chat for a direct connection with current developers.


Code convention

Below are some of the standard practices applied to this repositories.

  • Etiquette: PEP8
    • All code is written in PEP8. It is recommended you use a linter as you work, flake8 and pylinter are both good options.
  • Etiquette: Napoleon docstrings
    • Any docstrings are made in Google Napoleon format. See Napoleon for details.
  • Etiquette: Semantic Versioning
  • Etiquette: Underscore means private
    • Anything prefixed with an underscore means that it is internal to wherever it is used. For example, a variable name is only ever used in the parent function or class. A module is not for use by the end-user. In contrast, anything without an underscore is public, but not necessarily part of the API. Members of the API resides in api.py.
  • API: Idempotence
    • A public function must be able to be called twice and produce the exact same result. This means no changing of state without restoring previous state when finishing. For example, if a function requires changing the current selection in Autodesk Maya, it must restore the previous selection prior to completing.