Beispiel #1
0
def setup(**kw):
    # setuptools_dso.setup hardcodes setuptools_dso.build_ext to be used.
    # temporarily inject what user specified in cmdclass, or our code there.
    _ = setuptools_dso.build_ext
    try:
        setuptools_dso.build_ext = kw.get('cmdclass', {}).get('build_ext', build_ext)
        setuptools_dso.setup(**kw)
    finally:
        setuptools_dso.build_ext = _
Beispiel #2
0
setup(
    name='p4p',
    version='3.0.0',
    description="Python interface to PVAccess protocol client",
    url='https://mdavidsaver.github.io/p4p',
    author='Michael Davidsaver',
    author_email='*****@*****.**',
    license='BSD',
    classifiers=[
        'Development Status :: 4 - Beta',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'License :: Freely Distributable',
        'Intended Audience :: Science/Research',
        'Topic :: Scientific/Engineering',
        'Topic :: Software Development :: Libraries',
        'Topic :: System :: Distributed Computing',
    ],
    keywords='epics scada',
    python_requires='>=2.7',
    packages=[
        'p4p',
        'p4p.nt',
        'p4p.client',
        'p4p.test',
        'p4p.server',
    ],
    package_dir={'': 'src'},
    ext_modules=[ext],
    install_requires=[
        epicscorelibs.version.abi_requires(),
        # assume ABI forward compatibility as indicated by
        # https://github.com/numpy/numpy/blob/master/numpy/core/setup_common.py#L28
        'numpy >=%s' % numpy.version.short_version,
        'nose>=1.1.2',
    ],
    zip_safe=False,
)
Beispiel #3
0
setup(
    name='p4p',
    version=package_version,
    description="Python interface to PVAccess protocol client",
    url='https://mdavidsaver.github.io/p4p',
    author='Michael Davidsaver',
    author_email='*****@*****.**',
    license='BSD',
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: Implementation :: CPython',
        'License :: Freely Distributable',
        'Intended Audience :: Science/Research',
        'Topic :: Scientific/Engineering',
        'Topic :: Software Development :: Libraries',
        'Topic :: System :: Distributed Computing',
        'Operating System :: POSIX :: Linux',
        'Operating System :: MacOS',
        'Operating System :: Microsoft :: Windows',
    ],
    keywords='epics scada',
    python_requires='>=2.7',
    packages=[
        'p4p',
        'p4p.nt',
        'p4p.client',
        'p4p.test',
        'p4p.server',
        'p4p.asLib',
    ],
    package_dir={'': 'src'},
    ext_modules=[ext] + gwext,
    install_requires=[
        epicscorelibs.version.abi_requires(),
        # assume ABI forward compatibility as indicated by
        # https://github.com/numpy/numpy/blob/master/numpy/core/setup_common.py#L28
        'numpy >=%s' % numpy.version.short_version,
        'nose>=1.1.2',
        'ply',  # for asLib
    ],
    extras_require={
        'qt': ['qtpy'],
    },
    entry_points={
        'console_scripts': ['pvagw=p4p.gw:main'],
    },
    zip_safe=False,
)
Beispiel #4
0
setup(
    name='epicscorelibs',
    version=package_version,
    description="The EPICS Core libraries for use by python modules",
    long_description=
    """The EPICS (Experimental Physics and Industrial Control System) core libraries
for use by python modules.  Either dynamically with ctypes or statically by compiled extension.
""",
    url='https://github.com/mdavidsaver/epicscorelibs',
    author='Michael Davidsaver',
    author_email='*****@*****.**',
    license='EPICS',
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'License :: Freely Distributable',
        'Intended Audience :: Science/Research',
        'Topic :: Scientific/Engineering',
        'Topic :: Software Development :: Libraries',
        'Topic :: System :: Distributed Computing',
        'Operating System :: POSIX :: Linux',
        'Operating System :: MacOS',
        'Operating System :: Microsoft :: Windows',
    ],
    keywords='epics scada',
    project_urls={
        'Source': 'https://github.com/mdavidsaver/epicscorelibs',
        'Tracker': 'https://github.com/mdavidsaver/epicscorelibs/issues',
        'Upstream': 'https://epics.anl.gov/',
    },
    python_requires='>=2.7',
    install_requires=[
        'setuptools',  # needed at runtime for 'pkg_resources'
        'setuptools_dso>=2.0a1',  # 'setuptools_dso.runtime' used in 'epicscorelibs.path'
        'numpy',  # needed for epicscorelibs.ca.dbr
    ],
    packages=[
        'epicscorelibs',
        'epicscorelibs.lib',
        'epicscorelibs.path',
        'epicscorelibs.test',
        'epicscorelibs.ca',
    ],
    package_dir={'': os.path.join('src', 'python')},
    package_data={
        '': ['*.pxd'],
        'dbd': [
            'modules/database/src/ioc/*/*.dbd',
            'modules/database/src/std/*/*.dbd',
            'modules/database/src/ioc/generated/*.dbd',
            'modules/database/src/std/generated/*.dbd',
        ],
    },
    ext_modules=[ext],
    x_dsos=modules,
    x_headers=headers,
    x_api_h=[
        ('libCom', 'modules/libcom/src/libComAPI.h'),
        ('libCa', 'modules/ca/src/client/libCaAPI.h'),
        ('dbCore', 'modules/database/src/ioc/dbCoreAPI.h'),
        ('dbRecStd', 'modules/database/src/std/dbRecStdAPI.h'),
    ],
    x_expand=[
        ('modules/libcom/src/libComVersion.h@',
         'modules/libcom/src/libComVersion.h',
         ['configure/CONFIG_LIBCOM_VERSION']),
        ('modules/database/src/ioc/databaseVersion.h@',
         'modules/database/src/ioc/databaseVersion.h',
         ['configure/CONFIG_DATABASE_VERSION']),
        ('modules/pvData/src/pv/pvdVersionNum.h@',
         'modules/pvData/src/pv/pvdVersionNum.h',
         ['modules/pvData/configure/CONFIG_PVDATA_VERSION']),
        ('modules/pvAccess/src/pva/pvaVersionNum.h@',
         'modules/pvAccess/src/pva/pv/pvaVersionNum.h',
         ['modules/pvAccess/configure/CONFIG_PVACCESS_VERSION']),
        ('modules/pva2pva/pdbApp/pv/qsrvVersionNum.h@',
         'modules/pva2pva/pdbApp/pv/qsrvVersionNum.h',
         ['modules/pva2pva/configure/CONFIG_QSRV_VERSION']),
    ],
    x_errtable=[
        "modules/libcom/src/osi/devLib.h",
        "modules/libcom/src/osi/epicsTime.h",
        #"modules/libcom/src/as/asLib.h",
        "modules/libcom/src/misc/epicsStdlib.h",
        "modules/libcom/src/pool/epicsThreadPool.h",
        "modules/libcom/src/error/errMdef.h",
    ],
    cmdclass={
        'build_generated': GenVersionError,
        'build_expand': Expand,
        'build_apih': MakeAPIH,
        'install_epics_headers': InstallHeaders,
    },
    zip_safe=False,
)
Beispiel #5
0
        },
        # demonstrate how to set an SONAME.
        # eg. on linux the result will be two files:
        #   dsodemo/lib/libdemo.so
        #   dsodemo/lib/libdemo.so.1.0
        soversion='1.0',
    )

    return [dso]

