You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Pydantic](https://docs.pydantic.dev) models for STAPI.
27
+
These models are used to generate the STAPI OpenAPI specification, and so can be considered the source-of-truth for STAPI data structures.
28
+
29
+
### [stapi-fastapi](./stapi-fastapi/)
30
+
31
+
A backend-agnostic [FastAPI](https://fastapi.tiangolo.com/) application for serving STAPI endpoints.
32
+
A minimal test implementation is provided in [stapi-fastapi/tests/application.py](stapi-fastapi/tests/application.py).
33
+
Run it like so:
34
+
35
+
```commandline
36
+
uv run fastapi dev stapi-fastapi/tests/application.py
37
+
```
38
+
39
+
The app should be accessible at `http://localhost:8000`.
40
+
41
+
For implementations of **stapi-fastapi** with vendor-specific backends, see repos in the [stapi-fastapi Github organization](https://github.com/stapi-spec?q=stapi-fastapi-&type=all&language=&sort=).
42
+
43
+
### [pystapi-client](./pystapi-client/)
44
+
45
+
A Python API and command-line interface (CLI) for working with STAPI servers.
46
+
47
+
### [pystapi-validator](./pystapi-validator/)
48
+
49
+
A work-in-progress validator for STAPI APIs.
50
+
Currently not very useful.
51
+
8
52
## Development
9
53
10
54
Get [uv](https://docs.astral.sh/uv/), then:
@@ -24,7 +68,7 @@ uv run pytest
24
68
Check formatting and other lints:
25
69
26
70
```shell
27
-
uv run pre-commit --all-files
71
+
uv run pre-commit run --all-files
28
72
```
29
73
30
74
If you don't want to type `uv run` all the time:
@@ -34,28 +78,3 @@ source .venv/bin/activate
34
78
```
35
79
36
80
See our [contribution guidelines](./CONTRIBUTING.md) for information on contributing any changes, fixes, or features.
A minimal test implementation is provided in [stapi-fastapi/tests/application.py](stapi-fastapi/tests/application.py).
49
-
Run it like so:
50
-
51
-
```commandline
52
-
uv run fastapi dev stapi-fastapi/tests/application.py
53
-
```
54
-
55
-
The app should be accessible at `http://localhost:8000`.
56
-
57
-
### stapi-client
58
-
59
-
The `stapi-client` package is a Python client (CLI tool) focused on interfacing with the STAPI specification, specifically with a STAPI server. This is a work in progress.
60
-
61
-
For more information, see the [README](pystapi-client/README.md).
Copy file name to clipboardExpand all lines: RELEASING.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,14 +3,15 @@
3
3
1. Determine which package you're releasing
4
4
2. Determine the next version, following [semantic versioning](https://semver.org/)
5
5
3. Create a release branch: `git checkout -b release/{package}-v{version}`
6
-
4. Update that package's CHANGELOG with:
6
+
4. Update that package's `pyproject.toml` with the new version
7
+
5. Update that package's CHANGELOG with:
7
8
- A new header with the new version
8
9
- A new link at the bottom of the CHANGELOG for that header
9
-
5.`git push -u origin`
10
-
6. Once approved, merge the PR
11
-
7.`git checkout main && git pull && scripts/release {package}`
12
-
8. Go to the draft release href provided by the script, update that Github release with information from the CHANGELOG, and publish it
13
-
9. Github actions will automatically publish a new PyPI release
10
+
6.`git push -u origin`
11
+
7. Once approved, merge the PR
12
+
8.`git checkout main && git pull && scripts/release {package}`
13
+
9. Go to the draft release href provided by the script, update that Github release with information from the CHANGELOG, and publish it
14
+
10. Github actions will automatically publish a new PyPI release
14
15
15
16
> [!IMPORTANT]
16
17
> You'll need to set up [.netrc authentication](https://pygithub.readthedocs.io/en/stable/examples/Authentication.html#netrc-authentication) to use `scripts/release`.
0 commit comments