FlowerPower 0.11.6.19__py3-none-any.whl → 0.20.0__py3-none-any.whl
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.
- flowerpower/cfg/__init__.py +3 -3
- flowerpower/cfg/pipeline/__init__.py +5 -3
- flowerpower/cfg/project/__init__.py +3 -3
- flowerpower/cfg/project/job_queue.py +1 -128
- flowerpower/cli/__init__.py +5 -5
- flowerpower/cli/cfg.py +0 -3
- flowerpower/cli/job_queue.py +401 -133
- flowerpower/cli/pipeline.py +14 -413
- flowerpower/cli/utils.py +0 -1
- flowerpower/flowerpower.py +537 -28
- flowerpower/job_queue/__init__.py +5 -94
- flowerpower/job_queue/base.py +201 -3
- flowerpower/job_queue/rq/concurrent_workers/thread_worker.py +0 -3
- flowerpower/job_queue/rq/manager.py +388 -77
- flowerpower/pipeline/__init__.py +2 -0
- flowerpower/pipeline/base.py +2 -2
- flowerpower/pipeline/io.py +14 -16
- flowerpower/pipeline/manager.py +21 -642
- flowerpower/pipeline/pipeline.py +571 -0
- flowerpower/pipeline/registry.py +242 -10
- flowerpower/pipeline/visualizer.py +1 -2
- flowerpower/plugins/_io/__init__.py +8 -0
- flowerpower/plugins/mqtt/manager.py +6 -6
- flowerpower/settings/backend.py +0 -2
- flowerpower/settings/job_queue.py +1 -57
- flowerpower/utils/misc.py +0 -256
- flowerpower/utils/monkey.py +1 -83
- {flowerpower-0.11.6.19.dist-info → flowerpower-0.20.0.dist-info}/METADATA +308 -152
- flowerpower-0.20.0.dist-info/RECORD +58 -0
- flowerpower/fs/__init__.py +0 -29
- flowerpower/fs/base.py +0 -662
- flowerpower/fs/ext.py +0 -2143
- flowerpower/fs/storage_options.py +0 -1420
- flowerpower/job_queue/apscheduler/__init__.py +0 -11
- flowerpower/job_queue/apscheduler/_setup/datastore.py +0 -110
- flowerpower/job_queue/apscheduler/_setup/eventbroker.py +0 -93
- flowerpower/job_queue/apscheduler/manager.py +0 -1051
- flowerpower/job_queue/apscheduler/setup.py +0 -554
- flowerpower/job_queue/apscheduler/trigger.py +0 -169
- flowerpower/job_queue/apscheduler/utils.py +0 -311
- flowerpower/pipeline/job_queue.py +0 -583
- flowerpower/pipeline/runner.py +0 -603
- flowerpower/plugins/io/base.py +0 -2520
- flowerpower/plugins/io/helpers/datetime.py +0 -298
- flowerpower/plugins/io/helpers/polars.py +0 -875
- flowerpower/plugins/io/helpers/pyarrow.py +0 -570
- flowerpower/plugins/io/helpers/sql.py +0 -202
- flowerpower/plugins/io/loader/__init__.py +0 -28
- flowerpower/plugins/io/loader/csv.py +0 -37
- flowerpower/plugins/io/loader/deltatable.py +0 -190
- flowerpower/plugins/io/loader/duckdb.py +0 -19
- flowerpower/plugins/io/loader/json.py +0 -37
- flowerpower/plugins/io/loader/mqtt.py +0 -159
- flowerpower/plugins/io/loader/mssql.py +0 -26
- flowerpower/plugins/io/loader/mysql.py +0 -26
- flowerpower/plugins/io/loader/oracle.py +0 -26
- flowerpower/plugins/io/loader/parquet.py +0 -35
- flowerpower/plugins/io/loader/postgres.py +0 -26
- flowerpower/plugins/io/loader/pydala.py +0 -19
- flowerpower/plugins/io/loader/sqlite.py +0 -23
- flowerpower/plugins/io/metadata.py +0 -244
- flowerpower/plugins/io/saver/__init__.py +0 -28
- flowerpower/plugins/io/saver/csv.py +0 -36
- flowerpower/plugins/io/saver/deltatable.py +0 -186
- flowerpower/plugins/io/saver/duckdb.py +0 -19
- flowerpower/plugins/io/saver/json.py +0 -36
- flowerpower/plugins/io/saver/mqtt.py +0 -28
- flowerpower/plugins/io/saver/mssql.py +0 -26
- flowerpower/plugins/io/saver/mysql.py +0 -26
- flowerpower/plugins/io/saver/oracle.py +0 -26
- flowerpower/plugins/io/saver/parquet.py +0 -36
- flowerpower/plugins/io/saver/postgres.py +0 -26
- flowerpower/plugins/io/saver/pydala.py +0 -20
- flowerpower/plugins/io/saver/sqlite.py +0 -24
- flowerpower/utils/scheduler.py +0 -311
- flowerpower-0.11.6.19.dist-info/RECORD +0 -102
- {flowerpower-0.11.6.19.dist-info → flowerpower-0.20.0.dist-info}/WHEEL +0 -0
- {flowerpower-0.11.6.19.dist-info → flowerpower-0.20.0.dist-info}/entry_points.txt +0 -0
- {flowerpower-0.11.6.19.dist-info → flowerpower-0.20.0.dist-info}/licenses/LICENSE +0 -0
- {flowerpower-0.11.6.19.dist-info → flowerpower-0.20.0.dist-info}/top_level.txt +0 -0
flowerpower/utils/monkey.py
CHANGED
@@ -1,85 +1,3 @@
|
|
1
|
-
|
2
|
-
import sys
|
1
|
+
# Placeholder file - APScheduler monkey patches removed
|
3
2
|
|
4
|
-
from dill import dumps, loads
|
5
3
|
|
6
|
-
|
7
|
-
def patch_pickle():
|
8
|
-
"""
|
9
|
-
Patch the pickle serializer in the apscheduler module.
|
10
|
-
|
11
|
-
This function replaces the `dumps` and `loads` functions in the `apscheduler.serializers.pickle` module
|
12
|
-
with custom implementations.
|
13
|
-
|
14
|
-
This is useful when you want to modify the behavior of the pickle serializer used by the apscheduler module.
|
15
|
-
|
16
|
-
Example usage:
|
17
|
-
patch_pickle()
|
18
|
-
|
19
|
-
"""
|
20
|
-
sys.modules["apscheduler.serializers.pickle"].dumps = dumps
|
21
|
-
sys.modules["apscheduler.serializers.pickle"].loads = loads
|
22
|
-
|
23
|
-
|
24
|
-
if importlib.util.find_spec("apscheduler"):
|
25
|
-
from apscheduler._structures import Job, Schedule, Task
|
26
|
-
|
27
|
-
def job_to_dict(job):
|
28
|
-
return {
|
29
|
-
"id": str(job.id),
|
30
|
-
"task_id": job.task_id,
|
31
|
-
"args": [str(arg) for arg in job.args],
|
32
|
-
"kwargs": job.kwargs,
|
33
|
-
"schedule_id": job.schedule_id,
|
34
|
-
"scheduled_fire_time": (
|
35
|
-
job.scheduled_fire_time.isoformat() if job.scheduled_fire_time else None
|
36
|
-
),
|
37
|
-
"jitter": job.jitter.total_seconds(),
|
38
|
-
"start_deadline": (
|
39
|
-
job.start_deadline.isoformat() if job.start_deadline else None
|
40
|
-
),
|
41
|
-
"result_expiration_time": job.result_expiration_time.total_seconds(),
|
42
|
-
"created_at": job.created_at.isoformat(),
|
43
|
-
"acquired_by": job.acquired_by,
|
44
|
-
"acquired_until": (
|
45
|
-
job.acquired_until.isoformat() if job.acquired_until else None
|
46
|
-
),
|
47
|
-
}
|
48
|
-
|
49
|
-
Job.to_dict = job_to_dict
|
50
|
-
|
51
|
-
def task_to_dict(task):
|
52
|
-
return {
|
53
|
-
"id": task.id,
|
54
|
-
"func": task.func,
|
55
|
-
"job_executor": task.job_executor,
|
56
|
-
"max_running_jobs": task.max_running_jobs,
|
57
|
-
"misfire_grace_time": task.misfire_grace_time,
|
58
|
-
}
|
59
|
-
|
60
|
-
Task.to_dict = task_to_dict
|
61
|
-
|
62
|
-
def schedule_to_dict(schedule):
|
63
|
-
return {
|
64
|
-
"id": schedule.id,
|
65
|
-
"task_id": schedule.task_id,
|
66
|
-
"trigger": str(schedule.trigger),
|
67
|
-
"args": [str(arg) for arg in schedule.args],
|
68
|
-
"kwargs": schedule.kwargs,
|
69
|
-
"paused": schedule.paused,
|
70
|
-
"coalesce": schedule.coalesce.name if schedule.coalesce else None,
|
71
|
-
"misfire_grace_time": schedule.misfire_grace_time,
|
72
|
-
"max_jitter": schedule.max_jitter,
|
73
|
-
"next_fire_time": (
|
74
|
-
schedule.next_fire_time.isoformat() if schedule.next_fire_time else None
|
75
|
-
),
|
76
|
-
"last_fire_time": (
|
77
|
-
schedule.last_fire_time.isoformat() if schedule.last_fire_time else None
|
78
|
-
),
|
79
|
-
"acquired_by": schedule.acquired_by,
|
80
|
-
"acquired_until": (
|
81
|
-
schedule.acquired_until.isoformat() if schedule.acquired_until else None
|
82
|
-
),
|
83
|
-
}
|
84
|
-
|
85
|
-
Schedule.to_dict = schedule_to_dict
|