Module: sconstool.loader

Main package.

A little package that helps loading SCons tools installed via pip.

Module members

sconstool.loader.this_toolpath(transparent=False, namespace='sconstool')[source]

Returns toolpath related to this loader’s installation.

Example:Usage of this_toolpath().
import sconstool.loader as loader

# assume sconstool.loader installed in:
#   "/my/virtualenv/lib/python3.6/site-packages/sconstool/loader"

print(loader.this_toolpath())
# output:
# ["/my/virtualenv/lib/python3.6/site-packages"]

print(loader.this_toolpath(transparent=True))
# output:
# ["/my/virtualenv/lib/python3.6/site-packages/sconstool"]

print(loader.this_toolpath(transparent=True, namespace="foo"))
# output:
# ["/my/virtualenv/lib/python3.6/site-packages/foo"]
Parameters:
  • transparent (bool) – whether to append namespace to every path of the generated toolpath list,
  • namespace (str) – if transparent is true, namespace will be appended to every path of the generated toolpath list. Defaults to 'sconstool',
Return type:

list

sconstool.loader.existing_toolpath_dirs(transparent=False, namespace='sconstool', scan_dirs=None)[source]

Returns a list of toolpath directories for existing directories from scan_dirs, or sys.path.

Example:Usage example for existing_toolpath_dirs()
import sys
import sconstool.loader
sys.path = ['/path/one', '/path/three']

# assume '/path/one/sconstool' and '/path/two/sconstool' exist
# and '/path/three' exists but there is no '/path/three/sconstool'

print(sconstool.loader.existing_toolpath_dirs())
# output: ['/path/one']

print(sconstool.loader.existing_toolpath_dirs(transparent=True))
# output: ['/path/one/sconstool']

dirs = ['/path/one', '/path/two', '/path/three']
print(sconstool.loader.existing_toolpath_dirs(scan_dirs=dirs))
# output: ['/path/one', '/path/two']
Parameters:
  • transparent (bool) – whether to append namespace to every path of the generated toolpath list,
  • namespace (str) – if transparent is true, namespace will be appended to every path of the generated toolpath list. Defaults to 'sconstool',
  • scan_dirs (list) – list of paths to be examined. If None, the sys.path is used.
Return type:

list

sconstool.loader.toolpath(transparent=False, namespace='sconstool', this=True, scan=False, scan_dirs=None)[source]

Returns a list of toolpath directories.

The returned list mixes path lists from both: this_toolpath() and existing_toolpath_dirs() for the given arguments.

Parameters:
  • transparent (bool) – whether to append namespace to every path of the generated toolpath list,
  • namespace (str) – if transparent is true, namespace will be appended to every path of the generated toolpath list. Defaults to 'sconstool',
  • this (bool) – include toolpath related to this loader installation. Defaults to True,
  • scan (bool) – also scan for existing directories from scan_dirs or sys.path. Defaults to False,
  • scan_dirs (list) – list of paths to be examined if scan is True. If None given, and scan is True, sys.path is examined. Defaults to None.
Return type:

list

sconstool.loader.extend_toolpath(transparent=False, namespace='sconstool', this=True, scan=False, scan_dirs=None)[source]

Appends to the default toolpath list the paths returned by toolpath() for the given arguments.

Note

This function modifies the variable SCons.Tool.DefaultToolpath.

Parameters:
  • transparent (bool) – whether to append namespace to every path of the generated toolpath list,
  • namespace (str) – if transparent is true, namespace will be appended to every path of the generated toolpath list. Defaults to 'sconstool',
  • this (bool) – include toolpath related to this loader installation. Defaults to True,
  • scan (bool) – also scan for existing directories from scan_dirs or sys.path. Defaults to False,
  • scan_dirs (list) – list of paths to be examined if scan is True. If None given, and scan is True, sys.path is examined. Defaults to None.
Return type:

list