BOSA Server Plugins
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bosa_server_plugins_binary-0.13.3-cp312-cp312-manylinux_2_31_x86_64.whl.
File metadata
- Download URL: bosa_server_plugins_binary-0.13.3-cp312-cp312-manylinux_2_31_x86_64.whl
- Upload date:
- Size: 4.5 MB
- Tags: CPython 3.12, manylinux: glibc 2.31+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57683a4d93cef4f9e0a1057e776ebd7a0c6201e93a24356715136fc03a6b25e1
|
|
| MD5 |
15303a2a5fae6b816a568037a484a3ee
|
|
| BLAKE2b-256 |
17b3d2956164f87a6560c716ef5989a19c96c4635c1d6c78c9d95ebd06a402ae
|
File details
Details for the file bosa_server_plugins_binary-0.13.3-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl.
File metadata
- Download URL: bosa_server_plugins_binary-0.13.3-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.12, macOS 13.0+ ARM64, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bedeb6664cfc231d663dc79b2773abd2e4c07043239e5eb5f18837c2db2179dc
|
|
| MD5 |
eaa667b7f6f31dde7c5d54ea960e24a0
|
|
| BLAKE2b-256 |
d93a46880181ec63d48b2b956e5b6a1b2bda94064728931f2e99ccee6c6c4ba3
|
Provenance
The following attestation bundles were made for bosa_server_plugins_binary-0.13.3-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl:
Publisher:
build-binary.yml on GDP-ADMIN/bosa-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bosa_server_plugins_binary-0.13.3-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl -
Subject digest:
bedeb6664cfc231d663dc79b2773abd2e4c07043239e5eb5f18837c2db2179dc - Sigstore transparency entry: 708283712
- Sigstore integration time:
-
Permalink:
GDP-ADMIN/bosa-sdk@f9c9dacc7423fe2831f2bc661291574d3cdb04ff -
Branch / Tag:
refs/tags/bosa-server-plugins-python-0.13.3 - Owner: https://github.com/GDP-ADMIN
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-binary.yml@f9c9dacc7423fe2831f2bc661291574d3cdb04ff -
Trigger Event:
push
-
Statement type:
File details
Details for the file bosa_server_plugins_binary-0.13.3-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: bosa_server_plugins_binary-0.13.3-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0559711be820f8b1a988f523f69c43abe0310ecda48d9dbffed61ca97b83383d
|
|
| MD5 |
90f7f13a2eca36c3f46e0ec5b69134ff
|
|
| BLAKE2b-256 |
62bac7c2daa2b7a1f59dc9281d017e42a772445f593f3940a4e17f78195b2876
|
Provenance
The following attestation bundles were made for bosa_server_plugins_binary-0.13.3-cp311-cp311-win_amd64.whl:
Publisher:
build-binary.yml on GDP-ADMIN/bosa-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bosa_server_plugins_binary-0.13.3-cp311-cp311-win_amd64.whl -
Subject digest:
0559711be820f8b1a988f523f69c43abe0310ecda48d9dbffed61ca97b83383d - Sigstore transparency entry: 708283613
- Sigstore integration time:
-
Permalink:
GDP-ADMIN/bosa-sdk@f9c9dacc7423fe2831f2bc661291574d3cdb04ff -
Branch / Tag:
refs/tags/bosa-server-plugins-python-0.13.3 - Owner: https://github.com/GDP-ADMIN
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-binary.yml@f9c9dacc7423fe2831f2bc661291574d3cdb04ff -
Trigger Event:
push
-
Statement type:
File details
Details for the file bosa_server_plugins_binary-0.13.3-cp311-cp311-manylinux_2_31_x86_64.whl.
File metadata
- Download URL: bosa_server_plugins_binary-0.13.3-cp311-cp311-manylinux_2_31_x86_64.whl
- Upload date:
- Size: 4.1 MB
- Tags: CPython 3.11, manylinux: glibc 2.31+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a95f5fa9a13ea1d1878840b72864ed5044e5bed3384dc1ff99cc82817bc8319e
|
|
| MD5 |
12883a75a3659e47d129fd84d636a627
|
|
| BLAKE2b-256 |
aef786942e4c2dcf81384e1519e7c628f1c309be083aba9bef57cce128bb12ce
|
File details
Details for the file bosa_server_plugins_binary-0.13.3-cp311-cp311-macosx_13_0_x86_64.whl.
File metadata
- Download URL: bosa_server_plugins_binary-0.13.3-cp311-cp311-macosx_13_0_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.11, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7b06cafe3c02b7731086c988363f8fa9bb1d90ef008ec2417a62f33ba502a4c
|
|
| MD5 |
678b481e93b5dc270c5a9edf3fbd1e07
|
|
| BLAKE2b-256 |
32c96de04b0a723e51c46bbb3255360e6b97b63e37b7866f2dd48839936ed550
|
Provenance
The following attestation bundles were made for bosa_server_plugins_binary-0.13.3-cp311-cp311-macosx_13_0_x86_64.whl:
Publisher:
build-binary.yml on GDP-ADMIN/bosa-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bosa_server_plugins_binary-0.13.3-cp311-cp311-macosx_13_0_x86_64.whl -
Subject digest:
a7b06cafe3c02b7731086c988363f8fa9bb1d90ef008ec2417a62f33ba502a4c - Sigstore transparency entry: 708283721
- Sigstore integration time:
-
Permalink:
GDP-ADMIN/bosa-sdk@f9c9dacc7423fe2831f2bc661291574d3cdb04ff -
Branch / Tag:
refs/tags/bosa-server-plugins-python-0.13.3 - Owner: https://github.com/GDP-ADMIN
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-binary.yml@f9c9dacc7423fe2831f2bc661291574d3cdb04ff -
Trigger Event:
push
-
Statement type: