Command-Line Interface¶
top-level¶
vee
¶
usage: vee [-h] [-v] [--log LOG] [--profile CPROFILE_PATH]
[--real-prefix REAL_PREFIX] [--home VEE]
VEE is a manager of versioned execution environments.
See: `vee COMMAND --help` for more on individual commands.
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
--log LOG dump complete log to file
--profile CPROFILE_PATH
dump execution profile to disk
--real-prefix REAL_PREFIX
Force a value for sys.real_prefix.
--home VEE path of managed environments; defaults to $VEE or the
directory above VEE's source
subcommands:
setup:
doctor perform a self-check
init initialize VEE's home
repo manage environment repos
self-update update vee itself
workflow:
exec execute in this environment
update update repos
upgrade upgrade packages specified by repositories, and link into environments
development:
add record changes to dev packages in environment repo
commit commit changes to environment repo
develop setup development packages
edit open requirements.txt in $EDITOR
push push changes to environment repo
plumbing:
brew run a homebrew command
gc cleanup VEE
git run a git command in a repository
install install a package; low-level
link link a package, or requirements.txt, into an environment
relocate relocate a package
sqlite3 run a command in the database
setup¶
vee init
¶
usage: vee init URL
Initialize the structures on disk before any other commands, and
optionally setup the first environment repository.
E.g.:
vee init git@github.com:vfxetc/vee-repo primary
This is the same as:
vee init
vee repo clone git@github.com:vfxetc/vee-repo primary
positional arguments:
url URL of new repository to clone
name name for new repository
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
vee doctor
¶
usage: vee doctor [--ping,--version,--revision]
Perform self-checks to make sure VEE is OK.
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
--ping print "pong", and exit
--version print VEE's version, and exit
--revision print VEE's revision, and exit
vee self-update
¶
usage: vee self-update [-h] [-v]
Update VEE itself. This effectively runs `install_vee.py` with a few
default arguments, or is the same as `git pull` in the `src` directory.
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
vee repo
¶
usage: vee repo init NAME
or: vee repo add PATH [NAME]
or: vee repo clone URL [NAME]
or: vee repo set NAME
or: vee repo delete NAME
or: vee repo list
Manipulate environment repositories,
e.g.::
# Start a new repo.
$ vee repo init example
# Add a new repo, and make it the default.
$ vee repo clone --default git@github.com:example/myrepo
# Change a repo's url and branch
$ vee repo set --branch unstable myrepo
# Delete a repo.
$ vee repo delete myrepo
# List all repos.
$ vee repo list
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
subcommands:
add add an existing repository clone
clone clone a remote repository
init create a blank repository
list list local repositories
set set options on an existing repository
workflow¶
vee exec
¶
usage: vee exec (-r REQUIREMENTS | ENVIRONMENT) COMMAND [...]
Construct an environment, and either export it or run a command in it.
e.g.::
# Run in the default repository.
$ vee exec $command
# Run within a given repository.
$ vee exec --repo named_repo $command
# Run within a named environment.
$ vee exec -e named_environ $command
# Run within a constructed runtime for a set of requirements.
$ vee exec -r requirements.txt $command
# Export the default environment.
$ vee exec --export
export LD_LIBRARY_PATH="/usr/local/vee/environments/primary/master/lib:$LD_LIBRARY_PATH"
export PATH="/usr/local/vee/environments/primary/master/bin:$PATH"
export PYTHONPATH="/usr/local/vee/environments/primary/master/lib/python2.7/site-packages"
positional arguments:
command the command to run
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
--export export the environment instead of executing in it
--prefix print the prefixes that would be linked together
-R REQUIREMENTS, --requirements REQUIREMENTS
requirements or requirements files to include; may be
comma separated
-r REPOS, --repo REPOS
a repo whose HEAD to include; defaults to the default
repo
-e ENVIRONMENT, --environment ENVIRONMENT
an environment to include
-d, --dev include the development environment
--bootstrap restore a previous dev environment (in $VEE_EXEC_ARGS)
vee update
¶
usage: vee update [-h] [-v] [--all] [--force] [-r REPOS]
Update the environment repository (via `git pull`). This will fail if
your repositories are dirty, or have forked from their remotes.
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
--all update all repos
--force force checkout, even if not fast-forward
-r REPOS, --repo REPOS
vee upgrade
¶
usage: vee upgrade [-h] [-v] [--all] [-u] [--dirty] [--relink] [--reinstall]
[--no-deps] [-f] [-r REPOS]
[subset [subset ...]]
Install packages and link into environments, as specified by repositories.
positional arguments:
subset
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
--all upgrade all repositories
-u, --update update before upgrading
--dirty build even when work tree is dirty
--relink relink packages
--reinstall reinstall packages
--no-deps dont touch dependencies
-f, --force-branch-link
-r REPOS, --repo REPOS
development¶
vee add
¶
usage: vee add [-h] [-v] [--update] [--bake-installed] [--checksum] [--init]
[--repo REPO]
[package]
positional arguments:
package
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
--update update all repos themselves
--bake-installed bake all installed revisions
--checksum checksum existing packages
--init create if not found in requirements
--repo REPO
vee commit
¶
usage: vee commit [-h] [-v] [--major] [--minor] [--patch] [--micro] [-r REPO]
[-m MESSAGE]
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
--major
--minor
--patch
--micro
-r REPO, --repo REPO
-m MESSAGE, --message MESSAGE
vee develop
¶
usage: vee develop init [NAME]
or: vee develop clone URL [NAME]
or: vee develop add PATH [NAME]
or: vee develop rm PATTERN
or: vee develop find PATH
or: vee develop install NAME
or: vee develop rescan [NAME ...]
or: vee develop setenv NAME KEY=value [...]
or: vee develop list [--availible] [--environ]
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
subcommands:
add track an existing checkout
clone clone a remote git repository to develop
find recursively find existing checkouts
git run a git command on all dev packages
init init a new git repository
install install a tool that is managed by the default repository
list list all installed or availible tools
rescan rescan packages for changes to build environment
setenv set envvars within the dev execution environment
vee edit
¶
usage: vee edit [-h] [-v] [-r [REPO]]
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
-r [REPO], --repo [REPO]
vee push
¶
usage: vee push [-h] [-v] [-r REPO]
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
-r REPO, --repo REPO
plumbing¶
vee gc
¶
usage: vee gc [-h] [-v] [--keep-latest KEEP_LATEST] [-e] [-p] [-n]
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
--keep-latest KEEP_LATEST
-e, --prune-environments
-p, --prune-packages
-n, --dry-run
vee install
¶
usage: vee install [--force] {PACKAGE [OPTIONS], REQUIREMENTS_FILE}+
Install the given requirements without linking them into an environment.
This is a low-level command, and is generally unused.
Examples:
# Install a single package.
vee install git+git@github.com:vfxetc/sgmock
# Install multiple packages.
vee install git+git@github.com:vfxetc/sgmock git+git@github.com:vfxetc/sgsession \
http:/example.org/path/to/tarball.tgz --make-install
# Install from a requirement set.
vee install path/to/requirements.txt
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
--force force install over old package
vee link
¶
usage: vee link ENVIRON (REQUIREMENT [OPTIONS])+
Link the given requirement or requirements into the given environment,
e.g.::
# Install and link a single package.
$ vee link git+git@github.com:vfxetc/sgmock
# Install and link multiple packages.
$ vee link git+git@github.com:vfxetc/sgmock git+git@github.com:vfxetc/sgsession \
http:/example.org/path/to/tarball.tgz --make-install
# Install and link from a requirement set.
$ vee link path/to/requirements.txt
positional arguments:
requirements
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
--reinstall
--no-install
--force
--raw arguments are raw directories
-r REPO, --repo REPO
-e ENVIRONMENT, --environment ENVIRONMENT
-d DIRECTORY, --directory DIRECTORY
vee relocate
¶
usage: vee relocate [-h] [-v] [-n] [--scan] [--rescan] [--spec SPEC] [path]
positional arguments:
path
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
-n, --dry-run
--scan look for installed libraires
--rescan redo previous scans
--spec SPEC
vee brew
¶
usage: vee brew COMMAND+
Run a command on VEE's Homebrew. This is sometimes nessesary to manage Homebrew
dependencies, as they are generally outside of the standard build pipeline.
E.g.::
$ vee brew install sqlite
==> Installing sqlite dependency: readline
==> Installing sqlite
$ vee brew list
readline sqlite
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
vee git
¶
usage: vee git [-r REPO] COMMAND+
Run a ``git`` command on a environment repository's git repository.
(Sorry for the name collision.)
e.g.::
$ vee git -r primary status
On branch master
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working directory clean
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times
-r REPO, --repo REPO which repo to use
--stree launch SourceTree
vee sqlite3
¶
usage: vee sqlite3 [-h] [-v]
optional arguments:
-h, --help show this help message and exit
-v, --verbose increase verbosity; may be used multiple times