Break api into 2 parts
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- java
- Domain
- api, backend-api-design
Research direction
Start by reviewing the current client artifact and its Jackson and HTTP implementation dependencies, then compare the referenced Docling structure at docling-java/docling-serve. Evaluate a ServiceLoader-based separation into API and implementation artifacts, including simultaneous Jackson 2 and 3 support; done means downstream frameworks can provide their own versions and HTTP implementations.
Written by the indexing model from the issue text.
Description
Is there a way to break this into 2 parts - the pure api and the implementation?
Downstream frameworks (like Spring & Quarkus) may want to use their own Jackson versions & their own http implementations. Using the client as-is does not allow for this customization.
I maintain the Docling Java client and we have successfully done that - separated into 2 artifacts, the api & the client. Downstream frameworks like Spring & Quarkus only depend on the API and provide their own implementations of it. See https://github.com/docling-project/docling-java/tree/main/docling-serve
The Docling api also supports both Jackson 2 & 3 simultaneously.
We use a ServiceLoader abstraction, so you never actually have to use the implementation imports directly. Everything is driven through the API.
Apps that use Jackson 3 are unable to use this api at all.
I'm happy to help contribute if there is interest.
- Dominant language
- Java
- Stars
- 73
- Forks
- 14
- Avg merge
- 13h 54m
- Merged PRs (30d)
- 3
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from langfuse/langfuse-java
-
feature
Difficulty 5/5 Over a week Newbie friendliness 30/100
langfuse/langfuse-java#55 · 1 reaction ·
-
langfuse/langfuse-java#18 · 1 comment · 1 assignee ·
-
bug
langfuse/langfuse-java#11 · 4 comments · 1 assignee ·
-
langfuse/langfuse-java#8 · 6 comments · 1 assignee ·
-
langfuse/langfuse-java#5 · 9 comments · 1 assignee ·
All issues in langfuse/langfuse-java
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
area/frontend
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
opensearch-project/k-NN#3597 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100