Skip to main content

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

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:

  1. Call initialize_authorization method
  2. Redirect users to authorization URL
  3. Handle OAuth callback to store tokens
  4. Use stored tokens for API calls

Development

Adding New Plugins

  1. Create plugin directory under bosa_server_plugins/
  2. Implement plugin class extending ThirdPartyIntegrationPlugin
  3. Define routes and authentication schemes
  4. 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

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

bosa_server_plugins_binary-0.10.4-cp312-cp312-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows x86-64

bosa_server_plugins_binary-0.10.4-cp312-cp312-manylinux_2_31_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

bosa_server_plugins_binary-0.10.4-cp312-cp312-macosx_13_0_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

bosa_server_plugins_binary-0.10.4-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64macOS 15.0+ ARM64

bosa_server_plugins_binary-0.10.4-cp311-cp311-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.11Windows x86-64

bosa_server_plugins_binary-0.10.4-cp311-cp311-manylinux_2_31_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

bosa_server_plugins_binary-0.10.4-cp311-cp311-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

bosa_server_plugins_binary-0.10.4-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl (2.8 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64macOS 15.0+ ARM64

File details

Details for the file bosa_server_plugins_binary-0.10.4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 97d69b709d1f878b571d25148ce5f23b4ab5130153761721e4830885a43100bf
MD5 0ab07b8c8c573e1161dedb64d51f8364
BLAKE2b-256 5010dccae86a781d781224adabe8c766666b53610272bf77a343c3261f141dce

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.10.4-cp312-cp312-win_amd64.whl:

Publisher: build-binary.yml on GDP-ADMIN/bosa-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosa_server_plugins_binary-0.10.4-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.4-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 0b4976d5aa86c370797d2f4b53a3cb88aaccfba3cde5c7c821cb9afebbd564b3
MD5 d75ecee7f583ded5152097d56bddc68b
BLAKE2b-256 7e13ccacb9556693b0b8826c060cc2273a48db329008a8980d5e2907e86b1702

See more details on using hashes here.

File details

Details for the file bosa_server_plugins_binary-0.10.4-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.4-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 9cbcae879331985698a8a82c84bfa39d3df2e4f993200a82c886d7f472d85fbd
MD5 25df976e1287c129fd32f58562428cf0
BLAKE2b-256 676578b484762e1f8f0bfe3f26fbd11e77da46ae1ea5f17ad9023acb0a115379

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.10.4-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: build-binary.yml on GDP-ADMIN/bosa-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosa_server_plugins_binary-0.10.4-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.4-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 c2a30b294feb9b9d8130d55629cdc7e3a2fbc64716ca30df2f1db922a7701a15
MD5 f7f50e57c580111cabfa1d42d0468af2
BLAKE2b-256 59ac73886d060f36ad5d646d3d34a57658de1d42d70a2fe53f3b4e2e670b4a1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.10.4-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/bosa-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosa_server_plugins_binary-0.10.4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 771637b210c9c59934d8c76310eed0448ed8d2ca4b1d517b5e2f01ce08d7a3f2
MD5 7e17c0e95b6f72ea3b6f00e243806d45
BLAKE2b-256 819a904c699c35ba47bb2c7297cc7f2d14af4068352d3445a18678d3d6a75e6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.10.4-cp311-cp311-win_amd64.whl:

Publisher: build-binary.yml on GDP-ADMIN/bosa-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosa_server_plugins_binary-0.10.4-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.4-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 295a9ba9b0b4875d92d8c84f06b10d27fba312e07b4f8cf56d9cba86c3012249
MD5 902621bca8147a3f7c524471ee7074b5
BLAKE2b-256 135e55815d6aa2291b73203c48ebb611afa30a9982ea422a202085623fc71f99

See more details on using hashes here.

File details

Details for the file bosa_server_plugins_binary-0.10.4-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.4-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 b3ef9ae8f888fbc694fe4a855b6ab4649f920060a44606765fadd057342abb7f
MD5 86c4484f14b94ed60a55b012e7b05860
BLAKE2b-256 3f276ba7341429ffd4c8b1e8b55fbaf2f5081be0057ee0576523221ffbef3a30

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.10.4-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: build-binary.yml on GDP-ADMIN/bosa-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosa_server_plugins_binary-0.10.4-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.4-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 e1d39f6824ebd910179e12bcc83fc30f57457a2a29025fcb7525f00037e90680
MD5 a57f5a6415ce7e60829d8cfa5f8b8cb6
BLAKE2b-256 7498289de570e5470070a308266e9c662251c9d2d1dc1ef5f6fb304975da53b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.10.4-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl:

Publisher: build-binary.yml on GDP-ADMIN/bosa-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page