Skip to content

Repository files navigation

Magic Admin Python SDK

Python 3.11+PyPI versionLicense

The Magic Admin Python SDK provides a simple and powerful way to integrate Magic's authentication system into your Python applications. Handle DID Tokens and interact with Magic API endpoints with ease.

📚 Documentation

📖 Full Documentation: Magic Python SDK Docs

🚀 Quick Start

Installation

# Using pip
pip install magic-admin
# Using uv
uv add magic-admin

Basic Usage

frommagic_adminimportMagic# Initialize with your API secret keymagic=Magic(api_secret_key='your_api_secret_key_here')
# Validate a DID tokentry:
magic.Token.validate('DID_TOKEN_FROM_CLIENT')
print("Token is valid!")
exceptExceptionase:
print(f"Token validation failed: {e}")

Environment Variable Configuration

You can also load your API secret key from an environment variable:

export MAGIC_API_SECRET_KEY="your_api_secret_key_here"
frommagic_adminimportMagic# Automatically uses MAGIC_API_SECRET_KEY environment variablemagic=Magic()

Note: The API secret key passed directly to Magic() takes precedence over the environment variable.

Network Configuration

Customize network behavior for your application:

magic=Magic(
api_secret_key='your_key',
retries=5, # Number of retry attemptstimeout=10, # Request timeout in secondsbackoff_factor=0.03# Exponential backoff factor
)

🔧 Development

Prerequisites

  • Python 3.11+
  • Git

Setup Development Environment

# Clone the repository
git clone https://github.com/magiclabs/magic-admin-python.git
cd magic-admin-python
# Create virtual environment and install dependencies
make development
# Activate the virtual environmentsource virtualenv_run/bin/activate

Running Tests

# Run tests against all supported Python versions (3.11, 3.12, 3.13)
make test# Run tests with coverage
make test

Code Quality

This project uses pre-commit to maintain code quality. Hooks run automatically on every commit.

# Run pre-commit hooks manually
pre-commit run --all-files
# Install pre-commit hooks
pre-commit install

Cleanup

# Remove virtual environment, tox logs, and pytest cache
make clean

📋 Requirements

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests: make test
  5. Run pre-commit: pre-commit run --all-files
  6. Submit a pull request

📄 License

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

📝 Changelog

See CHANGELOG.md for a detailed history of changes.

🔗 Links

About

Magic Admin Python SDK makes it easy to leverage Decentralized ID tokens to protect routes and restricted resources for your application.

Resources

Contributing

Stars

34 stars

Watchers

13 watching

Forks

Used by

Contributors

Languages