{"id":31111868,"url":"https://github.com/jonathanwthom/doggo","last_synced_at":"2025-09-17T08:26:47.920Z","repository":{"id":57709650,"uuid":"150909988","full_name":"JonathanWThom/doggo","owner":"JonathanWThom","description":"Go client for Dog API","archived":false,"fork":false,"pushed_at":"2019-08-28T03:10:00.000Z","size":13,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-21T03:18:33.217Z","etag":null,"topics":["dogs","go","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JonathanWThom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-29T23:07:14.000Z","updated_at":"2019-08-28T03:10:02.000Z","dependencies_parsed_at":"2022-09-26T21:21:17.952Z","dependency_job_id":null,"html_url":"https://github.com/JonathanWThom/doggo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JonathanWThom/doggo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanWThom%2Fdoggo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanWThom%2Fdoggo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanWThom%2Fdoggo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanWThom%2Fdoggo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JonathanWThom","download_url":"https://codeload.github.com/JonathanWThom/doggo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonathanWThom%2Fdoggo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275558320,"owners_count":25486422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-17T02:00:09.119Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dogs","go","golang"],"created_at":"2025-09-17T08:26:46.302Z","updated_at":"2025-09-17T08:26:47.903Z","avatar_url":"https://github.com/JonathanWThom.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Doggo\n\nGo client for the [Dog API](https://dog.ceo/dog-api/).\n\n### Usage \u0026 Supported Endpoints\n\n**Installation**\n\n`go get -u github.com/JonathanWThom/doggo`\n\n**All Breeds** - `https://dog.ceo/api/breeds/list/all`\n\n  ```\n  client := doggo.InitClient()\n  client.AllBreeds()\n  fmt.Println(client.Response.Message)\n\n  =\u003e map[bouvier:[] collie:[border] dane:[great] eskimo:[] ...\n  ```\n\n**Random Image** - `https://dog.ceo/api/breeds/image/random`\n\n  ```\n  client := doggo.InitClient()\n  client.RandomImage()\n  fmt.Println(client.Response.Message)\n\n  =\u003e https://images.dog.ceo/breeds/ridgeback-rhodesian/n02087394_1161.jpg\n  ```\n\n**All Images By Breed** - `https://dog.ceo/api/breed/dachshund/images`\n\n  ```\n  client := doggo.InitClient()\n  client.ImagesByBreed(\"dachshund\")\n  fmt.Println(client.Response.Message)\n\n  =\u003e [https://images.dog.ceo/breeds/dachshund/Dachshund_rabbit.jpg https://images.dog.ceo/breeds/dachshund/Daschund-2.jpg ...]\n  ```\n\n**Random Image By Breed** - `https://dog.ceo/api/breed/dachshund/images/random`\n\n  ```\n  client := doggo.InitClient()\n  client.RandomImageByBreed(\"dachshund\")\n  fmt.Println(client.Response.Message)\n\n  =\u003e https://images.dog.ceo/breeds/dachshund/Standard_Wire-hair_Dachshund.jpg\n  ```\n\n**Multiple Images By Breed** - `https://dog.ceo/api/breed/dachshund/images/random/3`\n\n  ```\n  client := doggo.InitClient()\n  client.MultipleImagesByBreed(\"dachshund\", 3)\n  fmt.Println(client.Response.Message)\n\n  =\u003e [https://images.dog.ceo/breeds/dachshund/Stretched_Dachshund.jpg https://images.dog.ceo/breeds/dachshund/dachshund-2033796_640.jpg https://images.dog.ceo/breeds/dachshund/dachshund-6.jpg]\n  ```\n\n**Sub Breeds** - `https://dog.ceo/api/breed/hound/list`\n\n  ```\n  client := doggo.InitClient()\n  client.SubBreeds(\"hound\")\n  fmt.Println(client.Response.Message)\n\n  =\u003e [afghan basset blood english ibizan walker]\n  ```\n\n**Sub Breed Images** - `https://dog.ceo/api/breed/hound/afghan/images`\n\n  ```\n  client := doggo.InitClient()\n  client.SubBreedImages(\"hound\", \"afghan\")\n  fmt.Println(client.Response.Message)\n\n  =\u003e [https://images.dog.ceo/breeds/hound-afghan/n02088094_1003.jpg https://images.dog.ceo/breeds/hound-afghan/n02088094_1007.jpg ...]\n  ```\n\n**Random Sub Breed Image** - `https://dog.ceo/api/breed/hound/afghan/images/random`\n\n  ```\n  client := doggo.InitClient()\n  client.RandomImageBySubBreed(\"hound\", \"afghan\")\n  fmt.Println(client.Response.Message)\n\n  =\u003e https://images.dog.ceo/breeds/hound-afghan/n02088094_7131.jpg\n  ```\n\n**Multiple Images by Sub Breed** - `https://dog.ceo/api/breed/hound/afghan/images/random/3`\n\n  ```\n  client := doggo.InitClient()\n  client.MultipleImagesBySubBreed(\"hound\", \"afghan\", 3)\n  fmt.Println(client.Response.Message)\n\n  =\u003e [https://images.dog.ceo/breeds/hound-afghan/n02088094_4635.jpg https://images.dog.ceo/breeds/hound-afghan/n02088094_6690.jpg https://images.dog.ceo/breeds/hound-afghan/n02088094_988.jpg]\n  ```\n\n### Todo \u0026 Design Questions\n\n* Stub test endpoints (they make real hits right now).\n* DRY up tests with helpers, potentially.\n* Tests for `client.Response.Message` could be more specific to the response we want.\n* Should a client instance hold all responses it has received, or just the most\nrecent one?\n* Should breed and sub-breed live on `Client`?\n\n### License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanwthom%2Fdoggo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanwthom%2Fdoggo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanwthom%2Fdoggo/lists"}