A native macOS REST API client built with SwiftUI and SwiftData. A lightweight Postman alternative designed specifically for macOS.
- REST API Testing - Support for GET, POST, PUT, DELETE methods
- Folder Organization - Organize requests into nested collections
- Request Editor - Configure URL, headers, query parameters, body, and authentication
- Response Viewer - View response status, headers, and formatted JSON body
- Bearer Token - JWT and OAuth token support
- Basic Auth - Username/password with Base64 encoding
- OAuth 2.0 - Configuration structure (implementation in progress)
Export requests as code in multiple languages:
- cURL - Command-line ready
- Swift - URLSession implementation
- Python - requests library
- Automatic logging of all requests
- View past requests grouped by date
- Restore requests from history
Download the latest DMG installer from the Releases page:
- Download
PostWoman-vX.X.X.dmg - Open the DMG file
- Drag PostWoman to your Applications folder
- Eject the DMG and launch PostWoman from Applications
- macOS 14.0 (Sonoma) or later
- Xcode 15.0 or later
-
Clone the repository:
git clone https://github.com/yourusername/postwoman.git cd postwoman -
Open in Xcode:
open PostWoman.xcodeproj
-
Build and run (Cmd+R)
To create a distributable DMG:
./scripts/build-dmg.shOptions:
-v, --version VERSION- Set version string-d, --debug- Build debug configuration
The DMG will be created in the dist/ directory.
- Click the + button in the sidebar
- Select "New Request" or "New Folder"
- Enter the URL and select HTTP method
- Configure headers, parameters, body as needed
- Press Cmd+Return or click "Send"
| Action | Shortcut |
|---|---|
| New Request | Cmd+N |
| New Folder | Shift+Cmd+N |
| Send Request | Cmd+Return |
| Save Request | Cmd+S |
| Duplicate Request | Cmd+D |
| Generate Code | Shift+Cmd+G |
PostWoman/
βββ App/ # App entry point and main views
βββ Models/ # SwiftData models
βββ Views/
β βββ Sidebar/ # Collection tree and history
β βββ RequestEditor/ # URL bar and request tabs
β βββ ResponseViewer/ # Response display
β βββ CodeGeneration/ # Code export
βββ Services/
β βββ HTTPClient.swift # Networking
β βββ AuthenticationHandler.swift
β βββ CodeGenerator/ # cURL, Swift, Python generators
βββ Utilities/ # JSON formatting, helpers
- UI Framework: SwiftUI
- Data Persistence: SwiftData
- Networking: URLSession with async/await
- Target Platform: macOS 14+
We welcome contributions! Please see our Contributing Guide for details on:
- Setting up your development environment
- Our coding standards and conventions
- The pull request process
# Fork and clone
git clone https://github.com/YOUR_USERNAME/postwoman.git
cd postwoman
# Create a feature branch
git checkout -b feature/your-feature
# Make changes, then submit a PRCheck out issues labeled good first issue for beginner-friendly tasks.
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by Postman
- Built with SwiftUI and SwiftData