ext = Extension('dsodemo.ext.dtest', ['src/extension.cpp'],
    dsos=['dsodemo.lib.demo'],
)

setup(
    name='dsodemo',
    version="0.1",
    # setup/build time dependencies listed in pyproject.toml
    # cf. PEP 518
    #setup_requires = ['setuptools_dso'],
    # also need at runtime for DSO filename lookup since demo uses ctypes
    install_requires = ['setuptools_dso'],
    packages=['dsodemo', 'dsodemo.ext', 'dsodemo.lib'],
    package_dir={'': 'src'},
    ext_modules = [ext],
    # 'x_dsos' may be None, a list of DSO instances,
    # or a callable returning a list of DSOs.
    #x_dsos = [dso],
    x_dsos = define_DSOs,
)
Beispiel #6
0
    define_macros=get_config_var('CPPFLAGS'),
    extra_compile_args=get_config_var('CFLAGS') + ["-std=c99"],
    extra_link_args=get_config_var('LDFLAGS'),
)


# Add custom develop to add soft link to epicscorelibs in .
class Develop(develop):
    def install_for_development(self):
        develop.install_for_development(self)
        # Make a link here to epicscorelibs so `pip install -e .` works
        # If we don't do this dbCore can't be found when _extension is
        # built into .
        link = os.path.join(self.egg_path, "epicscorelibs")
        if not os.path.exists(link):
            os.symlink(os.path.join(self.install_dir, "epicscorelibs"), link)


