import nepi; nepi.version
[nepi.git] / setup.py
1 #!/usr/bin/env python
2
3 from distutils.core import setup
4
5 # python2 or python3 ?
6 import sys
7 PY2 = sys.version_info[0] == 2
8
9 # read version
10 # while cleaning up version.py might just not be there
11 #try:
12 #    from nepi.util.version import version_tag
13 #except:
14 #    version_tag = 'cleaningup'
15 from nepi.util.version import version_tag
16
17 # read licence info
18 with open("COPYING") as f:
19     license = f.read()
20 with open("README.md") as f:
21     long_description = f.read()
22
23 # we'd probably would be better off with this some place else
24 data_files = [ ('/etc/nepi', [ 'COPYING', 'README.md' ] ) ]
25
26 ### requirements - used by pip install
27 required_modules = [ ]
28    # we are now using six for a portable code
29 required_modules.append('six')
30    # ipaddr in py2 used to be a separate lib
31    # within recent py3, it is now in standard library but named ipaddress
32 if PY2:
33     required_modules.append('ipaddr')
34    # this is required regardless of the python version
35 required_modules.append('networkx')
36    # refrain from mentioning these ones that are not exactly crucial
37    # and that have additional, non-python, dependencies
38    # that can easily break the whole install
39 #required_modules.append('matplotlib')
40 #required_modules.append('pygraphviz')
41
42 setup(
43     name             = "nepi",
44     version          = version_tag,
45     description      = "Network Experiment Management Framework",
46     long_description = long_description,
47     license          = license,
48     author           = "Alina Quereilhac",
49     author_email     = "alina.quereilhac@inria.fr",
50     download_url     = "http://build.onelab.eu/nepi/nepi-{v}.tar.gz".format(v=version_tag),
51     url              = "http://nepi.inria.fr/",
52     platforms        = "Linux, OSX",
53     data_files       = data_files,
54     packages         = [
55         "nepi",
56         "nepi.execution",
57         "nepi.resources",
58         "nepi.resources.all",
59         "nepi.resources.linux",
60         "nepi.resources.linux.ccn",
61         "nepi.resources.linux.ns3",
62         "nepi.resources.linux.ns3.ccn",
63         "nepi.resources.linux.netns",
64         "nepi.resources.netns",
65         "nepi.resources.ns3",
66         "nepi.resources.ns3.classes",
67         "nepi.resources.omf",
68         "nepi.resources.planetlab",
69         "nepi.resources.planetlab.ns3",
70         "nepi.resources.planetlab.openvswitch",
71         "nepi.util",
72         "nepi.util.parsers",
73         "nepi.data",
74         "nepi.data.processing",
75         "nepi.data.processing.ccn",
76         "nepi.data.processing.ping"],
77     package_data     = {
78         "nepi.resources.planetlab" : [ "scripts/*.py" ],
79         "nepi.resources.linux" : [ "scripts/*.py" ],
80         "nepi.resources.linux.ns3" : [ "dependencies/*.tar.gz" ]
81     },
82     install_requires = required_modules,
83 )