State of the Union Addresses

State of the Union addresses given by U.S. Presidents.

The State of the Union address is an annual speech given by the President of the United States of America to a joint session of the United States Congress.

Usage

var sotu = require( '@stdlib/datasets/sotu' );

sotu( [options] )

Returns State of the Union addresses.

var speeches = sotu();
// returns [{...},{...},...]

Each State of the Union address is represented by an object with the following fields:

  • year: speech year.
  • name: President name.
  • party: the President's political party.
  • text: speech text.

The function accepts the following options:

  • name: a President's name or an array of names.
  • party: a political party or an array of political parties.
  • year: a year or an array of years.
  • range: two-element array specifying a year range.

To retrieve speeches by one or more Presidents, set the name option.

var speeches = sotu({
    'name': 'Barack Obama'
});
// returns [{...},{...},...]

speeches = sotu({
    'name': [
        'Franklin D Roosevelt',
        'Barack Obama'
    ]
});
// returns [{...},{...},...]

To retrieve speeches from Presidents belonging to a particular political party, set the party option.

var speeches = sotu({
    'party': 'Democratic'
});
// returns [{...},{...},...]

speeches = sotu({
    'party': [
        'Federalist',
        'Democratic'
    ]
});
// returns [{...},{...},...]

The following parties are recognized:

  • Democratic
  • Republican
  • Democratic-Republican
  • Federalist
  • National Union
  • Whig
  • Whig & Democratic
  • none

To retrieve speeches from one or more years, set the year option.

var speeches = sotu({
    'year': 2009
});
// returns [{...}]

speeches = sotu({
    'year': [
        1942,
        2009
    ]
});
// returns [{...},{...}]

To specify a range of consecutive years, set the range option, where the first element corresponds to the starting year and the second element corresponds to the final year.

var speeches = sotu({
    'range': [ 2009, 2016 ]
});
// returns [{...},{...},...]

Examples

var sotu = require( '@stdlib/datasets/sotu' );
var speeches;

// Get a range of speeches:
speeches = sotu({
    'range': [ 2009, 2013 ]
});
// returns [...]

// Get speeches by one or more Presidents:
speeches = sotu({
    'name': [
        'Abraham Lincoln',
        'William J Clinton'
    ]
});
console.log( 'Number of addresses by Abraham Lincoln and Bill Clinton: %d', speeches.length );

// Get all addresses by Presidents belonging to the Democratic Party:
speeches = sotu({
    'party': 'Democratic'
});
console.log( 'Number of addresses by Democrats: %d', speeches.length );

CLI

Usage

Usage: sotu [options]

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.
         --name n1,n2,...      President names.
         --party p1,p2,...     Political parties.
         --year y1,y2,...      Years.
         --range r1,r2         Year range.

Notes

  • Data is written to stdout as newline-delimited JSON (NDJSON).

Examples

$ sotu --name 'Barack Obama' --year 2009
{"name":"Barack Obama","year":2009,"party":"Democratic","text":"..."}

License

The data files (databases) are licensed under an Open Data Commons Public Domain Dedication & License 1.0 and their contents are licensed under a Creative Commons Zero v1.0 Universal. State of the Union addresses are works of the United States Government and thus have no copyright protection under United States copyright law. The software is licensed under Apache License, Version 2.0.