(비공식) NIPA AIHub (aihub.or.kr) Downloader CLI & GUI 유틸리티
pip3 install git+https://github.com/jungin500/aihubkr.git@main
You need an AIHub API key to use this tool. You can get your API key from the AIHub website.
aihubkr-gui
aihubkr-dl --help
- Modern Interface: Clean, intuitive PyQt6-based GUI
- Dataset Browser: Browse and search through all available datasets
- File Tree View: View detailed file structure and sizes
- Selective Download: Choose specific files or download entire datasets
- Progress Tracking: Real-time download progress with speed and size information
- Status Logging: Detailed operation logs and error messages
- API Key Management: Secure API key storage and validation
aihubkr-dl list
aihubkr-dl files DATASET_KEY
aihubkr-dl download DATASET_KEY
aihubkr-dl download DATASET_KEY --file-key 1,2,3
aihubkr-dl download DATASET_KEY --output-dir /path/to/downloads
aihubkr-dl help
aihubkr-dl list --api-key your-api-key-here
export AIHUB_APIKEY="your-api-key-here"
aihubkr-dl list
This tool uses API key authentication instead of username/password. You can provide your API key in several ways:
- Command line argument:
--api-key your-key-here
- Environment variable: Set
AIHUB_APIKEY
environment variable - Saved credentials: The tool will prompt you to enter the API key once and save it for future use
- 🔑 API Key Authentication: Simple, secure authentication without login/logout
- 📋 Dataset Management: Browse and search through all available datasets
- 🌳 File Tree View: Detailed view of dataset structure with file sizes
- 📥 Selective Download: Download specific files or entire datasets
- 📊 Progress Tracking: Real-time download progress with speed and size information
- 🔄 File Merging: Automatic merging of split files after download
- 💾 CSV Export: Export dataset lists to CSV format for analysis
- 🎯 Custom Output Directories: Specify download locations
- ⚡ Background Processing: Non-blocking operations in GUI
- 🛡️ Error Handling: Comprehensive error handling and user feedback
- 📝 Status Logging: Detailed operation logs and debugging information
- 🔒 Secure Storage: Encrypted storage of API keys
- 🌐 Cross-Platform: Works on Windows, macOS, and Linux
- 📦 Modern CLI: Subcommand-based interface following modern CLI standards
- 🎨 PyQt6 GUI: Modern, responsive graphical interface
- 🔧 Modular Architecture: Clean, maintainable codebase
- 📈 Progress Callbacks: Real-time progress updates
- 🔄 State Management: Proper UI state management during operations
aihubkr/
├── src/aihubkr/
│ ├── core/ # Core functionality
│ │ ├── auth.py # API key authentication
│ │ ├── config.py # Configuration management
│ │ ├── downloader.py # Download engine
│ │ ├── file_utils.py # File operations
│ │ └── filelist_parser.py # File tree parsing
│ ├── cli/ # Command-line interface
│ │ └── main.py # CLI entry point
│ └── gui/ # Graphical interface
│ └── main.py # GUI entry point
├── external/ # External tools
│ └── aihubshell # Original aihubshell (reference)
└── setup.py # Package configuration
- Python 3.8 or higher
- Git
# Clone the repository
git clone https://github.com/jungin500/aihubkr.git
cd aihubkr
# Install dependencies
pip install -r requirements.txt
# Install in development mode
pip install -e .
# Run CLI
python -m src.aihubkr.cli.main list
# Run GUI
python -m src.aihubkr.gui.main
- requests: HTTP client for API communication
- PyQt6: GUI framework
- prettytable: CLI table formatting
- tqdm: Progress bars (for internal use)
- Python: 3.8 or higher
- Operating System: Windows, macOS, or Linux
- AIHub Account: Valid AIHub account with API key
- Internet Connection: Required for dataset access and downloads
- Verify your API key is correct
- Check if you have accepted the terms on AIHub website
- Ensure your API key has proper permissions
- Check available disk space
- Verify internet connection
- Ensure you have accepted dataset terms on AIHub website
- Ensure PyQt6 is properly installed
- Check Python version compatibility
- Verify all dependencies are installed
- Check the CLI help:
aihubkr-dl --help
- Use the help command:
aihubkr-dl help
- Review error messages in the GUI status log
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
See CHANGELOG.md for a detailed history of changes.
- AIHub Website: https://aihub.or.kr
- GitHub Repository: https://github.com/jungin500/aihubkr
- API Documentation: https://api.aihub.or.kr/info/api.do
Made with ❤️ for the AI/ML community