Client should be able to handle None on key values.
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 35/100
Research direction
Start with typesense/documents.py, especially documents.upsert, and follow the request path into typesense/api_call.py where the reported error is raised. Reproduce an upsert containing a Python None value for a key and clarify the intended graceful handling; done means the request no longer fails with the reported malformed-field error.
Written by the indexing model from the issue text.
Description
Description
Client should be able to handle None on key values.
File "/site-packages/typesense/documents.py", line 42, in upsert
return self.api_call.post(self._endpoint_path(), document, params)
File "/site-packages/typesense/api_call.py", line 145, in post
timeout=self.config.connection_timeout_seconds)
File "/site-packages/typesense/api_call.py", line 115, in make_request
raise ApiCall.get_exception(r.status_code)(r.status_code, error_message)
typesense.exceptions.RequestMalformed: [Errno 400] Field `xyz` must be a string.
Steps to reproduce
Send a Python None value for some key in the call documents.upsert(document)
Expected Behavior
Gracefully handle None value for a key
Typsense Version:
0.21
- Dominant language
- Python
- Stars
- 247
- Forks
- 66
- Avg merge
- 22h 47m
- Merged PRs (30d)
- 8
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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 typesense/typesense-python
-
`MultiSearchResponse` type does not account for union search response shapePossibly taken @tharropoulos claimed this 172 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
typesense/typesense-python#128 ·
-
`documents.Documents.import_()` `batch_size` argument is ignored, type of `import_parameters` is missing `batch_size`Possibly taken @tharropoulos claimed this 245 days ago. Open
Difficulty 2/5 1-2 days Newbie friendliness 68/100
typesense/typesense-python#124 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
typesense/typesense-python#100 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
typesense/typesense-python#122 · 3 comments ·
-
[Bug] - DeprecationWarning on instantiation of ClientPossibly taken @tharropoulos claimed this 266 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 55/100
typesense/typesense-python#114 · 8 comments ·
All issues in typesense/typesense-python
Similar issues
-
Python Volcengine provider returns failures instead of raising themPossibly taken @Ricardo-M-L claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
agent-infra/sandbox#248 ·
-
Textractor leaves empty temporary files when remote retrieval failsPossibly taken @HuaTNA claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
test(bm_generation): pin the learning parameters and CPU sync shortcutPossibly taken @iloveeyjafjalla claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
qboson/kaiwu-pytorch-plugin#1341 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
elder-plinius/V3R1T4S#625 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
foxglove/mcap#1907 · 1 comment ·
Maintainers usually reply within 1 day