pepperpy-core


Namepepperpy-core JSON
Version 0.5.6 PyPI version JSON
download
home_pagehttps://github.com/felipepimentel/pepperpy-core
SummaryCore package for PepperPy Framework
upload_time2025-01-16 03:58:59
maintainerNone
docs_urlNone
authorFelipe Pimentel
requires_python<4.0,>=3.12
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PepperPy Core

PepperPy Core is a comprehensive Python utility library designed to accelerate development by providing essential core capabilities. It offers a robust foundation for building scalable, maintainable, and secure Python applications.

## Features

- **Task Management**: Asynchronous task execution with priority queuing
- **Event System**: Flexible event-driven architecture
- **Plugin System**: Extensible plugin architecture
- **Security**: Built-in security features and validation
- **Logging**: Advanced structured logging
- **Configuration**: Flexible configuration management
- **I/O Operations**: Async-first I/O utilities
- **Network Operations**: Robust networking capabilities
- **Resource Management**: Efficient resource handling
- **Telemetry**: Built-in monitoring capabilities
- **Type Safety**: Full type hints support

## Installation

```bash
pip install pepperpy-core
```

Or with Poetry (recommended):

```bash
poetry add pepperpy-core
```

## Quick Start

```python
from pepperpy import Task, Event, Logger

# Configure logging
logger = Logger("my_app")
logger.info("Starting application")

# Create and execute a task
@Task.register
async def process_data(data: dict) -> dict:
    logger.debug("Processing data", data=data)
    # Process your data
    return processed_data

# Execute the task
result = await process_data.execute({"input": "data"})

# Emit an event
event = Event("data_processed", {"status": "success"})
await event_bus.emit(event)
```

## Core Modules

### [Task System](docs/modules/task.md)
Asynchronous task management with features like:
- Priority-based execution
- Task cancellation
- Worker pools
- Task chaining

### [Event System](docs/modules/event.md)
Event-driven architecture supporting:
- Event emission and handling
- Priority-based listeners
- Event metadata
- Async event processing

### [Plugin System](docs/modules/plugin.md)
Extensible plugin architecture with:
- Dynamic plugin loading
- Plugin lifecycle management
- Plugin configuration
- Hook system

### [Security System](docs/modules/security.md)
Comprehensive security features including:
- Authentication
- Input validation
- Security contexts
- Validation chains

### [Logging System](docs/modules/logging.md)
Advanced logging capabilities with:
- Structured logging
- Multiple handlers
- Log levels
- Context-aware logging

### [Configuration System](docs/modules/config.md)
Flexible configuration management with:
- Hierarchical configuration
- Configuration validation
- Environment-based settings
- Dynamic updates

### [I/O Operations](docs/modules/io.md)
Async-first I/O utilities supporting:
- File operations
- Multiple formats
- Streaming
- Resource management

### [Network Operations](docs/modules/network.md)
Robust networking capabilities including:
- Async TCP/IP communication
- Connection pooling
- Retry handling
- Load balancing

## Development

### Prerequisites

- Python 3.12+
- Poetry for dependency management

### Setup

1. Clone the repository:
```bash
git clone https://github.com/felipepimentel/pepperpy-core.git
cd pepperpy-core
```

2. Install dependencies:
```bash
poetry install
```

3. Run tests:
```bash
poetry run pytest
```

### Contributing

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Project Structure

```
pepperpy-core/
├── pepperpy/        # Core package
│   ├── task.py          # Task management
│   ├── event.py         # Event system
│   ├── plugin.py        # Plugin system
│   ├── security.py      # Security features
│   ├── logging.py       # Logging system
│   ├── config.py        # Configuration system
│   ├── io.py           # I/O operations
│   ├── network.py      # Network operations
│   └── ...
├── tests/               # Test suite
├── docs/                # Documentation
│   └── modules/         # Module documentation
├── examples/            # Usage examples
└── scripts/             # Development scripts
```

## Best Practices

- Use type hints consistently
- Write comprehensive tests
- Follow PEP 8 guidelines
- Document your code
- Handle errors gracefully

