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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4d0c113613011004e595782d242278ccacffed7e3d69b3f2cf865f8dd774816d
MD5 40ee4fec7138a0eecd03c75225fae1cc
BLAKE2b-256 6560683d7c6713e1f5b3a9cf6037811006ff69ae3172a132cb2afa78fbde2a22

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.11-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 c4194cab51d33a2b4752bdf3d4fc1cd0c671021f80a83f21e5a876e9ef6e9278
MD5 af6320aa34fa7ccee5de0d4eab7d80f0
BLAKE2b-256 35695dba802bcbad81db1b9133ef13de6857b7521f0535ce98d9f3ab454107e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.11-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c00671abc7f5bc789f3838f485ba2808d892c56cda79adb4632dfac1b3109cfb
MD5 d5ba9ac7d5a579c751eab5b5ff317aa8
BLAKE2b-256 8bdc741822d04921f27b3468efe592e8838e738dbcd91f801d32b4391ebcabbe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.11-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 a6ce02355a74e988f0df53c8f452cba164aaeb560ac250de4900b3312da54b60
MD5 36890c4911915089135adf0d863272b4
BLAKE2b-256 7d0110a036240e5cbae5897061cf84980baec4f9cea0e463825350e38b11c37b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2a6090d84fdf72f386c2b7dd146f2d43ae428e1de8fb9ef256d68a7017730aeb
MD5 894a4b2ced8034ab25f16f2285a2d550
BLAKE2b-256 a22988968bcc9e98d3a3defac1a24b5f382bca3ee82e9b76c0e2f766309bb697

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.11-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 7b848ebdbb716d870037b3a14290c3dffe3bcd1a21913bfe7e529303e6e5e02e
MD5 7ff1f34f6a9157feec1d3bd6e186b96c
BLAKE2b-256 76935db7c14f4d98832af9278449766d6db9a4eeeee3bd6a91d8e9c0c52b3e8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.11-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c4bb4b5df52ab91b01de9d90339e110e9bdc904f6963b17e65887bbbd098cf65
MD5 d11a29b6c39b5476f8cddda2aef1c6ca
BLAKE2b-256 4ed1e13660a5c05fb3b1d33003de39c4736c4e11192b23f892bde18364f1c6a1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.10.11-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 601d115540b8f9ee8b68af90b03ae4cd7c3d6f560cd28037bf62466b8ae2fad0
MD5 bc699c7add8c50916bdff2c66dd1ce66
BLAKE2b-256 6d9b73dad1612bfce83aac6bad2e97129a0683c496a229671f68f89c95395dee

See more details on using hashes here.

Provenance

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