Diffusion tool-commons-browser (main)
README.md
README.md
Commons Browser - Your gateway for media of Wikimedia Commons
A Streamlit application that provides detailed statistics and analytics for Wikimedia Commons contributors. This tool helps users understand their contribution patterns, media usage, and file distributions.
๐ Features
- User Statistics
- Total number of files uploaded
- Total media requests
- Total size of uploads
- Number of active upload days
- Days since first and last uploads
- Upload frequency metrics
- Activity rate analysis
- File Analysis
- File type distribution with visualizations
- License distribution statistics
- Detailed data table with thumbnails
- Daily request trends for each file
- Time Range Options
- Custom date range
- Preset ranges (Last 7 days, Last 30 days, etc.)
- All-time statistics
๐ Installation
- Clone this repository:
git clone <repository-url>
cd <repository-directory>
- Create and activate a virtual environment (optional but recommended):
python -m venv .venv source .venv/bin/activate # On Windows, use `.venv\Scripts\activate`
- Install required packages:
pip install streamlit aiohttp pandas plotly
๐ป Usage
- Run the Streamlit application:
streamlit run commons-browser.py
- Open your web browser and navigate to the provided URL (typically http://localhost:8501)
- Enter a Wikimedia Commons username and select a date range
- View the generated statistics and visualizations
๐ Available Statistics
- File Metrics: Total count, size, and media requests
- Time-based Analytics: Upload patterns and activity rates
- Content Analysis:
- File type distribution
- License distribution
- Daily request trends
- Detailed Data Table: Comprehensive view of all uploads with thumbnails
๐ ๏ธ Technical Details
- Built with Streamlit for the user interface
- Uses async/await for efficient API requests
- Integrates with Wikimedia Commons API
- Visualizations powered by Plotly
- Responsive design with mobile support
๐ Requirements
- Python 3.9+
- streamlit
- aiohttp
- pandas
- plotly
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
๐ Acknowledgments
- Wikimedia Commons for providing the API
- Streamlit for the excellent web framework
- The open-source community for various dependencies
๐ง Contact
For questions and feedback, please open an issue in this GitLab repository.
Content licensed under Creative Commons Attribution-ShareAlike (CC BY-SA) 4.0 unless otherwise noted; code licensed under GNU General Public License (GPL) 2.0 or later and other open source licenses. By using this site, you agree to the Terms of Use, Privacy Policy, and Code of Conduct. ยท Wikimedia Foundation ยท Privacy Policy ยท Code of Conduct ยท Terms of Use ยท Disclaimer ยท CC-BY-SA ยท GPL ยท Credits