Skip to main content

SumMedia library is a powerful Python package used for extracting and parsing newspaper articles. It simplifies the process of web scraping, article downloading and working with openai API. The plugin enables various functionalities related to news content personalization and categorization.

Project description



GitHub Workflow Status (with event) GitHub License GitHub issues

SumMedia in a News Web package

The SumMedia is a powerful Python tool used for extracting and parsing newspaper articles. It simplifies the process of web scraping, article downloading and working with openai API. The plugin enables various functionalities related to news content personalization and categorization. Here's an overview of its key features and functionalities:

Table of Contents

  1. Article Extraction
  2. SumMedia for Filtering and Categorizing Articles
  3. SumMedia as a Personal Assistant for Reading Articles
  4. SumMedia for Generating Post for Social Media
  5. Multi-language Support

Article Extraction

Download articles from a given URL and extract useful information like the text, authors, publish date, images, videos, and more.

from summedia.fetching_data import (
    get_text,
    get_time_read,
    get_images,
    get_publishing_date,
    get_authors,
    get_title,
    get_movies,
    get_meta_description,
    get_meta_keywords
)

URL = "www.example.url"

text_article = get_text(URL)
time_read = get_time_read(URL, words_per_minute=238)
img_urls = get_images(URL)
publish_date = get_publishing_date(URL)
authors = get_authors(URL)
title = get_title(URL)
movies = get_movies(URL)
meta_description = get_meta_description(URL)
meta_keywords = get_meta_keywords(URL)

Filtering and Categorizing Articles

The work can involve using ChatGPT to analyze and filter news or inappropriate content. You can also develop an algorithm for categorizing articles based on topic, location, date, and other factors.

import os
from summedia.text import Text

txt = Text(api_key=os.environ.get("OPENAI_API_KEY"))
tag_and_categorize_text = txt.tag_and_categorize_text("your text here", model_type="gpt-3.5-turbo-1106")

Personal Assistant for Reading Articles

Browse various news websites, fetch article headlines and brief summaries, and then deliver them in a user-friendly manner.

import os
from summedia.text import Text
from summedia.level import SimplificationLevel

text = Text(api_key=os.environ.get("OPENAI_API_KEY"))
summary_article = text.summarize_text("www.example.url", max_number_words=150, model_type="gpt-3.5-turbo-1106")
analyze_sentiment = text.analyze_sentiment("www.example.url", max_number_words=150, model_type="gpt-3.5-turbo-1106")
to_bullet_list = text.to_bullet_list("www.example.url", model_type="gpt-3.5-turbo-1106")
adjust_text_complexity = text.adjust_text_complexity("www.example.url", level = SimplificationLevel.STUDENT, model_type="gpt-3.5-turbo-1106")

Generating Post for Social Media

Automate posts to Twitter/X and facebook by just specifying the url for article.

import os
from summedia.social_media import SocialMedia

social_media = SocialMedia(api_key=os.environ.get("OPENAI_API_KEY"))

post_to_facebook = social_media.post_to_facebook(
    "your text here", model_type="gpt-3.5-turbo-1106"
)

condense_text_to_tweet = social_media.condense_text_to_tweet(
    "your text here", model_type="gpt-3.5-turbo-1106"
)

Multi-language Support

Handling articles in different languages, making it versatile for international applications. You can also use it as an article translator.

import os
from summedia.text import Text

txt = Text(api_key=os.environ.get("OPENAI_API_KEY"))
translate_text = txt.translate_text("your text here", model_type="gpt-3.5-turbo-1106", language_to_translate="en")

Create your own prompt

Create a prompt tailored to your needs.

import os
from summedia.elastic import ElasticAPIRequester

elastic_prompt = ElasticAPIRequester(api_key=os.environ.get("OPENAI_API_KEY"))
content_system_prompt = "YOUR SYSTEM PROMPT HERE"
content_user_prompt = "YOUR USER PROMPT HERE"
elastic_prompt_result = elastic_prompt.elastic_prompt(content_system_prompt, content_user_prompt,  model_type="gpt-3.5-turbo-1106")

Requirements & Costs

You'll need a paid OpenAI account and an API key.

Check out more here: https://openai.com/pricing

Installation

pip install summedia

How to run tests

pytest --cov=summedia

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

summedia-24.2.2.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

summedia-24.2.2-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file summedia-24.2.2.tar.gz.

File metadata

  • Download URL: summedia-24.2.2.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for summedia-24.2.2.tar.gz
Algorithm Hash digest
SHA256 8cbfebe29233989beed3c83983fad628700e8d303d6d8f192d7c3b9fcf8d5ff7
MD5 4c663963ea7b26720ee92be48835d3da
BLAKE2b-256 e4b692e77ff5cf9da105619c77f6ea9a6df85720598005311f4e32da408353b3

See more details on using hashes here.

File details

Details for the file summedia-24.2.2-py3-none-any.whl.

File metadata

  • Download URL: summedia-24.2.2-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for summedia-24.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ca97ff19aae81222c93f6687adc3ee56fb1b5bce1617f67f4159b902ce04383a
MD5 6de8e3cd3fe10e2413f77260e2dd8080
BLAKE2b-256 5f5270bfd5ba637d226408705484bd7b8c1f6a85e8273acaf2a1e784d4dc67e7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page