pdfdancer-client-python 0.3.5__tar.gz → 0.3.7__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 (81) hide show
  1. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/PKG-INFO +1 -1
  2. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/docs/api-schemas/v0.yml +113 -118
  3. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/docs/api-schemas/v1.yml +2248 -637
  4. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/pyproject.toml +1 -1
  5. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer/__init__.py +2 -0
  6. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer/models.py +89 -0
  7. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer/pdfdancer_v1.py +142 -1
  8. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer_client_python.egg-info/PKG-INFO +1 -1
  9. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer_client_python.egg-info/SOURCES.txt +1 -0
  10. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/pdf_assertions.py +124 -126
  11. pdfdancer_client_python-0.3.7/tests/e2e/test_template_replace.py +224 -0
  12. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/.claude/commands/discuss.md +0 -0
  13. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/.claude/commands/implement-new-api-features.md +0 -0
  14. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/.flake8 +0 -0
  15. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/.github/workflows/ci.yml +0 -0
  16. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/.github/workflows/daily-tests.yml +0 -0
  17. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/.gitignore +0 -0
  18. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/CLAUDE.md +0 -0
  19. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/LICENSE +0 -0
  20. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/NOTICE +0 -0
  21. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/README.md +0 -0
  22. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/TODO.md +0 -0
  23. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/check.py +0 -0
  24. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/media/logo-orange-512h.webp +0 -0
  25. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/media/logo-orange-60h.webp +0 -0
  26. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/release.py +0 -0
  27. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/setup.cfg +0 -0
  28. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer/exceptions.py +0 -0
  29. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer/fingerprint.py +0 -0
  30. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer/image_builder.py +0 -0
  31. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer/page_builder.py +0 -0
  32. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer/paragraph_builder.py +0 -0
  33. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer/path_builder.py +0 -0
  34. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer/text_line_builder.py +0 -0
  35. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer/types.py +0 -0
  36. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer_client_python.egg-info/dependency_links.txt +0 -0
  37. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer_client_python.egg-info/requires.txt +0 -0
  38. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/src/pdfdancer_client_python.egg-info/top_level.txt +0 -0
  39. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/test.sh +0 -0
  40. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/__init__.py +0 -0
  41. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/conftest.py +0 -0
  42. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/__init__.py +0 -0
  43. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_acroform.py +0 -0
  44. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_bezier_builder.py +0 -0
  45. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_context_manager.py +0 -0
  46. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_form_x_objects.py +0 -0
  47. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_image.py +0 -0
  48. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_image_transform.py +0 -0
  49. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_line.py +0 -0
  50. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_line_builder.py +0 -0
  51. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_new_pdf.py +0 -0
  52. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_page.py +0 -0
  53. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_paragraph.py +0 -0
  54. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_path.py +0 -0
  55. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_path_builder.py +0 -0
  56. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_path_builder_rectangle.py +0 -0
  57. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_path_comprehensive.py +0 -0
  58. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_pdfdancer.py +0 -0
  59. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_positioning.py +0 -0
  60. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_rectangle_builder.py +0 -0
  61. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_redact.py +0 -0
  62. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_singular_selection.py +0 -0
  63. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_snapshot.py +0 -0
  64. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/e2e/test_text_line_edit.py +0 -0
  65. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/fixtures/DancingScript-Regular.ttf +0 -0
  66. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/fixtures/Empty.pdf +0 -0
  67. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/fixtures/JetBrainsMono-Regular.ttf +0 -0
  68. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/fixtures/Showcase.pdf +0 -0
  69. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/fixtures/basic-paths.pdf +0 -0
  70. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/fixtures/form-xobject-example.pdf +0 -0
  71. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/fixtures/logo-80.png +0 -0
  72. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/fixtures/mixed-form-types.pdf +0 -0
  73. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/test_anonymous_token.py +0 -0
  74. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/test_fingerprint.py +0 -0
  75. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/test_models.py +0 -0
  76. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/test_openapi_compliance.py +0 -0
  77. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/test_path_models.py +0 -0
  78. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/test_pdf_object_equality.py +0 -0
  79. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/test_rate_limit.py +0 -0
  80. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/tests/test_standard_fonts.py +0 -0
  81. {pdfdancer_client_python-0.3.5 → pdfdancer_client_python-0.3.7}/update-api-spec.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pdfdancer-client-python
