forked from CybercentreCanada/assemblyline-base
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
105 lines (97 loc) · 3.09 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
import os
from setuptools import setup, find_packages, Extension
try:
from Cython.Build import cythonize
USE_CYTHON = True
extension = '.pyx'
except ImportError:
# If we don't have cython, its fine as long as we are installing from an sdist that already
# has the pyx files cythonized into c files
USE_CYTHON = False
extension = '.c'
# For development and local builds use this version number, but for real builds replace it
# with the tag found in the environment
package_version = "4.0.0.dev0"
if 'BITBUCKET_TAG' in os.environ:
package_version = os.environ['BITBUCKET_TAG'].lstrip('v')
elif 'BUILD_SOURCEBRANCH' in os.environ:
full_tag_prefix = 'refs/tags/v'
package_version = os.environ['BUILD_SOURCEBRANCH'][len(full_tag_prefix):]
# Mark all the modules that need to be compiled here
extensions = [
Extension('assemblyline.common.frequency', [os.path.join('assemblyline', 'common', 'frequency' + extension)])
]
if USE_CYTHON:
extensions = cythonize(extensions)
# read the contents of your README file
this_directory = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(this_directory, 'README.md'), encoding='utf-8') as f:
long_description = f.read()
setup(
name="assemblyline",
version=package_version,
description="Assemblyline 4 - Automated malware analysis framework",
long_description=long_description,
long_description_content_type='text/markdown',
url="https://github.com/CybercentreCanada/assemblyline-base",
author="CCCS Assemblyline development team",
author_email="[email protected]",
license="MIT",
classifiers=[
'Development Status :: 2 - Pre-Alpha',
'Intended Audience :: Developers',
'Topic :: Software Development :: Libraries',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
],
keywords="assemblyline automated malware analysis gc canada cse-cst cse cst cyber cccs",
packages=find_packages(exclude=['test', 'test/*']),
ext_modules=extensions,
install_requires=[
'arrow',
'urllib3',
'python-baseconv',
'boto3',
'pysftp',
'netifaces',
'pyroute2',
'redis',
'requests',
'elasticsearch>=7.0.0,<8.0.0,!=7.0.3', # 7.0.3 is excluded due to an error
'python-datemath',
'packaging',
'tabulate',
'PyYAML',
'easydict',
'passlib',
'cart',
'ssdeep',
'python-magic',
'apscheduler',
'elastic-apm[flask]',
'cython',
'docker',
'kubernetes',
'notifications-python-client',
'azure-storage-blob'
],
extras_require={
'test': [
'pytest',
'pytest-cov',
'retrying',
]
},
package_data={
'': [
"*classification.yml",
"*tag_whitelist.yml",
"*.magic",
"*sample_rules.yar",
"*sample_suricata.rules",
"*.pyx",
"*.pxd",
]
}
)