clue-api 1.0.1.dev51__tar.gz → 1.0.1.dev53__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/PKG-INFO +1 -1
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/app.py +20 -1
- clue_api-1.0.1.dev53/clue/remote/datatypes/queues/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/pyproject.toml +2 -1
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/LICENSE +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/README.md +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/.gitignore +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/api/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/api/base.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/api/v1/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/api/v1/actions.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/api/v1/auth.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/api/v1/configs.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/api/v1/fetchers.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/api/v1/lookup.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/api/v1/registration.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/api/v1/static.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/cache/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/classification.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/classification.yml +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/dict_utils.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/exceptions.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/forge.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/json_utils.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/list_utils.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/logging/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/logging/audit.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/logging/format.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/regex.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/str_utils.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/swagger.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/common/uid.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/config.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/constants/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/constants/supported_types.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/cronjobs/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/cronjobs/plugins.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/error.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/extensions/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/extensions/config.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/gunicorn_config.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/healthz.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/helper/discover.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/helper/headers.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/helper/oauth.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/actions.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/config.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/fetchers.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/graph.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/model_list.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/network.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/results/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/results/base.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/results/graph.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/results/image.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/results/status.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/results/validation.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/selector.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/models/validators.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/patched.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/plugin/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/plugin/helpers/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/plugin/helpers/central_server.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/plugin/helpers/email_render.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/plugin/helpers/token.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/plugin/helpers/trino.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/plugin/interactive.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/plugin/models.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/plugin/utils.py +0 -0
- /clue_api-1.0.1.dev51/clue/remote/__init__.py → /clue_api-1.0.1.dev53/clue/py.typed +0 -0
- {clue_api-1.0.1.dev51/clue/remote/datatypes/queues → clue_api-1.0.1.dev53/clue/remote}/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/remote/datatypes/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/remote/datatypes/cache.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/remote/datatypes/events.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/remote/datatypes/hash.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/remote/datatypes/queues/comms.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/remote/datatypes/set.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/remote/datatypes/user_quota_tracker.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/security/__init__.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/security/obo.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/security/utils.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/services/action_service.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/services/auth_service.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/services/config_service.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/services/fetcher_service.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/services/jwt_service.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/services/lookup_service.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/services/type_service.py +0 -0
- {clue_api-1.0.1.dev51 → clue_api-1.0.1.dev53}/clue/services/user_service.py +0 -0
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import sys
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
from dotenv import load_dotenv
|
|
6
|
+
|
|
7
|
+
load_dotenv()
|
|
8
|
+
|
|
9
|
+
# We append the plugin directory for howler to the python part
|
|
10
|
+
PLUGIN_PATH = Path(os.environ.get("CLUE_PLUGIN_DIRECTORY", "/etc/clue/plugins"))
|
|
11
|
+
sys.path.insert(0, str(PLUGIN_PATH))
|
|
12
|
+
|
|
13
|
+
from clue.config import DEBUG, SECRET_KEY, cache, config
|
|
14
|
+
|
|
15
|
+
if config.api.debug and PLUGIN_PATH.exists():
|
|
16
|
+
for _plugin in PLUGIN_PATH.iterdir():
|
|
17
|
+
sys.path.append(
|
|
18
|
+
str(Path(os.path.realpath(_plugin)) / f"../.venv/lib/python3.{sys.version_info.minor}/site-packages")
|
|
19
|
+
)
|
|
20
|
+
|
|
1
21
|
import logging
|
|
2
22
|
import os
|
|
3
23
|
import re
|
|
@@ -23,7 +43,6 @@ from clue.api.v1.lookup import lookup_api
|
|
|
23
43
|
from clue.api.v1.registration import registration_api
|
|
24
44
|
from clue.api.v1.static import static_api
|
|
25
45
|
from clue.common.logging import get_logger
|
|
26
|
-
from clue.config import DEBUG, SECRET_KEY, cache, config
|
|
27
46
|
from clue.cronjobs import setup_jobs as setup_cron_jobs
|
|
28
47
|
from clue.error import errors
|
|
29
48
|
from clue.extensions import get_extensions
|
|
File without changes
|
|
@@ -126,6 +126,7 @@ suppress-none-returning = true
|
|
|
126
126
|
[tool.ruff.lint.per-file-ignores]
|
|
127
127
|
"test/*" = ["C901", "D", "ANN", "S", "N818"]
|
|
128
128
|
"build_scripts/*" = ["D", "ANN", "S", "N818", "T201"]
|
|
129
|
+
"clue/app.py" = ["E402"]
|
|
129
130
|
"clue/api/v1/auth.py" = ["TRY301"]
|
|
130
131
|
"clue/common/classification.py" = ["D", "ANN", "C901", "TRY301", "T203"]
|
|
131
132
|
"clue/plugin/interactive.py" = ["T201"]
|
|
@@ -164,7 +165,7 @@ log_cli_level = "WARN"
|
|
|
164
165
|
[tool.poetry]
|
|
165
166
|
package-mode = true
|
|
166
167
|
name = "clue-api"
|
|
167
|
-
version = "1.0.1.
|
|
168
|
+
version = "1.0.1.dev53"
|
|
168
169
|
description = "Clue distributed enrichment service"
|
|
169
170
|
authors = ["Canadian Centre for Cyber Security <contact@cyber.gc.ca>"]
|
|
170
171
|
license = "MIT"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clue_api-1.0.1.dev51/clue/remote/datatypes/queues → clue_api-1.0.1.dev53/clue/remote}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|