Skip to content

Commit 541131e

Browse files
committed
Merge branch 'release/4.37.0' into master
2 parents 258c55d + 72d0e26 commit 541131e

File tree

417 files changed

+35688
-28993
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

417 files changed

+35688
-28993
lines changed

.github/workflows/publishing.yml

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,28 @@ jobs:
99

1010
tests:
1111
name: Run tests
12-
runs-on: ubuntu-18.04
12+
runs-on: ubuntu-20.04
1313
steps:
1414
- uses: actions/checkout@v2
1515
- uses: actions/setup-python@v2
1616
with:
17-
python-version: 3.9
17+
python-version: "3.10"
1818
- run: pip install tox
1919
- run: tox
2020
env:
21-
TOXENV: 3.9
21+
TOXENV: "3.10"
2222

2323
linters:
2424
name: Run linters
25-
runs-on: ubuntu-18.04
25+
runs-on: ubuntu-20.04
2626
strategy:
2727
matrix:
2828
toxenv: [flake8, pydocstyle, mypy, pylint]
2929
steps:
3030
- uses: actions/checkout@v2
3131
- uses: actions/setup-python@v2
3232
with:
33-
python-version: 3.9
33+
python-version: "3.10"
3434
- run: pip install tox
3535
- run: tox
3636
env:
@@ -39,12 +39,12 @@ jobs:
3939
build-sdist:
4040
name: Build source tarball
4141
needs: [tests, linters]
42-
runs-on: ubuntu-18.04
42+
runs-on: ubuntu-20.04
4343
steps:
4444
- uses: actions/checkout@v2
4545
- uses: actions/setup-python@v2
4646
with:
47-
python-version: 3.9
47+
python-version: "3.10"
4848
- run: python setup.py sdist
4949
- uses: actions/upload-artifact@v2
5050
with:
@@ -56,15 +56,15 @@ jobs:
5656
runs-on: ${{ matrix.os }}
5757
strategy:
5858
matrix:
59-
os: [ubuntu-18.04, windows-latest, macos-latest]
59+
os: [ubuntu-20.04, windows-2019, macOS-10.15]
6060
env:
6161
CIBW_SKIP: cp27-win*
6262
steps:
6363
- uses: actions/checkout@v2
6464
- uses: actions/setup-python@v2
6565
with:
66-
python-version: 3.9
67-
- run: pip install cibuildwheel==1.8.0
66+
python-version: "3.10"
67+
- run: pip install cibuildwheel==2.1.3
6868
- run: cibuildwheel --output-dir wheelhouse
6969
- uses: actions/upload-artifact@v2
7070
with:
@@ -73,15 +73,15 @@ jobs:
7373
build-wheels-linux-aarch64:
7474
name: Build wheels (ubuntu-latest-aarch64)
7575
needs: [tests, linters]
76-
runs-on: ubuntu-18.04
76+
runs-on: ubuntu-20.04
7777
steps:
7878
- uses: actions/checkout@v2
7979
- name: Set up QEMU
8080
uses: docker/setup-qemu-action@v1
8181
- uses: actions/setup-python@v2
8282
with:
83-
python-version: 3.9
84-
- run: pip install cibuildwheel==1.8.0
83+
python-version: "3.10"
84+
- run: pip install cibuildwheel==2.1.3
8585
- run: cibuildwheel --archs aarch64 --output-dir wheelhouse
8686
- uses: actions/upload-artifact@v2
8787
with:
@@ -90,7 +90,7 @@ jobs:
9090
publish:
9191
name: Publish on PyPI
9292
needs: [build-sdist, build-wheels, build-wheels-linux-aarch64]
93-
runs-on: ubuntu-18.04
93+
runs-on: ubuntu-20.04
9494
steps:
9595
- uses: actions/download-artifact@v2
9696
with:
@@ -100,6 +100,9 @@ jobs:
100100
with:
101101
user: __token__
102102
password: ${{ secrets.PYPI_API_TOKEN }}
103+
# For publishing to Test PyPI, uncomment next two lines:
104+
# password: ${{ secrets.TEST_PYPI_API_TOKEN }}
105+
# repository_url: https://test.pypi.org/legacy/
103106

