cyborgdb 0.11.0__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 (129) hide show
  1. cyborgdb-0.11.0/.github/ISSUE_TEMPLATE/bug_report.yml +94 -0
  2. cyborgdb-0.11.0/.github/ISSUE_TEMPLATE/epic.yml +68 -0
  3. cyborgdb-0.11.0/.github/ISSUE_TEMPLATE/task.yml +56 -0
  4. cyborgdb-0.11.0/.github/workflows/build_and_package_wheels.yml +89 -0
  5. cyborgdb-0.11.0/.gitignore +72 -0
  6. cyborgdb-0.11.0/.openapi-generator/FILES +97 -0
  7. cyborgdb-0.11.0/.openapi-generator/VERSION +1 -0
  8. cyborgdb-0.11.0/.openapi-generator-ignore +27 -0
  9. cyborgdb-0.11.0/CODEOWNERS +8 -0
  10. cyborgdb-0.11.0/LICENSE +7 -0
  11. cyborgdb-0.11.0/PKG-INFO +104 -0
  12. cyborgdb-0.11.0/README.md +72 -0
  13. cyborgdb-0.11.0/cyborgdb/.gitignore +66 -0
  14. cyborgdb-0.11.0/cyborgdb/__init__.py +26 -0
  15. cyborgdb-0.11.0/cyborgdb/client/__init__.py +2 -0
  16. cyborgdb-0.11.0/cyborgdb/client/client.py +184 -0
  17. cyborgdb-0.11.0/cyborgdb/client/encrypted_index.py +545 -0
  18. cyborgdb-0.11.0/cyborgdb/openapi_client/__init__.py +61 -0
  19. cyborgdb-0.11.0/cyborgdb/openapi_client/api/__init__.py +5 -0
  20. cyborgdb-0.11.0/cyborgdb/openapi_client/api/default_api.py +3103 -0
  21. cyborgdb-0.11.0/cyborgdb/openapi_client/api_client.py +797 -0
  22. cyborgdb-0.11.0/cyborgdb/openapi_client/api_response.py +21 -0
  23. cyborgdb-0.11.0/cyborgdb/openapi_client/configuration.py +602 -0
  24. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/BatchQueryRequest.md +37 -0
  25. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/Contents.md +28 -0
  26. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/CreateIndexRequest.md +33 -0
  27. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/CyborgdbServiceApiSchemasIndexSuccessResponseModel.md +31 -0
  28. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/CyborgdbServiceApiSchemasVectorsSuccessResponseModel.md +31 -0
  29. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/DefaultApi.md +909 -0
  30. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/DeleteRequest.md +32 -0
  31. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/ErrorResponseModel.md +31 -0
  32. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/GetRequest.md +33 -0
  33. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/GetResponseModel.md +30 -0
  34. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/GetResultItemModel.md +33 -0
  35. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/HTTPValidationError.md +29 -0
  36. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/IndexConfig.md +34 -0
  37. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/IndexIVFFlatModel.md +33 -0
  38. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/IndexIVFModel.md +33 -0
  39. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/IndexIVFPQModel.md +35 -0
  40. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/IndexInfoResponseModel.md +33 -0
  41. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/IndexListResponseModel.md +30 -0
  42. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/IndexOperationRequest.md +31 -0
  43. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/QueryRequest.md +38 -0
  44. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/QueryResponse.md +30 -0
  45. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/QueryResultItem.md +33 -0
  46. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/Request.md +37 -0
  47. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/Results.md +28 -0
  48. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/TrainRequest.md +35 -0
  49. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/UpsertRequest.md +32 -0
  50. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/ValidationError.md +31 -0
  51. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/ValidationErrorLocInner.md +28 -0
  52. cyborgdb-0.11.0/cyborgdb/openapi_client/docs/VectorItem.md +33 -0
  53. cyborgdb-0.11.0/cyborgdb/openapi_client/exceptions.py +216 -0
  54. cyborgdb-0.11.0/cyborgdb/openapi_client/models/__init__.py +44 -0
  55. cyborgdb-0.11.0/cyborgdb/openapi_client/models/batch_query_request.py +106 -0
  56. cyborgdb-0.11.0/cyborgdb/openapi_client/models/contents.py +144 -0
  57. cyborgdb-0.11.0/cyborgdb/openapi_client/models/create_index_request.py +102 -0
  58. cyborgdb-0.11.0/cyborgdb/openapi_client/models/cyborgdb_service_api_schemas_index_success_response_model.py +89 -0
  59. cyborgdb-0.11.0/cyborgdb/openapi_client/models/cyborgdb_service_api_schemas_vectors_success_response_model.py +89 -0
  60. cyborgdb-0.11.0/cyborgdb/openapi_client/models/delete_request.py +91 -0
  61. cyborgdb-0.11.0/cyborgdb/openapi_client/models/error_response_model.py +89 -0
  62. cyborgdb-0.11.0/cyborgdb/openapi_client/models/get_request.py +93 -0
  63. cyborgdb-0.11.0/cyborgdb/openapi_client/models/get_response_model.py +95 -0
  64. cyborgdb-0.11.0/cyborgdb/openapi_client/models/get_result_item_model.py +108 -0
  65. cyborgdb-0.11.0/cyborgdb/openapi_client/models/http_validation_error.py +95 -0
  66. cyborgdb-0.11.0/cyborgdb/openapi_client/models/index_config.py +149 -0
  67. cyborgdb-0.11.0/cyborgdb/openapi_client/models/index_info_response_model.py +93 -0
  68. cyborgdb-0.11.0/cyborgdb/openapi_client/models/index_ivf_flat_model.py +103 -0
  69. cyborgdb-0.11.0/cyborgdb/openapi_client/models/index_ivf_model.py +103 -0
  70. cyborgdb-0.11.0/cyborgdb/openapi_client/models/index_ivfpq_model.py +107 -0
  71. cyborgdb-0.11.0/cyborgdb/openapi_client/models/index_list_response_model.py +87 -0
  72. cyborgdb-0.11.0/cyborgdb/openapi_client/models/index_operation_request.py +89 -0
  73. cyborgdb-0.11.0/cyborgdb/openapi_client/models/query_request.py +118 -0
  74. cyborgdb-0.11.0/cyborgdb/openapi_client/models/query_response.py +91 -0
  75. cyborgdb-0.11.0/cyborgdb/openapi_client/models/query_result_item.py +108 -0
  76. cyborgdb-0.11.0/cyborgdb/openapi_client/models/request.py +134 -0
  77. cyborgdb-0.11.0/cyborgdb/openapi_client/models/results.py +139 -0
  78. cyborgdb-0.11.0/cyborgdb/openapi_client/models/train_request.py +97 -0
  79. cyborgdb-0.11.0/cyborgdb/openapi_client/models/upsert_request.py +99 -0
  80. cyborgdb-0.11.0/cyborgdb/openapi_client/models/validation_error.py +99 -0
  81. cyborgdb-0.11.0/cyborgdb/openapi_client/models/validation_error_loc_inner.py +138 -0
  82. cyborgdb-0.11.0/cyborgdb/openapi_client/models/vector_item.py +112 -0
  83. cyborgdb-0.11.0/cyborgdb/openapi_client/py.typed +0 -0
  84. cyborgdb-0.11.0/cyborgdb/openapi_client/rest.py +258 -0
  85. cyborgdb-0.11.0/cyborgdb/openapi_client/test/__init__.py +0 -0
  86. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_batch_query_request.py +71 -0
  87. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_contents.py +50 -0
  88. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_create_index_request.py +57 -0
  89. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_cyborgdb_service_api_schemas_index_success_response_model.py +53 -0
  90. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_cyborgdb_service_api_schemas_vectors_success_response_model.py +53 -0
  91. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_default_api.py +108 -0
  92. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_delete_request.py +60 -0
  93. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_error_response_model.py +54 -0
  94. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_get_request.py +63 -0
  95. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_get_response_model.py +68 -0
  96. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_get_result_item_model.py +57 -0
  97. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_http_validation_error.py +58 -0
  98. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_index_config.py +59 -0
  99. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_index_info_response_model.py +58 -0
  100. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_index_ivf_flat_model.py +55 -0
  101. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_index_ivf_model.py +55 -0
  102. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_index_ivfpq_model.py +59 -0
  103. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_index_list_response_model.py +56 -0
  104. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_index_operation_request.py +54 -0
  105. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_query_request.py +65 -0
  106. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_query_response.py +52 -0
  107. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_query_result_item.py +57 -0
  108. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_request.py +72 -0
  109. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_results.py +50 -0
  110. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_train_request.py +58 -0
  111. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_upsert_request.py +72 -0
  112. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_validation_error.py +60 -0
  113. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_validation_error_loc_inner.py +50 -0
  114. cyborgdb-0.11.0/cyborgdb/openapi_client/test/test_vector_item.py +57 -0
  115. cyborgdb-0.11.0/cyborgdb/openapi_client_README.md +139 -0
  116. cyborgdb-0.11.0/cyborgdb/test/__init__.py +0 -0
  117. cyborgdb-0.11.0/cyborgdb.egg-info/PKG-INFO +104 -0
  118. cyborgdb-0.11.0/cyborgdb.egg-info/SOURCES.txt +127 -0
  119. cyborgdb-0.11.0/cyborgdb.egg-info/dependency_links.txt +1 -0
  120. cyborgdb-0.11.0/cyborgdb.egg-info/requires.txt +4 -0
  121. cyborgdb-0.11.0/cyborgdb.egg-info/top_level.txt +1 -0
  122. cyborgdb-0.11.0/openapi.json +1 -0
  123. cyborgdb-0.11.0/pyproject.toml +49 -0
  124. cyborgdb-0.11.0/requirements.txt +4 -0
  125. cyborgdb-0.11.0/setup.cfg +4 -0
  126. cyborgdb-0.11.0/tests/basic_integration_tests.py +364 -0
  127. cyborgdb-0.11.0/tests/constants/unit_test_flow_data.pkl.zst +0 -0
  128. cyborgdb-0.11.0/tests/test_client.py +57 -0
  129. cyborgdb-0.11.0/update-openapi-client.sh +33 -0
