openaivec 1.0.2__tar.gz → 1.0.4__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 (90) hide show
  1. {openaivec-1.0.2 → openaivec-1.0.4}/PKG-INFO +15 -1
  2. {openaivec-1.0.2 → openaivec-1.0.4}/README.md +14 -0
  3. {openaivec-1.0.2 → openaivec-1.0.4}/mkdocs.yml +2 -1
  4. {openaivec-1.0.2 → openaivec-1.0.4}/uv.lock +671 -656
  5. {openaivec-1.0.2 → openaivec-1.0.4}/.env.example +0 -0
  6. {openaivec-1.0.2 → openaivec-1.0.4}/.github/copilot-instructions.md +0 -0
  7. {openaivec-1.0.2 → openaivec-1.0.4}/.github/dependabot.yml +0 -0
  8. {openaivec-1.0.2 → openaivec-1.0.4}/.github/workflows/docs.yml +0 -0
  9. {openaivec-1.0.2 → openaivec-1.0.4}/.github/workflows/publish.yml +0 -0
  10. {openaivec-1.0.2 → openaivec-1.0.4}/.github/workflows/test.yml +0 -0
  11. {openaivec-1.0.2 → openaivec-1.0.4}/.gitignore +0 -0
  12. {openaivec-1.0.2 → openaivec-1.0.4}/AGENTS.md +0 -0
  13. {openaivec-1.0.2 → openaivec-1.0.4}/CODE_OF_CONDUCT.md +0 -0
  14. {openaivec-1.0.2 → openaivec-1.0.4}/LICENSE +0 -0
  15. {openaivec-1.0.2 → openaivec-1.0.4}/SECURITY.md +0 -0
  16. {openaivec-1.0.2 → openaivec-1.0.4}/SUPPORT.md +0 -0
  17. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/main.md +0 -0
  18. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/pandas_ext.md +0 -0
  19. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/spark.md +0 -0
  20. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/task.md +0 -0
  21. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/tasks/customer_support/customer_sentiment.md +0 -0
  22. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/tasks/customer_support/inquiry_classification.md +0 -0
  23. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/tasks/customer_support/inquiry_summary.md +0 -0
  24. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/tasks/customer_support/intent_analysis.md +0 -0
  25. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/tasks/customer_support/response_suggestion.md +0 -0
  26. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/tasks/customer_support/urgency_analysis.md +0 -0
  27. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/tasks/nlp/dependency_parsing.md +0 -0
  28. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/tasks/nlp/keyword_extraction.md +0 -0
  29. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/tasks/nlp/morphological_analysis.md +0 -0
  30. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/tasks/nlp/named_entity_recognition.md +0 -0
  31. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/tasks/nlp/sentiment_analysis.md +0 -0
  32. {openaivec-1.0.2 → openaivec-1.0.4}/docs/api/tasks/nlp/translation.md +0 -0
  33. {openaivec-1.0.2 → openaivec-1.0.4}/docs/contributor-guide.md +0 -0
  34. {openaivec-1.0.2 → openaivec-1.0.4}/docs/index.md +0 -0
  35. {openaivec-1.0.2 → openaivec-1.0.4}/docs/robots.txt +0 -0
  36. {openaivec-1.0.2 → openaivec-1.0.4}/pyproject.toml +0 -0
  37. {openaivec-1.0.2 → openaivec-1.0.4}/pytest.ini +0 -0
  38. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/__init__.py +0 -0
  39. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_cache/__init__.py +0 -0
  40. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_cache/optimize.py +0 -0
  41. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_cache/proxy.py +0 -0
  42. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_di.py +0 -0
  43. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_embeddings.py +0 -0
  44. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_log.py +0 -0
  45. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_model.py +0 -0
  46. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_prompt.py +0 -0
  47. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_provider.py +0 -0
  48. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_responses.py +0 -0
  49. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_schema/__init__.py +0 -0
  50. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_schema/infer.py +0 -0
  51. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_schema/spec.py +0 -0
  52. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_serialize.py +0 -0
  53. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/_util.py +0 -0
  54. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/pandas_ext.py +0 -0
  55. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/spark.py +0 -0
  56. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/__init__.py +0 -0
  57. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/customer_support/__init__.py +0 -0
  58. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/customer_support/customer_sentiment.py +0 -0
  59. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/customer_support/inquiry_classification.py +0 -0
  60. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/customer_support/inquiry_summary.py +0 -0
  61. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/customer_support/intent_analysis.py +0 -0
  62. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/customer_support/response_suggestion.py +0 -0
  63. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/customer_support/urgency_analysis.py +0 -0
  64. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/nlp/__init__.py +0 -0
  65. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/nlp/dependency_parsing.py +0 -0
  66. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/nlp/keyword_extraction.py +0 -0
  67. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/nlp/morphological_analysis.py +0 -0
  68. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/nlp/named_entity_recognition.py +0 -0
  69. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/nlp/sentiment_analysis.py +0 -0
  70. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/nlp/translation.py +0 -0
  71. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/table/__init__.py +0 -0
  72. {openaivec-1.0.2 → openaivec-1.0.4}/src/openaivec/task/table/fillna.py +0 -0
  73. {openaivec-1.0.2 → openaivec-1.0.4}/tests/__init__.py +0 -0
  74. {openaivec-1.0.2 → openaivec-1.0.4}/tests/_cache/test_optimize.py +0 -0
  75. {openaivec-1.0.2 → openaivec-1.0.4}/tests/_cache/test_proxy.py +0 -0
  76. {openaivec-1.0.2 → openaivec-1.0.4}/tests/_cache/test_proxy_suggester.py +0 -0
  77. {openaivec-1.0.2 → openaivec-1.0.4}/tests/_schema/test_infer.py +0 -0
  78. {openaivec-1.0.2 → openaivec-1.0.4}/tests/_schema/test_spec.py +0 -0
  79. {openaivec-1.0.2 → openaivec-1.0.4}/tests/conftest.py +0 -0
  80. {openaivec-1.0.2 → openaivec-1.0.4}/tests/test_di.py +0 -0
  81. {openaivec-1.0.2 → openaivec-1.0.4}/tests/test_embeddings.py +0 -0
  82. {openaivec-1.0.2 → openaivec-1.0.4}/tests/test_pandas_ext.py +0 -0
  83. {openaivec-1.0.2 → openaivec-1.0.4}/tests/test_prompt.py +0 -0
  84. {openaivec-1.0.2 → openaivec-1.0.4}/tests/test_provider.py +0 -0
  85. {openaivec-1.0.2 → openaivec-1.0.4}/tests/test_responses.py +0 -0
  86. {openaivec-1.0.2 → openaivec-1.0.4}/tests/test_serialize.py +0 -0
  87. {openaivec-1.0.2 → openaivec-1.0.4}/tests/test_serialize_pydantic_v2_compliance.py +0 -0
  88. {openaivec-1.0.2 → openaivec-1.0.4}/tests/test_spark.py +0 -0
  89. {openaivec-1.0.2 → openaivec-1.0.4}/tests/test_task.py +0 -0
  90. {openaivec-1.0.2 → openaivec-1.0.4}/tests/test_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openaivec
