Metadata-Version: 2.4
Name: arvasit-auth-sdk
Version: 0.1.6
Summary: A comprehensive authentication SDK for Python with Pydantic support. Features include user registration, login, 2FA, password management, and secure token handling.
Author: pratik
License-Expression: MIT
Project-URL: Homepage, https://github.com/arvasit/auth-sdk
Project-URL: Bug Tracker, https://github.com/arvasit/auth-sdk/issues
Keywords: auth,sdk,arvasit,authentication,2fa,two-factor,login,signup,python,pydantic,jwt,oauth,security,password,verification
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Security
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.31.0
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2.0.0

# Arvasit Authentication SDK

A comprehensive authentication SDK for Node.js and Python with TypeScript/Pydantic support.

## 🚀 Quick Start


```bash
pip install arvasit-auth-sdk
```

```python
from auth_sdk import AuthService, AuthServiceConfig

config = AuthServiceConfig(
    url="https://your-auth-service.com",
    public_key="your_public_key",
    secret_key="your_secret_key"
)

auth_service = AuthService(config)
```

## 📋 Available Methods

### User Management
- `registerUser(data)` - Register new user
- `loginUser(data)` - User login
- `logoutUser(token)` - User logout
- `refreshToken(token)` - Refresh access token
- `verifyToken(token)` - Verify token validity

### Password Management
- `forgotPassword(email)` - Send password reset
- `resetPassword(data)` - Reset password
- `changePassword(data)` - Change password
- `verifyPasswordReset(data)` - Verify reset token

### Two-Factor Authentication
- `enable2FA(userId)` - Enable 2FA
- `disable2FA(userId)` - Disable 2FA
- `verify2FA(data)` - Verify 2FA code
- `generate2FABackupCodes(userId)` - Generate backup codes

### User Profile
- `getUserProfile(userId)` - Get user profile
- `updateUserProfile(userId, data)` - Update profile
- `deleteUser(userId)` - Delete user account

### Session Management
- `getActiveSessions(userId)` - Get active sessions
- `revokeSession(sessionId)` - Revoke session
- `revokeAllSessions(userId)` - Revoke all sessions

### Verification
- `sendEmailVerification(email)` - Send email verification
- `verifyEmail(data)` - Verify email
- `sendPhoneVerification(phone)` - Send phone verification
- `verifyPhone(data)` - Verify phone

## 🔧 Configuration

Both SDKs support the same configuration:

```typescript
interface AuthServiceConfig {
  url: string;           // Your auth service URL
  publicKey: string;     // Public API key
  secretKey: string;    // Secret API key
}
```

## 📚 Examples

See the `examples/` directory for detailed usage examples.

## 📄 License

MIT License - see [LICENSE](LICENSE) file for details.