3
- Version: 0.3.5
3
+ Version: 0.3.7
4
4
  Summary: Python client for PDFDancer API
5
5
  Author-email: "The Famous Cat Ltd." <hi@thefamouscat.com>
6
6
  License:
@@ -7,7 +7,31 @@ paths:
7
7
  get:
8
8
  operationId: listTenants
9
9
  parameters:
10
- - name: include
10
+ - name: status
11
+ in: query
12
+ required: true
13
+ explode: false
14
+ schema:
15
+ type: string
16
+ - name: plan
17
+ in: query
18
+ required: true
19
+ explode: false
20
+ schema:
21
+ type: string
22
+ - name: anonymous
23
+ in: query
24
+ required: true
25
+ explode: false
26
+ schema:
27
+ type: string
28
+ - name: sortBy
29
+ in: query
30
+ required: true
31
+ explode: false
32
+ schema:
33
+ type: string
34
+ - name: order
11
35
  in: query
12
36
  required: true
13
37
  explode: false
@@ -1415,10 +1439,15 @@ paths:
1415
1439
  application/json:
1416
1440
  schema:
1417
1441
  $ref: "#/components/schemas/AnalyticsService.UserStats"
1418
- /payment/checkout-session:
1442
+ /pdf/add:
1419
1443
  post:
1420
- operationId: checkoutSession
1444
+ operationId: addObject
1421
1445
  parameters:
1446
+ - name: X-Session-Id
1447
+ in: header
1448
+ required: true
1449
+ schema:
1450
+ type: string
1422
1451
  - name: v
1423
1452
  in: query
1424
1453
  description: API version
@@ -1443,24 +1472,25 @@ paths:
1443
1472
  content:
1444
1473
  application/json:
1445
1474
  schema:
1446
- $ref: "#/components/schemas/PaymentController.CheckoutSessionRequest"
1475
+ $ref: "#/components/schemas/AddRequest"
1447
1476
  required: true
1448
1477
  responses:
1449
1478
  "200":
1450
- description: checkoutSession 200 response
1479
+ description: addObject 200 response
1451
1480
  content:
1452
1481
  application/json:
1453
1482
  schema:
1454
- $ref: "#/components/schemas/PaymentController.CheckoutSessionResponse"
1455
- /pdf/add:
1483
+ type: boolean
1484
+ /pdf/analyze:
1456
1485
  post:
1457
- operationId: addObject
1486
+ operationId: analyzePdf
1458
1487
  parameters:
1459
- - name: X-Session-Id
1460
- in: header
1461
- required: true
1488
+ - name: types
1489
+ in: query
1490
+ explode: false
1462
1491
  schema:
1463
1492
  type: string
1493
+ nullable: true
1464
1494
  - name: v
1465
1495
  in: query
1466
1496
  description: API version
@@ -1483,17 +1513,25 @@ paths:
1483
1513
  type: string
1484
1514
  requestBody:
1485
1515
  content:
1486
- application/json:
1516
+ multipart/form-data:
1487
1517
  schema:
1488
- $ref: "#/components/schemas/AddRequest"
1518
+ type: object
1519
+ properties:
1520
+ pdf:
1521
+ type: string
1522
+ format: binary
1523
+ encoding:
1524
+ pdf:
1525
+ contentType: application/octet-stream
1526
+ explode: false
1489
1527
  required: true
1490
1528
  responses:
1491
1529
  "200":
1492
- description: addObject 200 response
1530
+ description: analyzePdf 200 response
1493
1531
  content:
1494
1532
  application/json:
1495
1533
  schema:
1496
- type: boolean
1534
+ $ref: "#/components/schemas/DocumentSnapshot"
1497
1535
  /pdf/delete:
1498
1536
  delete:
1499
1537
  operationId: deleteObject
@@ -2547,9 +2585,9 @@ paths:
2547
2585
  application/json:
2548
2586
  schema:
2549
2587
  $ref: "#/components/schemas/Subscription"
2550
- /subscription/activate-early-access-plan:
2588
+ /subscription/create-checkout-session:
2551
2589
  post:
2552
- operationId: activateEarlyAccessPlan
2590
+ operationId: createCheckoutSession
2553
2591
  parameters:
2554
2592
  - name: v
2555
2593
  in: query
@@ -2571,17 +2609,22 @@ paths:
2571
2609
  description: API version
2572
2610
  schema:
