Optic alternatives and similar libraries
Based on the "API" category.
Alternatively, view Optic alternatives based on common mentions on social networks and blogs.
-
React Query
🤖 Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query] -
urql
The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow. -
Apollo and GraphQL for Vue.js
🚀 Apollo/GraphQL integration for VueJS -
Swagger Client
Javascript library to connect to swagger-enabled APIs via browser or nodejs -
SapphireDb
SapphireDb Server, a self-hosted, easy to use realtime database for Asp.Net Core and EF Core -
oauth-signature-js
JavaScript OAuth 1.0a signature generator (RFC 5849) for node and the browser -
Bearer.sh
Universal API client that supports OAuth / API Key / Basic / etc. -
Bearer API Client for JavaScript
Bearer provides all of the tools to build, run and manage API integrations. -
Angular Chat App Example
Build a simple group chat application with Angular 7 from scratch -
GazeRecorder
GazeRecorder | Behavior Analytics Made Easy | Website Eye-Tracking Heatmaps
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Optic or a related project?
README
Announcement: Optic is launching with native support for OpenAPI 3. Read more and get early access here
Track and review API changes as a team
Design better APIs · Improve quality · Ship faster. It starts with having the right conversations on your team
In this repo are the open source libraries powering Optic
optic-ci
- the tool used to compare specs and enforce your rules for your APIrulesets-base
- includes the SDKs for authoring and running your ownoptic-ci
checks
Migrating from Optic 10 to Optic 11
Optic 11 is in beta and nearing release. Get early access by joining the beta here. If you are using Optic <=10
, the first step is to migrate your spec to an OpenAPI file.
Generating an OpenAPI specification
In your project's root directory, run api generate:oas
. This exports your specification into an OpenAPI file for the Optic Toolkit, in YAML format. Copy the file in the command output into your project's root folder as optic.openapi.yaml
.
$ api generate:oas
[optic] Generated OAS files
[optic] /{project root}/.optic/generated/openapi.yaml
$ cp .optic/generated/openapi.yaml optic.openapi.yaml
$ git add optic.openapi.yaml
💡 Optional You may specify a JSON OpenAPI file with the --json
flag and using the .json
extension. You may also save your OpenAPI file anywhere in your project, just don't lose track of it.
Cleaning up
You're ready to run the Optic Toolkit against your project. It will automatically use the OpenAPI file exported above, and update it when changes are detected. Once you're comfortable with the new toolkit, you can remove the Optic 10 files from your project with rm -rf .optic optic.yml
. It's safe to remove these files: the only thing the new Optic Toolkit uses is your OpenAPI specification.
You should also remove the old Optic 10 CLI, as it doesn't share any components with the Optic Toolkit and is no longer necessary. Removal depends on how you installed it in the first place. For example, to uninstall via NPM, npm remove --global @useoptic/cli
.
If you have any problem or questions Open an Issue or reach out in Discord.
Resources
- Read our about Aidan + Dev's vision for the space Read: Git for APIs
- Listen to Optic on Software Engineering Daily
Read API Evangelist on Optic Automatically Generate OpenAPI For Your APIs Just By Using Them
Want to help us design the next features? Book Maintainer Office Hours
License
MIT
Contributors ✨
Thanks goes to these wonderful people (emoji key):
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
<!-- ALL-CONTRIBUTORS-BADGE:END -->
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
Aidan Cunniffe📖 💻
devdoshi📖 💻
Evan Mallory📖
Jaap van Hardeveld💻 📖
Ronak Shah💻 📖
taraedits📖
Lou Manglass💻 📖
Nate Meyer💻
Tim Gates📖
Matthew Hudson📖
LaV📖
Gaurav Nelson📖
Ross Nordstrom🎨 💻 🐛
Kin Lane🤔 🖋
Viljami Kuosmanen🤔 🖋
Richard Crowley🔬 🤔
dnmtr👀
Tim Perry💻
jordaniza📖
Sandy Vanderbleek📖
Dave Rolsky📖
Baptiste Darthenay📖
Alex Miller📖
Joseph Shearer💻
Ray Bejjani📖
Adrien Brault📖
Nicholas Lim📖 💻
Stephen Mizell💻 📖
Bojan Đurđević💻
Taras Mankovski📖
Ikko Ashimine📖
Mukesh💻
Tony Knight📖
Roger Dickey, Jr📖
<!-- markdownlint-restore --> <!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the all-contributors specification. Contributions of any kind welcome!
*Note that all licence references and agreements mentioned in the Optic README section above
are relevant to that project's source code only.