<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~files/feed-premium.xsl"?>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedpress="https://feed.press/xmlns" xmlns:podcast="https://podcastindex.org/namespace/1.0" version="2.0">
  <channel>
    <feedpress:locale>en</feedpress:locale>
    <atom:link rel="self" href="https://feeds.dzone.com/tools"/>
    <atom:link rel="hub" href="https://feedpress.superfeedr.com/"/>
    <title>DZone Tools Zone</title>
    <link>https://dzone.com/tools</link>
    <description>Recent posts in Tools on DZone.com</description>
    <item>
      <title>Agents, Tools, and MCP: A Mental Model That Actually Helps</title>
      <link>https://feeds.dzone.com/link/23566/17380699/agents-tools-and-mcp</link>
      <description><![CDATA[<p>Everyone is talking about how magical AI is right now, but if you have spent any time experimenting with it recently, you have probably realized how difficult it is to get the results you want. None of the hype is particularly useful when you are trying to <strong>build something real</strong>. The magic looks good on paper until it meets real systems.</p>
<p>I recently put together a talk called "Agents, Tools, and MCP, oh my!" that tries to cut through some of that noise. As developers, we are being handed a firehose of new tools and technologies, and I wanted to spend my session doing something a little different: break the pieces apart, reduce some of the complexity and overwhelm, and then build them back up so they actually fit together.</p><img src="https://feeds.dzone.com/link/23566/17380699.gif" height="1" width="1"/>]]></description>
      <pubDate>Wed, 15 Jul 2026 12:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3664996</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19086337&amp;w=600"/>
      <dc:creator>Jennifer Reif</dc:creator>
    </item>
    <item>
      <title>GraphRAG in Practice Using Spring AI, Neo4j, and Goodreads Data</title>
      <link>https://feeds.dzone.com/link/23566/17380274/graphrag-spring-ai-neo4j</link>
      <description><![CDATA[<p>Large language models (LLMs) are impressive — until they are not. If you ask one about your internal data, your product catalog, or your users' reviews, it will either hallucinate an answer or admit it does not know. The solution most teams reach for is retrieval-augmented generation (RAG). This retrieves relevant data first, injects it into the prompt as context, and lets the model answer from that context rather than from memory.&nbsp;</p>
<p><a href="https://dzone.com/articles/self-correcting-graphrag-enterprise-observability">GraphRAG</a> takes this a step further. Instead of retrieving only text chunks, it can use graph relationships to retrieve connected context, following relationships between entities to build richer, more structured context. The result can provide answers grounded in both data and the relationships between that data.</p><img src="https://feeds.dzone.com/link/23566/17380274.gif" height="1" width="1"/>]]></description>
      <pubDate>Tue, 14 Jul 2026 18:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3666058</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19087570&amp;w=600"/>
      <dc:creator>Akmal Chaudhri</dc:creator>
    </item>
    <item>
      <title>AWS Glue ETL Design Principles for Production PySpark Pipelines</title>
      <link>https://feeds.dzone.com/link/23566/17380177/aws-glue-pyspark-pipelines</link>
      <description><![CDATA[<p>AWS Glue makes it easy to get a PySpark pipeline running quickly. It is significantly harder to build one that stays maintainable as logic grows, performs reliably at scale, and does not quietly accumulate operational debt over time.</p>
<p>Most Glue pipelines start simple and become difficult to manage gradually — formulas get hardcoded, modules grow without boundaries, output files proliferate, and before long a single job is doing too many things in ways that are hard to test, hard to debug, and expensive to change.</p><img src="https://feeds.dzone.com/link/23566/17380177.gif" height="1" width="1"/>]]></description>
      <pubDate>Tue, 14 Jul 2026 14:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3658541</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19087504&amp;w=600"/>
      <dc:creator>Janani Annur Thiruvengadam</dc:creator>
    </item>
    <item>
      <title>From Bash Script to Operational Triage: What Eight Months of Kubernetes Debugging Taught Me</title>
      <link>https://feeds.dzone.com/link/23566/17375568/kubernetes-debugging-lessons</link>
      <description><![CDATA[<p>In November 2025, I published a Bash script that analyzed Kubernetes clusters in about 60 seconds. It generated HTML reports, surfaced crash loops, orphaned resources, and other operational issues that were easy to overlook. The most interesting part wasn't the script — it was what happened after people started running it. Many told me they found problems they hadn't known existed.</p>
<p>Looking back, the bash script wasn't really solving debugging. It was solving prioritization. I just didn't have the vocabulary for it yet.</p><img src="https://feeds.dzone.com/link/23566/17375568.gif" height="1" width="1"/>]]></description>
      <pubDate>Thu, 09 Jul 2026 15:00:06 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3664901</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19084034&amp;w=600"/>
      <dc:creator>Shamsher Khan</dc:creator>
    </item>
    <item>
      <title>Azure Databricks vs Microsoft Fabric: An Honest Guide to When to Use What</title>
      <link>https://feeds.dzone.com/link/23566/17375569/azure-databricks-vs-microsoft-fabric</link>
      <description><![CDATA[<div data-article-id="4024301">
 <p>If you're building a data platform on Azure in 2026, you're going to be asked this question: <strong>Azure Databricks or Microsoft Fabric?</strong> Both run on Delta Lake, both integrate with ADLS Gen2, both have Spark, and both promise to be your unified data platform. The overlap is real, and the marketing doesn't help.</p>
 <p>This post is an honest breakdown of where each genuinely excels, where they overlap, and how to decide without getting lost in feature comparison tables.</p><img src="https://feeds.dzone.com/link/23566/17375569.gif" height="1" width="1"/>]]></description>
      <pubDate>Thu, 09 Jul 2026 12:00:07 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3663793</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19083780&amp;w=600"/>
      <dc:creator>Jubin Abhishek Soni</dc:creator>
    </item>
    <item>
      <title>Designing Tool-Calling AI Agents That Survive Production: A LangGraph Approach</title>
      <link>https://feeds.dzone.com/link/23566/17374520/designing-tool-calling-ai-agents</link>
      <description><![CDATA[<p>Most agent demos work beautifully on stage and fall apart the first week in production. The reason is almost always the same: the demo treats tool-calling as a happy path, and production is nothing but edge cases. A tool times out. A model hallucinates an argument.&nbsp;</p>
<p>The agent loops on itself and burns through your token budget. After shipping a few of these systems, I have learned that the durable design question is not "can the agent call a tool" but "what happens when the tool call goes wrong."</p><img src="https://feeds.dzone.com/link/23566/17374520.gif" height="1" width="1"/>]]></description>
      <pubDate>Tue, 07 Jul 2026 14:00:10 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3659883</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19080212&amp;w=600"/>
      <dc:creator>Shubham Gupta</dc:creator>
    </item>
    <item>
      <title>Azure Databricks for Scalable MLOps and Feature Engineering With Apache Spark, Delta Lake, and MLflow</title>
      <link>https://feeds.dzone.com/link/23566/17373893/azure-databricks-mlops</link>
      <description><![CDATA[<p>Raw data doesn't win model competitions. Features do. And when your raw data is tens of billions of rows sitting across multiple sources, you can't afford to run pandas in a notebook and call it a day.</p>
<p>In this tutorial, I'll walk through building a production-grade feature engineering pipeline on <a href="https://dzone.com/articles/azure-databricks-best-practices-for-a-developer">Azure Databricks</a> using:</p><img src="https://feeds.dzone.com/link/23566/17373893.gif" height="1" width="1"/>]]></description>
      <pubDate>Mon, 06 Jul 2026 14:00:03 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3663565</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19076762&amp;w=600"/>
      <dc:creator>Jubin Abhishek Soni</dc:creator>
    </item>
    <item>
      <title>Building an AI Agent That Responds to Real-Time Events With AWS Bedrock, Kinesis, DynamoDB, and S3</title>
      <link>https://feeds.dzone.com/link/23566/17372276/real-time-ai-agent-aws</link>
      <description><![CDATA[<p>Most recommendation systems are batch jobs. They crunch last night's data, write a recommendations table, and serve it all day. That works fine until your user watches three thriller movies in a row at 9 pm and your system is still recommending rom-coms because the batch hasn't run yet.</p>
<p>In this post, I'll walk through building an agent system that reacts to streaming user behavior in real time using:</p><img src="https://feeds.dzone.com/link/23566/17372276.gif" height="1" width="1"/>]]></description>
      <pubDate>Fri, 03 Jul 2026 13:00:04 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3663564</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19077386&amp;w=600"/>
      <dc:creator>Jubin Abhishek Soni</dc:creator>
    </item>
    <item>
      <title>WebSockets, gRPC, and GraphQL in the Core</title>
      <link>https://feeds.dzone.com/link/23566/17371899/websockets-grpc-graphql-core</link>
      <description><![CDATA[<p>Three connectivity features landed together this week, and they belong in one place because they build on each other. WebSockets moved into the core; the GraphQL client uses that same WebSocket support for subscriptions; and gRPC reuses the exact code-generation pattern GraphQL and OpenAPI already follow. This post is a tutorial for all three. By the end, you will have a live chat, a typed GraphQL client, and a typed gRPC client, and you will see how little code each one takes.</p>
<p>These features come from <a href="https://github.com/codenameone/CodenameOne/pull/5133">PR #5133</a> (WebSockets) and <a href="https://github.com/codenameone/CodenameOne/pull/5141">PR #5141</a> plus <a href="https://github.com/codenameone/CodenameOne/pull/5099">PR #5099</a> (the typed clients).</p><img src="https://feeds.dzone.com/link/23566/17371899.gif" height="1" width="1"/>]]></description>
      <pubDate>Thu, 02 Jul 2026 19:00:05 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3659763</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19051563&amp;w=600"/>
      <dc:creator>Shai Almog</dc:creator>
    </item>
    <item>
      <title>One Stolen Key, One Stolen Token: Why Machine Identity Is Cloud-Native's Quietest Crisis — and the Only Fix That Actually Holds</title>
      <link>https://feeds.dzone.com/link/23566/17371214/machine-identity-cloud-security</link>
      <description><![CDATA[<p>On December 2, 2024, a security vendor called BeyondTrust noticed something wrong inside its own AWS account. By the time the investigation closed, the story that emerged was almost absurdly simple for something with this much fallout: an attacker — later attributed to the Chinese state-sponsored group Silk Typhoon — had used a software flaw to reach into a BeyondTrust cloud account and pull out an API key. Not a password. Not a phishing victim's login. A string of characters that a piece of software used to talk to another piece of software.&nbsp;</p>
<p>With that one key, the attacker walked straight into the U.S. Department of the Treasury, reset internal passwords, accessed workstations inside the Office of Foreign Assets Control, and read unclassified documents before anyone noticed. The Treasury disclosed it to Congress on December 30. The Department of Justice indicted the alleged operators in March 2025.</p><img src="https://feeds.dzone.com/link/23566/17371214.gif" height="1" width="1"/>]]></description>
      <pubDate>Wed, 01 Jul 2026 17:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3659906</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19075934&amp;w=600"/>
      <dc:creator>Igboanugo David Ugochukwu</dc:creator>
    </item>
    <item>
      <title>Building Production-Safe Agentic Remediation With Docker MCP Gateway: Lessons From 43% to 100% Accuracy</title>
      <link>https://feeds.dzone.com/link/23566/17369893/docker-mcp-agentic-remediation</link>
      <description><![CDATA[<p>Our first version was wrong 57% of the time.&nbsp;</p>
<p>Not because the AI model couldn't identify Docker container failure scenarios—it usually could. The failures occurred at the decision boundary: determining when an automated action was appropriate, when escalation was required, and when no action should be taken.</p><img src="https://feeds.dzone.com/link/23566/17369893.gif" height="1" width="1"/>]]></description>
      <pubDate>Mon, 29 Jun 2026 17:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3660985</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19071355&amp;w=600"/>
      <dc:creator>Mohammad-Ali Arabi</dc:creator>
      <dc:creator>Shamsher Khan</dc:creator>
    </item>
    <item>
      <title>Selective Deployment in Azure Data Factory: A Practical Blueprint for Safer CI/CD</title>
      <link>https://feeds.dzone.com/link/23566/17368722/selective-deployment-azure-data-factory</link>
      <description><![CDATA[<p data-end="691" data-start="632">Picture this: two features are being developed in parallel.</p>
<ul data-end="840" data-start="693">
 <li data-end="786" data-section-id="qq91p1" data-start="693">One has already been tested in lower environments, but is still awaiting business approval</li>
 <li data-end="840" data-section-id="14wotmq" data-start="787">The other is fully validated and ready to go live</li>
</ul>
<p data-end="906" data-start="842">Naturally, you want to release the second feature to production.</p><img src="https://feeds.dzone.com/link/23566/17368722.gif" height="1" width="1"/>]]></description>
      <pubDate>Fri, 26 Jun 2026 17:00:03 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3646931</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19064392&amp;w=600"/>
      <dc:creator>Sauhard Bhatt</dc:creator>
    </item>
    <item>
      <title>A Tool Is Not a Platform (And Your Team Knows the Difference)</title>
      <link>https://feeds.dzone.com/link/23566/17368034/a-tool-is-not-a-platform</link>
      <description><![CDATA[<p>Most infrastructure teams have a moment where someone says “we should build a platform.” The motivation is real: teams are duplicating work, the current setup is hard to use consistently, and a more structured approach would help. A few months later, the platform is a Terraform module collection, a GitLab CI template, a shared repository of scripts, and a README that several people have tried to keep current.</p>
<p>That is a useful thing. It is not a platform.</p><img src="https://feeds.dzone.com/link/23566/17368034.gif" height="1" width="1"/>]]></description>
      <pubDate>Thu, 25 Jun 2026 19:00:05 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3653764</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19059920&amp;w=600"/>
      <dc:creator>Jeleel Muibi</dc:creator>
    </item>
    <item>
      <title>Code and Connect: MCP + MuleSoft</title>
      <link>https://feeds.dzone.com/link/23566/17367898/mcp-with-mulesoft</link>
      <description><![CDATA[<p style="text-align: left;">I often find myself in conversations where the same words keep popping up again and again: <strong>Agents</strong>,<strong>&nbsp;MCP</strong>, and <strong>A2A</strong>. Everyone seems excited about them. But the funny part is that when the topic shifts to <strong>MCP (Model Context Protocol)</strong>, the explanations start to vary.</p>
<p>One day, someone confidently said, <em>“An MCP server is basically a tool.”&nbsp;</em>Another person immediately disagreed and replied, <em>“No, no — MCP is more like a client.”&nbsp;</em>Before that debate could settle, someone else joined the conversation and said, <em>“Actually, MCP is just a protocol.”</em></p><img src="https://feeds.dzone.com/link/23566/17367898.gif" height="1" width="1"/>]]></description>
      <pubDate>Thu, 25 Jun 2026 15:00:01 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3641720</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19059854&amp;w=600"/>
      <dc:creator>Ajay Singh</dc:creator>
    </item>
    <item>
      <title>Implementing Asynchronous Communication Between Microservices Using Kafka and Spring Boot</title>
      <link>https://feeds.dzone.com/link/23566/17366566/asynchronous-microservices-communication-kafka-spring-boot</link>
      <description><![CDATA[<p>In a microservices system, that tight coupling turns a small hiccup into a cascading slowdown. Thread pools fill, retries amplify traffic, and suddenly your simple request is blocked on half the fleet. My executive summary: asynchronous messaging with Kafka helps systems keep moving when individual components inevitably slow down or fail. It does this by decoupling producers from consumers, absorbing traffic spikes, and allowing services to evolve without tying their availability directly to one another.</p>
<h2>Code Patterns in Spring Boot With Kafka</h2>
<p>Spring for Apache Kafka gives me two primitives that feel pleasantly old Spring <code>KafkaTemplate</code> for sending and <code>@KafkaListener</code> for receiving. That template/listener model is intentionally similar to other Spring integration tech, which keeps application code focused on domain logic instead of raw client plumbing.&nbsp;</p><img src="https://feeds.dzone.com/link/23566/17366566.gif" height="1" width="1"/>]]></description>
      <pubDate>Wed, 24 Jun 2026 13:00:05 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3643443</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19056287&amp;w=600"/>
      <dc:creator>Mallikharjuna Manepalli</dc:creator>
    </item>
    <item>
      <title>Architectural Collapse: How Extension Poisoning, Node Vulnerabilities, and Infrastructure Fog Enabled the GitHub Repository Breach</title>
      <link>https://feeds.dzone.com/link/23566/17366164/extension-poisoning-github-breach</link>
      <description><![CDATA[<p data-selectable-paragraph="">Enterprise perimeter defenses are fundamentally built on an obsolete assumption that the developer’s workstation is a secure, trusted anchor point. The massive security breach executed by the threat group <strong>TeamPCP</strong>, resulting in the exfiltration of <strong>3,800 internal GitHub source code repositories</strong>, completely shattered this illusion.</p>
<p data-selectable-paragraph="">This was not a standalone exploit. It was a multi-vector convergence where vulnerabilities in the Node/NPM ecosystem, the systemic ungoverned architecture of the Visual Studio Code Marketplace, and the tactical “fog of war” caused by a period of historic GitHub infrastructure instability came together to create the perfect attack.</p><img src="https://feeds.dzone.com/link/23566/17366164.gif" height="1" width="1"/>]]></description>
      <pubDate>Tue, 23 Jun 2026 19:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3655846</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19032602&amp;w=600"/>
      <dc:creator>Akash Lomas</dc:creator>
      <dc:creator>Akash Lomas</dc:creator>
    </item>
    <item>
      <title>I Built a VS Code Extension to Debug Azure AI Foundry Agents Without Leaving My Editor</title>
      <link>https://feeds.dzone.com/link/23566/17366028/debug-azure-ai-foundry-vscode</link>
      <description><![CDATA[<h2>The Problem</h2>
<p>Azure AI Foundry has a genuinely great portal. You can see your agent runs, the tools it calls, the messages it sends and receives, and even a breakdown of token usage — all in a clean UI.</p>
<p>But here's what actually happens when you're building an agent locally:</p><img src="https://feeds.dzone.com/link/23566/17366028.gif" height="1" width="1"/>]]></description>
      <pubDate>Tue, 23 Jun 2026 14:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3659807</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19053044&amp;w=600"/>
      <dc:creator>Jubin Abhishek Soni</dc:creator>
    </item>
    <item>
      <title>Foxit MCP Server: Give AI Agents Direct Access to 30+ PDF Tools via Model Context Protocol</title>
      <link>https://feeds.dzone.com/link/23566/17365497/foxit-mcp-server-pdf-tools</link>
      <description><![CDATA[<p data-line-end="5" data-line-start="4">Wiring a document automation agent directly to REST endpoints forces you to repeat the same plumbing for every operation: push a file up, poll until the task finishes, pull the result down, catch failures, and juggle auth tokens across several services. With PDFs, that cycle runs again for each conversion, OCR pass, or merge in your pipeline. The <a href="https://github.com/foxitsoftware/foxit-pdf-api-mcp-server" rel="noopener noreferrer" target="_blank">Foxit PDF API MCP Server</a> replaces all of that with 30+ tools an agent can invoke directly, while the MCP Server absorbs the upstream REST mechanics behind the scenes.</p>
<p data-line-end="7" data-line-start="6">This article walks through registering the server, the full tool catalog it advertises, how Foxit’s eSign and DocGen REST APIs carry the same agent session forward into signing and document generation, and a concrete four-step workflow you can reproduce with your own files.</p><img src="https://feeds.dzone.com/link/23566/17365497.gif" height="1" width="1"/>]]></description>
      <pubDate>Mon, 22 Jun 2026 19:48:27 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3659821</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19052574&amp;w=600"/>
      <dc:creator>Lucien Chemaly</dc:creator>
    </item>
    <item>
      <title>Your AI Coding Agent Can't Steal What It Never Had: The Docker Sandbox Isolation Story</title>
      <link>https://feeds.dzone.com/link/23566/17363881/docker-sandbox-isolation-story</link>
      <description><![CDATA[<p>I ran an AI coding agent against a broken Kubernetes deployment for five minutes. The agent called Anthropic's API dozens of times — reasoning about manifests, running kubectl commands, redeploying workloads. It made fully authenticated requests throughout the entire session.</p>
<p>The API key was never in its environment.</p><img src="https://feeds.dzone.com/link/23566/17363881.gif" height="1" width="1"/>]]></description>
      <pubDate>Fri, 19 Jun 2026 13:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3659752</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19059379&amp;w=600"/>
      <dc:creator>Shamsher Khan</dc:creator>
    </item>
    <item>
      <title>Grok AI API Tutorial: Chat, Image, Video, Tool Calling, and Web Search</title>
      <link>https://feeds.dzone.com/link/23566/17362729/grok-ai-api-tutorial</link>
      <description><![CDATA[<p>The xAI Grok API provides access to powerful frontier models, including the Grok 4 series, supporting chat completions (text + vision), image generation, tool calling (function calling and built-in tools like web search), and more advanced features.</p>
<h3>Quick Intro</h3>
<ul>
 <li>Sign up at <a href="https://x.ai/api" rel="noopener noreferrer" target="_blank">https://x.ai/api</a>.</li>
 <li>Generate an API key from the console.</li>
 <li>Install pip install xai-sdk.</li>
 <li>Set env var: export XAI_API_KEY="your_key_here".</li>
 <li>Models list: <a href="https://docs.x.ai/developers/models" rel="noopener noreferrer" target="_blank">https://docs.x.ai/developers/models</a>.</li>
</ul>
<p>I'll share some samples in Python.</p><img src="https://feeds.dzone.com/link/23566/17362729.gif" height="1" width="1"/>]]></description>
      <pubDate>Wed, 17 Jun 2026 14:31:14 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3659541</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19050711&amp;w=600"/>
      <dc:creator>Hilman Ramadhan</dc:creator>
    </item>
  </channel>
</rss>