setup(
    cmdclass=dict(develop=Develop, **get_cmdclass()),
    version=__version__,
    ext_modules=[ext],
    install_requires=[
        # Dependency version declared in pyproject.toml
        epicscorelibs.version.abi_requires(),
        "numpy",
        "epicsdbbuilder>=1.4"
    ],
    zip_safe=False,  # setuptools_dso is not compatible with eggs!
)
Beispiel #7
0
from setuptools_dso import DSO, Extension, setup

dso = DSO(
    'dsodemo.lib.demo',
    ['src/foo.c', 'src/bar.cpp'],
    define_macros=[('BUILD_FOO', None)],
    extra_compile_args=['-DALL'],
    lang_compile_args={
        'c': ['-DISC'],
        'c++': ['-DISCXX'],
    },
    soversion='1.0',
)

ext = Extension(
    'dsodemo.ext.dtest',
    ['src/extension.cpp'],
    dsos=['dsodemo.lib.demo'],
)

setup(
    name='dsodemo',
    version="0.1",
    setup_requires=['setuptools_dso'],
    packages=['dsodemo', 'dsodemo.ext'],
    package_dir={'': 'src'},
    ext_modules=[ext],
    x_dsos=[dso],
)
Beispiel #8
0
setup(
    name='pvxslibs',
    version=pvxs_ver,
    description="PVXS libraries packaged for python",
    url='https://mdavidsaver.github.io/pvxs',
    author='Michael Davidsaver',
    author_email='*****@*****.**',
    license='BSD',
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: Implementation :: CPython',
        'License :: OSI Approved :: BSD License',
        'Intended Audience :: Science/Research',
        'Topic :: Scientific/Engineering',
        'Topic :: Software Development :: Libraries',
        'Topic :: System :: Distributed Computing',
        'Operating System :: POSIX :: Linux',
        'Operating System :: MacOS',
        'Operating System :: Microsoft :: Windows',
    ],
    keywords='epics scada',
    python_requires='>=2.7',

    # setup/build time dependencies listed in pyproject.toml
    # cf. PEP 518
    #setup_requires = ['setuptools_dso'],
    # also need at runtime for DSO filename lookup
    install_requires=[
        'setuptools_dso>=2.1a3',
        epicscorelibs.version.abi_requires(),
    ],
    packages=['pvxslibs', 'pvxslibs.lib', 'pvxslibs.test'],
    package_dir={'': 'python'},
    x_dsos=define_DSOS,
    cmdclass={
        'build_expand': Expand,
        'install_epics_headers': InstallHeaders,
    },
    zip_safe=False)
Beispiel #9
0
    define_macros = [('BUILD_FOO', None)],
    # demonstrate passing other compiler flags, either conditionally or not.
    # these are not actually used.
    extra_compile_args = ['-DALL'],
    lang_compile_args = {
        'c':['-DISC'],
        'c++':['-DISCXX'],
    },
    # demonstrate how to set an SONAME.
    # eg. on linux the result will be two files:
    #   dsodemo/lib/libdemo.so
    #   dsodemo/lib/libdemo.so.1.0
    soversion='1.0',
)

ext = Extension('dsodemo.ext.dtest', ['src/extension.cpp'],
    dsos=['dsodemo.lib.demo'],
)

setup(
    name='dsodemo',
    version="0.1",
    # setup/build time dependencies listed in pyproject.toml
    # cf. PEP 518
    #setup_requires = ['setuptools_dso'],
    packages=['dsodemo', 'dsodemo.ext'],
    package_dir={'': 'src'},
    ext_modules = [ext],
    x_dsos = [dso],
)