Name | feedforge JSON |
Version |
0.1.2
JSON |
| download |
home_page | None |
Summary | A powerful AI-driven tool to customize your YouTube feed based on your content preferences using browser automation |
upload_time | 2025-08-01 10:25:51 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | None |
keywords |
youtube
feed
automation
ai
browser
selenium
recommendations
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# FeedForge ๐ฏ
A powerful tool to customize your YouTube feed based on your content preferences. FeedForge uses AI to understand your interests, searches for relevant videos, and automatically interacts with them to train YouTube's recommendation algorithm.
## ๐ Features
- **AI-Powered Content Discovery**: Uses OpenAI's GPT-4 to generate relevant search keywords from your content preferences
- **YouTube API Integration**: Searches for high-quality videos matching your interests
- **Automated Browser Interaction**: Uses browser automation to play videos and train YouTube's algorithm
- **Customizable Playback**: Control how long each video plays during the training process
- **Cross-Platform Support**: Works on Windows, macOS, and Linux
## ๐ง Prerequisites
Before running FeedForge, ensure you have:
1. **Python 3.9 or higher** (3.11+ recommended)
2. **Google Chrome or Firefox browser** installed
3. **OpenAI API Key** - Get one from [OpenAI Platform](https://platform.openai.com/api-keys)
4. **YouTube Data API Key** - Get one from [Google Cloud Console](https://console.cloud.google.com/apis/credentials)
## ๐ฆ Installation
### Install from PyPI (Recommended)
```bash
pip install feedforge
```
### Development Installation
If you want to contribute or install from source:
#### 1. Clone the Repository
```bash
git clone https://github.com/RishabhKodes/feedforge.git
cd feedforge
```
#### 2. Create Virtual Environment
```bash
python3.9 -m venv venv
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
```
#### 3. Install in Development Mode
```bash
pip install -e .
```
This will automatically install all required dependencies:
- langchain-openai (>=0.0.5)
- google-api-python-client (>=2.0.0)
- selenium (>=4.0.0)
- click (>=8.0.0)
- python-dotenv (>=1.0.0)
- geckodriver-autoinstaller (>=0.1.0)
- chromedriver-autoinstaller (>=0.6.0)
- openai (>=1.0.0)
## โ๏ธ Configuration
### 1. Create Environment File
Create a `.env` file in the project root directory:
```bash
touch .env
```
### 2. Add API Keys
Add your API keys to the `.env` file:
```env
OPENAI_API_KEY=your_openai_api_key_here
YOUTUBE_API_KEY=your_youtube_api_key_here
```
### Getting Your API Keys
#### OpenAI API Key:
1. Visit [OpenAI Platform](https://platform.openai.com/api-keys)
2. Sign in or create an account
3. Click "Create new secret key"
4. Copy the key and add it to your `.env` file
#### YouTube Data API Key:
1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. Create a new project or select existing one
3. Enable the "YouTube Data API v3"
4. Go to "Credentials" โ "Create Credentials" โ "API Key"
5. Copy the key and add it to your `.env` file
## ๐งช Testing Installation
To verify that FeedForge is installed correctly, run the test script:
```bash
python test_feedforge.py
```
This will test:
- All required imports
- Environment variable handling
- CLI command availability
## ๐ Usage
### Basic Usage
```bash
feedforge "I want to see videos about people building successful side projects and sharing their journey"
```
### With Custom Duration
Control how long each video plays (default is 2 seconds):
```bash
feedforge "machine learning tutorials for beginners" --duration 5
```
### Example Commands
```bash
# Startup and entrepreneurship content
feedforge "startup founders sharing their journey and lessons learned"
# Programming tutorials
feedforge "python programming tutorials and coding best practices" --duration 3
# Creative content
feedforge "digital art tutorials and creative processes" --duration 4
# Productivity and self-improvement
feedforge "productivity tips and morning routines of successful people"
```
## ๐ง How It Works
1. **Input Processing**: FeedForge takes your content description and uses OpenAI's GPT-4 to generate relevant search keywords
2. **Video Discovery**: Uses YouTube's Data API to search for high-quality videos matching those keywords
3. **Smart Selection**: Implements round-robin selection to ensure diverse content from different keywords
4. **Browser Automation**: Opens Chrome and automatically plays each video for the specified duration
5. **Algorithm Training**: Your interactions help train YouTube's recommendation algorithm to show similar content
## ๐ ๏ธ Troubleshooting
### Common Issues
#### "No .env file found"
Make sure you've created a `.env` file in the project root directory with your API keys.
#### "Chrome not found"
FeedForge will automatically try to find Chrome in common locations:
- **macOS**: `/Applications/Google Chrome.app/Contents/MacOS/Google Chrome`
- **Windows**: `C:\Program Files\Google\Chrome\Application\chrome.exe`
- **Linux**: `/usr/bin/google-chrome`
If Chrome is installed elsewhere, you may need to update the path in `src/feedforge/core.py`.
#### "Invalid API Key"
- Verify your API keys are correct in the `.env` file
- Ensure your OpenAI account has sufficient credits
- Check that YouTube Data API is enabled in Google Cloud Console
#### "No videos found"
Try using more general or different keywords in your description.
### Debug Mode
For debugging, you can run the project with Python directly:
```bash
python -m feedforge.cli "your content description here"
```
## ๐ Project Structure
```
feedforge/
โโโ src/
โ โโโ feedforge/
โ โโโ __init__.py # Automatic Playwright setup
โ โโโ cli.py # Command-line interface
โ โโโ core.py # Main functionality
โโโ pyproject.toml # Project configuration
โโโ test_feedforge.py # Installation test script
โโโ .env.example # Environment variables template
โโโ .env # API keys (you create this)
โโโ README.md # This file
```
## ๐ค Contributing
1. Fork the repository
2. Create a feature branch: `git checkout -b feature-name`
3. Make your changes
4. Test your changes: `python test_feedforge.py`
5. Ensure all tests pass: `feedforge --help`
6. Submit a pull request
### Development Setup
```bash
# Clone your fork
git clone https://github.com/RishabhKodes/feedforge.git
cd feedforge
# Create virtual environment with Python 3.9+
python3.9 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e .
# Run tests
python test_feedforge.py
```
## ๐ License
This project is open source. Please check the license file for details.
## โ ๏ธ Disclaimer
This tool automates browser interactions with YouTube. Use responsibly and in accordance with YouTube's Terms of Service. The authors are not responsible for any violations of platform policies.
## ๐ Support
If you encounter any issues:
1. Check the troubleshooting section above
2. Ensure all prerequisites are met
3. Verify your API keys are valid
4. Create an issue on GitHub with detailed error information
---
Happy feed customizing! ๐
Raw data
{
"_id": null,
"home_page": null,
"name": "feedforge",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "youtube, feed, automation, ai, browser, selenium, recommendations",
"author": null,
"author_email": "Rishabh Bhandari <rishabhbhandari6@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/5c/19/b7b19b4267a7875575791bed1b28c570593a5f56b0de7da619d413b8c770/feedforge-0.1.2.tar.gz",
"platform": null,
"description": "# FeedForge \ud83c\udfaf\n\nA powerful tool to customize your YouTube feed based on your content preferences. FeedForge uses AI to understand your interests, searches for relevant videos, and automatically interacts with them to train YouTube's recommendation algorithm.\n\n## \ud83c\udf1f Features\n\n- **AI-Powered Content Discovery**: Uses OpenAI's GPT-4 to generate relevant search keywords from your content preferences\n- **YouTube API Integration**: Searches for high-quality videos matching your interests\n- **Automated Browser Interaction**: Uses browser automation to play videos and train YouTube's algorithm\n- **Customizable Playback**: Control how long each video plays during the training process\n- **Cross-Platform Support**: Works on Windows, macOS, and Linux\n\n## \ud83d\udd27 Prerequisites\n\nBefore running FeedForge, ensure you have:\n\n1. **Python 3.9 or higher** (3.11+ recommended)\n2. **Google Chrome or Firefox browser** installed\n3. **OpenAI API Key** - Get one from [OpenAI Platform](https://platform.openai.com/api-keys)\n4. **YouTube Data API Key** - Get one from [Google Cloud Console](https://console.cloud.google.com/apis/credentials)\n\n## \ud83d\udce6 Installation\n\n### Install from PyPI (Recommended)\n```bash\npip install feedforge\n```\n\n### Development Installation\nIf you want to contribute or install from source:\n\n#### 1. Clone the Repository\n```bash\ngit clone https://github.com/RishabhKodes/feedforge.git\ncd feedforge\n```\n\n#### 2. Create Virtual Environment\n```bash\npython3.9 -m venv venv\n# On Windows:\nvenv\\Scripts\\activate\n# On macOS/Linux:\nsource venv/bin/activate\n```\n\n#### 3. Install in Development Mode\n```bash\npip install -e .\n```\n\nThis will automatically install all required dependencies:\n- langchain-openai (>=0.0.5)\n- google-api-python-client (>=2.0.0)\n- selenium (>=4.0.0)\n- click (>=8.0.0)\n- python-dotenv (>=1.0.0)\n- geckodriver-autoinstaller (>=0.1.0)\n- chromedriver-autoinstaller (>=0.6.0)\n- openai (>=1.0.0)\n\n## \u2699\ufe0f Configuration\n\n### 1. Create Environment File\nCreate a `.env` file in the project root directory:\n```bash\ntouch .env\n```\n\n### 2. Add API Keys\nAdd your API keys to the `.env` file:\n```env\nOPENAI_API_KEY=your_openai_api_key_here\nYOUTUBE_API_KEY=your_youtube_api_key_here\n```\n\n### Getting Your API Keys\n\n#### OpenAI API Key:\n1. Visit [OpenAI Platform](https://platform.openai.com/api-keys)\n2. Sign in or create an account\n3. Click \"Create new secret key\"\n4. Copy the key and add it to your `.env` file\n\n#### YouTube Data API Key:\n1. Go to [Google Cloud Console](https://console.cloud.google.com/)\n2. Create a new project or select existing one\n3. Enable the \"YouTube Data API v3\"\n4. Go to \"Credentials\" \u2192 \"Create Credentials\" \u2192 \"API Key\"\n5. Copy the key and add it to your `.env` file\n\n## \ud83e\uddea Testing Installation\n\nTo verify that FeedForge is installed correctly, run the test script:\n\n```bash\npython test_feedforge.py\n```\n\nThis will test:\n- All required imports\n- Environment variable handling\n- CLI command availability\n\n## \ud83d\ude80 Usage\n\n### Basic Usage\n```bash\nfeedforge \"I want to see videos about people building successful side projects and sharing their journey\"\n```\n\n### With Custom Duration\nControl how long each video plays (default is 2 seconds):\n```bash\nfeedforge \"machine learning tutorials for beginners\" --duration 5\n```\n\n### Example Commands\n```bash\n# Startup and entrepreneurship content\nfeedforge \"startup founders sharing their journey and lessons learned\"\n\n# Programming tutorials\nfeedforge \"python programming tutorials and coding best practices\" --duration 3\n\n# Creative content\nfeedforge \"digital art tutorials and creative processes\" --duration 4\n\n# Productivity and self-improvement\nfeedforge \"productivity tips and morning routines of successful people\"\n```\n\n## \ud83d\udd27 How It Works\n\n1. **Input Processing**: FeedForge takes your content description and uses OpenAI's GPT-4 to generate relevant search keywords\n2. **Video Discovery**: Uses YouTube's Data API to search for high-quality videos matching those keywords\n3. **Smart Selection**: Implements round-robin selection to ensure diverse content from different keywords\n4. **Browser Automation**: Opens Chrome and automatically plays each video for the specified duration\n5. **Algorithm Training**: Your interactions help train YouTube's recommendation algorithm to show similar content\n\n## \ud83d\udee0\ufe0f Troubleshooting\n\n### Common Issues\n\n#### \"No .env file found\"\nMake sure you've created a `.env` file in the project root directory with your API keys.\n\n#### \"Chrome not found\"\nFeedForge will automatically try to find Chrome in common locations:\n- **macOS**: `/Applications/Google Chrome.app/Contents/MacOS/Google Chrome`\n- **Windows**: `C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe`\n- **Linux**: `/usr/bin/google-chrome`\n\nIf Chrome is installed elsewhere, you may need to update the path in `src/feedforge/core.py`.\n\n#### \"Invalid API Key\"\n- Verify your API keys are correct in the `.env` file\n- Ensure your OpenAI account has sufficient credits\n- Check that YouTube Data API is enabled in Google Cloud Console\n\n#### \"No videos found\"\nTry using more general or different keywords in your description.\n\n### Debug Mode\nFor debugging, you can run the project with Python directly:\n```bash\npython -m feedforge.cli \"your content description here\"\n```\n\n## \ud83d\udcc1 Project Structure\n\n```\nfeedforge/\n\u251c\u2500\u2500 src/\n\u2502 \u2514\u2500\u2500 feedforge/\n\u2502 \u251c\u2500\u2500 __init__.py # Automatic Playwright setup\n\u2502 \u251c\u2500\u2500 cli.py # Command-line interface\n\u2502 \u2514\u2500\u2500 core.py # Main functionality\n\u251c\u2500\u2500 pyproject.toml # Project configuration\n\u251c\u2500\u2500 test_feedforge.py # Installation test script\n\u251c\u2500\u2500 .env.example # Environment variables template\n\u251c\u2500\u2500 .env # API keys (you create this)\n\u2514\u2500\u2500 README.md # This file\n```\n\n## \ud83e\udd1d Contributing\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature-name`\n3. Make your changes\n4. Test your changes: `python test_feedforge.py`\n5. Ensure all tests pass: `feedforge --help`\n6. Submit a pull request\n\n### Development Setup\n\n```bash\n# Clone your fork\ngit clone https://github.com/RishabhKodes/feedforge.git\ncd feedforge\n\n# Create virtual environment with Python 3.9+\npython3.9 -m venv venv\nsource venv/bin/activate # On Windows: venv\\Scripts\\activate\n\n# Install in development mode\npip install -e .\n\n# Run tests\npython test_feedforge.py\n```\n\n## \ud83d\udcc4 License\n\nThis project is open source. Please check the license file for details.\n\n## \u26a0\ufe0f Disclaimer\n\nThis tool automates browser interactions with YouTube. Use responsibly and in accordance with YouTube's Terms of Service. The authors are not responsible for any violations of platform policies.\n\n## \ud83c\udd98 Support\n\nIf you encounter any issues:\n1. Check the troubleshooting section above\n2. Ensure all prerequisites are met\n3. Verify your API keys are valid\n4. Create an issue on GitHub with detailed error information\n\n---\n\nHappy feed customizing! \ud83c\udf89\n",
"bugtrack_url": null,
"license": null,
"summary": "A powerful AI-driven tool to customize your YouTube feed based on your content preferences using browser automation",
"version": "0.1.2",
"project_urls": {
"Bug Tracker": "https://github.com/RishabhKodes/feedforge/issues",
"Documentation": "https://github.com/RishabhKodes/feedforge#readme",
"Homepage": "https://github.com/RishabhKodes/feedforge",
"Repository": "https://github.com/RishabhKodes/feedforge"
},
"split_keywords": [
"youtube",
" feed",
" automation",
" ai",
" browser",
" selenium",
" recommendations"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c51a2e57fa70957e5012e2d5259a03d0c73eea4bb106280a832ade5b8c0621cb",
"md5": "f5dc6b254cabf3dcfd26f65b7dfb0bba",
"sha256": "6e2ff0ef4dea654c25f0ffd7fe83b281cfe601ed743e50775f8d69c591c6126c"
},
"downloads": -1,
"filename": "feedforge-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f5dc6b254cabf3dcfd26f65b7dfb0bba",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 10929,
"upload_time": "2025-08-01T10:25:50",
"upload_time_iso_8601": "2025-08-01T10:25:50.052495Z",
"url": "https://files.pythonhosted.org/packages/c5/1a/2e57fa70957e5012e2d5259a03d0c73eea4bb106280a832ade5b8c0621cb/feedforge-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5c19b7b19b4267a7875575791bed1b28c570593a5f56b0de7da619d413b8c770",
"md5": "75d84d9155dbc9cc6fc3c53189c1507f",
"sha256": "e536ac107305effa48b2d2f0d1b1df4643a42ab07010b045ab5a4442860df57f"
},
"downloads": -1,
"filename": "feedforge-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "75d84d9155dbc9cc6fc3c53189c1507f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 13068,
"upload_time": "2025-08-01T10:25:51",
"upload_time_iso_8601": "2025-08-01T10:25:51.081783Z",
"url": "https://files.pythonhosted.org/packages/5c/19/b7b19b4267a7875575791bed1b28c570593a5f56b0de7da619d413b8c770/feedforge-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-01 10:25:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "RishabhKodes",
"github_project": "feedforge",
"github_not_found": true,
"lcname": "feedforge"
}