The project is in a healthy, maintained state
ietf-data-importer offers reliable offline access to metadata for IETF working groups and IRTF research groups. This provides a dependable alternative to the official resources at https://tools.ietf.org/wg/ and https://irtf.org/groups, which may experience downtime or connectivity issues.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 1.0
>= 0
~> 1.19
 Project Readme

IETF Data Importer

Gem Version Build Status Pull Requests Commits since latest

Purpose

IETF Data Importer is a Ruby gem providing access to information about IETF working groups and IRTF research groups.

It includes:

  • Data models for IETF and IRTF groups

  • Command-line tools for fetching and updating group data

  • A Ruby API for accessing group information

This gem exists because the official sources often change their layout or may be unavailable:

Installation

Add this line to your application’s Gemfile:

gem 'ietf-data-importer'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install ietf-data-importer

Usage

For YAML/JSON data users

The gem provides a command-line tool to fetch current group data:

$ ietf-data-importer fetch output.yaml
$ ietf-data-importer fetch output.json --format=json

For Ruby API users

require 'ietf/data/importer'

# Check if a group exists
Ietf::Data::Importer.group_exists?('httpbis')

# Get information about a specific group
group = Ietf::Data::Importer.find_group('httpbis')
puts group.name
puts group.organization
puts group.status

# Get all IETF working groups
wgs = Ietf::Data::Importer.working_groups

# Get all IRTF research groups
rgs = Ietf::Data::Importer.research_groups

# Get groups by a specific type
type_groups = Ietf::Data::Importer.groups_by_type('wg')

# Get groups by area
area_groups = Ietf::Data::Importer.groups_by_area('Applications and Real-Time Area')

# Get active or concluded groups
active = Ietf::Data::Importer.active_groups
concluded = Ietf::Data::Importer.concluded_groups

# Get all available group types
types = Ietf::Data::Importer.group_types

# Get all areas
areas = Ietf::Data::Importer.areas

Data model

Organizations

Organization Abbreviation Description

Internet Engineering Task Force

ietf

Standards development organization

Internet Research Task Force

irtf

Research organization

Group types

Type Abbreviation Organization Description

Working Group

wg

ietf

IETF working groups

Research Group

rg

irtf

IRTF research groups

Area

area

ietf

IETF areas

Team

team

ietf

IETF administrative teams

Program

program

irtf

IRTF programs

Directorate

dir

ietf

IETF directorates

Advisory Group

ag

ietf/irtf

Advisory groups

Status values

Status Description

active

Group is currently active

concluded

Group has completed its work

bof

Birds of a Feather (BOF) session

proposed

Proposed but not yet approved

Command-line interface

The gem provides a command-line tool with the following commands:

# Fetch current IETF/IRTF group data
$ ietf-data-importer fetch [OUTPUT_FILE] --format=yaml|json

# Integrate a YAML file into the gem for distribution
$ ietf-data-importer integrate YAML_FILE

Data schema

The YAML/JSON data follows this schema:

groups:
- abbreviation: string       # Group abbreviation or acronym
  name: string               # Full group name
  organization: string       # 'ietf' or 'irtf'
  type: string               # Group type (see table above)
  area: string               # Area name (for IETF WGs)
  status: string             # Group status
  description: string        # Description or charter text
  chairs:                    # Array of chairs
    - string                 # Chair name
  mailing_list: string       # Mailing list address
  mailing_list_archive: string # Archive URL
  website_url: string        # Group website URL
  charter_url: string        # Charter document URL
  concluded_date: string     # ISO date of conclusion (if applicable)
groups:
- abbreviation: httpbis
  name: HTTP
  organization: ietf
  type: wg
  area: Applications and Real-Time Area
  status: active
  description: The HTTP working group is chartered to maintain and develop the Hypertext Transfer Protocol...
  chairs:
    - Chair Person 1
    - Chair Person 2
  mailing_list: httpbis@ietf.org
  mailing_list_archive: https://mailarchive.ietf.org/arch/browse/httpbis/
  website_url: https://httpwg.org/
  charter_url: https://datatracker.ietf.org/wg/httpbis/about/

Migration from metanorma-ietf-data

The versions 0.1.0 and 0.2.0 of this gem were published under the name metanorma-ietf-data.

The gem was rewritten and republished as ietf-data-importer to better reflect its purpose at version 0.3.0. The namespace and file structure have been changed to match other Metanorma data importer gems.

To migrate from metanorma-ietf-data:

  1. Replace the following:

    - require "metanorma/ietf/data"
    - groups = Metanorma::Ietf::Data.groups
    + require "ietf/data/importer"
    + groups = Ietf::Data::Importer.groups
  2. Update your Gemfile:

    - gem 'metanorma-ietf-data'
    + gem 'ietf-data-importer'

This gem is developed, maintained and funded by Ribose Inc.

License

The gem is available as open source under the terms of the 2-Clause BSD License.