# 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"
}