pdfdancer-client-python 0.2.4__tar.gz → 0.2.5__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 (42) hide show
  1. {pdfdancer_client_python-0.2.4/src/pdfdancer_client_python.egg-info → pdfdancer_client_python-0.2.5}/PKG-INFO +1 -1
  2. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/pyproject.toml +1 -1
  3. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/src/pdfdancer/types.py +0 -15
  4. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5/src/pdfdancer_client_python.egg-info}/PKG-INFO +1 -1
  5. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/e2e/__init__.py +1 -1
  6. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/e2e/test_acroform.py +5 -5
  7. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/e2e/test_form_x_objects.py +1 -1
  8. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/e2e/test_image.py +1 -1
  9. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/e2e/test_page.py +1 -1
  10. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/.github/workflows/ci.yml +0 -0
  11. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/.gitignore +0 -0
  12. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/CLAUDE.md +0 -0
  13. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/README.md +0 -0
  14. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/docs/openapi.yml +0 -0
  15. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/release.py +0 -0
  16. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/requirements-dev.txt +0 -0
  17. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/requirements.txt +0 -0
  18. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/setup.cfg +0 -0
  19. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/src/pdfdancer/__init__.py +0 -0
  20. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/src/pdfdancer/exceptions.py +0 -0
  21. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/src/pdfdancer/image_builder.py +0 -0
  22. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/src/pdfdancer/models.py +0 -0
  23. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/src/pdfdancer/paragraph_builder.py +0 -0
  24. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/src/pdfdancer/pdfdancer_v1.py +0 -0
  25. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/src/pdfdancer_client_python.egg-info/SOURCES.txt +0 -0
  26. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/src/pdfdancer_client_python.egg-info/dependency_links.txt +0 -0
  27. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/src/pdfdancer_client_python.egg-info/requires.txt +0 -0
  28. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/src/pdfdancer_client_python.egg-info/top_level.txt +0 -0
  29. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/__init__.py +0 -0
  30. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/e2e/test_line.py +0 -0
  31. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/e2e/test_paragraph.py +0 -0
  32. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/e2e/test_path.py +0 -0
  33. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/fixtures/DancingScript-Regular.ttf +0 -0
  34. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/fixtures/JetBrainsMono-Regular.ttf +0 -0
  35. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/fixtures/ObviouslyAwesome.pdf +0 -0
  36. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/fixtures/basic-paths.pdf +0 -0
  37. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/fixtures/form-xobject-example.pdf +0 -0
  38. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/fixtures/logo-80.png +0 -0
  39. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/fixtures/mixed-form-types.pdf +0 -0
  40. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/test_authentication.py +0 -0
  41. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/test_models.py +0 -0
  42. {pdfdancer_client_python-0.2.4 → pdfdancer_client_python-0.2.5}/tests/test_openapi_compliance.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pdfdancer-client-python
3
- Version: 0.2.4
3
+ Version: 0.2.5
4
4
  Summary: Python client for PDFDancer API
5
5
  Author-email: "The Famous Cat Ltd." <hi@thefamouscat.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pdfdancer-client-python"
7
- version = "0.2.4"
7
+ version = "0.2.5"
8
8
  description = "Python client for PDFDancer API"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -31,21 +31,6 @@ class PDFObjectBase:
31
31
  self.internal_id = internal_id
32
32
  self.object_type = object_type
33
33
 
34
- # --------------------------------------------------------------
35
- # Core properties
36
- # --------------------------------------------------------------
37
- def internal_id(self) -> str:
38
- """Internal PDFDancer object identifier, e.g. 'PATH_000023'."""
39
- return self.internal_id
40
-
41
- def type(self) -> ObjectType:
42
- """Enum value representing the PDF object type."""
43
- return self.object_type
44
-
45
- def position(self) -> Position:
46
- """The geometric position of the object on its page."""
47
- return self.position
48
-
49
34
  @property
