BOSA Server Plugins
A comprehensive collection of Plugin Routes for interacting with GitHub, Google services, Twitter, and other third-party APIs. Built on the BOSA Core plugin architecture.
Features
- Multi-Platform Integration: GitHub, Google Drive, Google Mail, Google Docs, Twitter
- OAuth Authentication: Secure authentication flows for all platforms
- Plugin Architecture: Modular design for easy extension
- Caching & Background Processing: Redis-based caching and async task processing
Installation
Prerequisites
- Python 3.11+ - Install here
- Pip (if using Pip) - Install here
- Poetry 2.1.3+ (if using Poetry) - Install here
- Access to the GDP Labs SDK repository
Install from PyPI
# Using pip
pip install bosa-server-plugins-binary
# Using Poetry
poetry add bosa-server-plugins-binary
Development Installation
poetry add "git+ssh://git@github.com/GDP-ADMIN/bosa-sdk.git#subdirectory=python/bosa-server-plugins"
Configuration
Set the following environment variables:
# GitHub
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret
GITHUB_API_KEY=your-github-api-key
# Google Services
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
# Twitter
TWITTER_BEARER_TOKEN=your-twitter-bearer-token
TWITTER_API_KEY=your-twitter-api-key
TWITTER_API_SECRET=your-twitter-api-secret
# BOSA Core
BOSA_API_URL=https://your-bosa-api-url
REDIS_URL=redis://localhost:6379
DATABASE_URL=postgresql://username:password@localhost:5432/dbname
Available Plugins
GitHub Plugin
Metrics: get_all_contributor_commit_activity, get_the_last_year_of_commit_activity, get_weekly_commit_count, get_user_contribution_statistics
Repositories: list_commits, search_commits, list_collaborators, list_releases, list_contributors, list_languages, search_contributions
Pull Requests: list_pull_requests, search_pull_requests, get_pull
Issues: create_issue, get_issue, list_issues, list_issues_comments, search_issues
Projects: list_project_items, list_projects
Google Drive Plugin
Files: search_files, get_file, create_file, create_folder, update_file, update_folder, copy_file, delete_file, summarize_folder_files_by_type, summarize_total_files_by_type, list_recent_files_from_yesterday
Permissions: create_permission, list_permissions, get_permission, update_permission, delete_permission
Download: download_file
Google Mail Plugin
Emails: send_email, list_emails, get_email_details, modify_email, delete_email, trash_email, untrash_email
Drafts: create_draft, list_drafts, send_draft, get_draft, modify_draft
Threads: list_threads, thread_details, modify_thread
Labels: list_labels, total_email_perlabel, get_label_details, create_labels, modify_labels, delete_labels
Attachments: get_attachment
Auto Reply: get_auto_reply, set_auto_reply
Google Docs Plugin
Documents: get_document, list_documents, create_document, update_document, copy_content, update_document_markdown
Comments: list_comments, summarize_comments
Twitter Plugin
Tweets: tweet_search, get_tweets, get_thread
Users: get-users
Google Plugin (General)
User: userinfo
API Usage
All endpoints use POST requests with JSON payloads and require authentication:
curl -X POST http://localhost:8000/endpoint_name \
-H "Content-Type: application/json" \
-H "X-Api-Key: your-api-key" \
-H "Authorization: Bearer your-token" \
-d '{"param1": "value1", "param2": "value2"}'
Example: GitHub - List Commits
curl -X POST http://localhost:8000/list_commits \
-H "Content-Type: application/json" \
-H "X-Api-Key: your-api-key" \
-H "Authorization: Bearer your-token" \
-d '{
"owner": "GDP-ADMIN",
"repo": "bosa-sdk",
"per_page": 10
}'
Example: Google Drive - Search Files
curl -X POST http://localhost:8000/search_files \
-H "Content-Type: application/json" \
-H "X-Api-Key: your-api-key" \
-H "Authorization: Bearer your-token" \
-d '{
"query": "name contains \"project\"",
"page_size": 10
}'
OAuth Integration
The plugins support OAuth authentication:
- Call
initialize_authorizationmethod - Redirect users to authorization URL
- Handle OAuth callback to store tokens
- Use stored tokens for API calls
Development
Adding New Plugins
- Create plugin directory under
bosa_server_plugins/ - Implement plugin class extending
ThirdPartyIntegrationPlugin - Define routes and authentication schemes
- Add API endpoint implementations
Testing & Code Quality
# Run tests
pytest tests/
# Format and check code
black bosa_server_plugins/
ruff check bosa_server_plugins/
mypy bosa_server_plugins/
Support
- Email: bosa-eng@gdplabs.id
- Issues: Create issues in the GDP Labs SDK repository
References
Product Requirements Documents (PRD)
Architecture Documents
Design Documents
Implementation Documents
License
This project is licensed under the terms specified by GDP Labs.
Metadata
Release files for bosa-server-plugins-binary 0.14.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| bosa_server_plugins_binary-0.14.9-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| bosa_server_plugins_binary-0.14.9-cp312-cp312-manylinux_2_31_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.31+ x86-64 | Details |
| bosa_server_plugins_binary-0.14.9-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl | CPython 3.12 | CPython 3.12 | macOS 15.0+ ARM64, macOS 13.0+ ARM64 | Details |
| bosa_server_plugins_binary-0.14.9-cp311-cp311-manylinux_2_31_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.31+ x86-64 | Details |
Total release size: 15.9 MB
Release files / bosa_server_plugins_binary-0.14.9-cp312-cp312-win_amd64.whl
| Download URL | bosa_server_plugins_binary-0.14.9-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0352adb8ac7e2b7e56ea09dcb94daa167d43ec661d5a829f14347912275b2447
|
|
BLAKE2b-256 checksum How to use checksums |
043938c9e4fbad9a8a2fc01b430d5dd0253f23a5e4e053bf6bda7abc5775d2bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 22, 2025.
Transparency logRelease files / bosa_server_plugins_binary-0.14.9-cp312-cp312-manylinux_2_31_x86_64.whl
| Download URL | bosa_server_plugins_binary-0.14.9-cp312-cp312-manylinux_2_31_x86_64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | CPython 3.12 Linux glibc 2.31+ x86-64 |
|
SHA-256 checksum How to use checksums |
e957d23cebf48b338ccc14a5061f93100c1e4f0c422c7574916829cdeff5a12c
|
|
BLAKE2b-256 checksum How to use checksums |
3c6dfcb09647b9d504d6a5a1581fc5966b3e5e55a9fd991c9245ab661f8f1eb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.16
|
Release files / bosa_server_plugins_binary-0.14.9-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
| Download URL | bosa_server_plugins_binary-0.14.9-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl |
|---|---|
| Size | 3.7 MB |
| Tags | CPython 3.12 macOS 13.0+ ARM64 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
52c67d9a0a221dca96bcfadd2dba98645be0d670400facf89fb86f64f9d1319e
|
|
BLAKE2b-256 checksum How to use checksums |
6ef56caaed0ef682a50c6c91a12d0079972a48fe2cfaffb097c1be1eb2effe56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 22, 2025.
Transparency logRelease files / bosa_server_plugins_binary-0.14.9-cp311-cp311-manylinux_2_31_x86_64.whl
| Download URL | bosa_server_plugins_binary-0.14.9-cp311-cp311-manylinux_2_31_x86_64.whl |
|---|---|
| Size | 4.3 MB |
| Tags | CPython 3.11 Linux glibc 2.31+ x86-64 |
|
SHA-256 checksum How to use checksums |
6f71c2801fb546ad3b57e3eb06131b38cc25ed86ae61597b0b374e1ed69a535b
|
|
BLAKE2b-256 checksum How to use checksums |
1b4e6d62538ff09329758db82e5b0fbebf30374a090b3459ca810d4989f71c35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.16
|