Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
d2fdd5c
Rename parameters to config
maldoinc Dec 29, 2025
046341c
@service -> @injectable
maldoinc Dec 29, 2025
fbb6be1
Add injectables to container creation
maldoinc Dec 29, 2025
7fed120
Rename service to injectable
maldoinc Dec 29, 2025
0821565
Merge branch 'master' into parameters-to-config
maldoinc Dec 29, 2025
c0ea6c3
Merge branch 'parameters-to-config' into service-to-injectable
maldoinc Dec 29, 2025
bf315ea
Rename code fragments to use injectable
maldoinc Dec 29, 2025
1549c93
Merge branch 'master' into parameters-to-config
maldoinc Dec 29, 2025
eb61826
Merge branch 'parameters-to-config' into service-to-injectable
maldoinc Dec 30, 2025
60ec2fe
Update docs
maldoinc Dec 30, 2025
ee82876
Revamp docs index page
maldoinc Dec 30, 2025
4205667
Update getting started page
maldoinc Dec 30, 2025
08d4888
Update container page
maldoinc Dec 30, 2025
460747d
Update configuration docs
maldoinc Dec 30, 2025
4f5320a
Update injectables docs
maldoinc Dec 30, 2025
3db9e35
Update index intro text
maldoinc Dec 30, 2025
bbc96f9
Update readme
maldoinc Dec 30, 2025
2bba6d0
make format
maldoinc Dec 30, 2025
5fa5a96
Add deprecation warnings
maldoinc Dec 30, 2025
bccd448
Fix outdated links
maldoinc Dec 30, 2025
6550741
Remove usage of service_modules, services during container creation
maldoinc Dec 30, 2025
cfb6532
Update docs
maldoinc Dec 30, 2025
223a4a5
Merge branch 'master' into wireup-next
maldoinc Jan 2, 2026
e3c9331
Add support for protocols (#97)
maldoinc Jan 3, 2026
25db09b
Fix injectable typing
maldoinc Jan 3, 2026
3e36b92
Fix tests for py38
maldoinc Jan 5, 2026
a956c52
Improve container.get calls type hints when asking for NewTypes
maldoinc Jan 7, 2026
629cd4e
Loosen injectable as_type type hints
maldoinc Jan 7, 2026
b729e75
Update ruff
maldoinc Jan 7, 2026
b481801
Fix mypy checks
maldoinc Jan 7, 2026
4dfec79
Update readme
maldoinc Jan 7, 2026
083770b
Fix click integration title
maldoinc Jan 8, 2026
e04065f
Simplify registry
maldoinc Jan 9, 2026
6cfb9f3
Improve scope error message
maldoinc Jan 9, 2026
501863e
rm clean domain code page
maldoinc Jan 9, 2026
a097688
factory functions -> factories
maldoinc Jan 9, 2026
1fbcd2a
Add as_type to injectables docs page
maldoinc Jan 10, 2026
86ba3de
Restructure docs
maldoinc Jan 10, 2026
1a1b6ed
Update integration docs
maldoinc Jan 10, 2026
f120a52
Update docstrings
maldoinc Jan 10, 2026
1a9c6da
Improve error message
maldoinc Jan 10, 2026
4bad49c
Migrate to uv
maldoinc Jan 10, 2026
b5796f9
Add deprecation notices
maldoinc Jan 10, 2026
68550c0
Update django docs
maldoinc Jan 10, 2026
d8e9219
Simplify Inject Configuration section
maldoinc Jan 11, 2026
dda4996
Add option to hide wireup names fixes #98
maldoinc Jan 11, 2026
97d0209
Fix mkdocs warnings
maldoinc Jan 11, 2026
c88818e
Merge branch 'wireup-next-uv' into wireup-next
maldoinc Jan 11, 2026
ab787e3
Update interface docs
maldoinc Jan 11, 2026
f68cade
Update docs
maldoinc Jan 11, 2026
7a097a1
Hide annotated names before returning
maldoinc Jan 11, 2026
6c29c70
Starlette hide_annotated_names on by default
maldoinc Jan 11, 2026
fafb9b6
Rm getattr from module
maldoinc Jan 15, 2026
99a9312
Merge branch 'master' into wireup-next
maldoinc Jan 15, 2026
36d0eb7
Update docs
maldoinc Jan 17, 2026
f6bb341
Format docs
maldoinc Jan 17, 2026
6795536
Update overrides examples
maldoinc Jan 17, 2026
f02f00e
Add check & build docs to github workflows
maldoinc Jan 17, 2026
24f11bc
Rm codecov
maldoinc Jan 17, 2026
8b8355b
Clear exit stack on close
maldoinc Jan 17, 2026
0d4d125
Update fastapi index
maldoinc Jan 17, 2026
c57993d
Conditionally append qualifier to types
maldoinc Jan 17, 2026
644fc00
Add docs on default value handling
maldoinc Jan 17, 2026
92373bc
make format
maldoinc Jan 17, 2026
2da3316
Fix lint checks
maldoinc Jan 17, 2026
7296f7c
Fix mypy checks
maldoinc Jan 18, 2026
18758fd
Format docs
maldoinc Jan 18, 2026
b6f7b57
Update readme with typing limitations
maldoinc Jan 18, 2026
ad02087
Split the build job into separate lint and test jobs
maldoinc Jan 18, 2026
091b152
Ensure docs format & lint only runs in py3.14
maldoinc Jan 18, 2026
1fefa3e
Update docs
maldoinc Jan 18, 2026
1aa10ba
Add mermaid diagram to docs
maldoinc Jan 18, 2026
fb6f5cf
Update docs
maldoinc Jan 18, 2026
3609f11
Cleanup __init__.py
maldoinc Jan 18, 2026
500584d
Add SyncContainer AsyncContainer to init
maldoinc Jan 18, 2026
b6046cc
Rm unused import
maldoinc Jan 19, 2026
1e09081
Make service_modules none
maldoinc Jan 19, 2026
6a23a27
Update docs
maldoinc Jan 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .codecov.yml

This file was deleted.

49 changes: 40 additions & 9 deletions .github/workflows/run_all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,45 @@ on:
branches: ["master"]
pull_request:
branches: ["master"]

jobs:
build:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.8"
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: make install
- name: Lint
run: make check-ruff
- name: Check formatting
run: make check-fmt
- name: Check typing
run: make check-mypy

docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.14"
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: make install
- name: Check documentation
run: make check-docs
- name: Build documentation
run: make build-docs

test:
runs-on: ubuntu-latest
strategy:
matrix:
Expand All @@ -16,15 +53,9 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Create venv
run: python -m venv .venv
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: make install
- name: Lint
run: make check-ruff
- name: Check typing
run: make check-mypy
- name: Check formatting
run: make check-fmt
- name: Run tests
run: make test
9 changes: 4 additions & 5 deletions .github/workflows/run_integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: "3.13"
- name: Create venv
run: python -m venv .venv
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: |
make install
run: make install
- name: Run tox
run: .venv/bin/tox
run: uv run tox
42 changes: 26 additions & 16 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,41 +1,51 @@
.PHONY: install lint check-fmt check-ruff check-mypy test profile fix format docs-deploy
.PHONY: install lint check-fmt check-ruff check-mypy test profile fix format docs-deploy publish

ifdef GITHUB_ACTIONS
RUFF_ARGS := --output-format github
endif

install:
.venv/bin/python -m pip install --upgrade pip
.venv/bin/pip install poetry
.venv/bin/poetry install --no-root
pip install uv
uv sync --group dev

lint: check-fmt check-ruff check-mypy
lint: check-fmt check-ruff check-mypy check-docs

check-fmt:
.venv/bin/ruff format . --check
uv run ruff format . --check

check-ruff:
.venv/bin/ruff check wireup test $(RUFF_ARGS)
uv run ruff check wireup test $(RUFF_ARGS)

check-mypy:
.venv/bin/mypy wireup --strict
uv run mypy wireup --strict

check-docs:
find docs -name "*.md" -not -path "docs/pages/class/*" | xargs uv run --python 3.14 mdformat --wrap 120 --check

test:
.venv/bin/pytest test/unit
uv run pytest test/unit

profile ./profile_tests $(num_runs):
./.venv/bin/python ./profile_tests.py $(num_runs)
uv run python ./profile_tests.py $(num_runs)

format:
./.venv/bin/ruff format .
format: format-docs
uv run ruff format .

fix:
./.venv/bin/ruff wireup --fix
uv run ruff wireup --fix

format-docs:
find docs -name "*.md" -not -path "docs/pages/class/*" | xargs uv run --python 3.14 mdformat --wrap 120
find docs -name "*.md" -not -path "docs/pages/class/*" | xargs uv run --python 3.14 blacken-docs -l 80 || true

build-docs:
uv run --python 3.14 mkdocs build --strict -f docs/mkdocs.yml


# make docs-deploy version=...
docs-deploy $(version):
cd docs && ../.venv/bin/mike deploy --push --update-aliases $(version) latest
cd docs && uv run mike deploy --push --update-aliases $(version) latest

publish:
./.venv/bin/poetry build
./.venv/bin/poetry publish
uv build
uv publish
29 changes: 12 additions & 17 deletions docs/mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,23 @@
site_name: Wireup
nav:
- 📚 Documentation:
- Wireup: index.md
- Getting Started: getting_started.md
- Basics:
- Container: container.md
- Services: services.md
- Configuration: parameters.md
- Introduction:
- Overview: index.md
- Getting Started: getting_started.md
- Core Concepts:
- Container: container.md
- Injectables: injectables.md
- Configuration: configuration.md
- Advanced Features:
- Lifetimes & Scopes: lifetimes_and_scopes.md
- Factories: factories.md
- Annotations: annotations.md
- Resource Management: resources.md
- Interfaces: interfaces.md
- Lifetimes & Scopes: lifetimes_and_scopes.md
- Function Injection: function_injection.md
- Guides:
- Function Injection: apply_container_as_decorator.md
- Clean Domain Code: annotation_free.md
- Multiple registrations: multiple_registrations.md
- Testing: testing.md
- Misc:
- Use with __future__ annotations: future_annotations.md
- Tips & Tricks: tips_tricks.md
- Versioning: versioning.md
- Upgrading: upgrading.md
- Versioning: versioning.md

- Integrations:
- Integrations: integrations/index.md
Expand All @@ -45,7 +41,7 @@ nav:
- API Reference:
- wireup: class/wireup.md
- OverrideManager: class/override_manager.md
- ParameterBag: class/parameter_bag.md
- ConfigStore: class/config_store.md
- Integrations:
- Django: class/django_integration.md
- FastAPI: class/fastapi_integration.md
Expand All @@ -66,7 +62,6 @@ theme:
- content.code.annotate
- navigation.instant
- navigation.tabs
- navigation.footer
- navigation.indexes
font:
code: JetBrains Mono
Expand Down
54 changes: 0 additions & 54 deletions docs/pages/annotation_free.md

This file was deleted.

52 changes: 0 additions & 52 deletions docs/pages/annotations.md

This file was deleted.

Loading