A set of PHP libraries to generate Models and API Clients from JSON Schema and OpenAPI specifications.
Jane is a set of PHP libraries that automatically generate data models and API client code from JSON Schema and OpenAPI specifications. It solves the problem of manually writing boilerplate code for API integrations by creating type-safe, specification-compliant PHP classes. This ensures consistency between API definitions and client implementations while saving development time.
PHP developers working with REST APIs, especially those using OpenAPI or JSON Schema to define their APIs. It's ideal for teams adopting a specification-first approach who need reliable, auto-generated client libraries.
Developers choose Jane because it eliminates manual, error-prone API client coding by generating robust, type-safe code directly from specifications. Its focus on automation and correctness reduces integration time and ensures that client code always matches the API definition.
:seedling: Jane is a set of libraries to generate Models & API Clients based on JSON Schema / OpenAPI specs
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates complete PHP models and API clients from JSON Schema and OpenAPI specs, eliminating manual boilerplate coding as highlighted in the key features, saving significant development time.
Produces strongly-typed PHP classes that match the specification exactly, minimizing runtime errors and ensuring consistency between API definitions and client implementations.
Builds validation rules directly into models based on JSON Schema constraints, reducing the need for additional validation logic and enhancing data integrity.
Promotes a specification-first approach where the API definition serves as the single source of truth, aligning with modern API development best practices.
Heavily relies on accurate and up-to-date OpenAPI/JSON Schema files; any errors, omissions, or non-standard extensions in specs can lead to incorrect or broken generated code.
Requires initial configuration and integration into the build process, which can be complex compared to directly using HTTP clients like Guzzle, especially for teams new to code generation tools.
Generated code follows standard patterns, which may not accommodate projects needing unconventional API interactions, custom serialization logic, or performance tweaks beyond what Jane supports.