forked from secdev/scapy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
executable file
·105 lines (98 loc) · 3.44 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
#! /usr/bin/env python
"""
Distutils setup file for Scapy.
"""
try:
from setuptools import setup, find_packages
except:
raise ImportError("setuptools is required to install scapy !")
import io
import os
def get_long_description():
"""Extract description from README.md, for PyPI's usage"""
def process_ignore_tags(buffer):
return "\n".join(
x for x in buffer.split("\n") if "<!-- ignore_ppi -->" not in x
)
try:
fpath = os.path.join(os.path.dirname(__file__), "README.md")
with io.open(fpath, encoding="utf-8") as f:
readme = f.read()
desc = readme.partition("<!-- start_ppi_description -->")[2]
desc = desc.partition("<!-- stop_ppi_description -->")[0]
return process_ignore_tags(desc.strip())
except IOError:
return None
# https://packaging.python.org/guides/distributing-packages-using-setuptools/
setup(
name='scapy',
version=__import__('scapy').VERSION,
packages=find_packages(),
data_files=[('share/man/man1', ["doc/scapy.1"])],
package_data={
'scapy': ['VERSION'],
},
# Build starting scripts automatically
entry_points={
'console_scripts': [
'scapy = scapy.main:interact',
'UTscapy = scapy.tools.UTscapy:main'
]
},
python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4',
# pip > 9 handles all the versioning
extras_require={
'basic': ["ipython"],
'complete': [
'ipython',
'pyx',
'cryptography>=2.0',
'matplotlib'
],
'docs': [
'sphinx>=3.0.0',
'sphinx_rtd_theme>=0.4.3',
'tox>=3.0.0'
]
},
# We use __file__ in scapy/__init__.py, therefore Scapy isn't zip safe
zip_safe=False,
# Metadata
author='Philippe BIONDI',
author_email='phil(at)secdev.org',
maintainer='Pierre LALET, Gabriel POTTER, Guillaume VALADON',
description='Scapy: interactive packet manipulation tool',
long_description=get_long_description(),
long_description_content_type='text/markdown',
license='GPL-2.0-only',
url='https://scapy.net',
project_urls={
'Documentation': 'https://scapy.readthedocs.io',
'Source Code': 'https://github.com/secdev/scapy/',
},
download_url='https://github.com/secdev/scapy/tarball/master',
keywords=["network"],
classifiers=[
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Intended Audience :: Science/Research",
"Intended Audience :: System Administrators",
"Intended Audience :: Telecommunications Industry",
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Topic :: Security",
"Topic :: System :: Networking",
"Topic :: System :: Networking :: Monitoring",
]
)