openexrtools 0.4.0
Introduction
Tools for working with OpenEXR image files.
See documentation for details.
Installation
Python
pip install openexr-tools
Docker
Install docker-desktop
docker pull thenewflesh/openexr-tools:[version]
Docker For Developers
Install docker-desktop
Ensure docker-desktop has at least 4 GB of memory allocated to it.
git clone git@github.com:thenewflesh/openexr-tools.git
cd openexr-tools
chmod +x bin/openexr-tools
bin/openexr-tools docker-start
The service should take a few minutes to start up.
Run bin/openexr-tools --help for more help on the command line tool.
ZSH Setup
bin/openexr-tools must be run from this repository's top level directory.
Therefore, if using zsh, it is recommended that you paste the following line
in your ~/.zshrc file:
alias openexr-tools=`cd [parent dir]/openexr-tools; bin/openexr-tools`
Replace [parent dir] with the parent directory of this repository
Running the zsh-complete command will enable tab completions of the cli
commands, in the next shell session.
For example:
openexr-tools [tab] will show you all the cli options, which you can press
tab to cycle through
openexr-tools docker-[tab] will show you only the cli options that begin with
"docker-"
Quickstart Guide
This repository contains a suite commands for the whole development process.
This includes everything from testing, to documentation generation and
publishing pip packages.
These commands can be accessed through:
The VSCode task runner
The VSCode task runner side bar
A terminal running on the host OS
A terminal within this repositories docker container
Running the zsh-complete command will enable tab completions of the CLI.
See the zsh setup section for more information.
Command Groups
Development commands are grouped by one of 10 prefixes:
Command
Description
build
Commands for building packages for testing and pip publishing
docker
Common docker commands such as build, start and stop
docs
Commands for generating documentation and code metrics
library
Commands for managing python package dependencies
session
Commands for starting interactive sessions such as jupyter lab and python
state
Command to display the current state of the repo and container
test
Commands for running tests, linter and type annotations
version
Commands for bumping project versions
quickstart
Display this quickstart guide
zsh
Commands for running a zsh session in the container and generating zsh completions
Common Commands
Here are some frequently used commands to get you started:
Command
Description
docker-restart
Restart container
docker-start
Start container
docker-stop
Stop container
docs-full
Generate documentation, coverage report, diagram and code
library-add
Add a given package to a given dependency group
library-graph-dev
Graph dependencies in dev environment
library-remove
Remove a given package from a given dependency group
library-search
Search for pip packages
library-update
Update dev dependencies
session-lab
Run jupyter lab server
state
State of
test-dev
Run all tests
test-lint
Run linting and type checking
zsh
Run ZSH session inside container
zsh-complete
Generate ZSH completion script
Development CLI
bin/openexr-tools is a command line interface (defined in cli.py) that
works with any version of python 2.7 and above, as it has no dependencies.
Commands generally do not expect any arguments or flags.
Its usage pattern is: bin/openexr-tools COMMAND [-a --args]=ARGS [-h --help] [--dryrun]
Commands
The following is a complete list of all available development commands:
Command
Description
build-package
Build production version of repo for publishing
build-prod
Publish pip package of repo to PyPi
build-publish
Run production tests first then publish pip package of repo to PyPi
build-test
Build test version of repo for prod testing
docker-build
Build Docker image
docker-build-from-cache
Build Docker image from cached image
docker-build-prod
Build production image
docker-container
Display the Docker container id
docker-destroy
Shutdown container and destroy its image
docker-destroy-prod
Shutdown production container and destroy its image
docker-image
Display the Docker image id
docker-prod
Start production container
docker-pull-dev
Pull development image from Docker registry
docker-pull-prod
Pull production image from Docker registry
docker-push-dev
Push development image to Docker registry
docker-push-dev-latest
Push development image to Docker registry with dev-latest tag
docker-push-prod
Push production image to Docker registry
docker-push-prod-latest
Push production image to Docker registry with prod-latest tag
docker-remove
Remove Docker image
docker-restart
Restart Docker container
docker-start
Start Docker container
docker-stop
Stop Docker container
docs
Generate sphinx documentation
docs-architecture
Generate architecture.svg diagram from all import statements
docs-full
Generate documentation, coverage report, diagram and code
docs-metrics
Generate code metrics report, plots and tables
library-add
Add a given package to a given dependency group
library-graph-dev
Graph dependencies in dev environment
library-graph-prod
Graph dependencies in prod environment
library-install-dev
Install all dependencies into dev environment
library-install-prod
Install all dependencies into prod environment
library-list-dev
List packages in dev environment
library-list-prod
List packages in prod environment
library-lock-dev
Resolve dev.lock file
library-lock-prod
Resolve prod.lock file
library-remove
Remove a given package from a given dependency group
library-search
Search for pip packages
library-sync-dev
Sync dev environment with packages listed in dev.lock
library-sync-prod
Sync prod environment with packages listed in prod.lock
library-update
Update dev dependencies
library-update-pdm
Update PDM
quickstart
Display quickstart guide
session-lab
Run jupyter lab server
session-python
Run python session with dev dependencies
session-server
Runn application server inside Docker container
state
State of repository and Docker container
test-coverage
Generate test coverage report
test-dev
Run all tests
test-fast
Test all code excepts tests marked with SKIP_SLOWS_TESTS decorator
test-lint
Run linting and type checking
test-prod
Run tests across all support python versions
version
Full resolution of repo: dependencies, linting, tests, docs, etc
version-bump-major
Bump pyproject major version
version-bump-minor
Bump pyproject minor version
version-bump-patch
Bump pyproject patch version
version-commit
Tag with version and commit changes to master
zsh
Run ZSH session inside Docker container
zsh-complete
Generate oh-my-zsh completions
zsh-root
Run ZSH session as root inside Docker container
Flags
Short
Long
Description
-a
--args
Additional arguments, this can generally be ignored
-h
--help
Prints command help message to stdout
--dryrun
Prints command that would otherwise be run to stdout
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.