ProjectTech4DevAI / ProjectTech4DevAI/kaapi-backend

Support API key configuration for Zerox in multi-tenant setup

Open
#366 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
18
Forks
10
Avg merge
2d 20h
Merged PRs (30d)
14

Description

We are currently using Zerox for document transformation in our system. However, Zerox only supports reading the API key from environment variables.

Our platform is multi-tenant, and the API key is scoped per project. This makes it problematic to rely solely on environment variables for API key management.

We already opened a PR in the Zerox repo to add support for passing the API key explicitly instead of always fetching it from environment variables. However, in case we don’t receive a response from the maintainers, we will need to either:

  • Move to another tool that supports this flexibility, or
  • Implement a workaround where each Celery worker handles project-specific API keys.

Context:

Each Celery worker runs in a separate process, which means separate memory and environment, so we can set api_key in env.

Test:
Once fixed this add unit tests for transfomer

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Zerox integration and the transformer unit-test area in the Python backend. Check whether the upstream API-key PR is available, then define how project-scoped keys should reach the transformer; done means the selected approach works for multi-tenant use and has unit tests for the transformer.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.