silx.resources: Project resources access

Access project’s data and documentation files.

All access to data and documentation files MUST be made through the functions of this modules to ensure access across different distribution schemes:

  • Installing from source or from wheel

  • Installing package as a zip (through the use of pkg_resources)

  • Linux packaging willing to install data files (and doc files) in alternative folders. In this case, this file must be patched.

  • Frozen fat binary application using silx (frozen with cx_Freeze or py2app). This needs special care for the resource files in the setup:

    • With cx_Freeze, add silx/resources to include_files:

      import silx.resources
      silx_include_files = (os.path.dirname(silx.resources.__file__),
                            os.path.join('silx', 'resources'))
      setup(...
            options={'build_exe': {'include_files': [silx_include_files]}}
            )
      
    • With py2app, add silx in the packages list of the py2app options:

      setup(...
            options={'py2app': {'packages': ['silx']}}
            )
      
register_resource_directory(name, package_name, forced_path=None)[source]

Register another resource directory to the available list.

By default only the directory “silx” is available.

New in version 0.6.

Parameters
  • name (str) – Name of the resource directory. It is used on the resource name to specify the resource directory to use. The resource “silx:foo.png” will use the “silx” resource directory.

  • package_name (str) – Python name of the package containing resources. For example “silx.resources”.

  • forced_path (str) – Path containing the resources. If specified pkg_resources nor package_name will be used For example “silx.resources”.

Raises

ValueError – If the resource directory name already exists.

list_dir(resource)[source]

List the content of a resource directory.

Result are not prefixed by the resource name.

The resource name can be prefixed by the name of a resource directory. For example “silx:foo.png” identify the resource “foo.png” from the resource directory “silx”. See also register_resource_directory().

Parameters

resource (str) – Name of the resource directory to list

Returns

list of name contained in the directory

Return type

List

is_dir(resource)[source]

True is the resource is a resource directory.

The resource name can be prefixed by the name of a resource directory. For example “silx:foo.png” identify the resource “foo.png” from the resource directory “silx”. See also register_resource_directory().

Parameters

resource (str) – Name of the resource

Return type

bool

exists(resource)[source]

True is the resource exists.

Parameters

resource (str) – Name of the resource

Return type

bool

resource_filename(resource)[source]

Return filename corresponding to resource.

The existence of the resource is not checked.

The resource name can be prefixed by the name of a resource directory. For example “silx:foo.png” identify the resource “foo.png” from the resource directory “silx”. See also register_resource_directory().

Parameters

resource (str) – Resource path relative to resource directory using ‘/’ path separator. It can be either a file or a directory.

Raises

ValueError – If the resource name uses an unregistred resource directory name

Returns

Absolute resource path in the file system

Return type

str