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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 531755983feda88f5cff1c311db4b3ee5fd4c80d7040f869fa095546246576c2
MD5 e342271a08ab9cad6cc8da0e48d2e176
BLAKE2b-256 03ddaeed1ed56d4ce9a907946e717487de10a4de7b8361f2c467185f5bc74d09

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.9-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 92fa11ee1fbab6490a7dcb21f01537da954b4b986a63a4881c1cda51bf1e6a99
MD5 baa4e7f464d0fa74b6c9bc00b648e2b6
BLAKE2b-256 44897bca8db172deee751f66e22235306165bf10e8610c63f10df738bb7f615f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.9-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c097b07fc9f9f4b8850c6c1cfa6eaa95bc099bb5c1ee8f2cc851b4b77bc256a0
MD5 f89de19c52040f03a5146d962ee34485
BLAKE2b-256 a5a13d4cccc7953c060d8c23446305ea8bbb22a981e48902f7e46ce6f509b9e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.9-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 777e9a4e34feeb75122a8395db679cf5a137515d744bfd7e67ddac3c9d6160c7
MD5 cf692a2888d96f71d4b9f312d6187d3d
BLAKE2b-256 1f97bfc985b4272b2ad4b89cf0dcac7f997d8b6a7c1a8869024ce9bb17d5b5ee

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4ab2005a783e33e0a35d1ba8f1928df5443b3f13d9cbed291c8359adf03210ef
MD5 aba12310818efb5922e1933d4d7df3ff
BLAKE2b-256 5b3aa7b353da7e0593efca76a5ee3907f91cb2b4562a6e5c0cebfe10a9a2ede9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.9-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 9bb8d4a72b49e1d1c7b6cb4192d07a16a0ad7402ef4e810a697279ce523fcb24
MD5 b43b97a692a49da410ffd3d2464ba845
BLAKE2b-256 1fb5849290043769a091d2c116e205199bca3395ef099a7ed0bffefb63a9cf86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.9-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d7f210194bffe7547be0c6e7bb9181cb9cf00c12f557ee82683a1ec51cd9ca90
MD5 4eb2cabc29d066fc73ec384999263215
BLAKE2b-256 7df0d2b4cdc47fdcac4d3cfaac9467d1685501ada1659f862de73454c210ba0e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.9-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 915c2257dc682cabc5fb477cdd1923782c258d584a3f9ca21a14b3da28e338a4
MD5 bb9a96535bdebcce2000309c6f4e24e0
BLAKE2b-256 aaead457f19f85a0236a47dd0f28157260054514451376649c4b4204773cf02a

See more details on using hashes here.

Provenance

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