chore: update .gitignore with comprehensive patterns

This commit is contained in:
Jarian Cottingham 2026-02-25 15:59:11 -06:00
parent ff2660e083
commit 29e7aef471
7 changed files with 41 additions and 160 deletions

41
.gitignore vendored
View File

@ -1,2 +1,43 @@
# Virtual environments
venv/ venv/
.venv/
# Python bytecode and compiled files
__pycache__/ __pycache__/
*.py[cod]
*.so
# Package metadata
*.egg-info/
dist/
build/
# Test coverage and reporting
.coverage
.coverage.*
htmlcov/
.pytest_cache/
# Type checking caches
.mypy_cache/
.ruff_cache/
# IDE and system files
.DS_Store
*.log
# Opencode directory
.opencode/
# Node modules (if applicable)
node_modules/
# Runtime data
data/
*.db
*.sqlite
# Logs and temporary files
logs/
*.tmp
*.temp

View File

@ -1,142 +0,0 @@
Metadata-Version: 2.4
Name: youtube-cli
Version: 0.1.0
Summary: A command-line interface for browsing and downloading YouTube videos
Home-page: https://github.com/yourusername/youtube-cli
Author: Your Name
Author-email: your.email@example.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: yt-dlp
Requires-Dist: rich
Requires-Dist: requests
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary
# YouTube CLI
A command-line interface for browsing and downloading YouTube videos.
## Features
- Search YouTube videos with keyword queries
- Display up to 15 videos at a time with title, author, duration, and type (short/video)
- Download videos using yt-dlp with progress indication
- Configure download locations
- Handle short videos (videos with /shorts/ in URL) with special "(short)" prefix
## Requirements
- Python 3.6+
- yt-dlp
- rich
- requests
## Installation
### From Source
```bash
git clone https://github.com/yourusername/youtube-cli.git
cd youtube-cli
pip install -e .
```
### Using pip
```bash
pip install youtube-cli
```
## Usage
### Basic Search
```bash
youtube-cli "python tutorial"
```
### Download a Video
```bash
youtube-cli --download "https://www.youtube.com/watch?v=xyz123"
```
### View Help
```bash
youtube-cli --help
```
## Configuration
The application will create a default configuration file at `~/.config/youtube_cli/config.json` if one doesn't exist. You can customize:
```json
{
"download_dir": "~/Downloads/youtube",
"default_locations": [
"~/Downloads/youtube",
"~/Movies/youtube",
"/tmp/youtube"
],
"max_videos_per_page": 15,
"yt_dlp_args": {
"format": "bestvideo[height=1080]+bestaudio/bestvideo[height<=1080]+bestaudio",
"write_thumbnail": true,
"extractor_args": "youtube:player-client=default,-tv_simply"
}
}
```
## How to Use
1. Run a search query to find videos
2. Videos will be displayed with:
- Title (short videos marked with "(short)")
- Author
- Duration
- Type indicator
3. Choose an option:
- `n` for next page of results
- `q` to quit
- Enter a number to select and download a video
## Features
- **Search**: Search YouTube videos using keyword queries
- **Pagination**: View 15 videos at a time with option for more
- **Download**: Download videos directly with progress indication
- **Short Detection**: Automatically detects and marks short videos
- **Configuration**: Customizable download locations
- **Cross-platform**: Works on macOS and Linux
## Dependencies
This tool depends on `yt-dlp` which must be installed separately:
```bash
pip install yt-dlp
```
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Create a Pull Request
## License
MIT License

View File

@ -1,11 +0,0 @@
README.md
setup.py
youtube_cli/__init__.py
youtube_cli/__main__.py
youtube_cli/main.py
youtube_cli.egg-info/PKG-INFO
youtube_cli.egg-info/SOURCES.txt
youtube_cli.egg-info/dependency_links.txt
youtube_cli.egg-info/entry_points.txt
youtube_cli.egg-info/requires.txt
youtube_cli.egg-info/top_level.txt

View File

@ -1 +0,0 @@

View File

@ -1,2 +0,0 @@
[console_scripts]
youtube-cli = youtube_cli.main:main

View File

@ -1,3 +0,0 @@
yt-dlp
rich
requests

View File

@ -1 +0,0 @@
youtube_cli