pipe2 0.2.0__tar.gz → 0.4.0__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.
Files changed (71) hide show
  1. pipe2-0.4.0/.gitignore +62 -0
  2. {pipe2-0.2.0 → pipe2-0.4.0}/PKG-INFO +1 -1
  3. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/__init__.py +24 -0
  4. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/client.py +126 -10
  5. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/enums.py +5 -1
  6. pipe2-0.4.0/pipe2/generated/estimate_pipeline_cost.py +20 -0
  7. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_credit_history.py +7 -0
  8. pipe2-0.4.0/pipe2/generated/get_my_storage_usage.py +28 -0
  9. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_pipelines.py +2 -1
  10. pipe2-0.4.0/pipe2/generated/get_pipelines_list.py +29 -0
  11. pipe2-0.4.0/pipe2/generated/get_pipelines_pricing.py +18 -0
  12. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_plans.py +2 -0
  13. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_subscription.py +2 -0
  14. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/input_types.py +61 -3
  15. {pipe2-0.2.0 → pipe2-0.4.0}/pyproject.toml +1 -1
  16. pipe2-0.2.0/.gitignore +0 -45
  17. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/__init__.py +0 -0
  18. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/client.py +0 -0
  19. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/abort_multipart_upload.py +0 -0
  20. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/add_affiliate_code.py +0 -0
  21. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/async_base_client.py +0 -0
  22. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/base_model.py +0 -0
  23. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/cancel_account_deletion.py +0 -0
  24. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/cancel_pipeline_run.py +0 -0
  25. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/cancel_subscription.py +0 -0
  26. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/change_avatar.py +0 -0
  27. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/change_name.py +0 -0
  28. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/change_password.py +0 -0
  29. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/complete_multipart_upload.py +0 -0
  30. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/confirm_account_deletion.py +0 -0
  31. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/create_asset.py +0 -0
  32. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/create_personal_access_token.py +0 -0
  33. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/delete_asset_action.py +0 -0
  34. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/ensure_affiliate.py +0 -0
  35. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/exceptions.py +0 -0
  36. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_active_pipeline_runs.py +0 -0
  37. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_asset_thumbnail.py +0 -0
  38. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_asset_thumbnails_by_ids.py +0 -0
  39. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_credit_balance.py +0 -0
  40. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_credit_packs.py +0 -0
  41. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_current_user.py +0 -0
  42. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_my_affiliate.py +0 -0
  43. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_my_affiliate_codes.py +0 -0
  44. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_my_api_keys.py +0 -0
  45. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_my_referrals.py +0 -0
  46. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_notifications.py +0 -0
  47. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_pipeline_run.py +0 -0
  48. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_pipeline_runs.py +0 -0
  49. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_pipeline_runs_by_slug.py +0 -0
  50. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/get_user_assets.py +0 -0
  51. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/init_login_flow.py +0 -0
  52. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/init_recovery_flow.py +0 -0
  53. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/init_signup_flow.py +0 -0
  54. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/init_verification_flow.py +0 -0
  55. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/mark_all_notifications_read.py +0 -0
  56. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/mark_notification_read.py +0 -0
  57. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/request_account_deletion.py +0 -0
  58. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/request_avatar_upload.py +0 -0
  59. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/request_multipart_upload.py +0 -0
  60. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/request_upload.py +0 -0
  61. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/revoke_personal_access_token.py +0 -0
  62. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/run_pipeline.py +0 -0
  63. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/submit_login_flow.py +0 -0
  64. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/submit_recovery_flow.py +0 -0
  65. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/submit_signup_flow.py +0 -0
  66. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/submit_social_login.py +0 -0
  67. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/submit_verification_code.py +0 -0
  68. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/update_asset_tags.py +0 -0
  69. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/watch_active_pipeline_runs.py +0 -0
  70. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/watch_notifications.py +0 -0
  71. {pipe2-0.2.0 → pipe2-0.4.0}/pipe2/generated/watch_pipeline_run.py +0 -0