## Support

- Issue Tracker: [GitHub Issues](https://github.com/felipepimentel/pepperpy-core/issues)
- Documentation: [Project Documentation](docs/index.md)
- Discussion: [GitHub Discussions](https://github.com/felipepimentel/pepperpy-core/discussions)

## Acknowledgments

- The Python community
- All contributors who have helped shape this project
- Open source projects that have inspired this work

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/felipepimentel/pepperpy-core",
    "name": "pepperpy-core",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.12",
    "maintainer_email": null,
    "keywords": null,
    "author": "Felipe Pimentel",
    "author_email": "fpimentel88@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/d1/1c/79dbabb23be73f90b487d066592ae0f49add11fec421ea3d559a37a0f0a1/pepperpy_core-0.5.6.tar.gz",
    "platform": null,
    "description": "# PepperPy Core\n\nPepperPy Core is a comprehensive Python utility library designed to accelerate development by providing essential core capabilities. It offers a robust foundation for building scalable, maintainable, and secure Python applications.\n\n## Features\n\n- **Task Management**: Asynchronous task execution with priority queuing\n- **Event System**: Flexible event-driven architecture\n- **Plugin System**: Extensible plugin architecture\n- **Security**: Built-in security features and validation\n- **Logging**: Advanced structured logging\n- **Configuration**: Flexible configuration management\n- **I/O Operations**: Async-first I/O utilities\n- **Network Operations**: Robust networking capabilities\n- **Resource Management**: Efficient resource handling\n- **Telemetry**: Built-in monitoring capabilities\n- **Type Safety**: Full type hints support\n\n## Installation\n\n```bash\npip install pepperpy-core\n```\n\nOr with Poetry (recommended):\n\n```bash\npoetry add pepperpy-core\n```\n\n## Quick Start\n\n```python\nfrom pepperpy import Task, Event, Logger\n\n# Configure logging\nlogger = Logger(\"my_app\")\nlogger.info(\"Starting application\")\n\n# Create and execute a task\n@Task.register\nasync def process_data(data: dict) -> dict:\n    logger.debug(\"Processing data\", data=data)\n    # Process your data\n    return processed_data\n\n# Execute the task\nresult = await process_data.execute({\"input\": \"data\"})\n\n# Emit an event\nevent = Event(\"data_processed\", {\"status\": \"success\"})\nawait event_bus.emit(event)\n```\n\n## Core Modules\n\n### [Task System](docs/modules/task.md)\nAsynchronous task management with features like:\n- Priority-based execution\n- Task cancellation\n- Worker pools\n- Task chaining\n\n### [Event System](docs/modules/event.md)\nEvent-driven architecture supporting:\n- Event emission and handling\n- Priority-based listeners\n- Event metadata\n- Async event processing\n\n### [Plugin System](docs/modules/plugin.md)\nExtensible plugin architecture with:\n- Dynamic plugin loading\n- Plugin lifecycle management\n- Plugin configuration\n- Hook system\n\n### [Security System](docs/modules/security.md)\nComprehensive security features including:\n- Authentication\n- Input validation\n- Security contexts\n- Validation chains\n\n### [Logging System](docs/modules/logging.md)\nAdvanced logging capabilities with:\n- Structured logging\n- Multiple handlers\n- Log levels\n- Context-aware logging\n\n### [Configuration System](docs/modules/config.md)\nFlexible configuration management with:\n- Hierarchical configuration\n- Configuration validation\n- Environment-based settings\n- Dynamic updates\n\n### [I/O Operations](docs/modules/io.md)\nAsync-first I/O utilities supporting:\n- File operations\n- Multiple formats\n- Streaming\n- Resource management\n\n### [Network Operations](docs/modules/network.md)\nRobust networking capabilities including:\n- Async TCP/IP communication\n- Connection pooling\n- Retry handling\n- Load balancing\n\n## Development\n\n### Prerequisites\n\n- Python 3.12+\n- Poetry for dependency management\n\n### Setup\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/felipepimentel/pepperpy-core.git\ncd pepperpy-core\n```\n\n2. Install dependencies:\n```bash\npoetry install\n```\n\n3. Run tests:\n```bash\npoetry run pytest\n```\n\n### Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Project Structure\n\n```\npepperpy-core/\n\u251c\u2500\u2500 pepperpy/        # Core package\n\u2502   \u251c\u2500\u2500 task.py          # Task management\n\u2502   \u251c\u2500\u2500 event.py         # Event system\n\u2502   \u251c\u2500\u2500 plugin.py        # Plugin system\n\u2502   \u251c\u2500\u2500 security.py      # Security features\n\u2502   \u251c\u2500\u2500 logging.py       # Logging system\n\u2502   \u251c\u2500\u2500 config.py        # Configuration system\n\u2502   \u251c\u2500\u2500 io.py           # I/O operations\n\u2502   \u251c\u2500\u2500 network.py      # Network operations\n\u2502   \u2514\u2500\u2500 ...\n\u251c\u2500\u2500 tests/               # Test suite\n\u251c\u2500\u2500 docs/                # Documentation\n\u2502   \u2514\u2500\u2500 modules/         # Module documentation\n\u251c\u2500\u2500 examples/            # Usage examples\n\u2514\u2500\u2500 scripts/             # Development scripts\n```\n\n## Best Practices\n\n- Use type hints consistently\n- Write comprehensive tests\n- Follow PEP 8 guidelines\n- Document your code\n- Handle errors gracefully\n\n## Support\n\n- Issue Tracker: [GitHub Issues](https://github.com/felipepimentel/pepperpy-core/issues)\n- Documentation: [Project Documentation](docs/index.md)\n- Discussion: [GitHub Discussions](https://github.com/felipepimentel/pepperpy-core/discussions)\n\n## Acknowledgments\n\n- The Python community\n- All contributors who have helped shape this project\n- Open source projects that have inspired this work\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Core package for PepperPy Framework",
    "version": "0.5.6",
    "project_urls": {
        "Documentation": "https://felipepimentel.github.io/pepperpy-core/",
        "Homepage": "https://github.com/felipepimentel/pepperpy-core",
        "Repository": "https://github.com/felipepimentel/pepperpy-core"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e67d6a8c7a9db7a9e0c7d37bf8125bc23ee0e2536b9949ae6d77b2c7a4580594",
                "md5": "ab1581c8ed2e5c87a050c93b0b25a978",
                "sha256": "e052993fe844f39f654112580684603205598b550e9aba432f0597a80877e62f"
            },
            "downloads": -1,
            "filename": "pepperpy_core-0.5.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ab1581c8ed2e5c87a050c93b0b25a978",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.12",
            "size": 31917,
            "upload_time": "2025-01-16T03:58:57",
            "upload_time_iso_8601": "2025-01-16T03:58:57.356410Z",
            "url": "https://files.pythonhosted.org/packages/e6/7d/6a8c7a9db7a9e0c7d37bf8125bc23ee0e2536b9949ae6d77b2c7a4580594/pepperpy_core-0.5.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d11c79dbabb23be73f90b487d066592ae0f49add11fec421ea3d559a37a0f0a1",
                "md5": "78f019763f44c4dbb02196b05fbabb19",
                "sha256": "c67382a5f82506f2d3d907330b6efe1c607c7d64300c0798cc7819fa08bc8a68"
            },
            "downloads": -1,
            "filename": "pepperpy_core-0.5.6.tar.gz",
            "has_sig": false,
            "md5_digest": "78f019763f44c4dbb02196b05fbabb19",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.12",
            "size": 22565,
            "upload_time": "2025-01-16T03:58:59",
            "upload_time_iso_8601": "2025-01-16T03:58:59.637343Z",
            "url": "https://files.pythonhosted.org/packages/d1/1c/79dbabb23be73f90b487d066592ae0f49add11fec421ea3d559a37a0f0a1/pepperpy_core-0.5.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-16 03:58:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "felipepimentel",
    "github_project": "pepperpy-core",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pepperpy-core"
}
        
Elapsed time: 0.92053s