Mapping Github Topics To My API Evangelist Research
01 Mar 2017
I was playing around with the new Github topics, and found that it provides an interesting look at the API space, one that I'm hoping will continue to evolve, and maybe I can influence.
I typed 'api-' into Github's topic tagging tool for my repository, and after I tagged each of my research areas with appropriate tags, I set out exploring these layers of Github by clicking on each tag. It is something that became quite a wormhole of API exploration.
I had to put it down, as I could spend hours looking through the repositories, but I wanted to create a machine-readable mapping to my existing API research areas, that I could use to regularly keep an eye on these slices of the Github pie--in an automated way.
Definitions - These are the topics I'm adding to my monitoring of the API space when it comes to API definitions. I thought it was interesting how folks are using Github to manage their API definitions.
- api-definition (search via Github topics)
- api-description (search via Github topics)
- api-specs (search via Github topics)
- api-blueprint (search via Github topics)
- api-transformer (search via Github topics)
- openapi (search via Github topics)
- openapi-specification (search via Github topics)
- openapi-spec (search via Github topics)
- openapi-validation (search via Github topics)
- openapi-documentation (search via Github topics)
- openapi-sampler (search via Github topics)
- postman-apps (search via Github topics)
- postman-collection (search via Github topics)
- api-json (search via Github topics)
- api-linter (search via Github topics)
I like how OpenAPI is starting to branch out into separate areas, as well as how this area touches on almost every other area liste here. I am going to work to help shape the tags present based on the definitions, templates, and tooling I find on Github in my work.
Design - There was only one API design related item, but is something I expect to expand rapidly as I dive into this area further.
- api-design (search via Github topics)
I know of a number of projects that should be tagged and added to the area of API design, as well as have a number of sub-areas I'd like to see included as relevant API design tags.
Deployment - Deployment was a little tougher to get a handle on. There are many different ways to deploy an API, but these are the ones I've identified so far.
- api-deployment (search via Github topics)
- api-server (search via Github topics)
- api-generator (search via Github topics)
- api-middleware (search via Github topics)
- api-gateway (search via Github topics)
- api-proxy (search via Github topics)
- api-gateways (search via Github topics)
- api-server (search via Github topics)
I know I will be adding some other areas to this area quickly. Tracking on database, containerized, and serverless approaches to API deployment.
Management - There were two topics that jumped out to me for inclusion in my API management research.
As with all the other areas, I will be harassing some of the common API management providers I know to tag their repositories appropriately, so that they show up in these searches.
Documentation - There are always a number of different perspectives on what constitutes API documentation, but these are a few of these I've found so far.
- api-console (search via Github topics)
- api-documentation (search via Github topics)
- api-error (search via Github topics)
I think that API console overlaps with API clients, but it works here as well. I will work to find a way to separate out the documentation tools, from the documentation implementations.
SDK - It is hard to identify what is an SDK. It is a sector of the space I've seen renewed innovation, as well as bending of the definition of what is a development kit.
- api-sdk (search via Github topics)
- api-wrapper (search via Github topics)
- api-client (search via Github topics)
- api-bindings (search via Github topics)
I will be looking to identify language-specific variations as part of this mapping to API SDKs available on Github, making discoverable through topic searches.
API Portal - It was good to see wicked.haufe.io as part of an API portal topic search. I know of a couple of other implementations that should be present, helping people see this growing area of API deployment and management.
- api-portal (search via Github topics)
This approach to providing Github driven API templates is the future of both the technical and business side of API operations. It is the seed for continuous integration across all stops along the API lifecycle.
API Discovery - Currently it is just my research in the API discovery topic search, but it is where I'm putting this area my work down. I was going to add all my research areas, but I think that will make for a good story in the future.
API discovery is one of the areas I'm looking to stimulate with this Github topics work. I'm going to be publishing separate repositories for each of the API I've profiled as part of my monitoring of the API space, and highlighting those providers who do it as well. We need more API providers to publish their API definitions to Github, making it available to be applied at every other stop along the API lifecycle.
I've long used Github as a discovery tool. Tracking on the Github accounts of companies, organizations, institutions, agencies and individuals is the best way to find the meaningful things going on with APIs. Github topics just adds another dimension to this discovery process, where I don't have to always do the discovery, and other people can tag their repositories, and they'll float up on the radar. Github repo activity, stars, and forks just give an added dimensions to this conversation.
I will have to figure out how to harass people I know about properly tagging their repos. I may even submit a Github issue for some of the ones I think are important enough. Maybe Github will allow users to tag other people's projects, adding another dimension to the conversation, while giving consumers a voice as well. I will update the YAML mapping for this project as I find new Github topics that should be mapped to my existing API research.