pipe2-0.4.0/.gitignore ADDED
@@ -0,0 +1,62 @@
1
+ # Environment
2
+ .env
3
+
4
+ # Go
5
+ packages/api/tmp/
6
+ packages/api/bin/
7
+ packages/api/api
8
+ packages/api/web-public/
9
+ packages/cli/tmp/
10
+ packages/cli/bin/
11
+ packages/worker/worker
12
+ packages/worker/tmp/
13
+ packages/analytics/tmp/
14
+ packages/analytics/bin/
15
+
16
+ # Go compiled binaries (from `go build`)
17
+ packages/*/seed
18
+ packages/*/generate-*
19
+ packages/*/whop-sync
20
+
21
+ # Node & Build
22
+ node_modules/
23
+ dist/
24
+ .astro/
25
+ .vite/
26
+
27
+ # IDE
28
+ .idea/
29
+ .vscode/
30
+ *.swp
31
+
32
+ # Test
33
+ test-results/
34
+ packages/web/e2e/.auth/
35
+
36
+ # OS
37
+ .DS_Store
38
+ Thumbs.db
39
+ Screenshot*
40
+ ChatGPT*
41
+ discord-logo-*.png
42
+ packages/api/api
43
+ packages/cli/web-previews/
44
+ .planning/
45
+ .ralph/
46
+ docs/superpowers/
47
+
48
+ # Recipe runtime state — `pipe2 recipe run --capture-to <dir>` writes
49
+ # step artifacts + state.json under <dir>/. Defaults to ./reel-out in
50
+ # dance-reel smoke tests, so the dir lands at the repo root or inside
51
+ # the CLI package depending on where the user ran from. Always
52
+ # disposable — never committed.
53
+ reel-out/
54
+ packages/pipe2-cli/reel-out/
55
+
56
+ # Cookbook recipe drafts — outline JSON for recipes not yet implemented
57
+ # as Go packages. Scratch planning files, not shipped content; the web
58
+ # cookbook loader skips them. Kept local, never committed.
59
+ packages/pipe2-cli/cookbook/_drafts/
60
+
61
+ # Local cli-proxy stub for dev bring-up (see docs/dev-bringup.md) — never committed
62
+ .devstub/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pipe2
3
- Version: 0.2.0
3
+ Version: 0.4.0
4
4
  Summary: Pipe2.ai Python SDK — typed GraphQL client
5
5
  Requires-Python: >=3.10
6
6
  Requires-Dist: httpx>=0.25
@@ -52,6 +52,10 @@ from .enums import (
52
52
  plans_select_column,
53
53
  subscriptions_select_column,
54
54
  )
55
+ from .estimate_pipeline_cost import (
56
+ EstimatePipelineCost,
57
+ EstimatePipelineCostEstimatePipelineCost,
58
+ )
55
59
  from .exceptions import (
56
60
  GraphQLClientError,
57
61
  GraphQLClientGraphQLError,
@@ -94,6 +98,12 @@ from .get_my_referrals import (
94
98
  GetMyReferralsGetMyReferrals,
95
99
  GetMyReferralsGetMyReferralsReferrals,
96
100
  )
101
+ from .get_my_storage_usage import (
102
+ GetMyStorageUsage,
103
+ GetMyStorageUsageAssetsAggregate,
104
+ GetMyStorageUsageAssetsAggregateAggregate,
105
+ GetMyStorageUsageAssetsAggregateAggregateSum,
106
+ )
97
107
  from .get_notifications import (
98
108
  GetNotifications,
99
109
  GetNotificationsNotifications,
@@ -128,6 +138,8 @@ from .get_pipeline_runs_by_slug import (
128
138
  GetPipelineRunsBySlugPipelineRunsWorkflowExecution,
129
139
  )
130
140
  from .get_pipelines import GetPipelines, GetPipelinesPipelines
141
+ from .get_pipelines_list import GetPipelinesList, GetPipelinesListPipelines
142
+ from .get_pipelines_pricing import GetPipelinesPricing, GetPipelinesPricingPipelines
131
143
  from .get_plans import GetPlans, GetPlansPlans, GetPlansPlansVersions
132
144
  from .get_subscription import (
133
145
  GetSubscription,
@@ -187,6 +199,7 @@ from .input_types import (
187
199
  assets_var_pop_order_by,
188
200
  assets_var_samp_order_by,
189
201
  assets_variance_order_by,
202
+ bigint_comparison_exp,
190
203
  bpchar_comparison_exp,
191
204
  credit_pack_versions_aggregate_order_by,
192
205
  credit_pack_versions_avg_order_by,
@@ -348,6 +361,8 @@ __all__ = [
348
361
  "DeleteAssetActionDeleteAsset",
349
362
  "EnsureAffiliate",
350
363
  "EnsureAffiliateEnsureAffiliate",
364
+ "EstimatePipelineCost",
365
+ "EstimatePipelineCostEstimatePipelineCost",
351
366
  "GetActivePipelineRuns",
352
367
  "GetActivePipelineRunsActiveCount",
353
368
  "GetActivePipelineRunsActiveCountAggregate",
@@ -376,6 +391,10 @@ __all__ = [
376
391
  "GetMyReferrals",
377
392
  "GetMyReferralsGetMyReferrals",
378
393
  "GetMyReferralsGetMyReferralsReferrals",
394
+ "GetMyStorageUsage",
395
+ "GetMyStorageUsageAssetsAggregate",
396
+ "GetMyStorageUsageAssetsAggregateAggregate",
397
+ "GetMyStorageUsageAssetsAggregateAggregateSum",
379
398
  "GetNotifications",
380
399
  "GetNotificationsNotifications",
381
400
  "GetNotificationsUnread",
@@ -402,7 +421,11 @@ __all__ = [
402
421
  "GetPipelineRunsPipelineRunsPipeline",
403
422
  "GetPipelineRunsPipelineRunsWorkflowExecution",
404
423
  "GetPipelines",
424
+ "GetPipelinesList",
425
+ "GetPipelinesListPipelines",
405
426
  "GetPipelinesPipelines",
427
+ "GetPipelinesPricing",
428
+ "GetPipelinesPricingPipelines",
406
429
  "GetPlans",
407
430
  "GetPlansPlans",
408
431
  "GetPlansPlansVersions",
@@ -507,6 +530,7 @@ __all__ = [
507
530
  "assets_var_pop_order_by",
508
531
  "assets_var_samp_order_by",
509
532
  "assets_variance_order_by",
533
+ "bigint_comparison_exp",
510
534
  "bpchar_comparison_exp",
511
535
  "credit_pack_versions_aggregate_order_by",
512
536
  "credit_pack_versions_avg_order_by",
@@ -20,6 +20,7 @@ from .create_asset import CreateAsset
20
20
  from .create_personal_access_token import CreatePersonalAccessToken
21
21
  from .delete_asset_action import DeleteAssetAction
22
22
  from .ensure_affiliate import EnsureAffiliate
23
+ from .estimate_pipeline_cost import EstimatePipelineCost
23
24
  from .get_active_pipeline_runs import GetActivePipelineRuns
24
25
  from .get_asset_thumbnail import GetAssetThumbnail
25
26
  from .get_asset_thumbnails_by_ids import GetAssetThumbnailsByIds
@@ -31,11 +32,14 @@ from .get_my_affiliate import GetMyAffiliate
31
32
  from .get_my_affiliate_codes import GetMyAffiliateCodes
32
33
  from .get_my_api_keys import GetMyApiKeys
33
34
  from .get_my_referrals import GetMyReferrals
35
+ from .get_my_storage_usage import GetMyStorageUsage
34
36
  from .get_notifications import GetNotifications
35
37
  from .get_pipeline_run import GetPipelineRun
36
38
  from .get_pipeline_runs import GetPipelineRuns
37
39
  from .get_pipeline_runs_by_slug import GetPipelineRunsBySlug
38
40
  from .get_pipelines import GetPipelines
41
+ from .get_pipelines_list import GetPipelinesList
42
+ from .get_pipelines_pricing import GetPipelinesPricing
39
43
  from .get_plans import GetPlans
40
44
  from .get_subscription import GetSubscription
41
45
  from .get_user_assets import GetUserAssets
@@ -347,6 +351,29 @@ class Pipe2GraphQLClient(AsyncBaseClient):
347
351
  data = self.get_data(response)
348
352
  return GetMyReferrals.model_validate(data)
349
353
 
354
+ async def get_my_storage_usage(self, **kwargs: Any) -> GetMyStorageUsage:
355
+ query = gql("""
356
+ query GetMyStorageUsage {
357
+ assets_aggregate {
358
+ aggregate {
359
+ sum {
360
+ size_bytes
361
+ }
362
+ count
363
+ }
364
+ }
365
+ }
366
+ """)
367
+ variables: dict[str, object] = {}
368
+ response = await self.execute(
369
+ query=query,
370
+ operation_name="GetMyStorageUsage",
371
+ variables=variables,
372
+ **kwargs,
373
+ )
374
+ data = self.get_data(response)
375
+ return GetMyStorageUsage.model_validate(data)
376
+
350
377
  async def get_asset_thumbnail(self, id: Any, **kwargs: Any) -> GetAssetThumbnail:
351
378
  query = gql("""
352
379
  query GetAssetThumbnail($id: uuid!) {
@@ -564,14 +591,13 @@ class Pipe2GraphQLClient(AsyncBaseClient):
564
591
 
565
592
  async def create_asset(
566
593
  self,
567
- asset_type: str,
568
- url: str,
594
+ key: str,
569
595
  tags: Union[Optional[list[str]], UnsetType] = UNSET,
570
596
  **kwargs: Any,
571
597
  ) -> CreateAsset:
572
598
  query = gql("""
573
- mutation CreateAsset($asset_type: String!, $url: String!, $tags: [String!] = []) {
574
- create_asset(type: $asset_type, url: $url, tags: $tags) {
599
+ mutation CreateAsset($key: String!, $tags: [String!] = []) {
600
+ create_asset(key: $key, tags: $tags) {
575
601
  id
576
602
  type
577
603
  url
@@ -580,11 +606,7 @@ class Pipe2GraphQLClient(AsyncBaseClient):
580
606
  }
581
607
  }
582
608
  """)
583
- variables: dict[str, object] = {
584
- "asset_type": asset_type,
585
- "url": url,
586
- "tags": tags,
587
- }
609
+ variables: dict[str, object] = {"key": key, "tags": tags}
588
610
  response = await self.execute(
589
611
  query=query, operation_name="CreateAsset", variables=variables, **kwargs
590
612
  )
@@ -883,6 +905,11 @@ class Pipe2GraphQLClient(AsyncBaseClient):
883
905
  amount
884
906
  description
885
907
  created_at
908
+ pipeline_run_id
909
+ pipeline_slug
910
+ pipeline_name
911
+ status
912
+ reservation_mc
886
913
  }
887
914
  }
888
915
  """)
@@ -979,7 +1006,8 @@ class Pipe2GraphQLClient(AsyncBaseClient):
979
1006
  category
980
1007
  icon_url
981
1008
  preview_url
982
- required_providers
1009
+ providers
1010
+ models
983
1011
  input_schema
984
1012
  ui_schema
985
1013
  output_schema
@@ -999,6 +1027,90 @@ class Pipe2GraphQLClient(AsyncBaseClient):
999
1027
  data = self.get_data(response)
1000
1028
  return GetPipelines.model_validate(data)
1001
1029
 
1030
+ async def get_pipelines_list(
1031
+ self,
1032
+ limit: Union[Optional[int], UnsetType] = UNSET,
1033
+ offset: Union[Optional[int], UnsetType] = UNSET,
1034
+ **kwargs: Any,
1035
+ ) -> GetPipelinesList:
1036
+ query = gql("""
1037
+ query GetPipelinesList($limit: Int = 20, $offset: Int = 0) {
1038
+ pipelines(
1039
+ where: {is_active: {_eq: true}}
1040
+ order_by: {sort_order: asc}
1041
+ limit: $limit
1042
+ offset: $offset
1043
+ ) {
1044
+ id
1045
+ slug
1046
+ name
1047
+ description
1048
+ category
1049
+ icon_url
1050
+ preview_url
1051
+ providers
1052
+ models
1053
+ tags
1054
+ hints
1055
+ pricing
1056
+ cancellable
1057
+ }
1058
+ }
1059
+ """)
1060
+ variables: dict[str, object] = {"limit": limit, "offset": offset}
1061
+ response = await self.execute(
1062
+ query=query,
1063
+ operation_name="GetPipelinesList",
1064
+ variables=variables,
1065
+ **kwargs,
1066
+ )
1067
+ data = self.get_data(response)
1068
+ return GetPipelinesList.model_validate(data)
1069
+
1070
+ async def get_pipelines_pricing(
1071
+ self, slugs: list[str], **kwargs: Any
1072
+ ) -> GetPipelinesPricing:
1073
+ query = gql("""
1074
+ query GetPipelinesPricing($slugs: [String!]!) {
1075
+ pipelines(where: {slug: {_in: $slugs}}) {
1076
+ slug
1077
+ pricing
1078
+ }
1079
+ }
1080
+ """)
1081
+ variables: dict[str, object] = {"slugs": slugs}
1082
+ response = await self.execute(
1083
+ query=query,
1084
+ operation_name="GetPipelinesPricing",
1085
+ variables=variables,
1086
+ **kwargs,
1087
+ )
1088
+ data = self.get_data(response)
1089
+ return GetPipelinesPricing.model_validate(data)
1090
+
1091
+ async def estimate_pipeline_cost(
1092
+ self, pipeline_slug: str, input: Any, **kwargs: Any
1093
+ ) -> EstimatePipelineCost:
1094
+ query = gql("""
1095
+ query EstimatePipelineCost($pipeline_slug: String!, $input: jsonb!) {
1096
+ estimate_pipeline_cost(pipeline_slug: $pipeline_slug, input: $input) {
1097
+ pipeline_slug
1098
+ reservation_mc
1099
+ estimated_mc
1100
+ is_metered
1101
+ }
1102
+ }
1103
+ """)
1104
+ variables: dict[str, object] = {"pipeline_slug": pipeline_slug, "input": input}
1105
+ response = await self.execute(
1106
+ query=query,
1107
+ operation_name="EstimatePipelineCost",
1108
+ variables=variables,
1109
+ **kwargs,
1110
+ )
1111
+ data = self.get_data(response)
1112
+ return EstimatePipelineCost.model_validate(data)
1113
+
1002
1114
  async def run_pipeline(
1003
1115
  self, pipeline_slug: str, input: Any, **kwargs: Any
1004
1116
  ) -> RunPipeline:
@@ -1251,6 +1363,8 @@ class Pipe2GraphQLClient(AsyncBaseClient):
1251
1363
  whop_plan_id
1252
1364
  price_cents
1253
1365
  monthly_credits
1366
+ max_storage_bytes
1367
+ max_upload_bytes
1254
1368
  }
1255
1369
  }
1256
1370
  }
@@ -1307,6 +1421,8 @@ class Pipe2GraphQLClient(AsyncBaseClient):
1307
1421
  version
1308
1422
  monthly_credits
1309
1423
  price_cents
1424
+ max_storage_bytes
1425
+ max_upload_bytes
1310
1426
  }
1311
1427
  }
1312
1428
  }
@@ -28,6 +28,7 @@ class assets_select_column(str, Enum):
28
28
  metadata = "metadata"
29
29
  pipeline_run_id = "pipeline_run_id"
30
30
  preview_frames = "preview_frames"
31
+ size_bytes = "size_bytes"
31
32
  tags = "tags"
32
33
  thumbnail_url = "thumbnail_url"
33
34
  type_ = "type"
@@ -120,11 +121,12 @@ class pipelines_select_column(str, Enum):
120
121
  id = "id"
121
122
  input_schema = "input_schema"
122
123
  is_active = "is_active"
124
+ models = "models"
123
125
  name = "name"
124
126
  output_schema = "output_schema"
125
127
  preview_url = "preview_url"
126
128
  pricing = "pricing"
127
- required_providers = "required_providers"
129
+ providers = "providers"
128
130
  seo_content = "seo_content"
129
131
  seo_faq = "seo_faq"
130
132
  slug = "slug"
@@ -138,6 +140,8 @@ class plan_versions_select_column(str, Enum):
138
140
  deprecated_at = "deprecated_at"
139
141
  id = "id"
140
142
  is_current = "is_current"
143
+ max_storage_bytes = "max_storage_bytes"
144
+ max_upload_bytes = "max_upload_bytes"
141
145
  monthly_credits = "monthly_credits"
142
146
  plan_id = "plan_id"
143
147
  price_cents = "price_cents"
@@ -0,0 +1,20 @@
1
+ # Generated by ariadne-codegen
2
+ # Source: ../graphql/operations/
3
+
4
+ from typing import Optional
5
+
6
+ from .base_model import BaseModel
7
+
8
+
9
+ class EstimatePipelineCost(BaseModel):
10
+ estimate_pipeline_cost: Optional["EstimatePipelineCostEstimatePipelineCost"]
11
+
12
+
13
+ class EstimatePipelineCostEstimatePipelineCost(BaseModel):
14
+ pipeline_slug: str
15
+ reservation_mc: int
16
+ estimated_mc: int
17
+ is_metered: bool
18
+
19
+
20
+ EstimatePipelineCost.model_rebuild()
@@ -1,6 +1,8 @@
1
1
  # Generated by ariadne-codegen
2
2
  # Source: ../graphql/operations/
3
3
 
4
+ from typing import Optional
5
+
4
6
  from pydantic import Field
5
7
 
6
8
  from .base_model import BaseModel
@@ -15,6 +17,11 @@ class GetCreditHistoryGetCreditHistory(BaseModel):
15
17
  amount: int
16
18
  description: str
17
19
  created_at: str
20
+ pipeline_run_id: Optional[str]
21
+ pipeline_slug: Optional[str]
22
+ pipeline_name: Optional[str]
23
+ status: Optional[str]
24
+ reservation_mc: Optional[int]
18
25
 
19
26
 
20
27
  GetCreditHistory.model_rebuild()
@@ -0,0 +1,28 @@
1
+ # Generated by ariadne-codegen
2
+ # Source: ../graphql/operations/
3
+
4
+ from typing import Any, Optional
5
+
6
+ from .base_model import BaseModel
7
+
8
+
9
+ class GetMyStorageUsage(BaseModel):
10
+ assets_aggregate: "GetMyStorageUsageAssetsAggregate"
11
+
12
+
13
+ class GetMyStorageUsageAssetsAggregate(BaseModel):
14
+ aggregate: Optional["GetMyStorageUsageAssetsAggregateAggregate"]
15
+
16
+
17
+ class GetMyStorageUsageAssetsAggregateAggregate(BaseModel):
18
+ sum: Optional["GetMyStorageUsageAssetsAggregateAggregateSum"]
19
+ count: int
20
+
21
+
22
+ class GetMyStorageUsageAssetsAggregateAggregateSum(BaseModel):
23
+ size_bytes: Optional[Any]
24
+
25
+
26
+ GetMyStorageUsage.model_rebuild()
27
+ GetMyStorageUsageAssetsAggregate.model_rebuild()
28
+ GetMyStorageUsageAssetsAggregateAggregate.model_rebuild()
@@ -18,7 +18,8 @@ class GetPipelinesPipelines(BaseModel):
18
18
  category: str
19
19
  icon_url: Optional[str]
20
20
  preview_url: Optional[str]
21
- required_providers: list[str]
21
+ providers: list[str]
22
+ models: list[str]
22
23
  input_schema: Any
23
24
  ui_schema: Any
24
25
  output_schema: Any
@@ -0,0 +1,29 @@
1
+ # Generated by ariadne-codegen
2
+ # Source: ../graphql/operations/
3
+
4
+ from typing import Any, Optional
5
+
6
+ from .base_model import BaseModel
7
+
8
+
9
+ class GetPipelinesList(BaseModel):
10
+ pipelines: list["GetPipelinesListPipelines"]
11
+
12
+
13
+ class GetPipelinesListPipelines(BaseModel):
14
+ id: Any
15
+ slug: str
16
+ name: str
17
+ description: Optional[str]
18
+ category: str
19
+ icon_url: Optional[str]
20
+ preview_url: Optional[str]
21
+ providers: list[str]
22
+ models: list[str]
23
+ tags: list[str]
24
+ hints: Any
25
+ pricing: Any
26
+ cancellable: bool
27
+
28
+
29
+ GetPipelinesList.model_rebuild()
@@ -0,0 +1,18 @@
1
+ # Generated by ariadne-codegen
2
+ # Source: ../graphql/operations/
3
+
4
+ from typing import Any
5
+
6
+ from .base_model import BaseModel
7
+
8
+
9
+ class GetPipelinesPricing(BaseModel):
10
+ pipelines: list["GetPipelinesPricingPipelines"]
11
+
12
+
13
+ class GetPipelinesPricingPipelines(BaseModel):
14
+ slug: str
15
+ pricing: Any
16
+
17
+
18
+ GetPipelinesPricing.model_rebuild()
@@ -25,6 +25,8 @@ class GetPlansPlansVersions(BaseModel):
25
25
  whop_plan_id: Optional[str]
26
26
  price_cents: int
27
27
  monthly_credits: int
28
+ max_storage_bytes: Any
29
+ max_upload_bytes: Any
28
30
 
29
31
 
30
32
  GetPlans.model_rebuild()
@@ -33,6 +33,8 @@ class GetSubscriptionSubscriptionsPlanVersion(BaseModel):
33
33
  version: int
34
34
  monthly_credits: int
35
35
  price_cents: int
36
+ max_storage_bytes: Any
37
+ max_upload_bytes: Any
36
38
 
37
39
 
38
40
  GetSubscription.model_rebuild()
@@ -258,6 +258,7 @@ class assets_avg_order_by(BaseModel):
258
258
  '''order by avg() on columns of table "assets"'''
259
259
 
260
260
  duration_sec: Optional[order_by] = None
261
+ size_bytes: Optional[order_by] = None
261
262
 
262
263
 
263
264
  class assets_bool_exp(BaseModel):
@@ -273,6 +274,7 @@ class assets_bool_exp(BaseModel):
273
274
  pipeline_run: Optional["pipeline_runs_bool_exp"] = None
274
275
  pipeline_run_id: Optional["uuid_comparison_exp"] = None
275
276
  preview_frames: Optional["String_array_comparison_exp"] = None
277
+ size_bytes: Optional["bigint_comparison_exp"] = None
276
278
  tags: Optional["String_array_comparison_exp"] = None
277
279
  thumbnail_url: Optional["String_comparison_exp"] = None
278
280
  type_: Optional["String_comparison_exp"] = Field(alias="type", default=None)
@@ -287,6 +289,7 @@ class assets_max_order_by(BaseModel):
287
289
  id: Optional[order_by] = None
288
290
  pipeline_run_id: Optional[order_by] = None
289
291
  preview_frames: Optional[order_by] = None
292
+ size_bytes: Optional[order_by] = None
290
293
  tags: Optional[order_by] = None
291
294
  thumbnail_url: Optional[order_by] = None
292
295
  type_: Optional[order_by] = Field(alias="type", default=None)
@@ -301,6 +304,7 @@ class assets_min_order_by(BaseModel):
301
304
  id: Optional[order_by] = None
302
305
  pipeline_run_id: Optional[order_by] = None
303
306
  preview_frames: Optional[order_by] = None
307
+ size_bytes: Optional[order_by] = None
304
308
  tags: Optional[order_by] = None
305
309
  thumbnail_url: Optional[order_by] = None
306
310
  type_: Optional[order_by] = Field(alias="type", default=None)
@@ -317,6 +321,7 @@ class assets_order_by(BaseModel):
317
321
  pipeline_run: Optional["pipeline_runs_order_by"] = None
318
322
  pipeline_run_id: Optional[order_by] = None
319
323
  preview_frames: Optional[order_by] = None
324
+ size_bytes: Optional[order_by] = None
320
325
  tags: Optional[order_by] = None
321
326
  thumbnail_url: Optional[order_by] = None
322
327
  type_: Optional[order_by] = Field(alias="type", default=None)
@@ -339,18 +344,21 @@ class assets_stddev_order_by(BaseModel):
339
344
  '''order by stddev() on columns of table "assets"'''
340
345
 
341
346
  duration_sec: Optional[order_by] = None
347
+ size_bytes: Optional[order_by] = None
342
348
 
343
349
 
344
350
  class assets_stddev_pop_order_by(BaseModel):
345
351
  '''order by stddev_pop() on columns of table "assets"'''
346
352
 
347
353
  duration_sec: Optional[order_by] = None
354
+ size_bytes: Optional[order_by] = None
348
355
 
349
356
 
350
357
  class assets_stddev_samp_order_by(BaseModel):
351
358
  '''order by stddev_samp() on columns of table "assets"'''
352
359
 
353
360
  duration_sec: Optional[order_by] = None
361
+ size_bytes: Optional[order_by] = None
354
362
 
355
363
 
356
364
  class assets_stream_cursor_input(BaseModel):
@@ -371,6 +379,7 @@ class assets_stream_cursor_value_input(BaseModel):
371
379
  metadata: Optional[Any] = None
372
380
  pipeline_run_id: Optional[Any] = None
373
381
  preview_frames: Optional[list[str]] = None
382
+ size_bytes: Optional[Any] = None
374
383
  tags: Optional[list[str]] = None
375
384
  thumbnail_url: Optional[str] = None
376
385
  type_: Optional[str] = Field(alias="type", default=None)
@@ -381,6 +390,7 @@ class assets_sum_order_by(BaseModel):
381
390
  '''order by sum() on columns of table "assets"'''
382
391
 
383
392
  duration_sec: Optional[order_by] = None
393
+ size_bytes: Optional[order_by] = None
384
394
 
385
395
 
386
396
  class assets_updates(BaseModel):
@@ -394,18 +404,35 @@ class assets_var_pop_order_by(BaseModel):
394
404
  '''order by var_pop() on columns of table "assets"'''
395
405
 
396
406
  duration_sec: Optional[order_by] = None
407
+ size_bytes: Optional[order_by] = None
397
408
 
398
409
 
399
410
  class assets_var_samp_order_by(BaseModel):
400
411
  '''order by var_samp() on columns of table "assets"'''
401
412
 
402
413
  duration_sec: Optional[order_by] = None
414
+ size_bytes: Optional[order_by] = None
403
415
 
404
416
 
405
417
  class assets_variance_order_by(BaseModel):
406
418
  '''order by variance() on columns of table "assets"'''
407
419
 
408
420
  duration_sec: Optional[order_by] = None
421
+ size_bytes: Optional[order_by] = None
422
+
423
+
424
+ class bigint_comparison_exp(BaseModel):
425
+ """Boolean expression to compare columns of type "bigint". All fields are combined with logical 'AND'."""
426
+
427
+ eq: Optional[Any] = Field(alias="_eq", default=None)
428
+ gt: Optional[Any] = Field(alias="_gt", default=None)
429
+ gte: Optional[Any] = Field(alias="_gte", default=None)
430
+ in_: Optional[list[Any]] = Field(alias="_in", default=None)
431
+ is_null: Optional[bool] = Field(alias="_is_null", default=None)
432
+ lt: Optional[Any] = Field(alias="_lt", default=None)
433
+ lte: Optional[Any] = Field(alias="_lte", default=None)
434
+ neq: Optional[Any] = Field(alias="_neq", default=None)
435
+ nin: Optional[list[Any]] = Field(alias="_nin", default=None)
409
436
 
410
437
 
411
438
  class bpchar_comparison_exp(BaseModel):
@@ -949,11 +976,12 @@ class pipelines_bool_exp(BaseModel):
949
976
  id: Optional["uuid_comparison_exp"] = None
950
977
  input_schema: Optional["jsonb_comparison_exp"] = None
951
978
  is_active: Optional["Boolean_comparison_exp"] = None
979
+ models: Optional["String_array_comparison_exp"] = None
952
980
  name: Optional["String_comparison_exp"] = None
953
981
  output_schema: Optional["jsonb_comparison_exp"] = None
954
982
  preview_url: Optional["String_comparison_exp"] = None
955
983
  pricing: Optional["jsonb_comparison_exp"] = None
956
- required_providers: Optional["String_array_comparison_exp"] = None
984
+ providers: Optional["String_array_comparison_exp"] = None
957
985
  seo_content: Optional["String_comparison_exp"] = None
958
986
  seo_faq: Optional["jsonb_comparison_exp"] = None
959
987
  slug: Optional["String_comparison_exp"] = None
@@ -973,11 +1001,12 @@ class pipelines_order_by(BaseModel):
973
1001
  id: Optional[order_by] = None
974
1002
  input_schema: Optional[order_by] = None
975
1003
  is_active: Optional[order_by] = None
1004
+ models: Optional[order_by] = None
976
1005
  name: Optional[order_by] = None
977
1006
  output_schema: Optional[order_by] = None
978
1007
  preview_url: Optional[order_by] = None
979
1008
  pricing: Optional[order_by] = None
980
- required_providers: Optional[order_by] = None
1009
+ providers: Optional[order_by] = None
981
1010
  seo_content: Optional[order_by] = None
982
1011
  seo_faq: Optional[order_by] = None
983
1012
  slug: Optional[order_by] = None
@@ -1007,11 +1036,12 @@ class pipelines_stream_cursor_value_input(BaseModel):
1007
1036
  id: Optional[Any] = None
1008
1037
  input_schema: Optional[Any] = None
1009
1038
  is_active: Optional[bool] = None
1039
+ models: Optional[list[str]] = None
1010
1040
  name: Optional[str] = None
1011
1041
  output_schema: Optional[Any] = None
1012
1042
  preview_url: Optional[str] = None
1013
1043
  pricing: Optional[Any] = None
1014
- required_providers: Optional[list[str]] = None
1044
+ providers: Optional[list[str]] = None
1015
1045
  seo_content: Optional[str] = None
1016
1046
  seo_faq: Optional[Any] = None
1017
1047
  slug: Optional[str] = None
@@ -1039,6 +1069,8 @@ class plan_versions_aggregate_order_by(BaseModel):
1039
1069
  class plan_versions_avg_order_by(BaseModel):
1040
1070
  '''order by avg() on columns of table "plan_versions"'''
1041
1071
 
1072
+ max_storage_bytes: Optional[order_by] = None
1073
+ "Total library size cap in bytes. 0 means no quota seeded yet (treat as denied)."
1042
1074
  monthly_credits: Optional[order_by] = None
1043
1075
  price_cents: Optional[order_by] = None
1044
1076
  version: Optional[order_by] = None
@@ -1054,6 +1086,8 @@ class plan_versions_bool_exp(BaseModel):
1054
1086
  deprecated_at: Optional["timestamptz_comparison_exp"] = None
1055
1087
  id: Optional["uuid_comparison_exp"] = None
1056
1088
  is_current: Optional["Boolean_comparison_exp"] = None
1089
+ max_storage_bytes: Optional["bigint_comparison_exp"] = None
1090
+ max_upload_bytes: Optional["jsonb_comparison_exp"] = None
1057
1091
  monthly_credits: Optional["Int_comparison_exp"] = None
1058
1092
  plan: Optional["plans_bool_exp"] = None
1059
1093
  plan_id: Optional["uuid_comparison_exp"] = None
@@ -1069,6 +1103,8 @@ class plan_versions_max_order_by(BaseModel):
1069
1103
  created_at: Optional[order_by] = None
1070
1104
  deprecated_at: Optional[order_by] = None
1071
1105
  id: Optional[order_by] = None
1106
+ max_storage_bytes: Optional[order_by] = None
1107
+ "Total library size cap in bytes. 0 means no quota seeded yet (treat as denied)."
1072
1108
  monthly_credits: Optional[order_by] = None
1073
1109
  plan_id: Optional[order_by] = None
1074
1110
  price_cents: Optional[order_by] = None
@@ -1082,6 +1118,8 @@ class plan_versions_min_order_by(BaseModel):
1082
1118
  created_at: Optional[order_by] = None
1083
1119
  deprecated_at: Optional[order_by] = None
1084
1120
  id: Optional[order_by] = None
1121
+ max_storage_bytes: Optional[order_by] = None
1122
+ "Total library size cap in bytes. 0 means no quota seeded yet (treat as denied)."
1085
1123
  monthly_credits: Optional[order_by] = None
1086
1124
  plan_id: Optional[order_by] = None
1087
1125
  price_cents: Optional[order_by] = None
@@ -1096,6 +1134,8 @@ class plan_versions_order_by(BaseModel):
1096
1134
  deprecated_at: Optional[order_by] = None
1097
1135
  id: Optional[order_by] = None
1098
1136
  is_current: Optional[order_by] = None
1137
+ max_storage_bytes: Optional[order_by] = None
1138
+ max_upload_bytes: Optional[order_by] = None
1099
1139
  monthly_credits: Optional[order_by] = None
1100
1140
  plan: Optional["plans_order_by"] = None
1101
1141
  plan_id: Optional[order_by] = None
@@ -1108,6 +1148,8 @@ class plan_versions_order_by(BaseModel):
1108
1148
  class plan_versions_stddev_order_by(BaseModel):
1109
1149
  '''order by stddev() on columns of table "plan_versions"'''
1110
1150
 
1151
+ max_storage_bytes: Optional[order_by] = None
1152
+ "Total library size cap in bytes. 0 means no quota seeded yet (treat as denied)."
1111
1153
  monthly_credits: Optional[order_by] = None
1112
1154
  price_cents: Optional[order_by] = None
1113
1155
  version: Optional[order_by] = None
@@ -1116,6 +1158,8 @@ class plan_versions_stddev_order_by(BaseModel):
1116
1158
  class plan_versions_stddev_pop_order_by(BaseModel):
1117
1159
  '''order by stddev_pop() on columns of table "plan_versions"'''
1118
1160
 
1161
+ max_storage_bytes: Optional[order_by] = None
1162
+ "Total library size cap in bytes. 0 means no quota seeded yet (treat as denied)."
1119
1163
  monthly_credits: Optional[order_by] = None
1120
1164
  price_cents: Optional[order_by] = None
1121
1165
  version: Optional[order_by] = None
@@ -1124,6 +1168,8 @@ class plan_versions_stddev_pop_order_by(BaseModel):
1124
1168
  class plan_versions_stddev_samp_order_by(BaseModel):
1125
1169
  '''order by stddev_samp() on columns of table "plan_versions"'''
1126
1170
 
1171
+ max_storage_bytes: Optional[order_by] = None
1172
+ "Total library size cap in bytes. 0 means no quota seeded yet (treat as denied)."
1127
1173
  monthly_credits: Optional[order_by] = None
1128
1174
  price_cents: Optional[order_by] = None
1129
1175
  version: Optional[order_by] = None
@@ -1145,6 +1191,10 @@ class plan_versions_stream_cursor_value_input(BaseModel):
1145
1191
  deprecated_at: Optional[Any] = None
1146
1192
  id: Optional[Any] = None
1147
1193
  is_current: Optional[bool] = None
1194
+ max_storage_bytes: Optional[Any] = None
1195
+ "Total library size cap in bytes. 0 means no quota seeded yet (treat as denied)."
1196
+ max_upload_bytes: Optional[Any] = None
1197
+ 'Per-asset-type upload caps as JSON: {"image": <bytes>, "video": <bytes>, "audio": <bytes>}.'
1148
1198
  monthly_credits: Optional[int] = None
1149
1199
  plan_id: Optional[Any] = None
1150
1200
  price_cents: Optional[int] = None
@@ -1155,6 +1205,8 @@ class plan_versions_stream_cursor_value_input(BaseModel):
1155
1205
  class plan_versions_sum_order_by(BaseModel):
1156
1206
  '''order by sum() on columns of table "plan_versions"'''
1157
1207
 
1208
+ max_storage_bytes: Optional[order_by] = None
1209
+ "Total library size cap in bytes. 0 means no quota seeded yet (treat as denied)."
1158
1210
  monthly_credits: Optional[order_by] = None
1159
1211
  price_cents: Optional[order_by] = None
1160
1212
  version: Optional[order_by] = None
@@ -1163,6 +1215,8 @@ class plan_versions_sum_order_by(BaseModel):
1163
1215
  class plan_versions_var_pop_order_by(BaseModel):
1164
1216
  '''order by var_pop() on columns of table "plan_versions"'''
1165
1217
 
1218
+ max_storage_bytes: Optional[order_by] = None
1219
+ "Total library size cap in bytes. 0 means no quota seeded yet (treat as denied)."
1166
1220
  monthly_credits: Optional[order_by] = None
1167
1221
  price_cents: Optional[order_by] = None
1168
1222
  version: Optional[order_by] = None
@@ -1171,6 +1225,8 @@ class plan_versions_var_pop_order_by(BaseModel):
1171
1225
  class plan_versions_var_samp_order_by(BaseModel):
1172
1226
  '''order by var_samp() on columns of table "plan_versions"'''
1173
1227
 
1228
+ max_storage_bytes: Optional[order_by] = None
1229
+ "Total library size cap in bytes. 0 means no quota seeded yet (treat as denied)."
1174
1230
  monthly_credits: Optional[order_by] = None
1175
1231
  price_cents: Optional[order_by] = None
1176
1232
  version: Optional[order_by] = None
@@ -1179,6 +1235,8 @@ class plan_versions_var_samp_order_by(BaseModel):
1179
1235
  class plan_versions_variance_order_by(BaseModel):
1180
1236
  '''order by variance() on columns of table "plan_versions"'''
1181
1237
 
1238
+ max_storage_bytes: Optional[order_by] = None
1239
+ "Total library size cap in bytes. 0 means no quota seeded yet (treat as denied)."
1182
1240
  monthly_credits: Optional[order_by] = None
1183
1241
  price_cents: Optional[order_by] = None
1184
1242
  version: Optional[order_by] = None
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pipe2"
3
- version = "0.2.0"
3
+ version = "0.4.0"
4
4
  description = "Pipe2.ai Python SDK — typed GraphQL client"
5
5
  requires-python = ">=3.10"
6
6
  dependencies = ["httpx>=0.25", "pydantic>=2.0"]
pipe2-0.2.0/.gitignore DELETED
@@ -1,45 +0,0 @@
1
- # Environment
2
- .env
3
-
4
- # Go
5
- packages/api/tmp/
6
- packages/api/bin/
7
- packages/api/api
8
- packages/api/web-public/
9
- packages/cli/tmp/
10
- packages/cli/bin/
11
- packages/worker/worker
12
- packages/worker/tmp/
13
- packages/analytics/tmp/
14
- packages/analytics/bin/
15
-
16
- # Go compiled binaries (from `go build`)
17
- packages/*/seed
18
- packages/*/generate-*
19
- packages/*/whop-sync
20
-
21
- # Node & Build
22
- node_modules/
23
- dist/
24
- .astro/
25
- .vite/
26
-
27
- # IDE
28
- .idea/
29
- .vscode/
30
- *.swp
31
-
32
- # Test
33
- test-results/
34
-
35
- # OS
36
- .DS_Store
37
- Thumbs.db
38
- Screenshot*
39
- ChatGPT*
40
- discord-logo-*.png
41
- packages/api/api
42
- packages/cli/web-previews/
43
- .planning/
44
- .ralph/
45
- docs/superpowers/
File without changes
File without changes