Skip to main content

Social media data connector for extracting, parsing, and managing social media data at scale.

Project description

SMC360 — Social Media Data Connector

Python License Status

SMC360 is a unified toolkit for extracting, parsing, and managing social media data at scale.
It provides both a command-line interface (CLI) and a web interface, enabling flexible integration into automated workflows and user-friendly interactive environments.


✨ Features

  • Multi-Platform Support

    • YouTube (YouTube Data API)
    • Instagram (Basic Display API)
  • Data Persistence

    • Databases: PostgreSQL, Snowflake
    • Object Storage: Amazon S3
  • Flexible Interfaces

    • CLI Tool — for automation, scheduling, and scripting
    • Web Interface — for interactive extraction and monitoring
  • Dual Storage

    • Parsed Data → relational databases for analytics
    • Raw API Responses → object storage for traceability and reprocessing

🚀 Installation

pip install "git+https://github.com/Mdadilfarooq/social_media_connector.git@main"

⚡ Quickstart

1. Configure

Prepare a configuration file (config.yaml) with your API keys, database credentials, and storage settings:

platform:
  name: youtube
  api_key: YOUR_YOUTUBE_API_KEY

database:
  type: postgresql
  host: localhost
  port: 5432
  user: postgres
  password: secret
  database: SMC360

storage:
  type: s3
  bucket: SMC360-data
  access_key: YOUR_AWS_KEY
  secret_key: YOUR_AWS_SECRET

2. CLI Usage

Extract and store social media data directly from the terminal:

SMC360 extract --config config.yaml --platform youtube

Other commands:

SMC360 extract --platform instagram
SMC360 status
SMC360 config validate

3. Web Interface

Launch the web app for interactive control:

SMC360 web

Open http://localhost:8000 to manage configurations, run extractions, and monitor jobs.


📂 Workflow

  1. Configuration — Connect to the chosen social media platform, database, and storage service.
  2. Dynamic Loading — Pull additional configuration from object storage.
  3. Extraction & Parsing — Collect raw data via APIs and convert it into structured formats.
  4. Storage — Save structured data into databases and archive raw responses in object storage.

💡 Use Cases

  • Social media analytics and insights
  • Data warehousing for BI/reporting
  • Marketing and campaign performance tracking
  • Archival of raw API responses for compliance and auditing

🛠 Development

Clone the repo and install in editable mode:

git clone https://github.com/Mdadilfarooq/social_media_connector.git
cd social_media_connector
pip install -e .

Run tests:

pytest

📜 License

This project is licensed under the MIT License.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smc360-1.0.0.tar.gz (36.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smc360-1.0.0-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

File details

Details for the file smc360-1.0.0.tar.gz.

File metadata

  • Download URL: smc360-1.0.0.tar.gz
  • Upload date:
  • Size: 36.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for smc360-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e091b21eadac01329e6421320cc1b0d9d3d0b368ed984ee8aeaa082e7038e829
MD5 3cd073e8b7a3a30d27a9c915658c7f61
BLAKE2b-256 66129900b1ec356440619066370577179fa18425e3e0bcb891e445b9b7ccea2b

See more details on using hashes here.

File details

Details for the file smc360-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: smc360-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 36.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for smc360-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0c6a5198f3a0466239ff4b3e3ad4ef04d16834baf02dcfe3c5e30726bd87ba36
MD5 737f41f49d05b1d018bfb9dc68a88ea6
BLAKE2b-256 462f03c00c898444746c7fe283cb843ae2401c0a9d40137333c88475857cd0f9

See more details on using hashes here.

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