<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def main():
 """Entrypoint for ``lander`` executable."""

    args = parse_args()
    config_logger(args)
    logger = structlog.get_logger(__name__)

    if args.show_version:
        # only print the version
        print_version()
        sys.exit(0)

    version = pkg_resources.get_distribution('lander').version
    logger.info('Lander version {0}'.format(version))

    config = Configuration(args=args)

    # disable any build confirmed to be a PR with Travis
    if config['is_travis_pull_request']:
        logger.info('Skipping build from PR.')
        sys.exit(0)

    lander = Lander(config)
    lander.build_site()
    logger.info('Build complete')

    if config['upload']:
        lander.upload_site()
        logger.info('Upload complete')

    logger.info('Lander complete')