Noncommital Premarital Mischief


    0.0.96 • Public • Published

    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.


    var sotu = require( '@stdlib/dist-datasets-sotu' ).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': [
    // 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': [
    // 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 [{...},{...},...]


    • This package contains distributable files for use in browser environments or as shared ("vendored") libraries in server environments. Each distributable file is a standalone UMD bundle which, if no recognized module system is present, will expose bundle contents to the global scope.

    • Each minified bundle has a corresponding gzip-compressed bundle. The gzip compression level for each compressed bundle is 9, which is the highest (and most optimal) compression level. Deciding between uncompressed and compressed bundles depends on the application and whether compression is handled elsewhere in the application stack (e.g., nginx, CDN, et cetera).

    • While you are strongly encouraged to vendor bundles and host with a CDN/provider which can provide availability guarantees, especially for production applications, bundles are available via unpkg for quick demos, proof-of-concepts, and instructional material. For example,

      <script type="text/javascript" src=""></script>

      Please be mindful that unpkg is a free, best-effort service relying on donated infrastructure which does not provide any availability guarantees. Under no circumstances should you abuse or misuse the service. You have been warned.

    • If you intend on embedding a standalone bundle within another bundle, you may need to rename require calls within the standalone bundle before bundling in order to maintain scoped module resolution. For example, if you plan on using browserify to generate a bundle containing embedded bundles, browserify plugins exist to "de-require" those bundles prior to bundling.

    • The bundles in this package expose the following stdlib packages:


    var sotu = require( '@stdlib/dist-datasets-sotu' ).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 );

    To include the bundle in a webpage,

    <script type="text/javascript" src="/path/to/@stdlib/dist-datasets-sotu/build/bundle.min.js"></script>

    If no recognized module system is present, access bundle contents via the global scope.

    <script type="text/javascript">
        // If no recognized module system present, exposed to global scope:
        var sotu = stdlib_datasets_sotu.SOTU;
        console.log( sotu() );


    npm i @stdlib/dist-datasets-sotu

    DownloadsWeekly Downloads






    Unpacked Size

    14.6 MB

    Total Files


    Last publish


    • stdlib-bot
    • kgryte
    • planeshifter
    • rreusser