104107
publish-docs:
105108
name: Publish docs
@@ -109,7 +112,7 @@ jobs:
109112
- uses: actions/checkout@v2
110113
- uses: actions/setup-python@v2
111114
with:
112-
python-version: 3.9
115+
python-version: "3.10"
113116
- run: pip install -r requirements-doc.txt
114117
- run: pip install awscli
115118
- run: pip install -e .

.github/workflows/tests-and-linters.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ jobs:
66

77
test-on-different-versions:
88
name: Run tests
9-
runs-on: ubuntu-18.04
9+
runs-on: ubuntu-latest
1010
strategy:
1111
matrix:
12-
python-version: [2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, pypy2, pypy3]
12+
python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9, "3.10", pypy2, pypy3]
1313
steps:
1414
- uses: actions/checkout@v2
1515
- uses: actions/setup-python@v2
@@ -31,7 +31,7 @@ jobs:
3131
- uses: actions/checkout@v2
3232
- uses: actions/setup-python@v2
3333
with:
34-
python-version: 3.9
34+
python-version: "3.10"
3535
- run: pip install tox cython
3636
- run: make cythonize
3737
- run: tox
@@ -48,7 +48,7 @@ jobs:
4848
- uses: actions/checkout@v2
4949
- uses: actions/setup-python@v2
5050
with:
51-
python-version: 3.9
51+
python-version: "3.10"
5252
- run: pip install tox
5353
- run: tox
5454
env:

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ reports/
3636
.cache
3737
nosetests.xml
3838
coverage.xml
39+
.hypothesis/
3940

4041
# Translations
4142
*.mo
@@ -54,7 +55,7 @@ target/
5455
.idea/
5556

5657
# Virtualenv
57-
venv/
58+
venv*/
5859

5960
# SQLite
6061
*.db

Makefile

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,10 @@ install: uninstall clean cythonize
4545
uninstall:
4646
- pip uninstall -y -q dependency-injector 2> /dev/null
4747

48-
test-py2: build
48+
test:
4949
# Unit tests with coverage report
5050
coverage erase
51-
coverage run --rcfile=./.coveragerc -m unittest discover -s tests/unit/ -p test_*_py2_py3.py
52-
coverage report --rcfile=./.coveragerc
53-
coverage html --rcfile=./.coveragerc
54-
55-
test: build
56-
# Unit tests with coverage report
57-
coverage erase
58-
coverage run --rcfile=./.coveragerc -m unittest discover -s tests/unit/ -p test_*py3*.py
51+
coverage run --rcfile=./.coveragerc -m pytest -c tests/.configs/pytest.ini
5952
coverage report --rcfile=./.coveragerc
6053
coverage html --rcfile=./.coveragerc
6154

README.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ Key features of the ``Dependency Injector``:
8080
.. code-block:: python
8181
8282
from dependency_injector import containers, providers
83-
from dependency_injector.wiring import inject, Provide
83+
from dependency_injector.wiring import Provide, inject
8484
8585
8686
class Container(containers.DeclarativeContainer):
@@ -104,11 +104,11 @@ Key features of the ``Dependency Injector``:
104104
...
105105
106106
107-
if __name__ == '__main__':
107+
if __name__ == "__main__":
108108
container = Container()
109-
container.config.api_key.from_env('API_KEY')
110-
container.config.timeout.from_env('TIMEOUT')
111-
container.wire(modules=[sys.modules[__name__]])
109+
container.config.api_key.from_env("API_KEY")
110+
container.config.timeout.from_env("TIMEOUT")
111+
container.wire(modules=[__name__])
112112
113113
main() # <-- dependency is injected automatically
114114
@@ -195,7 +195,7 @@ What is the dependency injection?
195195
- dependency injection is a principle that decreases coupling and increases cohesion
196196

197197
Why should I do the dependency injection?
198-
- your code becomes more flexible, testable and clear 😎
198+
- your code becomes more flexible, testable, and clear 😎
199199

200200
How do I start doing the dependency injection?
201201
- you start writing the code following the dependency injection principle
@@ -204,7 +204,7 @@ How do I start doing the dependency injection?
204204

205205
What price do I pay and what do I get?
206206
- you need to explicitly specify the dependencies
207-
- it will be extra work in the beginning
207+
- it will be an extra work in the beginning
208208
- it will payoff as the project grows
209209

210210
Have a question?

0 commit comments

Comments
 (0)