Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
cec2e04
make sdk modular
Jul 16, 2025
0bcbe6b
merge with main
Jul 16, 2025
507eaea
fix ci and code review comment
QeyCoder Jul 21, 2025
072aa2e
test cases
gaurav-vio Sep 8, 2025
39874db
merge;
gaurav-vio Sep 8, 2025
575a276
remove
gaurav-vio Sep 8, 2025
4f2acee
ci
gaurav-vio Sep 12, 2025
e66e1b0
keyframe
gaurav-vio Sep 16, 2025
a73af53
create project and template with sdk;
gaurav-vio Sep 16, 2025
ce352ef
client
gaurav-vio Sep 16, 2025
eaf51ec
merge master
gaurav-vio Sep 22, 2025
4ce3a22
Merge remote-tracking branch 'origin/main' into feature/LABIMP-7329-i…
gaurav-vio Sep 22, 2025
ee081e1
Merge remote-tracking branch 'origin/main' into feature/LABIMP-7570-d…
gaurav-vio Sep 23, 2025
255bd1f
connection list, save and test
gaurav-vio Sep 23, 2025
dbd387e
aws creds saves
gaurav-vio Sep 23, 2025
72f1504
test cases for aws
gaurav-vio Sep 23, 2025
aa2d795
improve formatting and fix linting
gaurav-vio Sep 23, 2025
141ff01
improve formatting and fix linting
gaurav-vio Sep 23, 2025
5934a43
ci fix
gaurav-vio Sep 23, 2025
f43d8ca
ci fix
gaurav-vio Sep 23, 2025
b33b53a
ci fix
gaurav-vio Sep 23, 2025
ea0e0a0
add aws cred to env
gaurav-vio Sep 24, 2025
469069b
change for connector
gaurav-vio Oct 3, 2025
4b8ecec
Merge remote-tracking branch 'origin/main' into feature/LABIMP-7661-c…
gaurav-vio Oct 3, 2025
577e9ad
pydantic and test cases changes
gaurav-vio Oct 4, 2025
cbd82c5
merge methods
gaurav-vio Oct 7, 2025
dcc6003
pr comment
gaurav-vio Oct 7, 2025
4582fa1
fix structure and lint
gaurav-vio Oct 8, 2025
877da30
remove mocking ;
gaurav-vio Oct 9, 2025
46ce811
fix tests
gaurav-vio Oct 9, 2025
0bb0c6d
fix tests
gaurav-vio Oct 9, 2025
19a5644
change tests
gaurav-vio Oct 9, 2025
31e3474
update param for client_id
gaurav-vio Oct 9, 2025
b9d24d7
update dataset id
gaurav-vio Oct 9, 2025
681e18e
update tests
gaurav-vio Oct 9, 2025
cee2b98
update infinite wait
gaurav-vio Oct 10, 2025
9177b95
update infinite wait
gaurav-vio Oct 10, 2025
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
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ message = [RELEASE] Bump version: {current_version} → {new_version}

[bumpversion:file:pyproject.toml]
search = version = "{current_version}"
replace = version = "{new_version}"
replace = version = "{new_version}"
21 changes: 21 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Labellerr SDK Integration Test Environment Variables
# Copy this file to .env and update with your actual credentials

# API Credentials
API_KEY=your_api_key_here
API_SECRET=your_api_secret_here
CLIENT_ID=your_client_id_here

# Test Email
CLIENT_EMAIL=your_test_email@example.com

# AWS Connection Credentials (JSON format)
# For video data type
AWS_CONNECTION_VIDEO={"access_key": "your_aws_access_key", "secret_key": "your_aws_secret_key", "s3_path": "your_s3_bucket_path", "data_type": "video", "name": "Video Connection", "description": "AWS S3 connection for video data"}

# For image data type
AWS_CONNECTION_IMAGE={"access_key": "your_aws_access_key", "secret_key": "your_aws_secret_key", "s3_path": "your_s3_bucket_path", "data_type": "image", "name": "Image Connection", "description": "AWS S3 connection for image data"}

# Optional: Additional test configuration
# TEST_TIMEOUT=300
# DEBUG_MODE=false
2 changes: 1 addition & 1 deletion .flake8
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[flake8]
max-line-length = 160
extend-ignore = E203, W503, E402
exclude = .git,__pycache__,.venv,build,dist,venv
exclude = .git,__pycache__,.venv,build,dist,venv
106 changes: 47 additions & 59 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,71 +1,59 @@
name: CI Pipeline
name: CI

on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]

env:
PYTHON_VERSION: '3.9'

jobs:
test:
name: Test Suite
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9']

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

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"

- name: Run linting
run: |
make lint
- name: Run linting
run: |
make format
- name: Run tests
run: |
make test

integration-test:
name: Integration Tests
runs-on: ubuntu-latest
needs: test
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop'

