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.7-cp312-cp312-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows x86-64

bosa_server_plugins_binary-0.10.7-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.7-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.7-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.7-cp311-cp311-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.11Windows x86-64

bosa_server_plugins_binary-0.10.7-cp311-cp311-manylinux_2_31_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

bosa_server_plugins_binary-0.10.7-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.7-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.7-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 930a73860dfaeaedebfdd66cf54f614b883ca98c08f7fc265ce649dd427ef4fb
MD5 c52cc144c78e0eab8a88b479f2b038ba
BLAKE2b-256 db77c868d431bca4f4df2696577c3551b3bdbf96612ea2b93460f2a1325646eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.10.7-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.7-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.7-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 7c1a628b7259e9ea7cda665b03ef1a3f76d3ad0342f8ced8ed8fdff15df35a26
MD5 5b1830ca1cbcc3a5ad0f5ba4ca3b701d
BLAKE2b-256 3decd48de8c294497b658108fa7f7d0bd9e1601b0e0d922e192aa4e30fabcd18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.7-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 697ea74fed95de0b3f2393ec26007fa708851909e79669adb8f32b152e29de11
MD5 f75d19f0fd6631d19fec0d22f5dadf9e
BLAKE2b-256 25cef195fc5f74032262c2c354cbe96f1ce13fa218adb12d2eae2b8bd79da4ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.10.7-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.7-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.7-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 ef2412022bf0a84a25464a9c6724747ce5dec641593b9bcadc54b7ac2713b7c5
MD5 a8c7a4ea9a5cc82a860be1fc7d324b76
BLAKE2b-256 cced468079c25556afe6bc6c22ccc5e003fbf1f9a38705a6d3be98f3cb4244ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.10.7-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.7-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 31dde9b2bf824d750bbbb6b4d0bde73dbcdbedad70a4a14fdeab2377e292a4d4
MD5 8c634e2f7a17a40578e535090c17c59d
BLAKE2b-256 a486a425d33a088c41d9e80ceb5393783a2522190fb13cecbc23ac9c2cb082e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.10.7-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.7-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.7-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 09646836185b6c1f5d4143ef5f5ce480da69b786e2b7e51ca21bfbea146f090b
MD5 8f98932c9eb715a950f4c89d08ee5806
BLAKE2b-256 fe69a2bb12ee1d7ba416b6d8561e9f6949bef417b7c2411a1cd3fb028e37c153

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.7-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7bb68635a692acbbdcf5e349b7b8ce1c1afe21107811443894b20a93af21e71d
MD5 39ea7324554e2faab6f76045256b6e81
BLAKE2b-256 db4556492ff08f2b814e0ab7a6b1ea45d589b2e049ef61b8b0db82a09bfbb72b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.10.7-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.7-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.7-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 2dcc6da8ca5de69f91df3abd08290e181b1923cfbb3f24941ee450322a414210
MD5 1adf3193005a7747f8896e1cabe6980e
BLAKE2b-256 6a65b4e1018eba32b860c45c2af5258c8e670155f015374f077c57438ecedbdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.10.7-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