Installation
Learn how to install and set up sillo Contrib packages in your project.
Installation
Section titled “Installation”Learn how to install and set up sillo Contrib packages in your project.
About sillo Contrib
Section titled “About sillo Contrib”The sillo-contrib package is a community-driven collection of extensions, middleware, and add-ons for the sillo framework. As an open source project, it welcomes contributions from developers worldwide who want to extend sillo’s capabilities.
What’s Included
Section titled “What’s Included”The contrib package provides independently versioned packages that you can install à-la-carte or together:
- URL Normalization Middleware (
sillo_contrib.slashes) - Handles trailing slashes and URL normalization - Trusted Host Middleware (
sillo_contrib.trusted) - Validates Host headers for security - ETag Middleware (
sillo_contrib.etag) - Automatic ETag generation and conditional requests - JSON-RPC (
sillo_contrib.jrpc) - Complete JSON-RPC 2.0 implementation - Tortoise ORM Integration (
sillo_contrib.tortoise) - Async ORM integration with lifecycle management
Meta Package Installation
Section titled “Meta Package Installation”Install all contrib packages at once:
uv add sillo-contribThis installs the meta package that includes all available contrib packages, giving you access to the entire community-contributed ecosystem.
Development Installation
Section titled “Development Installation”For development or to use the latest features:
# Clone the contrib repositorygit clone https://github.com/sillohq/sillo-contrib.gitcd sillo-contrib
# Install dependencies for developmentuv syncRequirements
Section titled “Requirements”- Python 3.10+
- sillo 0.0.1a1+
Some contrib packages may have additional requirements:
- Redis contrib: Requires
redis-py - Tortoise ORM contrib: Requires
tortoise-orm - JSON-RPC contrib: No additional dependencies
- Middleware packages: No additional dependencies
Optional Dependencies
Section titled “Optional Dependencies”You can install contrib packages with their optional dependencies:
# Install with Redis supportuv add "sillo-contrib[redis]"
# Install with Tortoise ORM supportuv add "sillo-contrib[tortoise]"
# Install with all optional dependenciesuv add "sillo-contrib[all]"Verification
Section titled “Verification”Verify your installation:
import sillo_contrib
# Check available packagesprint(sillo_contrib.__version__)
# Import specific packagesimport sillo_contrib.etagimport sillo_contrib.redisimport sillo_contrib.trustedimport sillo_contrib.tortoiseContributing to sillo Contrib
Section titled “Contributing to sillo Contrib”As an open source project, sillo-contrib thrives on community contributions! Here’s how you can get involved:
Ways to Contribute
Section titled “Ways to Contribute”- Submit new middleware or extensions - Have an idea for useful middleware? Create it and share it with the community
- Improve existing packages - Fix bugs, add features, or enhance documentation
- Report issues - Found a problem? Let us know on GitHub Issues
- Share feedback - Join discussions and help shape the future of contrib packages
First Contribution
Section titled “First Contribution”- Fork the repository: sillo-contrib on GitHub
- Set up development environment:
Terminal window git clone https://github.com/your-username/sillo-contrib.gitcd sillo-contribuv sync - Create your contribution following our contribution guidelines
- Submit a pull request with your changes
Package Structure
Section titled “Package Structure”Each contrib package follows a consistent structure:
sillo_contrib/└── your_package/ ├── __init__.py ├── README.md └── your_module.pyNext Steps
Section titled “Next Steps”- Browse the middleware documentation to get started
- Check out the integrations for advanced features
- See the main overview for a complete list of available packages
- Visit the sillo-contrib repository to contribute