Skip to main content

A Python package for interfacing with the Mozilla Data Collective's API

Project description

Mozilla Data Collective Python API Library

Python library for interfacing with the Mozilla Data Collective REST API.

Installation

Install the package using pip:

pip install datacollective

Quick Start

  1. Get your API key from the Mozilla Data Collective dashboard

  2. Set up your environment:

If you have cloned the repository, you can run the following command:

# Copy the example environment file
cp .env.example .env

Otherwise, copy and paste the following into a file called .env in your present working directory.

MDC_API_KEY=<MDC_API_KEY> # change to your MDC API Key
MDC_API_URL=https://datacollective.mozillafoundation.org/api # change to MDC API URL endpoint
MDC_DOWNLOAD_PATH=~/.mozdata/datasets # change to where you want to download datasets
  1. Configure your API key by editing .env:

    # Required: Your MDC API key
    MDC_API_KEY=your-api-key-here
    
    # Optional: Download path for datasets (defaults to ~/.mozdata/datasets)
    MDC_DOWNLOAD_PATH=~/.mozdata/datasets
    
  2. Start using the library:

    from datacollective import DataCollective
    
    # Initialize the client
    client = DataCollective()
    
    # Download a dataset
    client.get_dataset('mdc-dataset-id')
    

Configuration

The client loads configuration from environment variables or .env files:

  • MDC_API_KEY - Your Mozilla Data Collective API key (required)
  • MDC_API_URL - API endpoint (defaults to production)
  • MDC_DOWNLOAD_PATH - Where to download datasets (defaults to ~/.mozdata/datasets)

Environment Files

Create a .env file in your project root:

# MDC API Configuration
MDC_API_KEY=your-api-key-here
MDC_API_URL=https://datacollective.mozillafoundation.org/api
MDC_DOWNLOAD_PATH=~/.mozdata/datasets

Note: Never commit .env files to version control as they contain sensitive information.

Basic Usage

from datacollective import DataCollective

# Initialize client (loads from .env automatically)
client = DataCollective()

# Verify your configuration
print(f"API URL: {client.api_url}")
print(f"Download path: {client.download_path}")

# Download a dataset
dataset = client.get_dataset('your-dataset-id')

Load and query datasets

note: today, this feature only works with Mozilla Common Voice datasets

from datacollective import DataCollective

client = DataCollective()

dataset = client.load_dataset("<dataset-id>") # Load dasaset into memory
df = dataset.to_pandas() # Convert to pandas for queryable form
dataset.splits # A list of all splits available in the dataset

Multiple Environments

You can use different environment configurations:

# Production environment (default, uses .env)
client = DataCollective()

# Development environment (uses .env.development)
client = DataCollective(environment='development')

# Staging environment (uses .env.staging)  
client = DataCollective(environment='staging')

License

This project is released under MPL (Mozilla Public License) 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mdc_dlp-0.0.1a0.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mdc_dlp-0.0.1a0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file mdc_dlp-0.0.1a0.tar.gz.

File metadata

  • Download URL: mdc_dlp-0.0.1a0.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mdc_dlp-0.0.1a0.tar.gz
Algorithm Hash digest
SHA256 8a6caa7d035613f3bc5bdb45a034e549b1778aa457b32be6f93f63739e52505c
MD5 b260acf90f22672975149372fb5d563c
BLAKE2b-256 dd2988e384f028983e47d64b60c4160baee3eaf470b657423d844c2ad78b0da5

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdc_dlp-0.0.1a0.tar.gz:

Publisher: pypi-publish.yml on BishtSarthak/mdc-dlp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdc_dlp-0.0.1a0-py3-none-any.whl.

File metadata

  • Download URL: mdc_dlp-0.0.1a0-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mdc_dlp-0.0.1a0-py3-none-any.whl
Algorithm Hash digest
SHA256 378b6ece3e1d3438882e0f87e473af54267d4215cc7eabcc92c0fd8e01027a7a
MD5 5cc532cbca5ae69a3e3d02f52da77bea
BLAKE2b-256 901c8d6b1176bf35dd275da9dd4d6d8dfa3926f78197f8d2d062fd85676d3693

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdc_dlp-0.0.1a0-py3-none-any.whl:

Publisher: pypi-publish.yml on BishtSarthak/mdc-dlp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page