Skip to content

jorgeasaurus/PwShSummit

Repository files navigation

PwShSummit

CI/CD Pipeline PowerShell Gallery PowerShell Gallery Downloads License

Browse the PowerShell + DevOps Global Summit schedule from your terminal.

All schedule data is bundled offline as JSON -- no internet required at runtime. Year-agnostic design supports multiple summit years.

Module Info

Requirements

Installation

Install-Module PwShSummit

Or clone the repo and import directly:

Import-Module ./PwShSummit

Quick Start

# Show the full schedule (defaults to current year)
Get-SummitSchedule

# Filter by day
Get-SummitSchedule -Day Monday

# Search by title
Get-SummitSchedule -Search "PowerShell"

# Get full session details (description, tags, speaker company)
Get-SummitSession -Title "DevOps in the Age of AI"

# Pipeline: keynotes with full details
Get-SummitSchedule -Category Keynote | Get-SummitSession

Commands

Get-SummitSchedule

Returns all sessions from bundled data. Supports filtering.

Parameter Description
-Year Summit year (default: current year)
-Day Filter by day (Monday-Thursday)
-Speaker Wildcard match on speaker name
-Category Filter by track
-Search Wildcard match on session title
-Detail Return all properties (description, tags, etc.)

Output: Day, Date, Time, Title, Speaker, Room, Category, EventId, Url, Year

Schedule by Day

# List all categories
Get-SummitSchedule | Select-Object -Unique Category

2026 categories: Artificial Intelligence, Automation, Cloud, DevOps, Focus Group, Food, General, Keynote, PowerShell, Quality of Life, Real-World Solutions, Security, Soft Skills & Career Growth, Summit

# Single category
Get-SummitSchedule -Category Keynote

# Multiple categories
Get-SummitSchedule -Category PowerShell, Security

# Combine filters
Get-SummitSchedule -Day Tuesday -Category Security
Get-SummitSchedule -Category 'Artificial Intelligence' -Speaker "Kellyn"

# All properties (description, speaker company, tags)
Get-SummitSchedule -Day Monday -Detail
Get-SummitSchedule -Category Keynote -Detail | Format-List

Detail View

Get-SummitSession

Returns full session details including description, speaker company, and tags.

Parameter Description
-Title Search by title (wildcard match)
-Year Summit year when searching by title (default: current year)
-InputObject Pipeline input from Get-SummitSchedule

Output: Title, Day, Date, Time, Speaker, SpeakerCompany, Room, Category, Tags, Description, Url, Year

# Search by title
Get-SummitSession -Title "Infrastructure as Code"

# Pipeline from filtered schedule
Get-SummitSchedule -Speaker "Snover" | Get-SummitSession

# Read the full description
Get-SummitSession -Title "State of the Shell" | Select-Object -ExpandProperty Description

Show-SummitSession

Renders session details as styled Spectre.Console panels with colored borders, speaker info, tags, and full description.

Parameter Description
-Title Search by title (wildcard match)
-Year Summit year when searching by title (default: current year)
-InputObject Pipeline input from Get-SummitSchedule or Get-SummitSession
-BorderColor Spectre border color (default: Cyan1)

Alias: showsession

Show Session

# Show a single session
Show-SummitSession -Title "State of the Shell"

# Pipeline from schedule
Get-SummitSchedule -Category Keynote | Show-SummitSession

# Custom border color
Get-SummitSession -Title "PowerShell" | Show-SummitSession -BorderColor Gold1

Get-PwShSummitModule

Displays all module commands with aliases and synopses in a Spectre.Console table.

Parameter Description
-DataOnly Return raw, unformatted objects for pipeline use

Alias: summitmod

# Pretty table
Get-PwShSummitModule

# Raw data
Get-PwShSummitModule -DataOnly

Update-SummitData

Scrapes pshsummit{year}.sched.com and writes a Data/{year}.json file. Requires curl and internet access. Used by maintainers to add or refresh schedule data.

Parameter Description
-Year Summit year to scrape (default: current year)
-Force Overwrite existing data file
-ThrottleMs Delay between API requests in ms (default: 200)
# Generate data for a new year
Update-SummitData -Year 2027

# Refresh existing data
Update-SummitData -Year 2026 -Force

# Preview without writing
Update-SummitData -Year 2027 -WhatIf

Adding a New Year

When a new summit schedule is published on sched.com:

  1. Run Update-SummitData to scrape and generate the JSON:
    Import-Module ./PwShSummit
    Update-SummitData -Year 2027
  2. Verify the data:
    Get-SummitSchedule -Year 2027 | Measure-Object
    Get-SummitSchedule -Year 2027 | Select-Object -First 5
    Get-SummitSession -Title "Keynote" -Year 2027
  3. Update the -Category ValidateSet in Public/Get-SummitSchedule.ps1 if categories changed.
  4. Bump the version in PwShSummit.psd1 and add release notes.
  5. Commit Data/2027.json and the manifest changes, tag a release.

How It Works

Schedule data is pre-scraped from pshsummit{YEAR}.sched.com and stored as JSON files in the Data/ folder. At runtime the module reads these files directly -- no network calls, no Cloudflare issues, instant results.

Disclaimer

This module is an independent community project and is not affiliated with, endorsed by, or officially connected to the PowerShell + DevOps Global Summit or its organizers.

About

Browse the PowerShell + DevOps Global Summit schedule from your terminal.

Resources

License

Stars

Watchers

Forks

Packages