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

Uploaded CPython 3.12Windows x86-64

bosa_server_plugins_binary-0.12.5b3-cp312-cp312-manylinux_2_34_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

bosa_server_plugins_binary-0.12.5b3-cp312-cp312-macosx_13_0_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

bosa_server_plugins_binary-0.12.5b3-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64macOS 15.0+ ARM64

bosa_server_plugins_binary-0.12.5b3-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

bosa_server_plugins_binary-0.12.5b3-cp311-cp311-manylinux_2_34_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

bosa_server_plugins_binary-0.12.5b3-cp311-cp311-macosx_13_0_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

bosa_server_plugins_binary-0.12.5b3-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64macOS 15.0+ ARM64

File details

Details for the file bosa_server_plugins_binary-0.12.5b3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.12.5b3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3eff172a1536d5354e10347f610e4d8bd07f016582c68d322ed57d139dc82cd1
MD5 7eb6511fa22b13df8f4fa6e5d8a4d423
BLAKE2b-256 01071b0eaeb2ccf1a85a746bf30f0ed87f93a4140792a87561a2414119d301ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.12.5b3-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.12.5b3-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.12.5b3-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 d76d82f882de3d47fc275050370dd527af993e47d4812cac47c7467e3bffc832
MD5 487a622eb493ff15e4c3c685ee1adddf
BLAKE2b-256 4f6ab74195613575c2cb4c9ad140670b389ebb1cbd0ae5f3f06aa9d4af4771ce

See more details on using hashes here.

File details

Details for the file bosa_server_plugins_binary-0.12.5b3-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.12.5b3-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6b0a1b3245f1c372f009c70452a45681c7a4736941d778451b6d36b7362a6461
MD5 542d64ed40af1648d1a8dc1986c8e66b
BLAKE2b-256 bd6c22fc757f0b24c4f87e06e7acf737856930c6cbc6b563193817761a975d07

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.12.5b3-cp312-cp312-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 0129e0ea4853fb143e90a9a23d6af2d722e2569abc0292b17750d2dcad364533
MD5 e343dc859037e7a9b2f5a757f6fc7fce
BLAKE2b-256 769311591d6bd224fe764df7ac63bd4d7b8f8558f030edff5a237724f483adf4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.12.5b3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f22735e4e87cbdab1c398d3144cc00197dfa14ba68867fd3315cf566424087f7
MD5 d4a64fa11aa235db9479b813c00af60d
BLAKE2b-256 3b1b3ef95e8af96f81198f15c668ef912def0985d91137e94b58aace2fabd588

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosa_server_plugins_binary-0.12.5b3-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.12.5b3-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.12.5b3-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 21f2d531f677dcbca8058549743879ef8df30aff5e1f200e15843e86d311bf70
MD5 55ded3e6c04a2551806b5955537c00ce
BLAKE2b-256 f7e1785baddfa273a017a62c5fd6d346d7395ad234eb5979ce730feb5839d0bf

See more details on using hashes here.

File details

Details for the file bosa_server_plugins_binary-0.12.5b3-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.12.5b3-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7f1b8b6843820a3da8b7cd82c4b795eaeb02f8d0d25d8cf84f52a828755085e9
MD5 c1020ebb6a4b01f09c91e460b00617b4
BLAKE2b-256 982b2d565589d028b72ee5874854366e4372232438954b526844aa01121eb7d1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for bosa_server_plugins_binary-0.12.5b3-cp311-cp311-macosx_13_0_arm64.macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 e26351d5062798b065f04d7441884ff1f3e10f9147cfc7206625a4158bfbbf75
MD5 c5a05ddc3e69d434eb397b4557ae922e
BLAKE2b-256 236251eef91610149fed3d7ddf0b64ef11f3238445d9789d663bc34047dac535

See more details on using hashes here.

Provenance

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