modularis


Namemodularis JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/hexakleo/modularis
SummaryA Modern, High-Performance HTTP Client Library for Python
upload_time2025-01-01 02:43:34
maintainerNone
docs_urlNone
authorPandaxyz-xd
requires_python>=3.8
licenseMIT License Copyright (c) 2024 Modularis Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords http client async aiohttp api
VCS
bugtrack_url
requirements aiohttp pydantic jsonschema python-jose python-multipart bcrypt
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Modularis

[![PyPI version](https://badge.fury.io/py/modularis.svg)](https://badge.fury.io/py/modularis)
[![Python Versions](https://img.shields.io/pypi/pyversions/modularis.svg)](https://pypi.org/project/modularis/)
[![Documentation Status](https://readthedocs.org/projects/modularis/badge/?version=latest)](https://modularis.readthedocs.io/en/latest/?badge=latest)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Downloads](https://pepy.tech/badge/modularis)](https://pepy.tech/project/modularis)

<div align="center">
  <img src="https://github.com/user-attachments/assets/bde60abc-25df-4b7a-878c-9c2b2d13f118" alt="Modularis Logo" width="200"/>
  <h3>A Modern, High-Performance HTTP Client Library for Python</h3>
</div>

## 🚀 Features

- **Modular Architecture**: Easily extend functionality through middleware and interceptors
- **High Performance**: Built on `aiohttp` for maximum async performance
- **Type Safety**: Full type hints and runtime validation with Pydantic
- **Security First**: Built-in support for authentication, encryption, and security features
- **Developer Friendly**: Comprehensive documentation and intuitive API design
- **Production Ready**: Used in production by leading companies
- **Modern Python**: Leverages latest Python features and best practices
- **Extensive Testing**: 100% test coverage and continuous integration

## 🎯 Quick Start

```bash
pip install modularis
```

```python
from modularis import Client

async def main():
    # Create a client with custom configuration
    client = Client(
        base_url="https://api.example.com",
        timeout=30,
        retries=3
    )
    
    # Make requests with ease
    response = await client.get("/users/1")
    print(f"User data: {response.data}")
    
    # Post data with automatic JSON handling
    new_user = {
        "name": "John Doe",
        "email": "john@example.com"
    }
    response = await client.post("/users", json=new_user)
    print(f"Created user: {response.data}")

# Run the async function
import asyncio
asyncio.run(main())
```

## 📚 Documentation

Visit our [comprehensive documentation](https://modularis.readthedocs.io/) for:

- Detailed tutorials and guides
- API reference
- Best practices
- Examples and use cases
- Advanced features
- Migration guides

## 🛠️ Installation Options

### Basic Installation
```bash
pip install modularis
```

### With All Optional Dependencies
```bash
pip install modularis[all]
```

### Development Installation
```bash
pip install modularis[dev]
```

## 🌟 Key Benefits

- **Simplified API Integration**: Clean, intuitive interface for API interactions
- **Enhanced Performance**: Optimized for high-throughput applications
- **Robust Error Handling**: Comprehensive error management system
- **Flexible Configuration**: Easily adaptable to different use cases
- **Enterprise Ready**: Production-tested in high-load environments

## 🔧 Advanced Usage Examples

Check our [examples directory](examples/) for:

- Authentication patterns
- Middleware implementation
- Error handling strategies
- Performance optimization
- Real-world scenarios

## 🤝 Contributing

We welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) for details.

## 📝 License

MIT License - see the [LICENSE](LICENSE) file for details.

## 👤 Author

**Hexakleo**

- Twitter: [@hexakleo](https://twitter.com/hexakleo)
- GitHub: [@hexakleo](https://github.com/hexakleo)
- LinkedIn: [hexakleo](https://linkedin.com/in/hexakleo)

## 🙏 Acknowledgments

Special thanks to all our contributors and the Python community.

---

<div align="center">
  <sub>Built with ❤️ by <a href="https://github.com/hexakleo">Hexakleo</a></sub>
</div>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/hexakleo/modularis",
    "name": "modularis",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "http, client, async, aiohttp, api",
    "author": "Pandaxyz-xd",
    "author_email": "Pandaxyz-xd <hexakleo@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/b1/9a/2e262bc2398c20c3433c2f6204b4993e40c8f01a7ad57290905926014b7e/modularis-0.1.1.tar.gz",
    "platform": null,
    "description": "# Modularis\r\n\r\n[![PyPI version](https://badge.fury.io/py/modularis.svg)](https://badge.fury.io/py/modularis)\r\n[![Python Versions](https://img.shields.io/pypi/pyversions/modularis.svg)](https://pypi.org/project/modularis/)\r\n[![Documentation Status](https://readthedocs.org/projects/modularis/badge/?version=latest)](https://modularis.readthedocs.io/en/latest/?badge=latest)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\r\n[![Downloads](https://pepy.tech/badge/modularis)](https://pepy.tech/project/modularis)\r\n\r\n<div align=\"center\">\r\n  <img src=\"https://github.com/user-attachments/assets/bde60abc-25df-4b7a-878c-9c2b2d13f118\" alt=\"Modularis Logo\" width=\"200\"/>\r\n  <h3>A Modern, High-Performance HTTP Client Library for Python</h3>\r\n</div>\r\n\r\n## \ud83d\ude80 Features\r\n\r\n- **Modular Architecture**: Easily extend functionality through middleware and interceptors\r\n- **High Performance**: Built on `aiohttp` for maximum async performance\r\n- **Type Safety**: Full type hints and runtime validation with Pydantic\r\n- **Security First**: Built-in support for authentication, encryption, and security features\r\n- **Developer Friendly**: Comprehensive documentation and intuitive API design\r\n- **Production Ready**: Used in production by leading companies\r\n- **Modern Python**: Leverages latest Python features and best practices\r\n- **Extensive Testing**: 100% test coverage and continuous integration\r\n\r\n## \ud83c\udfaf Quick Start\r\n\r\n```bash\r\npip install modularis\r\n```\r\n\r\n```python\r\nfrom modularis import Client\r\n\r\nasync def main():\r\n    # Create a client with custom configuration\r\n    client = Client(\r\n        base_url=\"https://api.example.com\",\r\n        timeout=30,\r\n        retries=3\r\n    )\r\n    \r\n    # Make requests with ease\r\n    response = await client.get(\"/users/1\")\r\n    print(f\"User data: {response.data}\")\r\n    \r\n    # Post data with automatic JSON handling\r\n    new_user = {\r\n        \"name\": \"John Doe\",\r\n        \"email\": \"john@example.com\"\r\n    }\r\n    response = await client.post(\"/users\", json=new_user)\r\n    print(f\"Created user: {response.data}\")\r\n\r\n# Run the async function\r\nimport asyncio\r\nasyncio.run(main())\r\n```\r\n\r\n## \ud83d\udcda Documentation\r\n\r\nVisit our [comprehensive documentation](https://modularis.readthedocs.io/) for:\r\n\r\n- Detailed tutorials and guides\r\n- API reference\r\n- Best practices\r\n- Examples and use cases\r\n- Advanced features\r\n- Migration guides\r\n\r\n## \ud83d\udee0\ufe0f Installation Options\r\n\r\n### Basic Installation\r\n```bash\r\npip install modularis\r\n```\r\n\r\n### With All Optional Dependencies\r\n```bash\r\npip install modularis[all]\r\n```\r\n\r\n### Development Installation\r\n```bash\r\npip install modularis[dev]\r\n```\r\n\r\n## \ud83c\udf1f Key Benefits\r\n\r\n- **Simplified API Integration**: Clean, intuitive interface for API interactions\r\n- **Enhanced Performance**: Optimized for high-throughput applications\r\n- **Robust Error Handling**: Comprehensive error management system\r\n- **Flexible Configuration**: Easily adaptable to different use cases\r\n- **Enterprise Ready**: Production-tested in high-load environments\r\n\r\n## \ud83d\udd27 Advanced Usage Examples\r\n\r\nCheck our [examples directory](examples/) for:\r\n\r\n- Authentication patterns\r\n- Middleware implementation\r\n- Error handling strategies\r\n- Performance optimization\r\n- Real-world scenarios\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nWe welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) for details.\r\n\r\n## \ud83d\udcdd License\r\n\r\nMIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## \ud83d\udc64 Author\r\n\r\n**Hexakleo**\r\n\r\n- Twitter: [@hexakleo](https://twitter.com/hexakleo)\r\n- GitHub: [@hexakleo](https://github.com/hexakleo)\r\n- LinkedIn: [hexakleo](https://linkedin.com/in/hexakleo)\r\n\r\n## \ud83d\ude4f Acknowledgments\r\n\r\nSpecial thanks to all our contributors and the Python community.\r\n\r\n---\r\n\r\n<div align=\"center\">\r\n  <sub>Built with \u2764\ufe0f by <a href=\"https://github.com/hexakleo\">Hexakleo</a></sub>\r\n</div>\r\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2024 Modularis Contributors  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "A Modern, High-Performance HTTP Client Library for Python",
    "version": "0.1.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/hexakleo/modularis/issues",
        "Documentation": "https://modularis.readthedocs.io/",
        "Homepage": "https://github.com/hexakleo/modularis",
        "Repository": "https://github.com/hexakleo/modularis.git"
    },
    "split_keywords": [
        "http",
        " client",
        " async",
        " aiohttp",
        " api"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9f257f0e5f575c0d44431e91ec2db61d0ab00b9e5a68dc1a67f9499a9424797c",
                "md5": "013d78af16c851349c7eafdb6288cfd3",
                "sha256": "84f606dc658c766b4a7346d38975c2f1e19470e45ebf8e270fc83af320e69b01"
            },
            "downloads": -1,
            "filename": "modularis-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "013d78af16c851349c7eafdb6288cfd3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 18751,
            "upload_time": "2025-01-01T02:43:32",
            "upload_time_iso_8601": "2025-01-01T02:43:32.316993Z",
            "url": "https://files.pythonhosted.org/packages/9f/25/7f0e5f575c0d44431e91ec2db61d0ab00b9e5a68dc1a67f9499a9424797c/modularis-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b19a2e262bc2398c20c3433c2f6204b4993e40c8f01a7ad57290905926014b7e",
                "md5": "b61291e3c46046438a9601ab4e2f840e",
                "sha256": "32c41fd0eba01ece0698e9768db507b71e79049db49322d68c2b94adadb39b59"
            },
            "downloads": -1,
            "filename": "modularis-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "b61291e3c46046438a9601ab4e2f840e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 17993,
            "upload_time": "2025-01-01T02:43:34",
            "upload_time_iso_8601": "2025-01-01T02:43:34.797505Z",
            "url": "https://files.pythonhosted.org/packages/b1/9a/2e262bc2398c20c3433c2f6204b4993e40c8f01a7ad57290905926014b7e/modularis-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-01 02:43:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hexakleo",
    "github_project": "modularis",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "aiohttp",
            "specs": [
                [
                    ">=",
                    "3.8.0"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    ">=",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "jsonschema",
            "specs": [
                [
                    ">=",
                    "4.0.0"
                ]
            ]
        },
        {
            "name": "python-jose",
            "specs": [
                [
                    ">=",
                    "3.3.0"
                ]
            ]
        },
        {
            "name": "python-multipart",
            "specs": [
                [
                    ">=",
                    "0.0.5"
                ]
            ]
        },
        {
            "name": "bcrypt",
            "specs": [
                [
                    ">=",
                    "4.0.0"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "modularis"
}
        
Elapsed time: 0.37294s