@@ -0,0 +1,94 @@
1
+ name: Bug Report
2
+ description: Fill this form out to report a bug in `cyborgdb_py`.
3
+ title: "[BUG]: "
4
+ labels: bug
5
+ projects: cyborginc/4
6
+ type: Bug
7
+ assignees: []
8
+
9
+ body:
10
+ - type: checkboxes
11
+ attributes:
12
+ label: Bug Report Checklist
13
+ options:
14
+ - label: I have searched for similar issues in the repository.
15
+ required: true
16
+ - label: I have included all relevant information for reproducing the bug.
17
+ required: true
18
+
19
+ - type: input
20
+ attributes:
21
+ label: Summary
22
+ placeholder: "Enter a short description of the issue..."
23
+ validations:
24
+ required: true
25
+
26
+ - type: textarea
27
+ attributes:
28
+ label: Detailed Description
29
+ placeholder: "Explain the issue in detail..."
30
+ validations:
31
+ required: true
32
+
33
+ - type: textarea
34
+ attributes:
35
+ label: Steps to Reproduce
36
+ description: Provide step-by-step instructions for reproducing the issue.
37
+ placeholder: |
38
+ Example:
39
+ 1. Initialize the `cyborgdb_py` service using Python 3.10.
40
+ 2. Call the `POST /vector` API with the following payload.
41
+ 3. ...
42
+ validations:
43
+ required: true
44
+
45
+ - type: textarea
46
+ attributes:
47
+ label: Observed Behavior
48
+ description: Describe what actually happened when the issue occurred.
49
+ placeholder: "What did you observe? Include error messages, unexpected responses, etc."
50
+ validations:
51
+ required: true
52
+
53
+ - type: textarea
54
+ attributes:
55
+ label: Expected Behavior
56
+ description: Describe what you expected to happen instead.
57
+ placeholder: "What should the service have done?"
58
+ validations:
59
+ required: true
60
+
61
+ - type: input
62
+ attributes:
63
+ label: API Version
64
+ description: Specify the version of `cyborgdb_py`.
65
+ placeholder: "e.g., v0.9.0"
66
+
67
+ - type: dropdown
68
+ attributes:
69
+ label: Operating System
70
+ description: "Select the operating system you're using."
71
+ options:
72
+ - Not OS-specific
73
+ - Windows
74
+ - macOS
75
+ - Linux
76
+ validations:
77
+ required: true
78
+
79
+ - type: dropdown
80
+ attributes:
81
+ label: Severity
82
+ description: Indicate the impact of this bug.
83
+ options:
84
+ - Critical - Breaks functionality or crashes the service.
85
+ - Major - Significant issue but a workaround exists.
86
+ - Minor - Low impact, minor functionality affected.
87
+ validations:
88
+ required: true
89
+
90
+ - type: textarea
91
+ attributes:
92
+ label: Additional Context
93
+ description: Provide logs, error messages, or any other supporting details.
94
+ placeholder: "Paste logs, stack traces, or screenshots here."
@@ -0,0 +1,68 @@
1
+ name: New Epic
2
+ description: Use this form to create new epics or user stories.
3
+ title: "[EPIC]: "
4
+ projects: cyborginc/4
5
+ type: Feature
6
+ assignees: []
7
+
8
+ body:
9
+ - type: textarea
10
+ attributes:
11
+ label: Background
12
+ placeholder: |
13
+ Provide a concise but informative overview of the task. Include any relevant business or technical context, such as:
14
+ - Problem Statement: What issue or opportunity prompted this task?
15
+ - Current State: What is happening now, and why is it insufficient?
16
+ - Desired Outcome: What do we hope to achieve by completing this task?
17
+ - Stakeholders: Who cares about this and why?
18
+
19
+ This section should help anyone new to the task quickly understand the “why” behind it and how it fits into the bigger picture.
20
+ validations:
21
+ required: true
22
+
23
+ - type: textarea
24
+ attributes:
25
+ label: User Story
26
+ placeholder: |
27
+ Use clear, human-centered language. The user story should represent a real-world need or problem, focusing on the user's perspective. Avoid technical jargon unless the user persona is technical.
28
+ *Format: As [a specific user role or persona], I want [to perform a specific action or experience], so that [I can achieve a specific outcome or benefit].*
29
+
30
+ *Example: As a first-time customer, I want to save my shopping cart without creating an account so that I can return later and complete my purchase.*
31
+ validations:
32
+ required: true
33
+
34
+ - type: textarea
35
+ attributes:
36
+ label: Acceptance Criteria
37
+ placeholder: |
38
+ List the specific, testable conditions that must be met for this task to be considered complete. These should clearly define **DONE** and help guide both development and QA efforts.
39
+ - Include:
40
+ - Expected behavior under normal conditions
41
+ - Handling of edge cases or exceptions
42
+ - UI/UX considerations (if applicable)
43
+ - Security, performance, or accessibility requirements (if relevant)
44
+ - Each item should be independently verifiable
45
+
46
+ - *Example: Password Reset Flow*
47
+ - *User can request a password reset via email*
48
+ - *Email contains a secure, time-limited reset link (expires after 1 hour)*
49
+ - *User is redirected to a reset form upon clicking the link*
50
+ - *Password must meet complexity rules (min 8 chars, 1 number, 1 special character)*
51
+ - *Error message shown if link is expired or invalid*
52
+ - *Confirmation message shown after successful reset*
53
+ validations:
54
+ required: true
55
+
56
+ - type: textarea
57
+ attributes:
58
+ label: Additional Notes
59
+ placeholder: |
60
+ Use this section to capture any important supporting information that does not fit neatly elsewhere, such as:
61
+ - Related Links: JIRA tickets, PRDs, Figma mockups, Notion docs, API specs, etc.
62
+ - Dependencies: Is this blocked by another task? Is it part of a feature set?
63
+ - Technical Notes: Known constraints, decisions made, code references, or areas of complexity.
64
+ - Business Constraints:** Legal, compliance, timeline pressures, or customer commitments.
65
+
66
+ This section is useful for cross-functional collaborators and future maintainers who may need additional context or history.
67
+ validations:
68
+ required: false
@@ -0,0 +1,56 @@
1
+ name: New Issue/Task
2
+ description: Use this form to create new issues or tasks.
3
+ projects: cyborginc/4
4
+ type: Task
5
+ assignees: []
6
+
7
+ body:
8
+ - type: textarea
9
+ attributes:
10
+ label: Background
11
+ placeholder: |
12
+ Provide a concise but informative overview of the task. Include any relevant business or technical context, such as:
13
+ - Problem Statement: What issue or opportunity prompted this task?
14
+ - Current State: What is happening now, and why is it insufficient?
15
+ - Desired Outcome: What do we hope to achieve by completing this task?
16
+ - Stakeholders: Who cares about this and why?
17
+
18
+ This section should help anyone new to the task quickly understand the “why” behind it and how it fits into the bigger picture.
19
+ validations:
20
+ required: true
21
+
22
+ - type: textarea
23
+ attributes:
24
+ label: Acceptance Criteria
25
+ placeholder: |
26
+ List the specific, testable conditions that must be met for this task to be considered complete. These should clearly define **DONE** and help guide both development and QA efforts.
27
+ - Include:
28
+ - Expected behavior under normal conditions
29
+ - Handling of edge cases or exceptions
30
+ - UI/UX considerations (if applicable)
31
+ - Security, performance, or accessibility requirements (if relevant)
32
+ - Each item should be independently verifiable
33
+
34
+ - *Example: Password Reset Flow*
35
+ - *User can request a password reset via email*
36
+ - *Email contains a secure, time-limited reset link (expires after 1 hour)*
37
+ - *User is redirected to a reset form upon clicking the link*
38
+ - *Password must meet complexity rules (min 8 chars, 1 number, 1 special character)*
39
+ - *Error message shown if link is expired or invalid*
40
+ - *Confirmation message shown after successful reset*
41
+ validations:
42
+ required: true
43
+
44
+ - type: textarea
45
+ attributes:
46
+ label: Additional Notes
47
+ placeholder: |
48
+ Use this section to capture any important supporting information that does not fit neatly elsewhere, such as:
49
+ - Related Links: JIRA tickets, PRDs, Figma mockups, Notion docs, API specs, etc.
50
+ - Dependencies: Is this blocked by another task? Is it part of a feature set?
51
+ - Technical Notes: Known constraints, decisions made, code references, or areas of complexity.
52
+ - Business Constraints:** Legal, compliance, timeline pressures, or customer commitments.
53
+
54
+ This section is useful for cross-functional collaborators and future maintainers who may need additional context or history.
55
+ validations:
56
+ required: false
@@ -0,0 +1,89 @@
1
+ name: Builda and Package Wheels
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ tags:
7
+ - "v*"
8
+
9
+ jobs:
10
+ build_distributions:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: Checkout code
14
+ uses: actions/checkout@v4
15
+ with:
16
+ fetch-depth: 0
17
+
18
+ - name: Set up Python
19
+ uses: actions/setup-python@v4
20
+ with:
21
+ python-version: "3.13"
22
+
23
+ - name: Set Version from Tag for Wheels
24
+ if: github.ref_type == 'tag'
25
+ shell: bash
26
+ run: |
27
+ VERSION=${GITHUB_REF_NAME#v}
28
+ echo "Setting exact version $VERSION for tag build"
29
+ echo "SETUPTOOLS_SCM_PRETEND_VERSION=$VERSION" >> $GITHUB_ENV
30
+
31
+ - name: Install build dependencies
32
+ run: |
33
+ python -m pip install --upgrade pip
34
+ python -m pip install build wheel
35
+
36
+ - name: Build distributions
37
+ run: |
38
+ python -m build --sdist --wheel --outdir dist/
39
+ echo "Built distributions:"
40
+ ls -la dist/
41
+
42
+ - name: Store distributions as artifact
43
+ uses: actions/upload-artifact@v4
44
+ with:
45
+ name: cyborgdb-dist
46
+ path: dist/*
47
+ retention-days: 5
48
+
49
+ publish_to_pypi:
50
+ needs: [build_distributions]
51
+ runs-on: ubuntu-latest
52
+ if: github.ref_type == 'tag'
53
+ environment:
54
+ name: prod
55
+ permissions:
56
+ id-token: write
57
+ contents: write
58
+
59
+ steps:
60
+ - name: Download distribution artifacts
61
+ uses: actions/download-artifact@v4
62
+ with:
63
+ name: cyborgdb-dist
64
+ path: dist
65
+
66
+ - name: Display structure of downloaded files
67
+ run: ls -la dist/
68
+
69
+ - name: Create release archive
70
+ run: |
71
+ VERSION=${GITHUB_REF_NAME#v} # Strip the 'v' prefix if present
72
+ echo "Creating archive for version $VERSION"
73
+ zip -r cyborgdb-${VERSION}-dist.zip dist/
74
+ echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV
75
+
76
+ - name: Publish to GitHub Release
77
+ uses: softprops/action-gh-release@v1
78
+ with:
79
+ files: |
80
+ cyborgdb-${{ env.RELEASE_VERSION }}-dist.zip
81
+ generate_release_notes: true
82
+ draft: false
83
+ tag_name: ${{ github.ref_name }}
84
+
85
+ - name: Publish to PyPI
86
+ uses: pypa/gh-action-pypi-publish@release/v1
87
+ with:
88
+ packages-dir: dist/
89
+ skip-existing: true
@@ -0,0 +1,72 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ env/
12
+ build/
13
+ develop-eggs/
14
+ dist/
15
+ downloads/
16
+ eggs/
17
+ .eggs/
18
+ lib/
19
+ lib64/
20
+ parts/
21
+ sdist/
22
+ var/
23
+ *.egg-info/
24
+ .installed.cfg
25
+ *.egg
26
+
27
+ # PyInstaller
28
+ # Usually these files are written by a python script from a template
29
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
30
+ *.manifest
31
+ *.spec
32
+
33
+ # Installer logs
34
+ pip-log.txt
35
+ pip-delete-this-directory.txt
36
+
37
+ # Unit test / coverage reports
38
+ htmlcov/
39
+ .tox/
40
+ .coverage
41
+ .coverage.*
42
+ .cache
43
+ nosetests.xml
44
+ coverage.xml
45
+ *,cover
46
+ .hypothesis/
47
+ venv/
48
+ .venv/
49
+ .python-version
50
+ .pytest_cache
51
+
52
+ # Translations
53
+ *.mo
54
+ *.pot
55
+
56
+ # Django stuff:
57
+ *.log
58
+
59
+ # Sphinx documentation
60
+ docs/_build/
61
+
62
+ # PyBuilder
63
+ target/
64
+
65
+ #Ipython Notebook
66
+ .ipynb_checkpoints
67
+
68
+ datasets
69
+
70
+ .DS_Store
71
+
72
+ venv
@@ -0,0 +1,97 @@
1
+ cyborgdb/openapi_client/__init__.py
2
+ cyborgdb/openapi_client/api/__init__.py
3
+ cyborgdb/openapi_client/api/default_api.py
4
+ cyborgdb/openapi_client/api_client.py
5
+ cyborgdb/openapi_client/api_response.py
6
+ cyborgdb/openapi_client/configuration.py
7
+ cyborgdb/openapi_client/docs/BatchQueryRequest.md
8
+ cyborgdb/openapi_client/docs/Contents.md
9
+ cyborgdb/openapi_client/docs/CreateIndexRequest.md
10
+ cyborgdb/openapi_client/docs/CyborgdbServiceApiSchemasIndexSuccessResponseModel.md
11
+ cyborgdb/openapi_client/docs/CyborgdbServiceApiSchemasVectorsSuccessResponseModel.md
12
+ cyborgdb/openapi_client/docs/DefaultApi.md
13
+ cyborgdb/openapi_client/docs/DeleteRequest.md
14
+ cyborgdb/openapi_client/docs/ErrorResponseModel.md
15
+ cyborgdb/openapi_client/docs/GetRequest.md
16
+ cyborgdb/openapi_client/docs/GetResponseModel.md
17
+ cyborgdb/openapi_client/docs/GetResultItemModel.md
18
+ cyborgdb/openapi_client/docs/HTTPValidationError.md
19
+ cyborgdb/openapi_client/docs/IndexConfig.md
20
+ cyborgdb/openapi_client/docs/IndexIVFFlatModel.md
21
+ cyborgdb/openapi_client/docs/IndexIVFModel.md
22
+ cyborgdb/openapi_client/docs/IndexIVFPQModel.md
23
+ cyborgdb/openapi_client/docs/IndexInfoResponseModel.md
24
+ cyborgdb/openapi_client/docs/IndexListResponseModel.md
25
+ cyborgdb/openapi_client/docs/IndexOperationRequest.md
26
+ cyborgdb/openapi_client/docs/QueryRequest.md
27
+ cyborgdb/openapi_client/docs/QueryResponse.md
28
+ cyborgdb/openapi_client/docs/QueryResultItem.md
29
+ cyborgdb/openapi_client/docs/Request.md
30
+ cyborgdb/openapi_client/docs/Results.md
31
+ cyborgdb/openapi_client/docs/TrainRequest.md
32
+ cyborgdb/openapi_client/docs/UpsertRequest.md
33
+ cyborgdb/openapi_client/docs/ValidationError.md
34
+ cyborgdb/openapi_client/docs/ValidationErrorLocInner.md
35
+ cyborgdb/openapi_client/docs/VectorItem.md
36
+ cyborgdb/openapi_client/exceptions.py
37
+ cyborgdb/openapi_client/models/__init__.py
38
+ cyborgdb/openapi_client/models/batch_query_request.py
39
+ cyborgdb/openapi_client/models/contents.py
40
+ cyborgdb/openapi_client/models/create_index_request.py
41
+ cyborgdb/openapi_client/models/cyborgdb_service_api_schemas_index_success_response_model.py
42
+ cyborgdb/openapi_client/models/cyborgdb_service_api_schemas_vectors_success_response_model.py
43
+ cyborgdb/openapi_client/models/delete_request.py
44
+ cyborgdb/openapi_client/models/error_response_model.py
45
+ cyborgdb/openapi_client/models/get_request.py
46
+ cyborgdb/openapi_client/models/get_response_model.py
47
+ cyborgdb/openapi_client/models/get_result_item_model.py
48
+ cyborgdb/openapi_client/models/http_validation_error.py
49
+ cyborgdb/openapi_client/models/index_config.py
50
+ cyborgdb/openapi_client/models/index_info_response_model.py
51
+ cyborgdb/openapi_client/models/index_ivf_flat_model.py
52
+ cyborgdb/openapi_client/models/index_ivf_model.py
53
+ cyborgdb/openapi_client/models/index_ivfpq_model.py
54
+ cyborgdb/openapi_client/models/index_list_response_model.py
55
+ cyborgdb/openapi_client/models/index_operation_request.py
56
+ cyborgdb/openapi_client/models/query_request.py
57
+ cyborgdb/openapi_client/models/query_response.py
58
+ cyborgdb/openapi_client/models/query_result_item.py
59
+ cyborgdb/openapi_client/models/request.py
60
+ cyborgdb/openapi_client/models/results.py
61
+ cyborgdb/openapi_client/models/train_request.py
62
+ cyborgdb/openapi_client/models/upsert_request.py
63
+ cyborgdb/openapi_client/models/validation_error.py
64
+ cyborgdb/openapi_client/models/validation_error_loc_inner.py
65
+ cyborgdb/openapi_client/models/vector_item.py
66
+ cyborgdb/openapi_client/rest.py
67
+ cyborgdb/openapi_client/test/__init__.py
68
+ cyborgdb/openapi_client/test/test_batch_query_request.py
69
+ cyborgdb/openapi_client/test/test_contents.py
70
+ cyborgdb/openapi_client/test/test_create_index_request.py
71
+ cyborgdb/openapi_client/test/test_cyborgdb_service_api_schemas_index_success_response_model.py
72
+ cyborgdb/openapi_client/test/test_cyborgdb_service_api_schemas_vectors_success_response_model.py
73
+ cyborgdb/openapi_client/test/test_default_api.py
74
+ cyborgdb/openapi_client/test/test_delete_request.py
75
+ cyborgdb/openapi_client/test/test_error_response_model.py
76
+ cyborgdb/openapi_client/test/test_get_request.py
77
+ cyborgdb/openapi_client/test/test_get_response_model.py
78
+ cyborgdb/openapi_client/test/test_get_result_item_model.py
79
+ cyborgdb/openapi_client/test/test_http_validation_error.py
80
+ cyborgdb/openapi_client/test/test_index_config.py
81
+ cyborgdb/openapi_client/test/test_index_info_response_model.py
82
+ cyborgdb/openapi_client/test/test_index_ivf_flat_model.py
83
+ cyborgdb/openapi_client/test/test_index_ivf_model.py
84
+ cyborgdb/openapi_client/test/test_index_ivfpq_model.py
85
+ cyborgdb/openapi_client/test/test_index_list_response_model.py
86
+ cyborgdb/openapi_client/test/test_index_operation_request.py
87
+ cyborgdb/openapi_client/test/test_query_request.py
88
+ cyborgdb/openapi_client/test/test_query_response.py
89
+ cyborgdb/openapi_client/test/test_query_result_item.py
90
+ cyborgdb/openapi_client/test/test_request.py
91
+ cyborgdb/openapi_client/test/test_results.py
92
+ cyborgdb/openapi_client/test/test_train_request.py
93
+ cyborgdb/openapi_client/test/test_upsert_request.py
94
+ cyborgdb/openapi_client/test/test_validation_error.py
95
+ cyborgdb/openapi_client/test/test_validation_error_loc_inner.py
96
+ cyborgdb/openapi_client/test/test_vector_item.py
97
+ cyborgdb/openapi_client_README.md
@@ -0,0 +1 @@
1
+ 7.13.0
@@ -0,0 +1,27 @@
1
+ # OpenAPI Generator Ignore
2
+ # Generated by openapi-generator https://github.com/openapitools/openapi-generator
3
+
4
+ # Use this file to prevent files from being overwritten by the generator.
5
+ # The patterns follow closely to .gitignore or .dockerignore.
6
+
7
+ # As an example, the C# client generator defines ApiClient.cs.
8
+ # You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
9
+ #ApiClient.cs
10
+
11
+ # You can match any string of characters against a directory, file or extension with a single asterisk (*):
12
+ #foo/*/qux
13
+ # The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
14
+
15
+ # You can recursively match patterns against a directory, file or extension with a double asterisk (**):
16
+ #foo/**/qux
17
+ # This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
18
+
19
+ # You can also negate patterns with an exclamation (!).
20
+ # For example, you can ignore all files in a docs folder with the file extension .md:
21
+ #docs/*.md
22
+ # Then explicitly reverse the ignore rule for a single file:
23
+ #!docs/README.md
24
+
25
+ # Ignore all files in the client folder
26
+ cyborgdb/client/**
27
+ cyborgdb/__init__.py
@@ -0,0 +1,8 @@
1
+ # This is a comment.
2
+ # Each line is a file pattern followed by one or more owners.
3
+
4
+ # These owners will be the default owners for everything in
5
+ # the repo. Unless a later match takes precedence,
6
+ # @global-owner1 and @global-owner2 will be requested for
7
+ # review when someone opens a pull request.
8
+ * @dupontcyborg @ahellegit
@@ -0,0 +1,7 @@
1
+ Copyright 2025, Cyborg Inc.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,104 @@
1
+ Metadata-Version: 2.4
2
+ Name: cyborgdb
3
+ Version: 0.11.0
4
+ Summary: CyborgDB Python Client
5
+ Author: Cyborg Inc.
6
+ License: MIT
7
+ Project-URL: Homepage, https://www.cyborg.co
8
+ Project-URL: Documentation, https://docs.cyborg.co
9
+ Keywords: OpenAPI,OpenAPI-Generator,CyborgDB Service
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Intended Audience :: Information Technology
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: C++
20
+ Classifier: Topic :: Database
21
+ Classifier: Topic :: Database :: Database Engines/Servers
22
+ Classifier: Topic :: Security :: Cryptography
23
+ Classifier: Topic :: Software Development :: Libraries
24
+ Requires-Python: >=3.8
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Requires-Dist: urllib3<3.0.0,>=1.25.3
28
+ Requires-Dist: python-dateutil>=2.8.2
29
+ Requires-Dist: pydantic>=2
30
+ Requires-Dist: typing-extensions>=4.7.1
31
+ Dynamic: license-file
32
+
33
+ # CyborgDB Python SDK
34
+
35
+ The **CyborgDB Python SDK** provides a comprehensive client library for interacting with [CyborgDB](https://www.cyborg.co), the first Confidential Vector Database. This SDK enables you to perform encrypted vector operations including ingestion, search, and retrieval while maintaining end-to-end encryption of your vector embeddings.
36
+
37
+ This SDK provides an interface to `cyborgdb-service` which you will need to separately install and run in order to use the SDK. For more info, please see our [docs](https://docs.cyborg.co)
38
+
39
+ **Why CyborgDB?**
40
+
41
+ Vector Search powers critical AI applications like RAG systems, recommendation engines, and semantic search. The CyborgDB JS/TS SDK brings confidential computing to your web applications and Node.js services, ensuring vector embeddings remain encrypted throughout their entire lifecycle while providing fast, accurate search capabilities.
42
+
43
+ **Key Features**
44
+
45
+ * **End-to-End Encryption**: All vector operations maintain encryption with client-side keys
46
+ * **Batch Operations**: Efficient batch queries and upserts for high-throughput applications
47
+ * **Flexible Indexing**: Support for multiple index types (IVFFlat, IVFPQ, etc.) with customizable parameters
48
+
49
+ **Installation**
50
+
51
+ 1. Install `cyborgdb-service`
52
+
53
+ ```bash
54
+ # Install the CyborgDB Service
55
+ pip install cyborgdb-service
56
+ ```
57
+
58
+ 2. Install `cyborgdb` SDK:
59
+
60
+ ```bash
61
+ # Install the CyborgDB Python SDK
62
+ pip install cyborgdb
63
+ ```
64
+
65
+ **Usage**
66
+
67
+ ```py
68
+ # TBD
69
+ ```
70
+
71
+ **Advanced Usage**
72
+
73
+ **Batch Queries**
74
+
75
+ ```py
76
+ # TBD
77
+ ```
78
+
79
+ **Metadata Filtering**
80
+
81
+ ```py
82
+ # TBD
83
+ ```
84
+
85
+ **Index Training**
86
+
87
+ ```py
88
+ # TBD
89
+ ```
90
+
91
+ **Documentation**
92
+
93
+ For more detailed documentation, visit:
94
+ * [CyborgDB Documentation](https://docs.cyborg.co/)
95
+
96
+ **License**
97
+
98
+ The CyborgDB Python SDK is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.
99
+
100
+ **About CyborgDB**
101
+
102
+ CyborgDB is dedicated to making AI safe and secure through confidential computing. We develop solutions that enable organizations to leverage AI while maintaining the confidentiality and privacy of their data.
103
+
104
+ [Visit our website](https://www.cyborg.co/) | [Contact Us](mailto:hello@cyborg.co)