planar 0.9.1__py3-none-any.whl → 0.9.2__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.
- planar/ai/agent_base.py +5 -1
- planar/ai/agent_utils.py +5 -7
- planar/ai/models.py +9 -3
- planar/ai/pydantic_ai.py +2 -2
- planar/db/alembic/env.py +13 -6
- planar/db/alembic/script.py.mako +2 -2
- planar/py.typed +0 -0
- {planar-0.9.1.dist-info → planar-0.9.2.dist-info}/METADATA +12 -12
- {planar-0.9.1.dist-info → planar-0.9.2.dist-info}/RECORD +33 -33
- planar-0.9.2.dist-info/WHEEL +4 -0
- {planar-0.9.1.dist-info → planar-0.9.2.dist-info}/entry_points.txt +1 -0
- planar/_version.py +0 -1
- planar-0.9.1.dist-info/WHEEL +0 -4
planar/ai/agent_base.py
CHANGED
@@ -12,6 +12,7 @@ from typing import (
|
|
12
12
|
)
|
13
13
|
|
14
14
|
from pydantic import BaseModel
|
15
|
+
from pydantic_ai.settings import ModelSettings
|
15
16
|
|
16
17
|
from planar.ai.models import AgentConfig, AgentEventEmitter, AgentRunResult
|
17
18
|
from planar.logging import get_logger
|
@@ -38,7 +39,10 @@ class AgentBase[
|
|
38
39
|
user_prompt: str = ""
|
39
40
|
tools: list[Callable] = field(default_factory=list)
|
40
41
|
max_turns: int = 2
|
41
|
-
|
42
|
+
# `ModelSettings` is a TypedDict; use a typed empty dict as default
|
43
|
+
model_parameters: ModelSettings = field(
|
44
|
+
default_factory=lambda: cast(ModelSettings, {})
|
45
|
+
)
|
42
46
|
event_emitter: AgentEventEmitter | None = None
|
43
47
|
durable: bool = True
|
44
48
|
|
planar/ai/agent_utils.py
CHANGED
@@ -1,13 +1,10 @@
|
|
1
1
|
import inspect
|
2
|
-
from typing import
|
3
|
-
Any,
|
4
|
-
Callable,
|
5
|
-
Dict,
|
6
|
-
)
|
2
|
+
from typing import Any, Callable, Dict, cast
|
7
3
|
|
8
4
|
from jinja2 import StrictUndefined, TemplateError
|
9
5
|
from jinja2.sandbox import SandboxedEnvironment
|
10
|
-
from pydantic import BaseModel, create_model
|
6
|
+
from pydantic import BaseModel, Field, create_model
|
7
|
+
from pydantic_ai.settings import ModelSettings
|
11
8
|
|
12
9
|
from planar.ai.models import (
|
13
10
|
AgentConfig,
|
@@ -24,8 +21,9 @@ logger = get_logger(__name__)
|
|
24
21
|
class ModelSpec(BaseModel):
|
25
22
|
"""Pydantic model for AI model specifications."""
|
26
23
|
|
24
|
+
model_config = {"arbitrary_types_allowed": True}
|
27
25
|
model_id: str
|
28
|
-
parameters:
|
26
|
+
parameters: ModelSettings = Field(default_factory=lambda: cast(ModelSettings, {}))
|
29
27
|
|
30
28
|
|
31
29
|
def extract_files_from_model(
|
planar/ai/models.py
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
from __future__ import annotations
|
2
|
-
|
3
1
|
from enum import Enum
|
4
2
|
from typing import (
|
5
3
|
Annotated,
|
@@ -11,9 +9,11 @@ from typing import (
|
|
11
9
|
Protocol,
|
12
10
|
TypeVar,
|
13
11
|
Union,
|
12
|
+
cast,
|
14
13
|
)
|
15
14
|
|
16
15
|
from pydantic import BaseModel, Field
|
16
|
+
from pydantic_ai.settings import ModelSettings
|
17
17
|
|
18
18
|
from planar.files.models import PlanarFile
|
19
19
|
from planar.modeling.field_helpers import JsonSchema
|
@@ -29,11 +29,17 @@ T = TypeVar("T", bound=Union[str, BaseModel])
|
|
29
29
|
# This model allows storing configurations that override the default
|
30
30
|
# settings defined in Agent instances.
|
31
31
|
class AgentConfig(BaseModel):
|
32
|
+
# ModelSettings TypedDict has some fields that use non-serializable types
|
33
|
+
# so we need to allow arbitrary types
|
34
|
+
model_config = {"arbitrary_types_allowed": True}
|
32
35
|
system_prompt: str
|
33
36
|
user_prompt: str = Field()
|
34
37
|
model: str = Field()
|
35
38
|
max_turns: int = Field()
|
36
|
-
|
39
|
+
# `ModelSettings` is a TypedDict; use a typed empty dict as default
|
40
|
+
model_parameters: ModelSettings = Field(
|
41
|
+
default_factory=lambda: cast(ModelSettings, {})
|
42
|
+
)
|
37
43
|
|
38
44
|
|
39
45
|
class ToolDefinition(BaseModel):
|
planar/ai/pydantic_ai.py
CHANGED
@@ -384,7 +384,7 @@ class ModelRunResponse[TOutput: BaseModel | str](BaseModel):
|
|
384
384
|
async def model_run[TOutput: BaseModel | str](
|
385
385
|
model: Model | KnownModelName,
|
386
386
|
max_extra_turns: int,
|
387
|
-
model_settings:
|
387
|
+
model_settings: ModelSettings | None = None,
|
388
388
|
messages: list[m.ModelMessage] = [],
|
389
389
|
tools: list[m.ToolDefinition] = [],
|
390
390
|
event_handler: m.AgentEventEmitter | None = None,
|
@@ -443,7 +443,7 @@ async def model_run[TOutput: BaseModel | str](
|
|
443
443
|
model=model,
|
444
444
|
messages=history,
|
445
445
|
model_request_parameters=request_params,
|
446
|
-
model_settings=
|
446
|
+
model_settings=model_settings,
|
447
447
|
) as stream:
|
448
448
|
async for event in stream:
|
449
449
|
match event:
|
planar/db/alembic/env.py
CHANGED
@@ -41,6 +41,13 @@ def run_migrations_offline() -> None:
|
|
41
41
|
)
|
42
42
|
|
43
43
|
|
44
|
+
def include_name(name, type_, _):
|
45
|
+
if type_ == "schema":
|
46
|
+
return name == PLANAR_SCHEMA
|
47
|
+
else:
|
48
|
+
return True
|
49
|
+
|
50
|
+
|
44
51
|
def run_migrations_online() -> None:
|
45
52
|
"""Run migrations in 'online' mode.
|
46
53
|
|
@@ -60,8 +67,8 @@ def run_migrations_online() -> None:
|
|
60
67
|
target_metadata=target_metadata,
|
61
68
|
# For SQLite, don't use schema since it's not supported
|
62
69
|
version_table_schema=None if is_sqlite else PLANAR_SCHEMA,
|
63
|
-
include_schemas=
|
64
|
-
|
70
|
+
include_schemas=True,
|
71
|
+
include_name=include_name,
|
65
72
|
# SQLite doesn't support alter table, so we need to use render_as_batch
|
66
73
|
# to create the tables in a single transaction. For other databases,
|
67
74
|
# the batch op is no-op.
|
@@ -95,7 +102,7 @@ def run_migrations_online() -> None:
|
|
95
102
|
config_dict = config.get_section(config.config_ini_section, {})
|
96
103
|
url = config_dict["sqlalchemy.url"]
|
97
104
|
is_sqlite = url.startswith("sqlite://")
|
98
|
-
translate_map = {
|
105
|
+
translate_map = {PLANAR_SCHEMA: None} if is_sqlite else {}
|
99
106
|
connectable = engine_from_config(
|
100
107
|
config_dict,
|
101
108
|
prefix="sqlalchemy.",
|
@@ -110,15 +117,15 @@ def run_migrations_online() -> None:
|
|
110
117
|
with connectable.connect() as connection:
|
111
118
|
is_sqlite = connection.dialect.name == "sqlite"
|
112
119
|
if is_sqlite:
|
113
|
-
connection.dialect.default_schema_name =
|
120
|
+
connection.dialect.default_schema_name = PLANAR_SCHEMA
|
114
121
|
|
115
122
|
context.configure(
|
116
123
|
connection=connection,
|
117
124
|
target_metadata=target_metadata,
|
118
125
|
# For SQLite, don't use schema since it's not supported
|
119
126
|
version_table_schema=None if is_sqlite else PLANAR_SCHEMA,
|
120
|
-
include_schemas=
|
121
|
-
|
127
|
+
include_schemas=True,
|
128
|
+
include_name=include_name,
|
122
129
|
# SQLite doesn't support alter table, so we need to use render_as_batch
|
123
130
|
# to create the tables in a single transaction. For other databases,
|
124
131
|
# the batch op is no-op.
|
planar/db/alembic/script.py.mako
CHANGED
@@ -5,12 +5,12 @@ Revises: ${down_revision | comma,n}
|
|
5
5
|
Create Date: ${create_date}
|
6
6
|
|
7
7
|
"""
|
8
|
+
|
8
9
|
from typing import Sequence, Union
|
9
10
|
|
10
|
-
from alembic import op
|
11
11
|
import sqlalchemy as sa
|
12
12
|
import sqlmodel.sql.sqltypes
|
13
|
-
import
|
13
|
+
from alembic import op
|
14
14
|
${imports if imports else ""}
|
15
15
|
|
16
16
|
# revision identifiers, used by Alembic.
|
planar/py.typed
ADDED
File without changes
|
@@ -1,9 +1,8 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: planar
|
3
|
-
Version: 0.9.
|
3
|
+
Version: 0.9.2
|
4
4
|
Summary: Add your description here
|
5
5
|
License-Expression: LicenseRef-Proprietary
|
6
|
-
Requires-Python: >=3.12
|
7
6
|
Requires-Dist: aiofiles>=24.1.0
|
8
7
|
Requires-Dist: aiosqlite>=0.21.0
|
9
8
|
Requires-Dist: alembic>=1.14.1
|
@@ -23,19 +22,20 @@ Requires-Dist: sqlmodel>=0.0.22
|
|
23
22
|
Requires-Dist: typer>=0.15.2
|
24
23
|
Requires-Dist: typing-extensions>=4.12.2
|
25
24
|
Requires-Dist: zen-engine>=0.40.0
|
25
|
+
Requires-Dist: azure-storage-blob>=12.19.0 ; extra == 'azure'
|
26
|
+
Requires-Dist: azure-identity>=1.15.0 ; extra == 'azure'
|
27
|
+
Requires-Dist: aiohttp>=3.8.0 ; extra == 'azure'
|
28
|
+
Requires-Dist: ducklake>=0.1.1 ; extra == 'data'
|
29
|
+
Requires-Dist: ibis-framework[duckdb]>=10.8.0 ; extra == 'data'
|
30
|
+
Requires-Dist: polars>=1.31.0 ; extra == 'data'
|
31
|
+
Requires-Dist: opentelemetry-api>=1.34.1 ; extra == 'otel'
|
32
|
+
Requires-Dist: opentelemetry-exporter-otlp>=1.34.1 ; extra == 'otel'
|
33
|
+
Requires-Dist: opentelemetry-instrumentation-logging>=0.55b1 ; extra == 'otel'
|
34
|
+
Requires-Dist: opentelemetry-sdk>=1.34.1 ; extra == 'otel'
|
35
|
+
Requires-Python: >=3.12
|
26
36
|
Provides-Extra: azure
|
27
|
-
Requires-Dist: aiohttp>=3.8.0; extra == 'azure'
|
28
|
-
Requires-Dist: azure-identity>=1.15.0; extra == 'azure'
|
29
|
-
Requires-Dist: azure-storage-blob>=12.19.0; extra == 'azure'
|
30
37
|
Provides-Extra: data
|
31
|
-
Requires-Dist: ducklake>=0.1.1; extra == 'data'
|
32
|
-
Requires-Dist: ibis-framework[duckdb]>=10.8.0; extra == 'data'
|
33
|
-
Requires-Dist: polars>=1.31.0; extra == 'data'
|
34
38
|
Provides-Extra: otel
|
35
|
-
Requires-Dist: opentelemetry-api>=1.34.1; extra == 'otel'
|
36
|
-
Requires-Dist: opentelemetry-exporter-otlp>=1.34.1; extra == 'otel'
|
37
|
-
Requires-Dist: opentelemetry-instrumentation-logging>=0.55b1; extra == 'otel'
|
38
|
-
Requires-Dist: opentelemetry-sdk>=1.34.1; extra == 'otel'
|
39
39
|
Description-Content-Type: text/markdown
|
40
40
|
|
41
41
|
# Planar
|
@@ -1,43 +1,29 @@
|
|
1
1
|
planar/__init__.py,sha256=FAYRGjuJOH2Y_XYFA0-BrRFjuKdPzIShNbaYwJbtu6A,499
|
2
|
-
planar/_version.py,sha256=MDn0Ro0DvGxuAuRTGL8IBqcm5nbo1P640CIS7xBBu2k,18
|
3
|
-
planar/app.py,sha256=VEs4jDlcisyOy9I9zEGMG_-Qm8ULKT36CSHjqrYit3o,18491
|
4
|
-
planar/cli.py,sha256=2ObR5XkLGbdbnDqp5mrBzDVhSacHCNsVNSHnXkrMQzQ,9593
|
5
|
-
planar/config.py,sha256=6J42G9rEVUiOyCAY3EwUTU3PPmWthGTnrHMzST9TMcc,17809
|
6
|
-
planar/dependencies.py,sha256=PH78fGk3bQfGnz-AphxH49307Y0XVgl3EY0LdGJnoik,1008
|
7
|
-
planar/object_registry.py,sha256=RMleX5XE8OKDxlnMeyLpJ1Y280duub-tx1smR1zTlDg,3219
|
8
|
-
planar/registry_items.py,sha256=UhZRIpbSoa_CV9OTl17pJfRLxItYp4Pxd9f5ZbJkGaM,2055
|
9
|
-
planar/session.py,sha256=xLS9WPvaiy9nr2Olju1-C-7_sU5VXK8RuNdjuKndul4,1020
|
10
|
-
planar/task_local.py,sha256=pyvT0bdzAn15HL2yQUs9YrU5MVXh9njQt9MH51AGljs,1102
|
11
|
-
planar/test_app.py,sha256=5dYhOW6lRbAx2X270DfqktkJ5IfuqfowX6bwxM1WQAM,4865
|
12
|
-
planar/test_cli.py,sha256=faR6CSuooHHyyB5Yt-p8CIr7mGtKrrU2TLQbc4Oe9bA,13834
|
13
|
-
planar/test_config.py,sha256=HcmDu1nwKZZhzHQLGVyP9oxje-_g_XubEsvzRj28QPg,14328
|
14
|
-
planar/test_object_config.py,sha256=izn4s2HmSDWpGtgpOTDmKeUYN2-63WDR1QtVQrT-x00,20135
|
15
|
-
planar/test_object_registry.py,sha256=R7IwbB2GACm2HUuVZTeVY4V12XB9_JgSSeppPxiCdfs,480
|
16
|
-
planar/test_sqlalchemy.py,sha256=QTloaipWiFmlLTBGH6YCRkwi1R27gmQZnwprO7lPLfU,7058
|
17
|
-
planar/test_utils.py,sha256=gKenXotj36SN_bb3bQpYPfD8t06IjnGBQqEgWpujHcA,3086
|
18
|
-
planar/utils.py,sha256=v7q9AJyWgQWl9VPSN_0qxw3rBvYe-_Pb_KcwqSsjOFU,3103
|
19
2
|
planar/ai/__init__.py,sha256=ABOKvqQOLlVJkptcvXcuLjVZZWEsK8h-1RyFGK7kib8,231
|
20
3
|
planar/ai/agent.py,sha256=flgHU00LRT-UcP0TjMqDigi2jwWq6UoMpmCZSOTyyB0,12428
|
21
|
-
planar/ai/agent_base.py,sha256=
|
22
|
-
planar/ai/agent_utils.py,sha256=
|
23
|
-
planar/ai/models.py,sha256=
|
24
|
-
planar/ai/pydantic_ai.py,sha256=
|
4
|
+
planar/ai/agent_base.py,sha256=rdK5ExCpkPf5sdVy-Wo5MKAx2O_GULFCwA24s0XO6Ek,5462
|
5
|
+
planar/ai/agent_utils.py,sha256=MYNerdAm2TPVbDSKAmBCUlGmR56NAc8seZmDAFOWvUA,4199
|
6
|
+
planar/ai/models.py,sha256=bZd4MoBBJMqzXJqsmsbMdZtOaRrNeX438CHAqOvmpfw,4598
|
7
|
+
planar/ai/pydantic_ai.py,sha256=FpD0pE7wWNYwmEUZ90D7_J8gbAoqKmWtrLr2fhAd7rg,23503
|
25
8
|
planar/ai/test_agent_serialization.py,sha256=zYLIxhYdFhOZzBrEBoQNyYLyNcNxWwaMTkjt_ARTkZk,8073
|
26
9
|
planar/ai/utils.py,sha256=WVBW0TGaoKytC4bNd_a9lXrBf5QsDRut4GBcA53U2Ww,3116
|
10
|
+
planar/app.py,sha256=VEs4jDlcisyOy9I9zEGMG_-Qm8ULKT36CSHjqrYit3o,18491
|
11
|
+
planar/cli.py,sha256=2ObR5XkLGbdbnDqp5mrBzDVhSacHCNsVNSHnXkrMQzQ,9593
|
12
|
+
planar/config.py,sha256=6J42G9rEVUiOyCAY3EwUTU3PPmWthGTnrHMzST9TMcc,17809
|
27
13
|
planar/data/__init__.py,sha256=LwrWl925w1CN0aW645Wpj_kDp0B8j5SsPzjr9iyrcmI,285
|
28
14
|
planar/data/config.py,sha256=zp6ChI_2MUMbupEVQNY-BxzcdLvejXG33DCp0BujGVU,1209
|
29
15
|
planar/data/dataset.py,sha256=P0NVE2OvJcXMKqVylYczY2lSGR0pSWlPAHM_upKoBWQ,9507
|
30
16
|
planar/data/exceptions.py,sha256=AlhGQ_TReyEzfPSlqoXCjoZ1206Ut7dS4lrukVfGHaw,358
|
31
17
|
planar/data/test_dataset.py,sha256=w2kay2PE-BhkryM3cOKX0nzSr2G0nCJxDuW1QCeFbyk,9985
|
32
18
|
planar/db/__init__.py,sha256=SNgB6unQ1f1E9dB9O-KrsPsYM17KLsgOW1u0ajqs57I,318
|
19
|
+
planar/db/alembic/env.py,sha256=UlOrLBfFJ-WbNK0R1cgS2MC3yrqeE4-6rIirB3rGLYo,5344
|
20
|
+
planar/db/alembic/script.py.mako,sha256=BgXfi4ClINnJU-PaaWqh1-Sjqu4brkWpbVd-0rEPzLU,665
|
21
|
+
planar/db/alembic/versions/3476068c153c_initial_system_tables_migration.py,sha256=1FbzJyfapjegM-Mxd3HMMVA-8zVU6AnrnzEgIoc6eoQ,13204
|
33
22
|
planar/db/alembic.ini,sha256=8G9IWbmF61Vwp1BXbkNOXTTgCEUMBQhOK_e-nnpnSYY,4309
|
34
23
|
planar/db/db.py,sha256=VNpHH1R62tdWVLIV1I2ULmw3B8M6-RsM2ALG3VAVjSg,12790
|
35
|
-
planar/
|
36
|
-
planar/db/alembic/script.py.mako,sha256=Cl7ixgLNtLk1gF5xFNXOnC9YYLX4cpFd8yHtEyY0_dY,699
|
37
|
-
planar/db/alembic/versions/3476068c153c_initial_system_tables_migration.py,sha256=1FbzJyfapjegM-Mxd3HMMVA-8zVU6AnrnzEgIoc6eoQ,13204
|
24
|
+
planar/dependencies.py,sha256=PH78fGk3bQfGnz-AphxH49307Y0XVgl3EY0LdGJnoik,1008
|
38
25
|
planar/files/__init__.py,sha256=fms64l32M8hPK0SINXxNCykr2EpjBTcdgnezVgaCwkc,120
|
39
26
|
planar/files/models.py,sha256=zbZvMkoqoSnn7yOo26SRtEgtlHJbFIvwSht75APHQXk,6145
|
40
|
-
planar/files/test_files.py,sha256=nclsbLnbijCWQ-Aj8Yvo06hs72PygL1Wps7uk7716sc,8957
|
41
27
|
planar/files/storage/azure_blob.py,sha256=PzCm8ZpyAMH9-N6VscTlLpud-CBLcQX9qC6YjbOSfZg,12316
|
42
28
|
planar/files/storage/base.py,sha256=KO7jyKwjKg5fNSLvhxJWE-lsypv6LXXf7bgA34aflwY,2495
|
43
29
|
planar/files/storage/config.py,sha256=jE9Dn6cG_a4x9pdaZkasOxjyWkK6hmplLrPjEsRXGLM,3473
|
@@ -47,6 +33,7 @@ planar/files/storage/s3.py,sha256=1861rSw3kplXtugUWD7mdSD_EnPSHME1mGc82V69r5g,82
|
|
47
33
|
planar/files/storage/test_azure_blob.py,sha256=OFYpns6JyeCCBHCoLz56uUHR6tWWeSZldUant5llczI,14200
|
48
34
|
planar/files/storage/test_local_directory.py,sha256=KtzRfjtZUew1U-KETtD2mb6ywwX6HmjzaaeixOP0Ebg,5751
|
49
35
|
planar/files/storage/test_s3.py,sha256=QG-CH7fiaRmQRwffnqG2mLRrw9LIlR2-xRyHs6Wuspo,10565
|
36
|
+
planar/files/test_files.py,sha256=nclsbLnbijCWQ-Aj8Yvo06hs72PygL1Wps7uk7716sc,8957
|
50
37
|
planar/human/__init__.py,sha256=FwpV-FFssKKlvKSjWoI4gJB1XTMaNb1UNCSBxjAtIBw,147
|
51
38
|
planar/human/human.py,sha256=-oRtN_8bCtSV7Sxku7yG4rof7T5pr4j18Cfm3u4Z3PM,14925
|
52
39
|
planar/human/models.py,sha256=Cec1Y9NGGtuAl1ZhqNc9PWIq__BbiWVTh7IYKR4yl3w,2317
|
@@ -75,6 +62,9 @@ planar/modeling/orm/reexports.py,sha256=sP7nw8e1yp1cahpfsefO84P5n4TNnBRk1jVHuCuH
|
|
75
62
|
planar/object_config/__init__.py,sha256=8LbI3teg3jCKoUznZ7cal22C1URnHtJMpBokCHZQUWo,352
|
76
63
|
planar/object_config/models.py,sha256=nCyK82JitZwzGwbaBa-dZVxHPnL51ZJ6h87a-KEwHAw,3078
|
77
64
|
planar/object_config/object_config.py,sha256=MgaL-jBFJJtP6ipZ2eJs-KMhj94V_sT3QCSoVTpYP3Y,13609
|
65
|
+
planar/object_registry.py,sha256=RMleX5XE8OKDxlnMeyLpJ1Y280duub-tx1smR1zTlDg,3219
|
66
|
+
planar/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
67
|
+
planar/registry_items.py,sha256=UhZRIpbSoa_CV9OTl17pJfRLxItYp4Pxd9f5ZbJkGaM,2055
|
78
68
|
planar/routers/__init__.py,sha256=B_ZEbBuosX4ahPfvWZsyMIPmQm0rt6ail4nJA6NLfOk,379
|
79
69
|
planar/routers/agents_router.py,sha256=trb1JPYVlaV7O2uoYvKIrLuTNGP_PmQSLZmXYFWrHkg,8251
|
80
70
|
planar/routers/entity_router.py,sha256=7Y1LDSqI_ovoOGr9DGylGM8BmRxF-WSPQSwITJHc6NE,4841
|
@@ -97,7 +87,6 @@ planar/rules/decorator.py,sha256=nxT17n9uwfXMOlk5lliw_cRS7Y83gMI6CQdrf_pB5yk,666
|
|
97
87
|
planar/rules/models.py,sha256=vC38JLeGzmU87L8BX4AyVJLJHmRYjWRmoHQ6S6ZlhPg,10186
|
98
88
|
planar/rules/rule_configuration.py,sha256=B2G6mPnfxA277nF-Gr-B_Uely-ZOhz2jAhiwQMZuY-k,6508
|
99
89
|
planar/rules/runner.py,sha256=KIPrt_ri50qotvDLOY9xly40bNTWRh8GVT2kEJFFtFo,1714
|
100
|
-
planar/rules/test_rules.py,sha256=6M7CSg1bwn7O7DOoNi38vyVG4UmPQfRFxEO9qGE6rz0,52011
|
101
90
|
planar/rules/test_data/account_dormancy_management.json,sha256=9aMMELZrF5DTBluMKUXJptxwULEcva4GHEyaapIeerY,4776
|
102
91
|
planar/rules/test_data/airline_loyalty_points_calculator.json,sha256=7S1koMe60yR3h2VQys34oLy5ynhsEQ5wadMLPHCRQZA,5689
|
103
92
|
planar/rules/test_data/applicant_risk_assessment.json,sha256=rj-Q13NczdNt00x5wrvGLalw5IfdT1j-_RvpwCZa7Fc,9994
|
@@ -112,13 +101,14 @@ planar/rules/test_data/order_consolidation_system.json,sha256=kWJuVHAfAqsDW2xVdx
|
|
112
101
|
planar/rules/test_data/portfolio_risk_monitor.json,sha256=tTvQOJJLhakGxG4CnA9fdBIECstJnp0B8ogFADkdy8s,15168
|
113
102
|
planar/rules/test_data/supply_chain_risk.json,sha256=fO0wV5ZnsZQpOP19Zp2troTMADaX0-KMpCxG_uHG198,7263
|
114
103
|
planar/rules/test_data/warehouse_cross_docking.json,sha256=IPfcgNkY2sds301BeW6CjgFtK_zRyr27gI3UcqCB2Uo,5549
|
104
|
+
planar/rules/test_rules.py,sha256=6M7CSg1bwn7O7DOoNi38vyVG4UmPQfRFxEO9qGE6rz0,52011
|
105
|
+
planar/scaffold_templates/app/__init__.py.j2,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
106
|
+
planar/scaffold_templates/app/db/entities.py.j2,sha256=wg9O3JtRaRMKlDtoWHHodyNRL0s1UILvsr9fCQ_O2-4,279
|
107
|
+
planar/scaffold_templates/app/flows/process_invoice.py.j2,sha256=R3EII_O2DHV1kvffW_AApZyaS6rR9eikcpxI08XH9dI,1691
|
115
108
|
planar/scaffold_templates/main.py.j2,sha256=HcV0PVzcyRDaJvNdDQIFiDR1MJlLquNQzNO9oNkCKDQ,322
|
116
109
|
planar/scaffold_templates/planar.dev.yaml.j2,sha256=I5-IqX7GJm6qA91WtUMw43L4hKACqgnER_H2racim4c,998
|
117
110
|
planar/scaffold_templates/planar.prod.yaml.j2,sha256=FahJ2atDtvVH7IUCatGq6h9hmyF8meeiWC8RLfWphOQ,867
|
118
111
|
planar/scaffold_templates/pyproject.toml.j2,sha256=nFfHWLp0sFK8cqjkdwBm6Hi6xsPzTNkaBeSgdTWTS-Q,183
|
119
|
-
planar/scaffold_templates/app/__init__.py.j2,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
120
|
-
planar/scaffold_templates/app/db/entities.py.j2,sha256=wg9O3JtRaRMKlDtoWHHodyNRL0s1UILvsr9fCQ_O2-4,279
|
121
|
-
planar/scaffold_templates/app/flows/process_invoice.py.j2,sha256=R3EII_O2DHV1kvffW_AApZyaS6rR9eikcpxI08XH9dI,1691
|
122
112
|
planar/security/auth_context.py,sha256=i63JkHQ3oXNlTis7GIKRkZJbkcvZhD2jVDuO7blgbSc,5068
|
123
113
|
planar/security/auth_middleware.py,sha256=Grrm0i2bstWZ83ukrNZsHvFbNzffN0rvbbCcb2OxRY0,5746
|
124
114
|
planar/security/authorization.py,sha256=zoej88_VINVNSDXm7u2LJbwOpMqmXBKj_pmCaPTar7M,11721
|
@@ -129,11 +119,20 @@ planar/security/tests/test_authorization_context.py,sha256=cnsC3V13NBJwzyIwZaM9w
|
|
129
119
|
planar/security/tests/test_cedar_basics.py,sha256=i1jLPjlJT1n_97onbeDYVpnwAzU2PmHvIPvaJSH1J2U,1026
|
130
120
|
planar/security/tests/test_cedar_policies.py,sha256=-Vn_CQgCUAVg7YhdUd34FsOjNL1EmY_o92r-fzmknP8,4848
|
131
121
|
planar/security/tests/test_jwt_principal_context.py,sha256=nGElTLtXbabkAxd3kXVpSFdH7kvSzHzSkp89g5Vu5Hc,4691
|
122
|
+
planar/session.py,sha256=xLS9WPvaiy9nr2Olju1-C-7_sU5VXK8RuNdjuKndul4,1020
|
132
123
|
planar/sse/constants.py,sha256=jE3SooTEWPuuL_Bi6DisJYMR9pKOiHVfboU2h5QTJRg,22
|
133
124
|
planar/sse/example.html,sha256=SgTJbdJ3B1F1DxLC2YWuX2F1XVwKcTjX34CbJCXoCTM,4144
|
134
125
|
planar/sse/hub.py,sha256=5jhfk7zdCivau3TT1MxU2qtvETSskhqEiXzt-t0sRpE,6859
|
135
126
|
planar/sse/model.py,sha256=fU_Fx9LS2ouS6-Dj1TIF-PLGul9YratKWafoWfZR1gc,123
|
136
127
|
planar/sse/proxy.py,sha256=aJGo_-JIeQ0xSmE4HJdulZxIgCVRsBMMXqqSqtPvTvo,9177
|
128
|
+
planar/task_local.py,sha256=pyvT0bdzAn15HL2yQUs9YrU5MVXh9njQt9MH51AGljs,1102
|
129
|
+
planar/test_app.py,sha256=5dYhOW6lRbAx2X270DfqktkJ5IfuqfowX6bwxM1WQAM,4865
|
130
|
+
planar/test_cli.py,sha256=faR6CSuooHHyyB5Yt-p8CIr7mGtKrrU2TLQbc4Oe9bA,13834
|
131
|
+
planar/test_config.py,sha256=HcmDu1nwKZZhzHQLGVyP9oxje-_g_XubEsvzRj28QPg,14328
|
132
|
+
planar/test_object_config.py,sha256=izn4s2HmSDWpGtgpOTDmKeUYN2-63WDR1QtVQrT-x00,20135
|
133
|
+
planar/test_object_registry.py,sha256=R7IwbB2GACm2HUuVZTeVY4V12XB9_JgSSeppPxiCdfs,480
|
134
|
+
planar/test_sqlalchemy.py,sha256=QTloaipWiFmlLTBGH6YCRkwi1R27gmQZnwprO7lPLfU,7058
|
135
|
+
planar/test_utils.py,sha256=gKenXotj36SN_bb3bQpYPfD8t06IjnGBQqEgWpujHcA,3086
|
137
136
|
planar/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
138
137
|
planar/testing/fixtures.py,sha256=spK7iL1NSv-d8fd139ep-SDogZR2ZycGkD_voSAPPF4,8662
|
139
138
|
planar/testing/memory_storage.py,sha256=apcuFisC3hW9KiU3kO8zwHQ6oK9Lu20NSX5fJ0LSZUY,2824
|
@@ -141,6 +140,7 @@ planar/testing/planar_test_client.py,sha256=qPkI_ZHZho_38PpdSmEjcRBO1iHcIx3dOwo7
|
|
141
140
|
planar/testing/synchronizable_tracer.py,sha256=SWeta1CgwGsN5duC0FR8NyXOQ1b1L8nDpvGdjZVJ9Bg,4938
|
142
141
|
planar/testing/test_memory_storage.py,sha256=So32XL0gbLDFMTl-WJN445x9jL6O8Qsqw8IRaiZnsPs,4797
|
143
142
|
planar/testing/workflow_observer.py,sha256=0Q2xsYuZzNGXHZVwvXBqL9KXPsdIXuSZGBJAxHopzJw,2976
|
143
|
+
planar/utils.py,sha256=v7q9AJyWgQWl9VPSN_0qxw3rBvYe-_Pb_KcwqSsjOFU,3103
|
144
144
|
planar/workflows/__init__.py,sha256=yFrrtKYUCx4jBPpHdEWDfKQgZXzGyr9voj5lFe9C-_w,826
|
145
145
|
planar/workflows/context.py,sha256=93kPSmYniqjX_lv6--eUUPnzZEKZJi6IPaAjrT-hFRY,1271
|
146
146
|
planar/workflows/contrib.py,sha256=b7WhCancxNCKO63mJCez9MahwMQc5_3zQxr_soJoXCY,6478
|
@@ -166,7 +166,7 @@ planar/workflows/test_suspend_deserialization.py,sha256=ddw2jToSJ-ebQ0RfT7KWTRMC
|
|
166
166
|
planar/workflows/test_workflow.py,sha256=KArm9m44IBXKY9j4v_O74MAweFN6jEb7tVRomziaeFU,64011
|
167
167
|
planar/workflows/tracing.py,sha256=E7E_kj2VBQisDqrllviIshbvOmB9QcEeRwMapunqio4,2732
|
168
168
|
planar/workflows/wrappers.py,sha256=KON6RGg1D6yStboNbuMEeTXRpPTEa8S6Elh1tOnMAlM,1149
|
169
|
-
planar-0.9.
|
170
|
-
planar-0.9.
|
171
|
-
planar-0.9.
|
172
|
-
planar-0.9.
|
169
|
+
planar-0.9.2.dist-info/WHEEL,sha256=Jb20R3Ili4n9P1fcwuLup21eQ5r9WXhs4_qy7VTrgPI,79
|
170
|
+
planar-0.9.2.dist-info/entry_points.txt,sha256=L3T0w9u2UPKWXv6JbXFWKU1d5xyEAq1xVWbpYS6mLNg,96
|
171
|
+
planar-0.9.2.dist-info/METADATA,sha256=nF_zOc5hfhs8BYdm83nO8Fp480qDGfCuTbJpx8Yf5FE,12313
|
172
|
+
planar-0.9.2.dist-info/RECORD,,
|
planar/_version.py
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
VERSION = "0.9.1"
|
planar-0.9.1.dist-info/WHEEL
DELETED