Skip to main content

A Python SDK for interacting with the Remnawave API v2.7.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.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.7.0.tar.gz (59.8 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.7.0-py3-none-any.whl (92.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for remnawave-2.7.0.tar.gz
Algorithm Hash digest
SHA256 d5c0c3bfa573f592131eab379e656906e6b52b71def346a61d91ca78f7cf7d46
MD5 dd958cdf39ccf485df8c9d8a7e446bd0
BLAKE2b-256 c65a59077e58f3ad6d19962cc3d3ed97a5cf56b761cfa959d4c8f3f73782ddc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for remnawave-2.7.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.7.0-py3-none-any.whl.

File metadata

  • Download URL: remnawave-2.7.0-py3-none-any.whl
  • Upload date:
  • Size: 92.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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ef938dfa94bbdda007a75010ec9147f3416d1ea35df9886a0e21f08c0efc3b55
MD5 b6c056dbe12f69bf35e2eb17c4b566d2
BLAKE2b-256 46d00c6c0cbce330e85e674087c50480ff14b8c3409dc58c00918c82c566af99

See more details on using hashes here.

Provenance

The following attestation bundles were made for remnawave-2.7.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