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