Skip to content

Commit 8baac79

Browse files
Silviano DiazSilviano Diaz
authored andcommitted
Release v1.0.0b1
1 parent cf83d07 commit 8baac79

110 files changed

Lines changed: 26888 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/build.yml‎

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Build oracle-vecdb Python SDK
2+
3+
permissions:
4+
contents: read
5+
6+
# Build job automatically on tags, e.g., v1.0.0, v2.1.3, etc.
7+
on:
8+
push:
9+
tags:
10+
- "v*.*.*"
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-latest
15+
steps:
16+
# Checkout the repository to access code and build artifacts
17+
- name: Checkout repository
18+
uses: actions/checkout@v4
19+
20+
# Set up Python for building the SDK
21+
- name: Set up Python
22+
uses: actions/setup-python@v5
23+
with:
24+
python-version: "3.10"
25+
26+
# Install build dependencies
27+
- name: Install build dependencies
28+
run: |
29+
python -m pip install --upgrade pip
30+
pip install build
31+
32+
# Build vecdb Python SDK
33+
- name: Build vecdb Python SDK
34+
run: python -m build --sdist --wheel --outdir dist/
35+
36+
# Upload build artifacts for use in Publish workflow
37+
- name: Upload build artifacts
38+
uses: actions/upload-artifact@v4
39+
with:
40+
name: vecdb-python-sdk-artifacts
41+
path: dist/*

‎.github/workflows/publish.yml‎

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: Publish oracle-vecdb Python SDK
2+
3+
permissions:
4+
contents: write
5+
actions: read
6+
id-token: write
7+
8+
# Publish job triggered manually via GitHub UI or API
9+
on:
10+
workflow_dispatch:
11+
12+
jobs:
13+
publish:
14+
environment: oracle-vecdb-release
15+
runs-on: ubuntu-latest
16+
steps:
17+
# Checkout the repository to access changelog
18+
- name: Checkout repository
19+
uses: actions/checkout@v4
20+
21+
# Download artifacts from latest run of Build oracle-vecdb Python SDK workflow
22+
- name: Download artifacts
23+
env:
24+
GH_TOKEN: ${{ github.token }}
25+
# Use gh to find and download the artifact
26+
run: |
27+
mkdir -p dist
28+
gh run download --name vecdb-python-sdk-artifacts --dir dist --repo ${{ github.repository }}
29+
30+
# Publish to PyPI via Trusted Publisher (OIDC)
31+
- name: Publish to PyPI
32+
uses: pypa/gh-action-pypi-publish@release/v1
33+
with:
34+
skip-existing: true
35+
36+
# Extract release notes from CHANGELOG.rst
37+
- name: Extract release notes
38+
id: release_notes
39+
shell: python
40+
run: |
41+
import re
42+
import sys
43+
import os
44+
from pathlib import Path
45+
46+
# 1. Prepare version string
47+
tag = "${{ github.ref_name }}"
48+
version = tag.lstrip("v")
49+
50+
# 2. Load file
51+
changelog_path = Path("CHANGELOG.rst")
52+
if not changelog_path.exists():
53+
print(f"::error::CHANGELOG.rst not found")
54+
sys.exit(1)
55+
56+
content = changelog_path.read_text()
57+
58+
# 3. Regex Breakdown:
59+
# ^ matches start of line (due to MULTILINE)
60+
# {version} \s+ - \s+ \d{{4}}... matches "1.0.0 - 2026-03-17"
61+
# \n-+ matches the underline of dashes/equals
62+
# (.*?) captures the body until the next version header or end of file (\Z)
63+
pattern = re.compile(
64+
rf"^{re.escape(version)}\s+-\s+\d{{4}}-\d{{2}}-\d{{2}}\n-+\n(.*?)(?=\n\d+\.\d+\.\d+\s+-\s+\d{{4}}-\d{{2}}-\d{{2}}\n-+|\Z)",
65+
re.DOTALL | re.MULTILINE
66+
)
67+
68+
match = pattern.search(content)
69+
70+
if match:
71+
notes = match.group(1).strip()
72+
else:
73+
print(f"::warning::No section found for version {version}")
74+
notes = "No release notes found in CHANGELOG.rst"
75+
76+
# 4. The "Heredoc" method for multi-line GitHub outputs
77+
# This writes to the unique file path provided by the runner environment
78+
output_file = os.environ['GITHUB_OUTPUT']
79+
with open(output_file, 'a') as f:
80+
f.write(f"RELEASE_NOTES<<EOF\n{notes}\nEOF\n")
81+
82+
# Create GitHub Release
83+
- name: Create GitHub Release
84+
env:
85+
GH_TOKEN: ${{ github.token }}
86+
run: |
87+
gh release create ${{ github.ref_name }} \
88+
--title "${{ github.ref_name }}" \
89+
--notes "${{ steps.release_notes.outputs.RELEASE_NOTES }}"

‎.github/workflows/python.yml‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# NOTE: This file is auto generated by OpenAPI Generator.
2+
# URL: https://openapi-generator.tech
3+
#
4+
# ref: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
5+
6+
name: oracle_vecdb_internal Python package
7+
8+
on: [push, pull_request]
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
build:
15+
16+
runs-on: ubuntu-latest
17+
strategy:
18+
matrix:
19+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
20+
21+
steps:
22+
- uses: actions/checkout@v4
23+
- name: Set up Python ${{ matrix.python-version }}
24+
uses: actions/setup-python@v4
25+
with:
26+
python-version: ${{ matrix.python-version }}
27+
- name: Install dependencies
28+
run: |
29+
python -m pip install --upgrade pip
30+
pip install -r requirements.txt
31+
pip install -r test-requirements.txt
32+
- name: Test with pytest
33+
run: |
34+
pytest --cov=oracle_vecdb_internal

‎.gitignore‎

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
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+
reports/
48+
49+
venv/
50+
.venv/
51+
.vscode/
52+
.python-version
53+
.pytest_cache
54+
.mypy_cache/
55+
56+
57+
# Translations
58+
*.mo
59+
*.pot
60+
61+
*.log
62+
63+
# Sphinx documentation
64+
docs/build/
65+
66+
# PyBuilder
67+
target/
68+
69+
# Ipython Notebook
70+
.ipynb_checkpoints
71+
72+
# Oracle Parfait analysis cache
73+
__parfait__/

‎CHANGELOG.rst‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Changelog
2+
=========
3+
4+
All notable changes to this project will be documented in this file.
5+
6+
The format is based on the `Keep a Changelog <https://keepachangelog.com/en/1.1.0/>`__,
7+
and this project adheres to `Semantic Versioning <https://semver.org/spec/v2.0.0.html>`__.
8+
9+
.. Unreleased
10+
.. ----------
11+
12+
1.0.0b1 - 2026-03-24
13+
------------------
14+
15+
Added
16+
~~~~~
17+
18+
- Limited Availability release.
19+
- Support for vector table management, indexing, search, and inference operations in Oracle AI Database (26ai+).

‎MANIFEST.in‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
include LICENSE.txt README.md CHANGELOG.rst pyproject.toml
2+
recursive-include examples *.py

0 commit comments

Comments
 (0)