Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
140 commits
Select commit Hold shift + click to select a range
b28928e
Add audio param support in connect rtstream
ashish-spext Jul 17, 2025
ac1fa60
Remove timeline v2 to avoid conflict
ashish-spext Jul 17, 2025
35a0240
Add get trasscript for rtstream
ashish-spext Jul 17, 2025
2e7a564
Add joined status for meeting bot
ashish-spext Jul 21, 2025
6322432
Update README with full SDK coverage and updated examples
Nischay-VideoDB Nov 3, 2025
2889cb9
fix: Fit Enum
ankit-v2-3 Dec 24, 2025
1f325b1
Add reframe, smart vertical reframe and download functionality for vi…
ashish-spext Dec 25, 2025
4054df1
Add support for audio transcription and remove not required segmenter…
ashish-spext Dec 25, 2025
de2e32a
build: update version
ankit-v2-3 Dec 26, 2025
5c290e6
Ankit/add videodb editor (#52)
ankit-v2-3 Dec 26, 2025
0514596
Update Editor Section
Nischay-VideoDB Jan 5, 2026
c66bf93
Merge branch 'video-db:main' into main
Nischay-VideoDB Jan 5, 2026
280ecf3
fix: https payload limit
ankit-v2-3 Jan 6, 2026
d6bf260
fix: payload limit to 100kb
ankit-v2-3 Jan 6, 2026
bd2c489
fix: remove font weight
ankit-v2-3 Jan 6, 2026
d3c606f
Merge branch 'release-0-4-0' into ankit/add-videodb-editor
ankit-v2-3 Jan 6, 2026
fe34907
Merge pull request #56 from video-db/ankit/add-videodb-editor
ankit-v2-3 Jan 6, 2026
d661049
build: update sdk version
ankit-v2-3 Jan 6, 2026
da16dd6
Merge branch 'release-0-4-0' of https://github.com/video-db/videodb-p…
ankit-v2-3 Jan 6, 2026
595899d
fix: collection upload
ankit-v2-3 Jan 6, 2026
43113c7
Merge pull request #57 from video-db/ankit/fix-collection-upload
ankit-v2-3 Jan 6, 2026
8b9a18b
fix: Allow 0 as score threshold and result threshold
ankit-v2-3 Jan 6, 2026
b298603
feat: add scene_index_id, scene_index_name, metadata in Shot
ankit-v2-3 Jan 6, 2026
e5a545d
feat: segmentation_type llm in spoken word index
ankit-v2-3 Jan 6, 2026
f4bf275
feat: video add clips
ankit-v2-3 Jan 6, 2026
4261ea9
Merge pull request #58 from video-db/add-rt-meeting-support
ashish-spext Jan 6, 2026
75a4546
fix: formatting
ankit-v2-3 Jan 6, 2026
c650463
fix: Meeting __repr__
ankit-v2-3 Jan 6, 2026
c46750e
fix: remove realtime stream from meeting
ankit-v2-3 Jan 7, 2026
0f682d8
rtstream: add optional audio streams, new index type : transcript and…
0xrohitgarg Jan 15, 2026
1bd11cb
rtstream: RTStreamSearchResult
0xrohitgarg Jan 15, 2026
39ccd88
Add rtstream namespace collection search
ashish-spext Jan 16, 2026
b4e6139
Remove stitch, rerank params from rtstream collection search
0xrohitgarg Jan 16, 2026
99ce6fa
Merge pull request #60 from video-db/codex/add-/rtstream/collection/s…
0xrohitgarg Jan 16, 2026
54dd888
feat: add Capture Session and WebSocket support
lalit-videodb Jan 16, 2026
086d31b
fix: remove unused imports for ruff linting
lalit-videodb Jan 16, 2026
90eb909
fix: remove remaining unused imports
lalit-videodb Jan 16, 2026
a99dac6
feat: add enable_transcript and ws_connection_id to connect_rtstream
lalit-videodb Jan 16, 2026
465480d
accept ws_connection_id in spoken index and scene index
0xrohitgarg Jan 16, 2026
75115e5
feat: implement backend SDK support for CaptureSession and RTStream r…
lalit-videodb Jan 20, 2026
83c6061
feat: implement desktop capture sdk and binary communication protocol
lalit-videodb Jan 20, 2026
d257804
refactor(capture): refine CaptureClient API and session handling
lalit-videodb Jan 21, 2026
c3a6351
fix(lint): fix unused imports and exports
lalit-videodb Jan 21, 2026
37dc162
feat: Add specialized indexing methods and stream retrieval
lalit-videodb Jan 21, 2026
8e690fb
fix: Remove unused Optional import in capture_session.py
lalit-videodb Jan 21, 2026
47a0ddf
feat: Simplify RTStream filtering and add index_audio/index_visuals
lalit-videodb Jan 21, 2026
2dc797f
start an stop transcript methods
0xrohitgarg Jan 21, 2026
97a7541
refactor: decouple token/session, simplify channels, and rename socke…
lalit-videodb Jan 21, 2026
ab0590a
Merge pull request #50 from Nischay-VideoDB/main
codeAshu Jan 22, 2026
c2c4792
refactor: standardize RTStream channel types and normalize rtstream d…
lalit-videodb Jan 22, 2026
33581ef
rtstream: ws_connection_id support for rtstream
0xrohitgarg Jan 22, 2026
af57791
Add options in list rtstream
ashish-spext Jan 22, 2026
edacc97
feat: github workflows for SDK sync
omgate234 Jan 23, 2026
4df7b41
feat: openai.yaml spec
omgate234 Jan 23, 2026
ebf0172
fix: correct prompts file URL
omgate234 Jan 23, 2026
7af1f03
feat: updated `openapi.yaml`
omgate234 Jan 23, 2026
4cde80a
Merge pull request #61 from omgate234/feat/sdk-sync-workflows
ashish-spext Jan 23, 2026
10ac7e7
refactor: move websockets to mandatory dependencies in setup.py
lalit-videodb Jan 27, 2026
8aaa1e1
fix: include capture binaries in repository for git-based installation
lalit-videodb Jan 27, 2026
526af71
refactor: rename upload_token to client_token in CaptureClient
lalit-videodb Feb 3, 2026
3e5a244
feat: add session_token support for WebSocket connections
lalit-videodb Feb 4, 2026
1ae28c7
refactor: make channel store property configurable
lalit-videodb Feb 4, 2026
2c6adf7
feat: add platform-specific capture binaries for macOS, Windows
lalit-videodb Feb 5, 2026
b22a0ef
fix: handle non-UTF-8 binary output on Windows
lalit-videodb Feb 5, 2026
235136b
fix: merge duplicate __all__ exports in __init__.py
lalit-videodb Feb 5, 2026
ba66a67
refactor: move capture binaries to separate repo, add ChannelList API
lalit-videodb Feb 6, 2026
3e4d854
Update capture binary dependency to 0.2.5
lalit-videodb Feb 6, 2026
cd467dc
add index methods
0xrohitgarg Feb 9, 2026
b80be79
Merge pull request #64 from video-db/video-index-methods
0xrohitgarg Feb 9, 2026
342fefa
Update audio index method
0xrohitgarg Feb 12, 2026
9c961f2
feat: replace audio/video bool flags with media_types list in connect…
lalit-videodb Feb 12, 2026
c4e1b46
remove default values for indexing functions
0xrohitgarg Feb 12, 2026
4d93eff
Update openapi.yaml
ashish-spext Feb 12, 2026
015ab0f
feat: add RTStream export and improve capture API
lalit-videodb Feb 12, 2026
9186e39
Default engine: None for Rtstream.start_transript & Rtstream.stop_tra…
0xrohitgarg Feb 12, 2026
9ffdce3
Merge branch 'release-0-4-0' of github.com:video-db/videodb-python in…
0xrohitgarg Feb 12, 2026
4800657
Merge pull request #59 from video-db/release-0-4-0
ashish-spext Feb 12, 2026
c707c7c
feat: update capture binary support and add session export
lalit-videodb Mar 5, 2026
76ca874
Add multi-screen export support to CaptureSession
lalit-videodb Mar 5, 2026
3f1f739
feat: add is_primary to Channel, remove exported_videos from CaptureS…
lalit-videodb Mar 10, 2026
3bd79dc
fix: add deprecation warning for primary_video_channel_id, rename con…
lalit-videodb Mar 10, 2026
bfd19f8
fix: remove unused Channel import (ruff F401)
lalit-videodb Mar 10, 2026
15ee953
Merge pull request #65 from video-db/release-0-4-1
lalit-videodb Mar 10, 2026
697f5f3
feat: rtstream stream url player handling
omgate234 Mar 10, 2026
1b01689
feat: remove player render option
omgate234 Mar 10, 2026
c8aa70f
feat: player as a config
omgate234 Mar 10, 2026
d8236a5
chore: bump version to 0.4.2
lalit-videodb Mar 10, 2026
0ffce62
Merge pull request #67 from video-db/release-0-4-2
lalit-videodb Mar 10, 2026
54a2c91
fix: type annotations, clip return type, shot URLs, and caption warning
lalit-videodb Mar 17, 2026
a40e767
chore: bump version to 0.4.3, require capture-bin>=0.2.9
lalit-videodb Mar 17, 2026
88e326a
feat: add language_code param to generate_transcript
lalit-videodb Mar 17, 2026
d6770ce
fix: remove record param from Channel.to_dict()
lalit-videodb Mar 18, 2026
d2a90d9
chore: bump capture binary requirement to >=0.2.10
lalit-videodb Mar 18, 2026
5111b7a
feat: separate camera channels from displays, use ID-prefix grouping
lalit-videodb Mar 18, 2026
eff38c5
feat: add `get_embed_code` functionality
omgate234 Mar 19, 2026
44bd483
feat: naming of function
omgate234 Mar 19, 2026
3397dde
feat: test suite
omgate234 Mar 19, 2026
01ce3ba
feat: delete test suite
omgate234 Mar 19, 2026
bbcad43
Merge pull request #68 from video-db/release-0-4-3
lalit-videodb Mar 25, 2026
e57ef0d
sort_docs_on for videodb search
0xrohitgarg Mar 24, 2026
b2297bb
model_config support in scene.describe() method
0xrohitgarg Mar 25, 2026
ed8311d
feat: add video.update() method, bump version to 0.4.4, capture-bin>=…
lalit-videodb Mar 25, 2026
3065524
Merge pull request #70 from video-db/release-0-4-4
lalit-videodb Mar 26, 2026
3136959
feat: logic simplification
omgate234 Mar 31, 2026
f6ab778
Merge remote-tracking branch 'upstream/main' into feat/player-embed-code
omgate234 Mar 31, 2026
be3fc47
fix: ruff check handling
omgate234 Apr 1, 2026
633e2f9
Bump version to 0.4.5, update README with capture sessions, websocket…
lalit-videodb Apr 5, 2026
305d86c
Merge pull request #71 from omgate234/feat/player-embed-code
lalit-videodb Apr 5, 2026
4691ad5
Add CodeQL, update CI actions to v4/v5, standardize workflow extensio…
lalit-videodb Apr 6, 2026
0e35eae
Fix SDK issues: segmenter validation, internal search types, editor V…
lalit-videodb Apr 6, 2026
b9c11df
Add release-pypi workflow, changelog categories, and CI improvements
lalit-videodb Apr 6, 2026
0c467f1
Add credential patterns to .gitignore
lalit-videodb Apr 9, 2026
dede416
Fix audio.length type and deprecate old Timeline
lalit-videodb Apr 10, 2026
186569f
Document supported language_code formats in docstrings
lalit-videodb Apr 13, 2026
3fcc36a
Add AudioAsset volume validation and Frame.describe model_config support
lalit-videodb Apr 13, 2026
5819f13
Remove volume range validation from editor assets
lalit-videodb Apr 15, 2026
431536e
Merge pull request #72 from video-db/release-0-4-5
lalit-videodb Apr 15, 2026
181bf59
feat: add indexing v2
ankit-v2-3 Jun 23, 2026
d32073d
fix: formatting
ankit-v2-3 Jun 23, 2026
c902768
feat: add search v2 SDK interface
sankalp-videodb Jun 23, 2026
b5053e4
chore: improve legacy search warning
sankalp-videodb Jun 23, 2026
c0acb08
Revert "chore: improve legacy search warning"
sankalp-videodb Jun 23, 2026
e64f667
feat: understanding module
0xrohitgarg Jun 24, 2026
b9b6f26
Allow semantic_search without index_names
sankalp-videodb Jun 25, 2026
6a813e4
fix: rename start, end and segment_id
ankit-v2-3 Jun 26, 2026
03510cb
Add ask API
sankalp-videodb Jun 26, 2026
a971573
fix: extract_type
ankit-v2-3 Jun 26, 2026
ba4443e
Merge branch 'feat/add-indexing-v2' of https://github.com/video-db/vi…
ankit-v2-3 Jun 26, 2026
8d3857c
fix: add error state
ankit-v2-3 Jun 26, 2026
84fb8a2
fix: inline
ankit-v2-3 Jun 29, 2026
398109b
Add explicit index id search params
sankalp-videodb Jun 30, 2026
642659c
Add RTStream v2 understand SDK methods
lalit-videodb Jul 2, 2026
d7cb101
Merge pull request #80 from video-db/feat/rtstream-understand
lalit-videodb Jul 2, 2026
7adbc3f
Add RTStream v2 index SDK methods
lalit-videodb Jul 2, 2026
66bd95e
Merge pull request #81 from video-db/feat/rtstream-understand
lalit-videodb Jul 2, 2026
4697c61
Add index alert methods to RTStreamIndex
lalit-videodb Jul 2, 2026
50e00e2
Merge pull request #82 from video-db/feat/rtstream-understand
lalit-videodb Jul 2, 2026
dc47934
feat: add agentic stream
ankit-v2-3 Jul 3, 2026
96f6896
fix: repr
ankit-v2-3 Jul 3, 2026
3b0f4c4
fix: update stream
ankit-v2-3 Jul 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
changelog:
categories:
- title: New Features
labels: [enhancement, feature]
- title: Bug Fixes
labels: [bug, fix]
- title: Improvements
labels: [improvement, refactor]
- title: Documentation
labels: [documentation, docs]
- title: Other Changes
labels: ["*"]
exclude:
labels: [skip-changelog]
74 changes: 47 additions & 27 deletions .github/workflows/ci.yaml → .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,72 +1,92 @@
name: Continuous Integration Workflow
# Trigger the workflow on push or pull request, on main branch
name: CI

on:
push:
branches: [ main ]
branches: [ main, release-* ]
pull_request:
branches: [ main ]
workflow_call:

permissions: {}

# Define environment variables
env:
concurrency:
group: ci-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

env:
PYTHON_VERSION: 3.9
APP_DIR: ./

jobs:
lint:
runs-on: ubuntu-latest
permissions:
contents: read
timeout-minutes: 10
steps:
- uses: actions/checkout@v2
- name: Set up Python 3
uses: actions/setup-python@v2
- uses: actions/checkout@v4
with:
persist-credentials: false

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Install dependencies
run: |
run: |
python -m pip install --upgrade pip
pip install -r requirements-dev.txt

- name: Run linter
run: |
ruff check ${{ env.APP_DIR }}
run: ruff check --output-format github ./

test:
runs-on: ubuntu-latest
permissions:
contents: read
timeout-minutes: 15
steps:
- uses: actions/checkout@v2
- name: Set up Python 3
uses: actions/setup-python@v2
- uses: actions/checkout@v4
with:
persist-credentials: false

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Install dependencies
run: |
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt

- name: Run tests
run: |
python -m pytest tests/
run: python -m pytest tests/

build:
runs-on: ubuntu-latest
permissions:
contents: read
timeout-minutes: 10
steps:
- uses: actions/checkout@v2
- name: Set up Python 3
uses: actions/setup-python@v2
- uses: actions/checkout@v4
with:
persist-credentials: false

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Install dependencies
run: |
run: |
python -m pip install --upgrade pip
pip install setuptools==68.0.0
pip install -r requirements.txt
pip install -r requirements-dev.txt

- name: Build
run: |
run: |
python setup.py sdist bdist_wheel
twine check dist/*
37 changes: 37 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: CodeQL Analysis

on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: "0 6 * * 1" # Every Monday at 6am UTC

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
security-events: write
strategy:
fail-fast: false
matrix:
language: [python]

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@v3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{ matrix.language }}"
167 changes: 167 additions & 0 deletions .github/workflows/generate-from-spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
name: Generate SDK from OpenAPI Spec

on:
push:
paths:
- 'openapi.yaml'

# Manual trigger for testing
workflow_dispatch:

jobs:
generate:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write

steps:
- name: Checkout Python SDK
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Get branch and diff info
id: info
run: |
# Get the branch name this workflow is running on
BRANCH_NAME="${GITHUB_REF#refs/heads/}"
echo "branch_name=$BRANCH_NAME" >> $GITHUB_OUTPUT

# Get commit SHAs for diff
BEFORE_SHA="${{ github.event.before }}"
AFTER_SHA="${{ github.sha }}"

# Handle new branch case
if [[ "$BEFORE_SHA" == "0000000000000000000000000000000000000000" ]]; then
BEFORE_SHA=$(git rev-parse HEAD~1 2>/dev/null || echo "")
fi

echo "before_sha=$BEFORE_SHA" >> $GITHUB_OUTPUT
echo "after_sha=$AFTER_SHA" >> $GITHUB_OUTPUT

# Generate diff for the spec file
if [[ -n "$BEFORE_SHA" ]]; then
git diff "$BEFORE_SHA" "$AFTER_SHA" -- openapi.yaml > spec.diff || touch spec.diff
else
touch spec.diff
fi

echo "Diff size: $(wc -l < spec.diff) lines"
echo "Running on branch: $BRANCH_NAME"

- name: Fetch prompt and build context
run: |
# Fetch static prompt from agent-toolkit
curl -sL https://raw.githubusercontent.com/video-db/agent-toolkit/main/context/prompts/spec-to-python-sdk.txt > static_prompt.txt

# Build full prompt with dynamic content
cat > codex_prompt.md << 'PROMPT_EOF'
## Git Diff of OpenAPI Spec Changes

The following diff shows what changed in the API specification:

```diff
PROMPT_EOF

cat spec.diff >> codex_prompt.md

cat >> codex_prompt.md << 'PROMPT_EOF'
```

## Current OpenAPI Spec

If you need to reference the full spec for context, it's available at: openapi.yaml

---

PROMPT_EOF

# Append static instructions
cat static_prompt.txt >> codex_prompt.md

echo "Prompt built successfully"

- name: Run Codex
uses: openai/codex-action@v1
with:
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
model: o4-mini
sandbox: workspace-write
prompt-file: codex_prompt.md

- name: Check for changes and create PR
id: create_pr
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Configure git
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

# Check if there are changes
if git diff --quiet && git diff --staged --quiet; then
echo "No changes generated by Codex"
echo "has_changes=false" >> $GITHUB_OUTPUT
exit 0
fi

echo "has_changes=true" >> $GITHUB_OUTPUT

# Clean up temporary files - DO NOT commit these
rm -f spec.diff static_prompt.txt codex_prompt.md

# Get the base branch name
BASE_BRANCH="${{ steps.info.outputs.branch_name }}"

# Create work branch from the current branch
WORK_BRANCH="auto/spec-sync-$(date +%Y%m%d-%H%M%S)"
git checkout -b "$WORK_BRANCH"
git add -A

# Commit
git commit -m "feat: sync with OpenAPI spec changes

Source branch: ${BASE_BRANCH}

Generated by OpenAI Codex"

# Push
git push origin "$WORK_BRANCH"

echo "work_branch=$WORK_BRANCH" >> $GITHUB_OUTPUT
echo "base_branch=$BASE_BRANCH" >> $GITHUB_OUTPUT

# Create PR targeting the original branch
gh pr create \
--base "$BASE_BRANCH" \
--title "feat: sync with OpenAPI spec" \
--body "## Summary

Automated SDK update based on OpenAPI spec changes.

**Base branch**: \`$BASE_BRANCH\`

## Review Checklist

- [ ] Generated code follows SDK conventions
- [ ] Method signatures are correct
- [ ] No breaking changes introduced
- [ ] Tests pass locally

---
*Generated by [OpenAI Codex](https://github.com/openai/codex)*"

- name: Trigger Node SDK Generation
if: steps.create_pr.outputs.has_changes == 'true'
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.SDK_SYNC_PAT }}
repository: ${{ github.repository_owner }}/videodb-node
event-type: python-updated
client-payload: |
{
"source_branch": "${{ steps.create_pr.outputs.work_branch }}",
"target_branch": "${{ steps.create_pr.outputs.base_branch }}",
"trigger_type": "spec_change"
}
Loading
Loading