Skip to main content

Utilities for Buildout developed for Up There They Love.

Project description


Utilities for zc.buildout as developed for Up There They Love.


The uttl.buildout package will be automatically installed from PyPi when you use it in your buildout configuration.

parts =

# find devenv executable from visual studio path

recipe = uttl.buildout:versioncheck
required-major = 2017
required-minor = 15
body = ... path = None
    ... args = [ 
    ...   r'%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe',
    ...   '-version',
    ...   '%s.0' % (self.options['required-minor']),
    ...   '-property',
    ...   'installationPath'
    ... ]
    ... try:
    ...   with subprocess.Popen(args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) as proc:
    ...     for line in iter(proc.stdout.readline, b''):
    ...       path = os.path.abspath(str(line.rstrip(), encoding='ascii'))
    ...       break
    ... except FileNotFoundError:
    ...   self.log.error('Visual Studio is not installed.')
    ...   return (False, 0, 0, 0, '')
    ... if not path:
    ...   self.log.error('Cannot find Visual Studio executable.')
    ...   return (False, 0, 0, 0, '')
    ... path = os.path.abspath(path + r'\Common7\IDE\')
    ... if not os.path.exists(path):
    ...   self.log.error('Failed to find path to devenv.')
    ...   return (False, 0, 0, 0, '')
    ... return (True, self.options['required-major'], self.options['required-minor'], 64, path)

# build game executable

recipe = uttl.buildout:devenv
executable = ${devenv:path}
solution = SSSG.sln
project = SSSG
build = Release

You can also clone the repository and use it directly as a package of recipes:

develop = C:\Downloads\uttl-buildout


The following recipes (scripts) for zc.buildout are available in this package:

Check the source folders for detailed documentation about each recipe.

Building from source

Check that you're running at least Python 3.9:

D:\Projects\uttl-buildout>python --version
Python 3.9.5

Build and install egg on system:

python install

Create egg in dist/ folder:

python bdist_egg

Install on your system using easy_install:

python -m easy_install -a dist\uttl_buildout-1.0.0-py3.9.egg

Upload packaged egg to repository:

python -m twine upload --repository pypi dist/*



  • All: Added optional artefacts and arguments options
  • CMake: Made the path to source option mandatory to prevent user error
  • Command: New recipe for calling executables
  • CopyFile: Install files before copying them


  • All: Changed all options from snake_case to kebab-case
  • DotnetRestore: New recipe for invoking dotnet commands
  • CMake: Fixed source path option
  • CMake: Made target option a synonym for targets
  • CopyFile: Copies files if they do not exist or if they were modified
  • CopyFile: Added documentation
  • Devenv: Cleaned up script
  • Devenv: Added documentation
  • QMake: Fixed files option throwing an error
  • QMake: Expanded documentation
  • QMake: Fixed typos in documentation


  • Initial release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Built Distribution

uttl.buildout-1.2.0-py3.9.egg (37.8 kB view hashes)

Uploaded 1 2 0

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page