2573
2611
  type: string
2612
+ requestBody:
2613
+ content:
2614
+ application/json:
2615
+ schema:
2616
+ $ref: "#/components/schemas/SubscriptionController.CheckoutRequest"
2617
+ required: true
2574
2618
  responses:
2575
2619
  "200":
2576
- description: activateEarlyAccessPlan 200 response
2620
+ description: createCheckoutSession 200 response
2577
2621
  content:
2578
2622
  application/json:
2579
2623
  schema:
2580
- $ref: "#/components/schemas/Subscription"
2581
- deprecated: true
2582
- /subscription/activate-free-plan:
2624
+ type: object
2625
+ /subscription/create-portal-session:
2583
2626
  post:
2584
- operationId: activateFreePlan
2627
+ operationId: createPortalSession
2585
2628
  parameters:
2586
2629
  - name: v
2587
2630
  in: query
@@ -2605,47 +2648,21 @@ paths:
2605
2648
  type: string
2606
2649
  responses:
2607
2650
  "200":
2608
- description: activateFreePlan 200 response
2651
+ description: createPortalSession 200 response
2609
2652
  content:
2610
2653
  application/json:
2611
2654
  schema:
2612
- $ref: "#/components/schemas/Subscription"
2613
- deprecated: true
2614
- /subscription/create-checkout-session:
2615
- post:
2616
- operationId: createCheckoutSession
2655
+ type: object
2656
+ /subscription/session-status:
2657
+ get:
2658
+ operationId: getSessionStatus
2617
2659
  parameters:
2618
- - name: v
2619
- in: query
2620
- description: API version
2621
- schema:
2622
- type: string
2623
- - name: api-version
2660
+ - name: session_id
2624
2661
  in: query
2625
- description: API version
2626
- schema:
2627
- type: string
2628
- - name: X-API-VERSION
2629
- in: header
2630
- description: API version
2631
- schema:
2632
- type: string
2633
- - name: Accept-Version
2634
- in: header
2635
- description: API version
2662
+ required: true
2663
+ explode: false
2636
2664
  schema:
2637
2665
  type: string
2638
- responses:
2639
- "200":
2640
- description: createCheckoutSession 200 response
2641
- content:
2642
- application/json:
2643
- schema:
2644
- $ref: "#/components/schemas/SubscriptionController.SessionResponse"
2645
- /subscription/create-portal-session:
2646
- post:
2647
- operationId: createPortalSession
2648
- parameters:
2649
2666
  - name: v
2650
2667
  in: query
2651
2668
  description: API version
@@ -2668,20 +2685,15 @@ paths:
2668
2685
  type: string
2669
2686
  responses:
2670
2687
  "200":
2671
- description: createPortalSession 200 response
2688
+ description: getSessionStatus 200 response
2672
2689
  content:
2673
2690
  application/json:
2674
2691
  schema:
2675
- $ref: "#/components/schemas/SubscriptionController.SessionResponse"
2676
- /template/replace:
2677
- post:
2678
- operationId: replaceTemplates
2692
+ type: object
2693
+ /subscription/status:
2694
+ get:
2695
+ operationId: getSubscriptionStatus
2679
2696
  parameters:
2680
- - name: X-Session-Id
2681
- in: header
2682
- required: true
2683
- schema:
2684
- type: string
2685
2697
  - name: v
2686
2698
  in: query
2687
2699
  description: API version
@@ -2702,19 +2714,13 @@ paths:
2702
2714
  description: API version
2703
2715
  schema:
2704
2716
  type: string
2705
- requestBody:
2706
- content:
2707
- application/json:
2708
- schema:
2709
- $ref: "#/components/schemas/TemplateReplaceRequest"
2710
- required: true
2711
2717
  responses:
2712
2718
  "200":
2713
- description: replaceTemplates 200 response
2719
+ description: getSubscriptionStatus 200 response
2714
2720
  content:
2715
2721
  application/json:
2716
2722
  schema:
2717
- type: boolean
2723
+ $ref: "#/components/schemas/SubscriptionController.SubscriptionStatus"
2718
2724
  /test:
2719
2725
  get:
2720
2726
  operationId: test
@@ -4396,7 +4402,9 @@ components:
4396
4402
  mapping:
4397
4403
  CHECKBOX: "#/components/schemas/FormFieldRef"
4398
4404
  FORM_FIELD: "#/components/schemas/FormFieldRef"
