# RequestX
High-performance HTTP client for Python with requests-compatible API, powered by Rust.
## Features
- **Drop-in replacement** for the popular `requests` library
- **High performance** leveraging Rust's speed and memory safety
- **Async/await support** with native Python asyncio integration
- **Same familiar API** as requests for easy migration
- **Cross-platform** support (Windows, macOS, Linux)
## Installation
```bash
pip install requestx
```
## Quick Start
### Synchronous Usage
```python
import requestx
# Same API as requests
response = requestx.get('https://httpbin.org/get')
print(response.status_code)
print(response.json())
```
### Asynchronous Usage
```python
import asyncio
import requestx
async def main():
# Same function, just use await
response = await requestx.get('https://httpbin.org/get')
print(response.status_code)
print(response.json())
asyncio.run(main())
```
### Session Usage
```python
import requestx
session = requestx.Session()
response = session.get('https://httpbin.org/get')
print(response.status_code)
```
## Development
This project uses:
- **Rust** for the core HTTP implementation
- **PyO3** for Python bindings
- **maturin** for building and packaging
- **uv** for Python dependency management
### Setup Development Environment
```bash
# Install uv for Python dependency management
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install development dependencies
uv sync --dev
# Build the extension
uv run maturin develop
```
### Running Tests
```bash
uv run pytest
```
## License
MIT License - see LICENSE file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/neuesql/requestx",
"name": "requestx",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "http, requests, client, async, performance",
"author": "RequestX Team",
"author_email": "RequestX Team <team@requestx.dev>",
"download_url": "https://files.pythonhosted.org/packages/b9/aa/48cbf3c059180c179e7cdd74cbd0adb5d75d4324cf4dafc66af6ff9f4019/requestx-0.1.0.tar.gz",
"platform": null,
"description": "# RequestX\n\nHigh-performance HTTP client for Python with requests-compatible API, powered by Rust.\n\n## Features\n\n- **Drop-in replacement** for the popular `requests` library\n- **High performance** leveraging Rust's speed and memory safety\n- **Async/await support** with native Python asyncio integration\n- **Same familiar API** as requests for easy migration\n- **Cross-platform** support (Windows, macOS, Linux)\n\n## Installation\n\n```bash\npip install requestx\n```\n\n## Quick Start\n\n### Synchronous Usage\n\n```python\nimport requestx\n\n# Same API as requests\nresponse = requestx.get('https://httpbin.org/get')\nprint(response.status_code)\nprint(response.json())\n```\n\n### Asynchronous Usage\n\n```python\nimport asyncio\nimport requestx\n\nasync def main():\n # Same function, just use await\n response = await requestx.get('https://httpbin.org/get')\n print(response.status_code)\n print(response.json())\n\nasyncio.run(main())\n```\n\n### Session Usage\n\n```python\nimport requestx\n\nsession = requestx.Session()\nresponse = session.get('https://httpbin.org/get')\nprint(response.status_code)\n```\n\n## Development\n\nThis project uses:\n- **Rust** for the core HTTP implementation\n- **PyO3** for Python bindings\n- **maturin** for building and packaging\n- **uv** for Python dependency management\n\n### Setup Development Environment\n\n```bash\n# Install uv for Python dependency management\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# Install development dependencies\nuv sync --dev\n\n# Build the extension\nuv run maturin develop\n```\n\n### Running Tests\n\n```bash\nuv run pytest\n```\n\n## License\n\nMIT License - see LICENSE file for details.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "High-performance HTTP client for Python with requests-compatible API",
"version": "0.1.0",
"project_urls": {
"Bug Tracker": "https://github.com/neuesql/requestx/issues",
"Documentation": "https://requestx.readthedocs.io",
"Homepage": "https://github.com/neuesql/requestx",
"Repository": "https://github.com/neuesql/requestx"
},
"split_keywords": [
"http",
" requests",
" client",
" async",
" performance"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a0f0c633916d3508ca47f7650585e16c427eedc29282d8b12b680ad4b6b71028",
"md5": "4c8fb4b187c066db7cccabe8af230563",
"sha256": "3cb8ac7c571b53a97d5ef485f0dca381eae4756279d6b79b8886cb6294efe3b3"
},
"downloads": -1,
"filename": "requestx-0.1.0-cp38-abi3-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "4c8fb4b187c066db7cccabe8af230563",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 996596,
"upload_time": "2025-07-31T13:21:53",
"upload_time_iso_8601": "2025-07-31T13:21:53.249915Z",
"url": "https://files.pythonhosted.org/packages/a0/f0/c633916d3508ca47f7650585e16c427eedc29282d8b12b680ad4b6b71028/requestx-0.1.0-cp38-abi3-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b9aa48cbf3c059180c179e7cdd74cbd0adb5d75d4324cf4dafc66af6ff9f4019",
"md5": "e36ebf669f7ffe4b7996b8769636d1fb",
"sha256": "f20ba23d56618fda8be1546452d030619b82d0a311fe8d24b4c87c6c5cafa5b8"
},
"downloads": -1,
"filename": "requestx-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "e36ebf669f7ffe4b7996b8769636d1fb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 56300,
"upload_time": "2025-07-31T13:21:55",
"upload_time_iso_8601": "2025-07-31T13:21:55.616606Z",
"url": "https://files.pythonhosted.org/packages/b9/aa/48cbf3c059180c179e7cdd74cbd0adb5d75d4324cf4dafc66af6ff9f4019/requestx-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-31 13:21:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "neuesql",
"github_project": "requestx",
"github_not_found": true,
"lcname": "requestx"
}