Project

sudhanva

0.0
The project is in a healthy, maintained state
A dependency-free client for published profile data, articles, search, batch reads, and profile-insight jobs.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 5.25
~> 13.2
 Project Readme

sudhanva for Ruby

Minimal, dependency-free Ruby client for the public sudhanva.me API. It retrieves published profile and article metadata, performs bounded batch reads, searches the published site, and creates or polls temporary profile-insight jobs.

The API is public and requires no credentials. Do not send private data.

Install

Requires Ruby 3.3 or newer.

gem install sudhanva --version 0.2.0

Or add it to a Gemfile:

gem "sudhanva", "~> 0.2.0"

Use

require "sudhanva"

client = Sudhanva::Client.new

profile = client.profile
posts = client.posts(limit: 5, tag: "kubernetes")
article = client.post("making-your-site-agent-friendly")

job = client.create_profile_insight(
  audience: "hiring-manager",
  focus: ["production-ml", "inference"],
  idempotency_key: "my-workflow-2026-08-23"
)
result = client.wait_for_profile_insight(job["job_id"])

All methods return decoded JSON hashes. Non-success responses raise Sudhanva::APIError with status, code, hint, docs_url, and the decoded response body; the exception message includes the API's explanation. RFC 9457 problem responses from the profile-insight endpoints map detail (or title) to the message and the last segment of type to code.

API coverage

  • profile
  • posts and post
  • batch
  • create_profile_insight, profile_insight, and wait_for_profile_insight
  • ask for NLWeb conversational search

The client follows the stable /api/v1 contract. See the developer documentation and versioning policy.

Development

bundle install
bundle exec rake test
gem build sudhanva.gemspec

The test suite uses an injected transport and never calls production.

License

MIT