|
1 |
| -# github.com/speakeasy-api/openapi |
| 1 | +[](https://www.speakeasy.com) |
| 2 | + |
| 3 | +# [github.com/speakeasy-api/openapi](https://github.com/speakeasy-api/openapi) |
| 4 | + |
| 5 | +[](http://godoc.org/github.com/speakeasy-api/openapi) |
| 6 | +[](https://github.com/speakeasy-api/openapi/actions/workflows/test.yaml) |
| 7 | +[](https://goreportcard.com/report/github.com/speakeasy-api/openapi) |
| 8 | +[](https://opensource.org/licenses/MIT) |
2 | 9 |
|
3 | 10 | The Speakeasy OpenAPI module provides a set of packages and tools for working with OpenAPI Specification documents.
|
4 | 11 |
|
| 12 | +Used directly in Speakeasy's products it powers our [SDK Generator](https://www.speakeasy.com/docs/create-client-sdks) and [Contract Testing](https://www.speakeasy.com/docs/testing) tools. |
| 13 | + |
5 | 14 | Documentation for the packages can be found in the [GoDoc documentation.](https://pkg.go.dev/github.com/speakeasy-api/openapi)
|
6 | 15 |
|
7 | 16 | ## Main Packages
|
8 | 17 |
|
9 | 18 | ### [arazzo](./arazzo)
|
10 | 19 |
|
11 |
| -The `arazzo` package provides an API for working with Arazzo documents including reading, creating, mutating, walking and validating them. |
| 20 | +The `arazzo` package provides an API for working with Arazzo documents including reading, creating, mutating, walking and validating them. |
| 21 | + |
| 22 | +## Sub Packages |
| 23 | + |
| 24 | +This repository also contains a number of sub packages that are used by the main packages to provide the required functionality. The below packages may be moved into their own repository in the future, depending on future needs. |
| 25 | + |
| 26 | +### [json](./json) |
| 27 | + |
| 28 | +The `json` package provides utilities for converting between JSON and YAML. |
| 29 | + |
| 30 | +### [jsonpointer](./jsonpointer) |
| 31 | + |
| 32 | +The `jsonpointer` package provides an API for working with [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901) compliant JSON Pointers. Providing functionality for validating JSON Pointers, and extracting the target of a JSON Pointer for various Go types and structures. |
| 33 | + |
| 34 | +### [jsonschema](./jsonschema) |
| 35 | + |
| 36 | +The `jsonschema` package provides various models for working with the different JSON Schema dialects. |
| 37 | + |
| 38 | +### [sequencedmap](./sequencedmap) |
| 39 | + |
| 40 | +The `sequencedmap` package provides a map implementation that maintains the order of keys as they are added. |
| 41 | + |
| 42 | +## Contributing |
| 43 | + |
| 44 | +This repository is maintained by Speakeasy, but we welcome and encourage contributions from the community to help improve its capabilities and stability. |
| 45 | + |
| 46 | +### How to Contribute |
| 47 | + |
| 48 | +1. **Open Issues**: Found a bug or have a feature suggestion? Open an issue to describe what you'd like to see changed. |
| 49 | + |
| 50 | +2. **Pull Requests**: We welcome pull requests! If you'd like to contribute code: |
| 51 | + - Fork the repository |
| 52 | + - Create a new branch for your feature/fix |
| 53 | + - Submit a PR with a clear description of the changes and any related issues |
| 54 | + |
| 55 | +3. **Feedback**: Share your experience using the packages or suggest improvements. |
| 56 | + |
| 57 | +All contributions, whether they're bug reports, feature requests, or code changes, help make this project better for everyone. |
| 58 | + |
| 59 | +Please ensure your contributions adhere to our coding standards and include appropriate tests where applicable. |
0 commit comments