Skip to content

Release v0.0.3: Add Data Management API support - #7

Merged
LeonardNoh merged 2 commits into
voidbox-ai:mainfrom
LeonardNoh:main
Oct 22, 2025
Merged

Release v0.0.3: Add Data Management API support#7
LeonardNoh merged 2 commits into
voidbox-ai:mainfrom
LeonardNoh:main

Conversation

@LeonardNoh

Copy link
Copy Markdown
Contributor

Summary

Release py-aps v0.0.3 with comprehensive Data Management API client and examples.

What's New

🗂️ Data Management API Client

Complete implementation of APS Data Management APIs:

  • Project v1: Hubs, Projects, TopFolders
  • Data v1: Folders, Items, Versions, Storage, Commands
  • OSS v2: Buckets, Objects (signed upload/download)

📚 Documentation & Examples

  • Add datamanagement/example.py with comprehensive smoke tests
  • Update README with Data Management quick start examples
  • All examples integrate with auth client for token management

🔧 Package Improvements

  • Update datamanagement/__init__.py for easier imports
  • Version bump from 0.0.2 to 0.0.3

Key Features

  • Hubs & Projects: List and browse BIM 360/ACC hubs and projects
  • Folders: Browse, search, create, and manage folders
  • Items & Versions: Create and manage file items with versioning
  • Buckets & Objects: OSS bucket management and file upload/download
  • Commands: Advanced operations (move, copy, etc.)
  • Storage: Signed URL uploads for direct S3 integration
  • Pagination: Automatic pagination support for all list operations

Files Changed

  • src/pyaps/datamanagement/client.py (314 lines) - Data Management API client
  • src/pyaps/datamanagement/example.py (391 lines) - Comprehensive examples
  • src/pyaps/datamanagement/__init__.py - Module exports
  • README.md - Updated with Data Management examples and v0.0.3 history
  • pyproject.toml - Version bump to 0.0.3

PyPI Release

✅ Published to PyPI: https://pypi.org/project/py-aps/0.0.3/

Install with:

pip install py-aps==0.0.3
Example Usage
from pyaps.auth import AuthClient, Scopes
from pyaps.datamanagement import DataManagementClient

# Setup authentication
auth_client = AuthClient(client_id="...", client_secret="...")
token = auth_client.two_legged.get_token([Scopes.DATA_READ])

# Create Data Management client
dm = DataManagementClient(token_provider=lambda: token.access_token)

# List hubs and projects
hubs = list(dm.hubs.list())
projects = list(dm.hubs.list_projects(hub_id))

# Browse folder contents
contents = list(dm.folders.contents(project_id, folder_id))
Testing
✅ Successfully tested with live APS account
✅ Retrieved hubs, projects, and folders
✅ All API examples execute without errors
✅ Package builds and installs successfully
Total Changes
3 files changed (711 lines added in data management commit)
2 files changed for version bump
Successfully deployed to PyPI

Add comprehensive smoke test examples for Data Management API with auth integration: Hubs, Projects, Folders, Items, Versions, Buckets, Objects, and Commands. Also update __init__.py for easier imports.
Add Data Management API support with comprehensive examples and update README.
@LeonardNoh
LeonardNoh merged commit ad6b819 into voidbox-ai:main Oct 22, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant