Skip to main content

swelist

CI codecov License: MIT PyPI version Python Versions

A CLI tool for job seekers to track tech internships and new-grad positions. Data is sourced from the Summer2025-Internships and New-Grad-Positions repositories.

Features

  • Track both internships and new-grad positions
  • Filter job postings by time (last day, week, or month)
  • Filter job postings by locations
  • View company name, job title, location, and application link
  • Real-time data from GitHub repositories
  • Local SQLite application tracker (swelist tracker)
  • AI-powered interview prep via swelist jobgpt

Installation

pip install swelist

Usage

Command Line

Basic usage:

# Show internship positions from last 24 hours (default)
swelist

# Show new-grad positions from last 24 hours
swelist --role newgrad

# Show internship positions from last week
swelist --role internship --timeframe lastweek

# Show internship positions for Toronto
swelist --role internship --location Toronto

# Show new-grad positions for last month for Boston and New York
swelist --role newgrad --timeframe lastmonth --location "Boston, New York"

Options

  • --role: Choose between internship (default) or newgrad positions
  • --timeframe: Filter postings by time period: lastday (default), lastweek, or lastmonth
  • --location: Filter locations by giving single location: Canada or multiple locations "Boston, Toronto, New York"

Application Tracker

Track job applications locally with SQLite — no account required:

# Initialize (once)
swelist tracker init

# Add applications
swelist tracker add "Amazon — SDE, AWS" --status "In progress" --job-id 10414382 --applied-on 2026-05-17

# Update status
swelist tracker update "Amazon — SDE, AWS" --status "Rejected"

# View all
swelist tracker list
swelist tracker list --status "In progress" --company amazon

# Export
swelist tracker export --format json
swelist tracker export --format csv

Agent Integration

swelist can be integrated into AI automation workflows to parse job postings and convert them to structured JSON:

import subprocess
import json

# Get job postings
output = subprocess.run(['swelist', '--role', 'internship'], capture_output=True, text=True)

# Parse into structured JSON
jobs = []
current_job = {}
for line in output.stdout.splitlines():
    if line.startswith("Company:"):
        current_job = {"company": line.split(":", 1)[1].strip()}
    elif line.startswith("Title:"):
        current_job["title"] = line.split(":", 1)[1].strip()
    elif line.startswith("Location:"):
        current_job["location"] = line.split(":", 1)[1].strip()
    elif line.startswith("Link:"):
        current_job["link"] = line.split(":", 1)[1].strip()
        jobs.append(current_job)

print(json.dumps(jobs, indent=2))

This enables use cases like:

  • Automated daily job tracking agents
  • Integration with AI writing assistants for application workflows
  • Real-time job aggregation pipelines

Example Output

Welcome to swelist.com
Last updated: Sun Feb 23 13:03:45 2025
Found 1227 tech internships from 2025Summer-Internships
Found 103 new-grad tech jobs from New-Grad-Positions
Sign-up below to receive updates when new internships/jobs are added

Found 15 postings in the last day:

Company: Example Tech
Title: Software Engineering Intern
Location: New York, NY
Link: https://example.com/apply
...

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License

Download files

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

Source Distribution

swelist-0.1.10.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

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

swelist-0.1.10-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file swelist-0.1.10.tar.gz.

File metadata

  • Download URL: swelist-0.1.10.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for swelist-0.1.10.tar.gz
Algorithm Hash digest
SHA256 6488da2f82c5b2b589e3b6f95611b6df1bfb0568bc9918e4975f24718ea8e03a
MD5 9bd5bba9a9e261cbad3dd21eb22e1dee
BLAKE2b-256 ae48d1e41c0bc4aa10a89dfbd2127b47149c2fadeb20dbba4ed1752f8a83927f

See more details on using hashes here.

Provenance

The following attestation bundles were made for swelist-0.1.10.tar.gz:

Publisher: python-publish.yml on chenyuan99/swelist

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

File details

Details for the file swelist-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: swelist-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for swelist-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 ffc11d0bf40d47451a24ad6cf34f62b469b211dddf15e8232a99021b9e3fd5e2
MD5 ef8e9c86c0328c54b01514e071a323f7
BLAKE2b-256 db370688de15d2531ac818e89cc93bf6119b0e251347a1687873d0fe581e843d

See more details on using hashes here.

Provenance

The following attestation bundles were made for swelist-0.1.10-py3-none-any.whl:

Publisher: python-publish.yml on chenyuan99/swelist

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

Release history Release notifications | RSS feed

This release

0.1.10 This release

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

Supported by

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