Skip to content

Commit c34f4a3

Browse files
authored
Fix CI: Add maturin to dev dependencies (#27)
* docs: add comprehensive Google-style docstrings to all public APIs (#24) Added comprehensive API documentation following Google-style docstring format: - python/dioxide/__init__.py: Enhanced module docstring with quick start example - python/dioxide/scope.py: Detailed Scope enum docs with usage examples - python/dioxide/decorators.py: Complete @component decorator documentation - python/dioxide/container.py: Comprehensive Container class documentation All public methods now include: - Clear description of purpose and behavior - Args with types and detailed explanations - Returns with type information - Raises documenting exceptions - Working, tested examples - Usage notes and best practices Documentation features: - All examples are executable and tested - Type hints match docstring descriptions - IDE autocomplete shows full documentation - help() function displays useful information - Examples demonstrate common use cases This completes issue #24 - Complete API Documentation * fix(ci): add maturin to dev dependencies Maturin was missing from dev dependencies, causing CI to fail when running 'uv run maturin develop'. Maturin is specified in build-system requirements but needs to be in dev dependencies for uv to find it. * style: apply ruff formatting to decorators.py
1 parent 463253c commit c34f4a3

File tree

5 files changed

+555
-88
lines changed

5 files changed

+555
-88
lines changed

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ dependencies = []
3030

3131
[project.optional-dependencies]
3232
dev = [
33+
"maturin>=1.0,<2.0",
3334
"pytest>=8.0",
3435
"pytest-cov>=4.1",
3536
"behave>=1.2.6",

python/dioxide/__init__.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,30 @@
1-
"""dioxide: Fast, Rust-backed declarative dependency injection for Python."""
1+
"""dioxide: Fast, Rust-backed declarative dependency injection for Python.
2+
3+
dioxide is a modern dependency injection framework that combines:
4+
- Declarative Python API with @component decorators
5+
- High-performance Rust-backed container implementation
6+
- Type-safe dependency resolution with IDE autocomplete support
7+
- Support for SINGLETON and FACTORY component lifecycles
8+
9+
Quick Start:
10+
>>> from dioxide import Container, component
11+
>>>
12+
>>> @component
13+
... class Database:
14+
... pass
15+
>>>
16+
>>> @component
17+
... class UserService:
18+
... def __init__(self, db: Database):
19+
... self.db = db
20+
>>>
21+
>>> container = Container()
22+
>>> container.scan()
23+
>>> service = container.resolve(UserService)
24+
>>> assert isinstance(service.db, Database)
25+
26+
For more information, see the README and documentation.
27+
"""
228

329
from .container import Container
430
from .decorators import _clear_registry, _get_registered_components, component

0 commit comments

Comments
 (0)