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
Openapi-core is a Python library that adds client-side and server-side support
22
25
for the `OpenAPI v3.0 <https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md>`__
23
26
and `OpenAPI v3.1 <https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md>`__ specification.
24
27
25
28
26
-
Key features
27
-
############
29
+
## Key features
28
30
29
31
***Validation** and **unmarshalling** of request and response data (including webhooks)
30
32
***Integration** with popular libraries (Requests, Werkzeug) and frameworks (Django, Falcon, Flask, Starlette)
31
33
* Customization with media type **deserializers** and format **unmarshallers**
32
34
***Security** data providers (API keys, Cookie, Basic and Bearer HTTP authentications)
33
35
34
36
35
-
Documentation
36
-
#############
37
+
## Documentation
37
38
38
39
Check documentation to see more details about the features. All documentation is in the "docs" directory and online at `openapi-core.readthedocs.io <https://openapi-core.readthedocs.io>`__
39
40
40
41
41
-
Installation
42
-
############
42
+
## Installation
43
43
44
44
Recommended way (via pip):
45
45
@@ -54,8 +54,7 @@ Alternatively you can download the code and install from the repository:
@@ -93,8 +92,8 @@ For more details read about `Unmarshalling <https://openapi-core.readthedocs.io/
93
92
If you just want to validate your request/response data without unmarshalling, read about `Validation <https://openapi-core.readthedocs.io/en/latest/validation.html>`__ instead.
Python library that validates OpenAPI Specs against the OpenAPI 2.0 (aka Swagger), OpenAPI 3.0 and OpenAPI 3.1 specification. The validator aims to check for full compliance with the Specification.
Firstly, thank you all for taking the time to contribute.
9
+
10
+
The following section describes how you can contribute to the openapi-core project on GitHub.
11
+
12
+
## Reporting bugs
13
+
14
+
### Before you report
15
+
16
+
- Check whether your issue does not already exist in the [Issue tracker](https://github.com/python-openapi/openapi-core/issues).
17
+
- Make sure it is not a support request or question better suited for [Discussion board](https://github.com/python-openapi/openapi-core/discussions).
18
+
19
+
### How to submit a report
20
+
21
+
- Include clear title.
22
+
- Describe your runtime environment with exact versions you use.
23
+
- Describe the exact steps which reproduce the problem, including minimal code snippets.
24
+
- Describe the behavior you observed after following the steps, pasting console outputs.
25
+
- Describe expected behavior to see and why, including links to documentations.
26
+
27
+
## Code contribution
28
+
29
+
### Prerequisites
30
+
31
+
Install [Poetry](https://python-poetry.org) by following the [official installation instructions](https://python-poetry.org/docs/#installation). Optionally (but recommended), configure Poetry to create a virtual environment in a folder named `.venv` within the root directory of the project:
32
+
33
+
```console
34
+
poetry config virtualenvs.in-project true
35
+
```
36
+
37
+
### Setup
38
+
39
+
To create a development environment and install the runtime and development dependencies, run:
40
+
41
+
```console
42
+
poetry install
43
+
```
44
+
45
+
Then enter the virtual environment created by Poetry:
46
+
47
+
```console
48
+
poetry shell
49
+
```
50
+
51
+
### Static checks
52
+
53
+
The project uses static checks using fantastic [pre-commit](https://pre-commit.com/). Every change is checked on CI and if it does not pass the tests it cannot be accepted. If you want to check locally then run following command to install pre-commit.
54
+
55
+
To turn on pre-commit checks for commit operations in git, enter:
56
+
57
+
```console
58
+
pre-commit install
59
+
```
60
+
61
+
To run all checks on your staged files, enter:
62
+
63
+
```console
64
+
pre-commit run
65
+
```
66
+
67
+
To run all checks on all files, enter:
68
+
69
+
```console
70
+
pre-commit run --all-files
71
+
```
72
+
73
+
Pre-commit check results are also attached to your PR through integration with Github Action.
0 commit comments