-
Notifications
You must be signed in to change notification settings - Fork 39
/
setup.py
105 lines (93 loc) · 3.74 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 python2.7
#
# Copyright 2021 The StackStorm Authors.
# Copyright 2019 Extreme Networks, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import os
import sys
from setuptools import setup, find_packages
PKG_ROOT_DIR = os.path.dirname(os.path.realpath(__file__))
PKG_REQ_FILE = "%s/requirements.txt" % PKG_ROOT_DIR
os.chdir(PKG_ROOT_DIR)
def get_version_string():
version = None
sys.path.insert(0, PKG_ROOT_DIR)
from orquesta import __version__
version = __version__
sys.path.pop(0)
return version
def get_requirements():
with open(PKG_REQ_FILE) as f:
required = f.read().splitlines()
# Ignore comments in the requirements file
required = [line for line in required if not line.startswith("#")]
return required
setup(
name="orquesta",
version=get_version_string(),
author="StackStorm",
author_email="[email protected]",
url="https://www.stackstorm.com",
packages=find_packages(exclude=[]),
install_requires=get_requirements(),
license="Apache License (2.0)",
classifiers=[
"Development Status :: 4 - Beta",
"Intended Audience :: Information Technology",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: Apache Software License",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
],
entry_points={
"orquesta.composers": [
"native = orquesta.composers.native:WorkflowComposer",
"mistral = orquesta.composers.mistral:WorkflowComposer",
"mock = orquesta.composers.mock:WorkflowComposer",
],
"orquesta.expressions.evaluators": [
"yaql = orquesta.expressions.yql:YAQLEvaluator",
"jinja = orquesta.expressions.jinja:JinjaEvaluator",
],
"orquesta.expressions.functions": [
"ctx = orquesta.expressions.functions.common:ctx_",
"json = orquesta.expressions.functions.common:json_",
"zip = orquesta.expressions.functions.common:zip_",
"item = orquesta.expressions.functions.workflow:item_",
"task_status = orquesta.expressions.functions.workflow:task_status_",
"succeeded = orquesta.expressions.functions.workflow:succeeded_",
"failed = orquesta.expressions.functions.workflow:failed_",
"completed = orquesta.expressions.functions.workflow:completed_",
"result = orquesta.expressions.functions.workflow:result_",
],
"orquesta.tests": [
"fake = orquesta.tests.unit.utils.test_plugin:FakePlugin",
],
# TODO: Find alternative way to run these checks. Adding extensions here
# affect downstream applications.
# "flake8.extension": [
# "O101 = orquesta.tests.hacking.import_modules_rule:check_module_only",
# "O102 = orquesta.tests.hacking.import_aliases_rule:check_alias_naming",
# ],
},
scripts=[
"bin/orquesta-generate-schemas",
"bin/orquesta-rehearse",
],
)