Skip to content

Sepidar API Tester is a professional Python GUI tool for testing Sepidar ERP web services. It features dual authentication modes, secure token caching, and a built-in API playground—all packaged as a portable executable that requires no Python installation.

License

Notifications You must be signed in to change notification settings

pourjanali/SepidarAPITester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sepidar API Tester

A professional Python GUI application for testing Sepidar ERP Web Services with a user-friendly interface for authentication, session management, and API endpoint testing.

Python License

🚀 Features

Authentication

  • Login Mode: Standard username/password authentication
  • Direct Keys Mode: Authentication using IntegrationID and Tokens

Security & Convenience

  • Secure Caching: Automatically manages session tokens and RSA keys in local cache
  • Session Management: Handles authentication state and token refresh

API Testing

  • API Playground: Built-in tester for GET, POST, PUT, DELETE requests
  • Request/Response Viewer: Clear display of API calls and responses
  • Parameter Support: Easy configuration of query parameters and headers

Utilities

  • One-Click Actions:
    • Get API version information
    • Open official documentation
  • Portable: Runs as a single .exe file without Python installation
  • Cross-Platform: Available for Windows, macOS, and Linux

🛠️ Installation

For End Users

  1. Download the latest release from the Releases page
  2. Run SepidarTester.exe (Windows) or the appropriate executable for your OS

For Developers

Prerequisites

  • Python 3.8 or higher
  • Git

Setup

# Clone the repository
git clone https://github.com/pourjanali/SepidarTester.git
cd SepidarTester

# Install dependencies
pip install -r requirements.txt

Dependencies

  • requests - HTTP client
  • pycryptodome - Cryptographic operations
  • Pillow - Image processing for GUI
  • PyQt5 - GUI framework (if applicable)

Run the Application

python sepidar_gui.py

📦 Building from Source

Create Standalone Executable

# Install PyInstaller
pip install pyinstaller

# Build the executable
pyinstaller --noconsole --onefile --icon=icon.ico --name "SepidarTester" --add-data "icon.png;." sepidar_gui.py

The executable will be available in the dist/ folder.

Build Options

  • --noconsole: Hide terminal window (Windows)
  • --onefile: Create single executable file
  • --icon: Set application icon
  • --name: Set output filename

📖 Usage Guide

  1. Launch the application
  2. Select Authentication Mode:
    • Login Mode: Enter username/password
    • Direct Keys: Enter IntegrationID and Tokens
  3. Configure API Endpoint: Enter the target URL
  4. Test APIs: Use the built-in HTTP methods (GET, POST, PUT, DELETE)
  5. Manage Sessions: Tokens are automatically cached for subsequent requests

🗂️ Project Structure

SepidarTester/
├── sepidar_gui.py          # Main application file
├── requirements.txt        # Python dependencies
├── icon.png               # Application icon
├── icon.ico               # Windows executable icon
├── cache/                 # Token and key storage
│   └── sessions.json      # Cached authentication data
└── README.md              # This file

🔧 Configuration

The application uses a local cache for storing:

  • Session tokens
  • RSA keys
  • User preferences

Cache location: %APPDATA%\SepidarTester\ (Windows) or ~/.sepidar_tester/ (Unix)

📄 Documentation

🤝 Contributing

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

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

⚠️ Disclaimer

This tool is not officially affiliated with Sepidar ERP. Use at your own risk for testing purposes only.


Quick Links: Report Bug | Request Feature | Download

About

Sepidar API Tester is a professional Python GUI tool for testing Sepidar ERP web services. It features dual authentication modes, secure token caching, and a built-in API playground—all packaged as a portable executable that requires no Python installation.

Resources

License

Stars

Watchers

Forks

Languages