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

Uploaded CPython 3.12Windows x86-64

bosa_server_plugins_binary-0.13.0-cp312-cp312-manylinux_2_31_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

bosa_server_plugins_binary-0.13.0-cp312-cp312-macosx_13_0_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

bosa_server_plugins_binary-0.13.0-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64macOS 15.0+ ARM64

bosa_server_plugins_binary-0.13.0-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11Windows x86-64

bosa_server_plugins_binary-0.13.0-cp311-cp311-manylinux_2_31_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

bosa_server_plugins_binary-0.13.0-cp311-cp311-macosx_13_0_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

bosa_server_plugins_binary-0.13.0-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.13.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8d1d74352a5fdf67189b2cea4d90123410d3241fa29cdd190bac5df460e4d57b
MD5 8c23df14ac5d515dcf020a9290c2e358
BLAKE2b-256 efab47345cb299486f4ac5748e013a47dd2a556ee4238c0b2c9b06e8476e2ca7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.13.0-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 f163cedb2f4574347f87ec7360b4a2ed8ed8c01098d2ea86dd8ef85fa423ebf2
MD5 b30ecb15cd84bd9e9fc7d24db0739537
BLAKE2b-256 81ee467f80c2f900adb18781c657fc6a2e6f5524e4e26610e8d814dd7369e0bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.13.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6cabb92aa5c774a775b6e7e5b13bbc6250d2ebb76dae05ae993f6cc0e475a02c
MD5 f239ccd1894d785f3be35164c82b8c44
BLAKE2b-256 59e2313d8df0832625b769eab8e7979308d3534f89a7c64649cef7e4c3e7163d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.13.0-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 f64d5d0dd7c170cf1d0dd043093e2a74d2da2b2cd1d8229c0bc797a712048bae
MD5 f4c59f72554fcbc1116f1cdcae07e6d6
BLAKE2b-256 4ffd6a25ae5afde32e3bcbae3e1f32b1b8a5a4dd4d0aa09218d9e6d516bf8db3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.13.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 927b1a13204a401c1402112467937b9aa5c5cfe93c6e084c67129e44d48d5a87
MD5 d9356744e08b1bcdc1ae2217187dca45
BLAKE2b-256 5494cf99e03c06b8abf1284b66624980223b4adfad170a473e53144e351eceaf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.13.0-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 ceacabe1a7abe8d15e1517c098d7a72857879f7d05f817d8562c53186c29ac6f
MD5 0c225787654a4d40154a2f7584cdbcd0
BLAKE2b-256 557ba0fe2b3954bbce73b18a437715f74513933dd9b9b8ea408aaa516095780b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.13.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 112492fce639219e316e441a566bda8869ac719817cc0d26005702448cbdc274
MD5 1d2f61326ac229947bbc36273b2c5738
BLAKE2b-256 4c8b68cfc29e24c0cabe40639a9f7e6a0ecece3bb4fbcfb0916bb72383356608

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.13.0-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 70675de80e841e739d02e953b068fc8d8abf6201a2ec84455f8074242ef47537
MD5 1ce196bcdd0b9a1f3fe04454d11fbce6
BLAKE2b-256 9b492c660f69f2ba39b0bdb46dbdcaeb7f042c908860f2153dbd56699efd2316

See more details on using hashes here.

Provenance

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