wikimedia_commons_search 1.0.0 copy "wikimedia_commons_search: ^1.0.0" to clipboard
wikimedia_commons_search: ^1.0.0 copied to clipboard

A Dart library for searching and retrieving articles and images from Wikipedia / Wikimedia Commons

Wikimedia Commons Search #

pub topics

A Dart library for searching Wikipedia topics and retrieving associated Wikimedia Commons images. wikimedia_commons_search is developed and used by Faabul Live Quizzes

⚠️ Licensing Notice #

This library is a tool for accessing Wikimedia content and does not handle content licensing. When using content from Wikipedia or Wikimedia Commons, you must observe and comply with Wikimedia's licensing terms. Different content pieces may have different licenses.

For more information, visit:

Installation #

dependencies:
  wikimedia_commons_search: ^1.0.0

Then run:

dart pub get

Usage #

Basic Example #

import 'package:wikimedia_commons_search/wikimedia_commons_search.dart';

void main() async {
  final commons = WikimediaCommons();

  try {
    // Search for images related to a topic
    final images = await commons.searchImages('Eiffel Tower');
    
    for (final image in images) {
      print('Title: ${image.title}');
      print('URL: ${image.url}');
      print('License: ${image.license}');
      print('Description: ${image.description}');
      print('---');
    }
  } on WikimediaCommonsException catch (e) {
    print('Error: ${e.message}');
  } finally {
    commons.dispose();
  }
}

Screenshots #

Here's how the library looks in action using the bundled example Flutter app (see example/example_app/README.md):

Images from search

Images from topic details

Image details

Advanced Usage #

You can also search for topics first and then get images for specific topics:

final commons = WikimediaCommons();

try {
  // Search for Wikipedia topics
  final topics = await commons.searchTopics('Eiffel Tower');
  
  // Print topic information
  for (final topic in topics) {
    print('Topic: ${topic.title}');
    print('Description: ${topic.description}');
    
    // Get images for this specific topic
    final images = await commons.getTopicImages(topic.id);
    print('Found ${images.length} images');
    
    for (final image in images) {
      print('- ${image.title}');
    }
    print('---');
  }
} finally {
  commons.dispose();
}

Thumbnail Generation #

final thumbUrl = WikimediaCommons.getThumbnailUrl(
  'https://upload.wikimedia.org/wikipedia/commons/a/a5/Example.jpg',
  width: 800,
);

Features #

  • Topic Search

    • Search Wikipedia topics by keywords
    • Get topic metadata (title, description, word count, size)
    • Sorted by relevance
  • Image Search

    • Search images directly on Wikimedia Commons
    • Get images associated with Wikipedia topics
    • Smart filtering of utility images (flags, icons, logos)
    • Automatic sorting by size and relevance
  • Image Metadata

    • Full resolution URL and thumbnail
    • Description and attribution
    • License information
    • Technical details (dimensions, file type)
    • GPS coordinates (when available)
    • Artist information
    • File size
  • Thumbnail Generation

    • Generate thumbnail URLs for any Wikimedia image
    • Automatic format conversion (SVG to PNG, etc.)
    • Aspect ratio preservation

Error Handling #

The library provides several exception types for different error cases:

  • WikimediaNoResultsException: No topics found for the search query
  • WikimediaNoImagesException: No suitable images found for the topic
  • WikimediaApiException: API request failed or general errors
  • ResponseParsingException: Failed to parse API response
  • DisposedException: Attempt to use a disposed instance

License #

This library is licensed under the BSD 3-Clause License - see the LICENSE file for details.

Note: This license applies to the library code only, not to the content retrieved from Wikimedia Commons or Wikipedia.

0
likes
150
points
104
downloads
screenshot

Publisher

verified publisherfaabul.com

Weekly Downloads

A Dart library for searching and retrieving articles and images from Wikipedia / Wikimedia Commons

Homepage
Repository (GitHub)
View/report issues

Topics

#http #api #network #search #wikipedia

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

equatable, http

More

Packages that depend on wikimedia_commons_search