Remnawave_python-sdk/pyproject.toml
Artem 0ed1ce92c0
feat: Introduce metadata management for users and nodes
- Added MetadataController for handling user and node metadata.
- Implemented models for user and node metadata management.
- Created tests for user and node metadata functionalities.
- Enhanced authentication settings with passkey and OAuth2 configurations.
- Added bulk actions for node updates and responses.
- Refactored existing models to accommodate new features and improve structure.
- Removed obsolete test_imports.py file.
- Updated environment variables for testing.
- Improved error handling in subscription tests.
- Added new node plugin functionalities including cloning and execution commands.
2026-03-11 12:35:42 +01:00

60 lines
1.8 KiB
TOML

[project]
name = "remnawave"
version = "2.7.0"
description = "A Python SDK for interacting with the Remnawave API v2.7.0."
authors = [
{name = "Artem",email = "dev@forestsnet.com"}
]
license = { text = "MIT" }
readme = "README.md"
requires-python = ">=3.11,<3.14"
dependencies = [
"rapid-api-client (==0.6.0)",
"orjson (>=3.10.15,<4.0.0)",
"httpx (>=0.27.2,<0.28.0)",
"pydantic[email]>=2.9.2,<3.0.0",
"pydantic-core>=2.33.1,<2.34.0",
"pydantic>=2.9.2,<3.0.0",
"cryptography (>=46.0.3,<47.0.0)",
]
keywords = ["remnawave", "api", "sdk", "proxy", "httpx", "async", "xray"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Framework :: AsyncIO",
]
[project.urls]
Homepage = "https://github.com/remnawave/python-sdk"
"Panel Page" = "https://remna.st/"
"Community Chat" = "https://t.me/+xQs17zMzwCY1NzYy"
"Update Channel" = "https://t.me/remnawave"
[tool.poetry.group.test.dependencies]
ruff = "^0.4.4"
black = "^24.4.2"
pytest = ">=8.0"
pytest-asyncio = "^0.25.3"
pytest-mock = ">=3.9"
httpx = ">=0.27.2,<0.28.0"
python-dotenv = "^1.0.1"
pytz = "^2025.1"
[tool.pytest.ini_options]
addopts = [ "-n", "logical", "-ra", "--strict-config", "--strict-markers" ]
testpaths = ["tests"]
log_cli_level = "INFO"
xfail_strict = true
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"