4405
+ DROPDOWN: "#/components/schemas/FormFieldRef"
4399
4406
  RADIO_BUTTON: "#/components/schemas/FormFieldRef"
4407
+ BUTTON: "#/components/schemas/FormFieldRef"
4400
4408
  PARAGRAPH: "#/components/schemas/TextTypeObjectRef"
4401
4409
  TEXT_LINE: "#/components/schemas/TextTypeObjectRef"
4402
4410
  PAGE: "#/components/schemas/PageRef"
@@ -4621,21 +4629,6 @@ components:
4621
4629
  oneOf:
4622
4630
  - $ref: "#/components/schemas/Line"
4623
4631
  - $ref: "#/components/schemas/Bezier"
4624
- PaymentController.CheckoutSessionRequest:
4625
- required:
4626
- - plan
4627
- type: object
4628
- properties:
4629
- plan:
4630
- type: string
4631
- PaymentController.CheckoutSessionResponse:
4632
- required:
4633
- - url
4634
- type: object
4635
- properties:
4636
- url:
4637
- type: string
4638
- format: url
4639
4632
  Point:
4640
4633
  required:
4641
4634
  - x
@@ -4678,6 +4671,8 @@ components:
4678
4671
  effectivePageIndex:
4679
4672
  type: integer
4680
4673
  format: int32
4674
+ center:
4675
+ $ref: "#/components/schemas/Point"
4681
4676
  Position.PositionMode:
4682
4677
  type: string
4683
4678
  enum:
@@ -4895,9 +4890,11 @@ components:
4895
4890
  format: double
4896
4891
  Subscription:
4897
4892
  required:
4893
+ - cancelAt
4898
4894
  - end
4899
4895
  - product
4900
4896
  - start
4897
+ - status
4901
4898
  type: object
4902
4899
  properties:
4903
4900
  start:
@@ -4908,44 +4905,28 @@ components:
4908
4905
  format: date-time
4909
4906
  product:
4910
4907
  $ref: "#/components/schemas/Product"
4911
- SubscriptionController.SessionResponse:
4912
- required:
4913
- - url
4914
- type: object
4915
- properties:
4916
- url:
4908
+ status:
4917
4909
  type: string
4918
- TemplateReplaceRequest:
4910
+ cancelAt:
4911
+ type: string
4912
+ format: date-time
4913
+ SubscriptionController.CheckoutRequest:
4919
4914
  required:
4920
- - replacements
4915
+ - plan
4921
4916
  type: object
4922
4917
  properties:
4923
- pageIndex:
4924
- type: integer
4925
- format: int32
4926
- nullable: true
4927
- replacements:
4928
- type: array
4929
- items:
4930
- $ref: "#/components/schemas/TemplateReplacement"
4931
- TemplateReplacement:
4918
+ plan:
4919
+ type: string
4920
+ SubscriptionController.SubscriptionStatus:
4932
4921
  required:
4933
- - placeholder
4934
- - text
4922
+ - planCode
4923
+ - status
4935
4924
  type: object
4936
4925
  properties:
4937
- placeholder:
4926
+ planCode:
4938
4927
  type: string
4939
- text:
4928
+ status:
4940
4929
  type: string
4941
- font:
4942
- nullable: true
4943
- allOf:
4944
- - $ref: "#/components/schemas/Font"
4945
- color:
4946
- nullable: true
4947
- allOf:
4948
- - $ref: "#/components/schemas/Color"
4949
4930
  TextElement:
4950
4931
  type: object
4951
4932
  allOf:
@@ -4983,6 +4964,10 @@ components:
4983
4964
  $ref: "#/components/schemas/Color"
4984
4965
  text:
4985
4966
  type: string
4967
+ words:
4968
+ type: array
4969
+ items:
4970
+ $ref: "#/components/schemas/Word"
4986
4971
  TextStatus:
4987
4972
  required:
4988
4973
  - fontType
@@ -5141,3 +5126,13 @@ components:
5141
5126
  type: string
5142
5127
  color:
5143
5128
  type: string
5129
+ Word:
5130
+ type: object
5131
+ allOf:
5132
+ - $ref: "#/components/schemas/PDFObject"
5133
+ - type: object
5134
+ properties:
5135
+ objectType:
5136
+ $ref: "#/components/schemas/ObjectType"
5137
+ text:
5138
+ type: string