Skip to content

Commit 462eba7

Browse files
committed
docs: add comprehensive documentation for Simplug user guide
1 parent 27cfe1d commit 462eba7

File tree

17 files changed

+3616
-22
lines changed

17 files changed

+3616
-22
lines changed

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
python -m pip install --upgrade pip
2121
python -m pip install poetry
2222
poetry config virtualenvs.create false
23-
poetry install -v
23+
poetry install -v --with docs
2424
- name: Update docs
2525
run: |
2626
python -m pip install mkdocs

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,6 @@ One can implement this hook in either an async or a sync way. However, when impl
187187

188188
To call the async hooks (`simplug.hooks.async_hook(arg)`), you will just need to call it like any other async functions (using `asyncio.run`, for example)
189189

190-
## API
190+
## API/Documentation
191191

192192
https://pwwang.github.io/simplug/

docs/changelog.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
- Professional MkDocs documentation with Material theme
12+
- Comprehensive user guide with examples
13+
- Entry points support for plugin discovery
14+
- Enhanced API documentation
15+
16+
### Changed
17+
- Improved documentation structure and navigation
18+
- Better code examples and tutorials
19+
20+
## [0.4.0] - 2024-01-15
21+
22+
### Added
23+
- Support for async hooks and plugins
24+
- Concurrent execution of async plugin implementations
25+
- Mixed sync/async plugin support
26+
- Async context manager compatibility
27+
- Streaming async generators support
28+
29+
### Changed
30+
- Improved error handling in async contexts
31+
- Better performance for concurrent async operations
32+
33+
### Fixed
34+
- Issue with async plugin registration
35+
- Memory leaks in long-running async operations
36+
37+
## [0.3.0] - 2023-11-20
38+
39+
### Added
40+
- Entry points support for automatic plugin discovery
41+
- Plugin metadata support
42+
- Conditional plugin loading
43+
- Plugin versioning and compatibility checks
44+
45+
### Changed
46+
- Improved plugin registration API
47+
- Better error messages for plugin conflicts
48+
49+
### Fixed
50+
- Issue with plugin loading from different packages
51+
- Circular dependency resolution in plugins
52+
53+
## [0.2.0] - 2023-09-15
54+
55+
### Added
56+
- Multiple result collection strategies (ALL, FIRST, FIRST_AVAIL, ALL_AVAIL)
57+
- Plugin naming and identification
58+
- Plugin unregistration support
59+
- Hook availability checking
60+
61+
### Changed
62+
- Simplified hook specification syntax
63+
- Improved type hints throughout the codebase
64+
- Better documentation and examples
65+
66+
### Fixed
67+
- Issue with result collection from failing plugins
68+
- Memory usage optimization for large plugin sets
69+
70+
## [0.1.0] - 2023-07-10
71+
72+
### Added
73+
- Initial release of Simplug
74+
- Basic hook specification and implementation
75+
- Plugin registration system
76+
- Simple result collection
77+
- Core decorator-based API (`@simplug.spec` and `@simplug.impl`)
78+
- Support for multiple plugins implementing the same hook
79+
- Basic error handling and plugin isolation
80+
81+
### Features
82+
- Lightweight plugin system with no external dependencies
83+
- Type hints support for better IDE integration
84+
- Simple API for defining and calling hooks
85+
- Plugin class and instance registration
86+
- Automatic plugin discovery within registered plugins
87+
88+
For detailed release information, see the [GitHub Releases page](https://github.com/pwwang/simplug/releases).
89+
90+
[Unreleased]: https://github.com/pwwang/simplug/compare/v0.4.0...HEAD
91+
[0.4.0]: https://github.com/pwwang/simplug/releases/tag/v0.4.0
92+
[0.3.0]: https://github.com/pwwang/simplug/releases/tag/v0.3.0
93+
[0.2.0]: https://github.com/pwwang/simplug/releases/tag/v0.2.0
94+
[0.1.0]: https://github.com/pwwang/simplug/releases/tag/v0.1.0

0 commit comments

Comments
 (0)