source: sasmodels/sasmodels/__init__.py @ 59d94b3

core_shell_microgelscostrafo411magnetic_modelrelease_v0.94release_v0.95ticket-1257-vesicle-productticket_1156ticket_1265_superballticket_822_more_unit_tests
Last change on this file since 59d94b3 was 59d94b3, checked in by Paul Kienzle <pkienzle@…>, 8 years ago

include py and image files for builtin models

  • Property mode set to 100644
File size: 1.8 KB
Line 
1"""
2sasmodels
3=========
4
5**sasmodels** is a package containing models for small angle neutron and xray
6scattering.  Models supported are the one dimensional circular average and
7two dimensional oriented patterns.  As well as the form factor calculations
8for the individual shapes **sasmodels** also provides automatic shape
9polydispersity, angular dispersion and resolution convolution.  SESANS
10patterns can be computed for any model.
11
12Models can be written in python or in C.  C models can run on the GPU if
13OpenCL drivers are available.  See :mod:`generate` for details on
14defining new models.
15"""
16__version__ = "0.9"
17
18def data_files():
19    """
20    Return the data files to be installed with the package.
21
22    The format is a list of (directory, [files...]) pairs which can be
23    used directly in setup(...,data_files=...) for setup.py.
24    """
25    from os.path import join as joinpath
26    import glob
27
28    from .generate import EXTERNAL_DIR, DATA_PATH
29
30    def expand_patterns(path, patterns):
31        target_path = joinpath(EXTERNAL_DIR, *path)
32        source_path = joinpath(DATA_PATH, *path)
33        files = []
34        for p in patterns:
35            files.extend(glob.glob(joinpath(source_path, p)))
36        return target_path, files
37
38    # Place the source for the model tree in the distribution.  Minimally we
39    # need the c and cl files for running on OpenCL.  Need the py files so
40    # users can easily copy existing models.  Need the img files so that we
41    # can build model docs on the fly, including images.
42    return_list = [
43        expand_patterns([], ['*.c', '*.cl', 'convert.json']),
44        expand_patterns(['models'], ['*.py', '*.c']),
45        expand_patterns(['models', 'lib'], ['*.c']),
46        expand_patterns(['models', 'img'], ['*.*']),
47        ]
48    return return_list
49
50
Note: See TracBrowser for help on using the repository browser.