50
35
  def page_index(self) -> int:
51
36
  """Page index where this object resides."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pdfdancer-client-python
3
- Version: 0.2.4
3
+ Version: 0.2.5
4
4
  Summary: Python client for PDFDancer API
5
5
  Author-email: "The Famous Cat Ltd." <hi@thefamouscat.com>
6
6
  License: MIT
@@ -6,7 +6,7 @@ import requests
6
6
 
7
7
 
8
8
  def _get_base_url():
9
- return os.getenv('PDFDANCER_BASE_URL', 'http://localhost:8080')
9
+ return os.getenv('PDFDANCER_BASE_URL', 'https://api.pdfdancer.com')
10
10
 
11
11
 
12
12
  def _read_token() -> str | None:
@@ -9,9 +9,9 @@ def test_find_form_fields():
9
9
  with PDFDancer.open(pdf_path, token=token, base_url=base_url) as pdf:
10
10
  form_fields = pdf.select_form_fields()
11
11
  assert len(form_fields) == 10
12
- assert form_fields[0].type() == ObjectType.TEXT_FIELD
13
- assert form_fields[4].type() == ObjectType.CHECK_BOX
14
- assert form_fields[6].type() == ObjectType.RADIO_BUTTON
12
+ assert form_fields[0].object_type == ObjectType.TEXT_FIELD
13
+ assert form_fields[4].object_type == ObjectType.CHECK_BOX
14
+ assert form_fields[6].object_type == ObjectType.RADIO_BUTTON
15
15
 
16
16
  # Verify not all fields at origin
17
17
  all_at_origin = all(
@@ -26,7 +26,7 @@ def test_find_form_fields():
26
26
  first_form = pdf.page(0).select_form_fields_at(290, 460)
27
27
  assert len(first_form) == 1
28
28
  f = first_form[0]
29
- assert f.type() == ObjectType.RADIO_BUTTON
29
+ assert f.object_type == ObjectType.RADIO_BUTTON
30
30
  assert f.internal_id == "FORM_FIELD_000008"
31
31
 
32
32
 
@@ -73,7 +73,7 @@ def test_edit_form_fields():
73
73
  f = fields[0]
74
74
  assert f.name == "firstName"
75
75
  assert f.value is None
76
- assert f.type() == ObjectType.TEXT_FIELD
76
+ assert f.object_type == ObjectType.TEXT_FIELD
77
77
  assert f.internal_id == "FORM_FIELD_000001"
78
78
 
79
79
  f.edit().value("Donald Duck").apply()
@@ -11,7 +11,7 @@ def test_delete_form(tmp_path: Path):
11
11
  with PDFDancer.open(pdf_path, token=token, base_url=base_url) as pdf:
12
12
  forms = pdf.select_forms()
13
13
  assert len(forms) == 17
14
- assert forms[0].type() == ObjectType.FORM_X_OBJECT
14
+ assert forms[0].object_type == ObjectType.FORM_X_OBJECT
15
15
 
16
16
  # Delete all form XObjects
17
17
  for form in forms:
@@ -13,7 +13,7 @@ def test_find_images():
13
13
  with PDFDancer.open(pdf_path, token=token, base_url=base_url, timeout=30.0) as pdf:
14
14
  images = pdf.select_images()
15
15
  assert len(images) == 3
16
- assert images[0].type() == ObjectType.IMAGE
16
+ assert images[0].object_type == ObjectType.IMAGE
17
17
 
18
18
  images_page0 = pdf.page(0).select_images()
19
19
  assert len(images_page0) == 2
@@ -9,7 +9,7 @@ def test_get_pages():
9
9
  pages = pdf.pages()
10
10
  assert pages is not None
11
11
  assert len(pages) == 12
12
- assert pages[0].type() == ObjectType.PAGE
12
+ assert pages[0].object_type == ObjectType.PAGE
13
13
 
14
14
 
15
15
  def test_get_page():