3
- Version: 1.0.2
3
+ Version: 1.0.4
4
4
  Summary: Generative mutation for tabular calculation
5
5
  Project-URL: Homepage, https://microsoft.github.io/openaivec/
6
6
  Project-URL: Repository, https://github.com/microsoft/openaivec
@@ -64,6 +64,20 @@ print(sentiment.tolist())
64
64
 
65
65
  **Try it live:** https://microsoft.github.io/openaivec/examples/pandas/
66
66
 
67
+ ## Benchmarks
68
+
69
+ Simple task benchmark from [benchmark.ipynb](https://github.com/microsoft/openaivec/blob/main/docs/examples/benchmark.ipynb) (100 numeric strings → integer literals, `Series.aio.responses`, model `gpt-5.1`):
70
+
71
+ | Mode | Settings | Time (s) |
72
+ | ------------------- | ----------------------------------------------- | -------- |
73
+ | Serial | `batch_size=1`, `max_concurrency=1` | ~141 |
74
+ | Batching | default `batch_size`, `max_concurrency=1` | ~15 |
75
+ | Concurrent batching | default `batch_size`, default `max_concurrency` | ~6 |
76
+
77
+ Batching alone removes most HTTP overhead, and letting batching overlap with concurrency cuts total runtime to a few seconds while still yielding one output per input.
78
+
79
+ <img alt="image" src="https://github.com/user-attachments/assets/8ace9bcd-bcae-4023-a37e-13082cd645e5" />
80
+
67
81
  ## Contents
68
82
 
69
83
  - [Why openaivec?](#why-openaivec)
@@ -38,6 +38,20 @@ print(sentiment.tolist())
38
38
 
39
39
  **Try it live:** https://microsoft.github.io/openaivec/examples/pandas/
40
40
 
41
+ ## Benchmarks
42
+
43
+ Simple task benchmark from [benchmark.ipynb](https://github.com/microsoft/openaivec/blob/main/docs/examples/benchmark.ipynb) (100 numeric strings → integer literals, `Series.aio.responses`, model `gpt-5.1`):
44
+
45
+ | Mode | Settings | Time (s) |
46
+ | ------------------- | ----------------------------------------------- | -------- |
47
+ | Serial | `batch_size=1`, `max_concurrency=1` | ~141 |
48
+ | Batching | default `batch_size`, `max_concurrency=1` | ~15 |
49
+ | Concurrent batching | default `batch_size`, default `max_concurrency` | ~6 |
50
+
51
+ Batching alone removes most HTTP overhead, and letting batching overlap with concurrency cuts total runtime to a few seconds while still yielding one output per input.
52
+
53
+ <img alt="image" src="https://github.com/user-attachments/assets/8ace9bcd-bcae-4023-a37e-13082cd645e5" />
54
+
41
55
  ## Contents
42
56
 
43
57
  - [Why openaivec?](#why-openaivec)
@@ -63,6 +63,7 @@ nav:
63
63
  - Prompt Engineering: examples/prompt.ipynb
64
64
  - FAQ Generation: examples/generate_faq.ipynb
65
65
  - Token Count and Processing Time: examples/batch_size.ipynb
66
+ - Request Batching Benchmark: examples/benchmark.ipynb
66
67
  - API Reference:
67
68
  - Main Package: api/main.md
68
69
  - pandas_ext: api/pandas_ext.md
@@ -121,7 +122,7 @@ extra:
121
122
  - icon: fontawesome/brands/python
122
123
  link: https://pypi.org/project/openaivec/
123
124
  - icon: fontawesome/brands/discord
124
- link: https://discord.gg/vbb83Pgn
125
+ link: https://discord.gg/hXCS9J6Qek
125
126
 
126
127
  plugins:
127
128
  - search: