Skip to main content

A Python SDK for interacting with the Remnawave API v2.8.0.

Project description

Remnawave Python SDK

📢 Repository Migration Notice

This repository has been moved from sm1ky/remnawave-api to remnawave/python-sdk.

PyPI Package Migration:

  • Legacy versions (≤1.x): Available at remnawave_api (deprecated)
  • New versions (≥2.x): Available at remnawave

Please update your dependencies to use the new package name for future updates.

Stars Forks Issues Supported python versions Downloads PyPi Package Version Publish Python Package

A Python SDK client for interacting with the Remnawave API. This library simplifies working with the API by providing convenient controllers, Pydantic models for requests and responses, and fast serialization with orjson.

📦 Installation

New Package (Recommended)

Install the latest version from the new PyPI package:

pip install remnawave

Legacy Package (Deprecated)

If you need older versions (≤1.x), use the legacy package:

pip install remnawave_api  # Deprecated - use 'remnawave' instead

Development Version

If you need the development version:

pip install git+https://github.com/remnawave/python-sdk.git@development

🫥 Compatible versions

Contract Version Remnawave Panel Version
2.8.0 >=2.8.0
2.7.0 >=2.7.0
2.6.3 >=2.6.3
2.6.2 >=2.6.2
2.6.1 >=2.6.0
2.4.4 >=2.4.0
2.3.2 >=2.3.0, <2.4.0
2.3.0 >=2.3.0, <2.3.2
2.2.6 ==2.2.6
2.2.3 >=2.2.13
2.1.19 >=2.1.19, <2.2.0
2.1.18 >=2.1.18
2.1.17 >=2.1.16, <=2.1.17
2.1.16 >=2.1.16
2.1.13 >=2.1.13, <=2.1.15
2.1.9 >=2.1.9, <=2.1.12
2.1.8 ==2.1.8
2.1.7.post1 ==2.1.7
2.1.4 >=2.1.4, <2.1.7
2.1.1 >=2.1.1, <2.1.4
2.0.0 >=2.0.0,<2.1.0
1.1.3 >=1.6.12,<2.0.0
1.1.2 >=1.6.3,<=1.6.11
1.1.1 1.6.1, 1.6.2
1.1.0 1.6.0
1.0.8 1.5.7

Dependencies

  • orjson (>=3.10.15, <4.0.0)
  • rapid-api-client (==0.6.0)
  • httpx (>=0.27.2, <0.28.0)

🚀 Usage

Here’s a quick example to get you started:

import os
import asyncio

from remnawave import RemnawaveSDK  # Updated import for new package
from remnawave.models import (  # Updated import path
    UsersResponseDto, 
    UserResponseDto,
    GetAllConfigProfilesResponseDto,
    CreateInternalSquadRequestDto
)

async def main():
    # URL to your panel (ex. https://vpn.com or http://127.0.0.1:3000)
    base_url: str = os.getenv("REMNAWAVE_BASE_URL")
    # Bearer Token from panel (section: API Tokens) 
    token: str = os.getenv("REMNAWAVE_TOKEN")

    # Initialize the SDK
    remnawave = RemnawaveSDK(base_url=base_url, token=token)

    # Fetch all users
    response: UsersResponseDto = await remnawave.users.get_all_users()
    total_users: int = response.total
    users: list[UserResponseDto] = response.users
    print("Total users: ", total_users)
    print("List of users: ", users)

if __name__ == "__main__":
    asyncio.run(main())

❤️ About

This SDK was originally developed by @kesevone for integration with Remnawave's API.

Previously maintained by @sm1ky at sm1ky/remnawave-api.

Now officially maintained by the Remnawave Community at remnawave/python-sdk.

Project details


Download files

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

Source Distribution

remnawave-2.8.0.tar.gz (64.5 kB view details)

Uploaded Source

Built Distribution

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

remnawave-2.8.0-py3-none-any.whl (98.2 kB view details)

Uploaded Python 3

File details

Details for the file remnawave-2.8.0.tar.gz.

File metadata

  • Download URL: remnawave-2.8.0.tar.gz
  • Upload date:
  • Size: 64.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for remnawave-2.8.0.tar.gz
Algorithm Hash digest
SHA256 e1bafd65f77d0352eda96acc061d4275bb3b3d77db89a9549ed5e66849538c0e
MD5 e017879104218f6dcad5aab440d4b2cf
BLAKE2b-256 25f270034a719685a46dadc6e3f77122f991bda7f29af8b80ef5c176f8d525c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for remnawave-2.8.0.tar.gz:

Publisher: upload.yml on remnawave/python-sdk

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

File details

Details for the file remnawave-2.8.0-py3-none-any.whl.

File metadata

  • Download URL: remnawave-2.8.0-py3-none-any.whl
  • Upload date:
  • Size: 98.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for remnawave-2.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca9d004cdf32b2a0504442f809f0c6dabe9bfb8857dd1f00e3ecca3998502f02
MD5 d81cde8b8c2ce8cfae7cef7e7c28c211
BLAKE2b-256 fc14fccb15c25833c2e5a950a1faf721089611dc33b0c0767903034885726f01

See more details on using hashes here.

Provenance

The following attestation bundles were made for remnawave-2.8.0-py3-none-any.whl:

Publisher: upload.yml on remnawave/python-sdk

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

Supported by

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