File tree 4 files changed +86
-1
lines changed
4 files changed +86
-1
lines changed Original file line number Diff line number Diff line change 4
4
push :
5
5
branches :
6
6
- main
7
+ tags :
8
+ - ' **'
7
9
pull_request :
8
10
branches :
9
11
- main
@@ -13,6 +15,7 @@ permissions:
13
15
14
16
jobs :
15
17
ruff :
18
+ name : " Ruff Linting"
16
19
runs-on : ubuntu-latest
17
20
steps :
18
21
- name : Check out repository
41
44
42
45
pytest :
43
46
runs-on : ubuntu-latest
47
+ name : " Pytest Tests"
44
48
steps :
45
49
- name : Check out repository
46
50
uses : actions/checkout@v4
65
69
with :
66
70
folder : badges/
67
71
clean : false
72
+
73
+ pypi-publish :
74
+ name : Upload release to PyPI
75
+ runs-on : ubuntu-latest
76
+ needs : [ ruff, pytest ]
77
+ if : github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
78
+ environment :
79
+ name : pypi
80
+ url : https://pypi.org/p/python-injector-framework
81
+ permissions :
82
+ id-token : write
83
+ steps :
84
+ - name : Check out repository
85
+ uses : actions/checkout@v4
86
+ - name : Setup Poetry
87
+ uses : ./.github/actions/setup-poetry
88
+ - name : Build Project
89
+ run : |
90
+ source .venv/bin/activate
91
+ poetry build
92
+ - name : Publish package distributions to PyPI
93
+ uses : pypa/gh-action-pypi-publish@release/v1
Original file line number Diff line number Diff line change
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [ Keep a Changelog] ( http://keepachangelog.com/ )
6
+ and this project adheres to [ Semantic Versioning] ( http://semver.org/ ) .
7
+
8
+ ## [ v0.0.0] - 2024-06-03
9
+
10
+ Pre Release! 🚀
11
+
12
+ ### Added
13
+
14
+ - Wiring via ` @wiring.inject ` or ` wiring.wire() `
15
+ - Providers for injection
16
+ - BlankProvider
17
+ - ExistingSingleton
18
+ - Singleton
19
+ - Factory
20
+ - Overriding providers with context managers
21
+ - Simple service example to examples/
22
+
23
+ ### Changed
24
+
25
+ ### Fixed
26
+
27
+ ### Closes
Original file line number Diff line number Diff line change @@ -12,6 +12,12 @@ A simple Python dependency injection framework.
12
12
13
13
** This project is under active development. The following example does not represent the final state for the project.**
14
14
15
+ You can install this project from pypi.
16
+
17
+ ``` shell
18
+ pip install python-injection-framework
19
+ ```
20
+
15
21
### Dependency Injection
16
22
17
23
The injection framework is configured to inject any default values for method arguments that are instances
@@ -122,6 +128,32 @@ if __name__ == "__main__":
122
128
123
129
If you would like to see more examples, feel free to check out [ examples/] ( examples ) .
124
130
131
+ ## Contributing
132
+
133
+ 1 . Clone the repository and configure Poetry 🪄
134
+
135
+ ``` shell
136
+ git clone
[email protected] :scottzach1/Python-Injection-Framework.git
137
+ cd Python-Injection-Framework
138
+ poetry install
139
+ ```
140
+
141
+ 2. Configure pre-commit hooks 🪝
142
+
143
+ ` ` ` shell
144
+ pre-commit install
145
+ ` ` `
146
+
147
+ 3. Write your changes! 💻️
148
+
149
+ 4. Run test cases 🧪
150
+
151
+ ` ` ` shell
152
+ pytest tests/
153
+ ` ` `
154
+
155
+ 5. Submit a Pull Request ↖️
156
+
125
157
# # Authors
126
158
127
159
| [! [Zac Scott](https://avatars.githubusercontent.com/u/38968222? s=128& v=4)](https://github.com/scottzach1) |
Original file line number Diff line number Diff line change 1
1
[tool .poetry ]
2
- name = " injected "
2
+ name = " python-injection-framework "
3
3
version = " 0.0.0"
4
4
description = " Another Python Dependency injector framework."
5
5
authors = [
" Zac Scott <[email protected] >" ]
You can’t perform that action at this time.
0 commit comments