forked from clade/PyDAQmx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
120 lines (94 loc) · 4.15 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# -*- coding: utf-8 -*-
import sys
#from distutils.core import setup
from setuptools import setup
version = '1.2.5.2'
long_description = u'''\
Overview
========
This package allows users to use data acquisition hardware from `National
Instrument`_ with python. It makes an interface between the NIDAQmx driver
and python. It currently works only on Windows.
The package is not an open source driver from NI acquisition hardware. You first need to install the driver provided by NI
Compare to similar package, the PyDAQmx module is a full interface to
the NIDAQmx ansi C driver. It imports all the functions from the
driver and also imports all the predefined constants. This provided an
almost one to one match between C and python code. Examples using
callback functions are provided.
A more convenient Object oriented interface is provided, where the mecanism
of taskHandle in C is replace with a Task object.
**Detailed information** about this package can be found on its `main
website`_.
Installation
============
You need first to install the NI DAQmx driver which is provided with your
data-acquisition hardware. Please verify that you have install together with
the driver the C API (which should be the case by default).
To install PyDAQmx, download the package and run the command::
python setup.py install
You can also directly move the PyDAQmx directory to a location
that Python can import from (directory in which scripts
using PyDAQmx are run, etc.)
To install the package with Python 3 ::
2to3 -w setup.py
python setup.py build
python setup.py install
Contact
=======
Please send bug reports or feedback to `{auth_name}`_.
Version history
===============
Main changes:
* 1.2.5.2 Bug in version 1.2.5 corrected (Task were not working)
* 1.2.5.1 Add keywords to all the functions (version 1.2.5 is not working with python 3)
* 1.2.4 NIDAQmx functions of the 2011 et 2012 NIDAQmx are imported properly
* 1.2.3 DAQmxAddNetworkDevice is now working
* 1.2.2 The package is working with python 3 using 2to3
* 1.2.1 Add doc string to the DAQmxFunctions
* 1.2 Support of callback function
* 1.1 Add linux support
.. _National Instrument: http://www.ni.com
.. _{auth_name}: mailto:pierre.clade@spectro.jussieu.fr
.. _main website: http://packages.python.org/PyDAQmx/
'''
setup_parameters = dict(version=version,
author_email="pierre.clade@spectro.jussieu.fr",
maintainer_email="pierre.clade@spectro.jussieu.fr",
url='http://packages.python.org/PyDAQmx/',
license='''\
This software can be used under one of the following two licenses: \
(1) The BSD license. \
(2) Any other license, as long as it is obtained from the original \
author.''',
description='Interface to the National Instruments PyDAQmx driver',
keywords=['DAQmx', 'National Instrument', 'Data Acquisition','nidaq','nidaqmx'],
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'Intended Audience :: Education',
'Intended Audience :: Other Audience',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: BSD License',
'Programming Language :: Python',
'Topic :: Scientific/Engineering',
'Topic :: Scientific/Engineering :: Physics',
'Topic :: Software Development',
'Topic :: Software Development :: Libraries',
'Topic :: Software Development :: Libraries :: Python Modules'],
packages=["PyDAQmx"],
use_2to3=True)
# There is a problem with writing unicode to a file on version of python <2.6
# So I remove the accent of the author name in this case
# TODO: find an automatic way of removing accent if version<2.6
if sys.version_info[:2]>=(2,6): # Unicode accent does not work on earlier version
auth_name = u"Pierre Cladé"
setup(author=auth_name,
maintainer=auth_name,
long_description = long_description.format(auth_name=auth_name),
**setup_parameters)
else: # version of python <2.6. Remove the unicode
auth_name = "Pierre Clade"
setup(author=auth_name,
maintainer=auth_name,
long_description = long_description.encode('ascii').replace('{auth_name}', auth_name),
**setup_parameters)