env:
API_KEY: ${{ secrets.API_KEY }}
API_SECRET: ${{ secrets.API_SECRET }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
TEST_EMAIL: ${{ secrets.TEST_EMAIL }}
AWS_CONNECTION_IMAGE: ${{ secrets.AWS_CONNECTION_IMAGE }}
AWS_CONNECTION_VIDEO: ${{ secrets.AWS_CONNECTION_VIDEO }}
GCS_CONNECTION_IMAGE: ${{ secrets.GCS_CONNECTION_IMAGE }}
GCS_CONNECTION_VIDEO: ${{ secrets.GCS_CONNECTION_VIDEO }}

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

- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.9'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"

- name: Run integration tests
env:
LABELLERR_API_KEY: ${{ secrets.LABELLERR_API_KEY }}
LABELLERR_API_SECRET: ${{ secrets.LABELLERR_API_SECRET }}
LABELLERR_CLIENT_ID: ${{ secrets.LABELLERR_CLIENT_ID }}
LABELLERR_TEST_EMAIL: ${{ secrets.LABELLERR_TEST_EMAIL }}
run: |
python -m pytest labellerr_use_case_tests.py -v
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"

- name: Run linting
run: |
if grep -q "^lint:" Makefile; then
make lint
else
pip install ruff
ruff check .
fi

- name: Run formatting check
run: |
if grep -q "^format:" Makefile; then
make format
else
pip install black
black --check .
fi

- name: Run unit tests
run: make test

- name: Run integration tests
run: make integration-test
8 changes: 6 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,12 @@ jobs:
LABELLERR_API_SECRET: ${{ secrets.LABELLERR_API_SECRET }}
LABELLERR_CLIENT_ID: ${{ secrets.LABELLERR_CLIENT_ID }}
LABELLERR_TEST_EMAIL: ${{ secrets.LABELLERR_TEST_EMAIL }}
AWS_CONNECTION_IMAGE: ${{ secrets.AWS_CONNECTION_IMAGE }}
AWS_CONNECTION_VIDEO: ${{ secrets.AWS_CONNECTION_VIDEO }}
GCS_CONNECTION_IMAGE: ${{ secrets.GCS_CONNECTION_IMAGE }}
GCS_CONNECTION_VIDEO: ${{ secrets.GCS_CONNECTION_VIDEO }}
run: |
python -m pytest labellerr_use_case_tests.py -v
python -m pytest labellerr_integration_case_tests.py -v

release:
name: Create Release
Expand Down Expand Up @@ -256,4 +260,4 @@ jobs:
echo "❌ Release failed!"
echo "Release job: ${{ needs.release.result }}"
echo "Build job: ${{ needs.build.result }}"
exit 1
exit 1
51 changes: 4 additions & 47 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,53 +19,10 @@ sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# IDE
*.pyc
*/*.pyc
.idea
.vscode/
*.swp
*.swo
*~

# OS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Environment
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# Testing
.coverage
htmlcov/
.pytest_cache/
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.tox/

# Documentation
docs/_build/
site/

# Release files
.bumpversion.cfg.bak
*.bak

# Claude
.DS_Store
.claude

# Test data
tests/test_data
tests/test_data
43 changes: 43 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: check-added-large-files
- id: check-merge-conflict
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- id: debug-statements
- id: mixed-line-ending

- repo: https://github.com/psf/black
rev: 24.8.0
hooks:
- id: black
args: ["--line-length=88"]

- repo: https://github.com/pycqa/isort
rev: 5.13.2
hooks:
- id: isort
args: ["--profile=black", "--line-length=88"]

- repo: https://github.com/pycqa/flake8
rev: 7.1.1
hooks:
- id: flake8
additional_dependencies: []

- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.11.2
hooks:
- id: mypy
args: ["--config=pyproject.toml"]
additional_dependencies:
- types-requests
- types-aiofiles
files: ^labellerr/

ci:
autoupdate_schedule: quarterly
skip: []
11 changes: 9 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ format:
build: ## Build package
$(PYTHON) -m build

version:
version:
@grep '^version = ' pyproject.toml | cut -d'"' -f2 | sed 's/^/Current version: /' || echo "Version not found"

info:
Expand All @@ -54,4 +54,11 @@ check-release: ## Check if everything is ready for release
@echo "1. Create feature branch: git checkout -b feature/LABIMP-XXXX-release-vX.X.X"
@echo "2. Update version in pyproject.toml"
@echo "3. Commit: git commit -m '[LABIMP-XXXX] Prepare release vX.X.X'"
@echo "4. Push and create PR to main (patch) or develop (minor)"
@echo "4. Push and create PR to main (patch) or develop (minor)"

integration-test:
$(PYTHON) -m pytest -v labellerr_integration_case_tests.py

pre-commit-install:
pip install pre-commit
pre-commit install
Loading
Loading