Skip to content

PDFCLOUD-5550 Add client methods to convert colors in PDF#15

Merged
datalogics-kam merged 11 commits into
pdfrest:mainfrom
datalogics-cgreen:pdfcloud-5464-convert-colors
Feb 18, 2026
Merged

PDFCLOUD-5550 Add client methods to convert colors in PDF#15
datalogics-kam merged 11 commits into
pdfrest:mainfrom
datalogics-cgreen:pdfcloud-5464-convert-colors

Conversation

@datalogics-cgreen
Copy link
Copy Markdown
Contributor

@datalogics-cgreen datalogics-cgreen commented Jan 20, 2026

Adds convert-colors support to the pdfRest client (sync + async), including a dedicated payload model with validation for PDF inputs, ICC profiles, and output naming, plus a public PdfColorProfile literal enum.

Includes unit tests for request serialization, customization, and validation, and live tests that exercise success and invalid-ID flows against the /pdf-with-converted-colors endpoint.

@datalogics-gwalczak datalogics-gwalczak changed the title Pdfcloud 5464 convert colors PDFCLOUD-5464 convert colors Jan 21, 2026
@datalogics-cgreen datalogics-cgreen changed the title PDFCLOUD-5464 convert colors PDFCLOUD-5550 Add client methods to convert colors in PDF Jan 30, 2026
@datalogics-cgreen datalogics-cgreen marked this pull request as ready for review February 9, 2026 16:47
@datalogics-cgreen datalogics-cgreen marked this pull request as draft February 10, 2026 17:52
@datalogics-cgreen datalogics-cgreen marked this pull request as ready for review February 11, 2026 18:03
Copy link
Copy Markdown
Contributor

@datalogics-kam datalogics-kam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another request to make "custom" into part of the main profile argument, rather than "set this to custom, and then set this other argument"

Comment thread src/pdfrest/client.py Outdated
Copy link
Copy Markdown
Contributor

@datalogics-kam datalogics-kam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Asking for fixups on the color_profile setting.

No Codex findings.

Comment thread src/pdfrest/client.py Outdated
Comment thread src/pdfrest/client.py
Comment thread src/pdfrest/client.py Outdated
Comment thread src/pdfrest/models/_internal.py
Comment thread src/pdfrest/models/_internal.py Outdated
Comment thread src/pdfrest/models/_internal.py Outdated
@datalogics-kam
Copy link
Copy Markdown
Contributor

This needs a rebase for conflict removal

@netlify
Copy link
Copy Markdown

netlify Bot commented Feb 17, 2026

Deploy Preview for pdfrest-python ready!

Name Link
🔨 Latest commit ccafaf3
🔍 Latest deploy log https://app.netlify.com/projects/pdfrest-python/deploys/69962091c3f20c0008c0933a
😎 Deploy Preview https://deploy-preview-15--pdfrest-python.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@datalogics-kam
Copy link
Copy Markdown
Contributor

Sorry, this needs a rebase again.

- Add sync/async unit coverage for every PdfColorProfile literal via
pytest.param IDs, including custom-profile payload handling.
- Add explicit sync/async invalid color_profile tests to assert local
ValidationError behavior without issuing HTTP requests.

Assisted-by: Codex
- Remove `profile` option that duplicated `color_profile`
- Accept custom profile upload for `color_profile` without requiring `"custom"` value from user

Assisted-by: Codex
Update sync and async custom-profile live tests to upload both the source PDF
and ICC profile within the same client context that performs `convert_colors`.

This avoids intermittent CI failures where reused uploaded IDs can be rejected
by the server with "The ID is invalid."

Assisted-by: Codex
@datalogics-kam datalogics-kam merged commit 531efe7 into pdfrest:main Feb 18, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants