{"id":107659,"date":"2026-04-21T15:17:32","date_gmt":"2026-04-21T09:47:32","guid":{"rendered":"https:\/\/www.guvi.in\/blog\/?p=107659"},"modified":"2026-04-21T15:17:34","modified_gmt":"2026-04-21T09:47:34","slug":"modulars-mojo-programming-language","status":"publish","type":"post","link":"https:\/\/www.guvi.in\/blog\/modulars-mojo-programming-language\/","title":{"rendered":"Getting Started with Modular&#8217;s Mojo Programming Language"},"content":{"rendered":"\n<p>If you have been working with Python for AI or machine learning, you already know the trade-off: Python is easy to write, but it can be painfully slow when performance really matters. That is exactly the gap Modular set out to close with Mojo.<\/p>\n\n\n\n<p>Mojo is not just another programming language. It is designed from the ground up for AI development, borrowing Python&#8217;s readable syntax while delivering performance that rivals C++ and Rust. For developers who work on model training, inference pipelines, or hardware-level AI systems, that combination is significant.<\/p>\n\n\n\n<p>In this guide, you will get a complete introduction to Mojo. You will understand why it was built, how it works, and how to start writing code in it, even if your background is primarily in Python.<\/p>\n\n\n\n<p><strong>TL;DR Summary<\/strong><\/p>\n\n\n\n<ol>\n<li>Mojo is a new programming language by Modular, designed to combine Python&#8217;s simplicity with the performance of systems languages like C++ and Rust.<\/li>\n\n\n\n<li>It is built specifically for AI and machine learning workloads, making it significantly faster than standard Python in compute-heavy tasks.<\/li>\n\n\n\n<li>This guide walks you through what Mojo is, how it differs from Python, how to set up your environment, and how to write your first Mojo program.<\/li>\n\n\n\n<li>You will also learn about Mojo&#8217;s key features, including its type system, fn vs def functions, SIMD support, and memory management model.<\/li>\n\n\n\n<li>By the end, you will have a solid foundation to start exploring Mojo for AI development, systems programming, or high-performance computing projects.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What is Mojo?<\/strong><\/h2>\n\n\n\n<p>Mojo is a programming language developed by Modular, the company founded by Chris Lattner, the original creator of Swift and a key contributor to LLVM and Clang.<\/p>\n\n\n\n<p>It is designed to be a superset of <a href=\"https:\/\/www.guvi.in\/hub\/python\/\" target=\"_blank\" rel=\"noreferrer noopener\">Python<\/a>, which means valid Python code is also valid Mojo code in most cases. But Mojo adds features that Python simply cannot offer, things like static typing, manual memory control, and low-level hardware access.<\/p>\n\n\n\n<p>The goal is straightforward: give <a href=\"https:\/\/www.guvi.in\/blog\/ai-vs-machine-learning\/\" target=\"_blank\" rel=\"noreferrer noopener\">AI and ML<\/a> developers a language that feels familiar but performs at a level that Python never could.<\/p>\n\n\n\n<p>Think of Mojo as Python that has been rebuilt with a systems programming foundation underneath it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Why Was Mojo Created?<\/strong><\/h2>\n\n\n\n<p>To understand why Mojo exists, it helps to understand the problem it is solving.<\/p>\n\n\n\n<p>Python is the dominant language in AI and data science, but its performance ceiling is a real limitation. Most production AI systems deal with this by writing performance-critical code in <a href=\"https:\/\/guvi.in\/hub\/cpp\" target=\"_blank\" rel=\"noreferrer noopener\">C++<\/a> or CUDA and wrapping it with Python. It works, but it creates a fragmented development experience; you are essentially maintaining two codebases in two very different languages.<\/p>\n\n\n\n<p>Mojo was created to eliminate that split.<\/p>\n\n\n\n<p>With Mojo, you can write everything, from high-level data processing logic to low-level hardware kernels, in a single language. That is a meaningful shift for teams building large-scale AI systems.<\/p>\n\n\n\n<p>There are a few reasons why this matters right now:<\/p>\n\n\n\n<ul>\n<li>AI hardware (GPUs, TPUs, accelerators) is evolving rapidly, and existing tools struggle to keep up<\/li>\n\n\n\n<li>Python&#8217;s Global Interpreter Lock (GIL) limits true parallelism<\/li>\n\n\n\n<li>Writing CUDA or C++ extensions for Python is time-consuming and error-prone<\/li>\n\n\n\n<li>The AI industry needs a language that can grow with hardware complexity<\/li>\n<\/ul>\n\n\n\n<p>Mojo addresses all of these directly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Setting Up Your Mojo Environment<\/strong><\/h2>\n\n\n\n<p>Getting Mojo running on your machine is straightforward. Here is how to do it step by step.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Option 1: Use the Mojo Playground (Easiest)<\/strong><\/h3>\n\n\n\n<p>If you want to try Mojo without installing anything locally, Modular offers a browser-based playground. Head to<a href=\"https:\/\/developer.modular.com\" target=\"_blank\" rel=\"noreferrer noopener\"> developer.modular.com<\/a> and sign up for access. This is the fastest way to get started and is ideal if you just want to explore the syntax.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Option 2: Install Mojo Locally<\/strong><\/h3>\n\n\n\n<p>For local development, you will need to install the Modular CLI first.<\/p>\n\n\n\n<p><strong>Step 1: Install the Modular CLI:<\/strong><\/p>\n\n\n\n<p><code>curl https:\/\/get.modular.com | sh -<\/code><\/p>\n\n\n\n<p><strong>Step 2: Authenticate your account:<\/strong><\/p>\n\n\n\n<p><code>modular auth<\/code><\/p>\n\n\n\n<p>This will prompt you to log in with your Modular account. Create one at developer.modular.com if you have not already.<\/p>\n\n\n\n<p><strong>Step 3: Install Mojo:<\/strong><\/p>\n\n\n\n<p><code>modular install mojo<\/code><\/p>\n\n\n\n<p><strong>Step 4: Verify the installation:<\/strong><\/p>\n\n\n\n<p><code>mojo --version<\/code><\/p>\n\n\n\n<p>If you see a version number printed, you are ready to go.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Setting Up VS Code for Mojo<\/strong><\/h3>\n\n\n\n<p>Modular offers an official Mojo extension for Visual Studio Code. Search for &#8220;Mojo&#8221; in the VS Code extensions marketplace and install the one published by Modular. It gives you syntax highlighting, code completion, and inline error checking as you write.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Writing Your First Mojo Program<\/strong><\/h2>\n\n\n\n<p>Once your environment is set up, create a new file with a .mojo extension.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fn main():\n\n&nbsp;&nbsp;&nbsp;&nbsp;print(\"Hello from Mojo!\")<\/code><\/pre>\n\n\n\n<p>Run it from your terminal:<\/p>\n\n\n\n<p><code>mojo hello.mojo<\/code><\/p>\n\n\n\n<p>You should see:<\/p>\n\n\n\n<p><code>Hello from Mojo!<\/code><\/p>\n\n\n\n<p>That is your first Mojo program. Notice how similar it looks to Python, the structure is intentionally familiar. The key difference is the use of fn instead of def, which we will cover in detail shortly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Core Features of Mojo You Should Know<\/strong><\/h2>\n\n\n\n<p>Mojo introduces several features that Python does not have. These are not optional extras, they are central to how Mojo achieves its performance. Here is what you need to understand early on.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Static Typing<\/strong><\/h3>\n\n\n\n<p>In Python, you can assign any value to any variable at any time. Mojo lets you declare variable types explicitly, which helps the compiler optimise your code.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let name: String = \"Mojo\"\n\nlet version: Int = 1<\/code><\/pre>\n\n\n\n<p>Using let declares an immutable variable \u2014 one that cannot be reassigned after initialisation. For mutable variables, use var:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var counter: Int = 0\n\ncounter = counter + 1<\/code><\/pre>\n\n\n\n<p>This distinction matters. Immutability allows the compiler to make stronger guarantees about your code&#8217;s behaviour, which translates into better optimisations.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>SIMD Support<\/strong><\/h3>\n\n\n\n<p>SIMD stands for Single Instruction, Multiple Data. It is a hardware feature that lets you perform the same operation on multiple data points simultaneously \u2014 critical for numerical computing and AI workloads.<\/p>\n\n\n\n<p>Mojo exposes SIMD directly in the language:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from DType import float32\n\nlet vec = SIMD&#91;float32, 4](1.0, 2.0, 3.0, 4.0)<\/code><\/pre>\n\n\n\n<p>This kind of low-level hardware access is something Python simply cannot offer without external libraries written in C.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Structs<\/strong><\/h3>\n\n\n\n<p>Mojo introduces structs, which are similar to Python classes but are resolved at compile time rather than runtime. This makes them significantly faster for performance-critical use cases.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>struct Point:\n\n&nbsp;&nbsp;&nbsp;&nbsp;var x: Float32\n\n&nbsp;&nbsp;&nbsp;&nbsp;var y: Float32\n\n&nbsp;&nbsp;&nbsp;&nbsp;fn __init__(inout self, x: Float32, y: Float32):\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.x = x\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.y = y<\/code><\/pre>\n\n\n\n<p>Structs in Mojo are value types by default, they are copied, not referenced, which eliminates a common class of bugs in concurrent code.<\/p>\n\n\n\n<p>If you want to read more about Python and how it helps ease the process of development, then read HCL GUVI\u2019s Free <a href=\"https:\/\/www.guvi.in\/mlp\/python-ebook?utm_source=blog&amp;utm_medium=hyperlink&amp;utm_campaign=mojo-programming-language\" target=\"_blank\" rel=\"noreferrer noopener\">Python Ebook: A Beginner&#8217;s Guide to Coding &amp; Beyond<\/a>, where you can explore Python Libraries and advanced concepts easily!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Working With Functions in Mojo<\/strong><\/h2>\n\n\n\n<p>One of the first things you will notice in Mojo is that there are two ways to define a function: def and fn. Understanding the difference between them is important.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>def: The Python-Compatible Way<\/strong><\/h3>\n\n\n\n<p>def in Mojo works similarly to Python. It is flexible, allows dynamic typing, and is familiar to anyone coming from a Python background.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def greet(name):\n\n&nbsp;&nbsp;&nbsp;&nbsp;print(\"Hello, \" + name)<\/code><\/pre>\n\n\n\n<p>Use def when you are writing quick scripts, prototyping, or when Python compatibility matters.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>fn: The Performance-Oriented Way<\/strong><\/h3>\n\n\n\n<p>fn is Mojo&#8217;s stricter function definition. It requires explicit type annotations and enforces stronger rules about variable ownership and mutability.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fn add(a: Int, b: Int) -&gt; Int:\n\n&nbsp;&nbsp;&nbsp;&nbsp;return a + b<\/code><\/pre>\n\n\n\n<p>fn functions are what Mojo uses to unlock compiler optimisations. When you annotate types precisely, the compiler knows exactly what to expect and can generate highly efficient machine code.<\/p>\n\n\n\n<p>As a general rule, use def for flexibility, use fn for performance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Understanding Mojo&#8217;s Type System<\/strong><\/h2>\n\n\n\n<p>Mojo&#8217;s type system is one of its most important features, and it is worth spending some time here.<\/p>\n\n\n\n<p>Unlike Python, which is dynamically typed, Mojo supports both dynamic and static typing. You can write Python-style dynamic code when you need flexibility, and switch to static typing when performance is the priority.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Primitive Types in Mojo<\/strong><\/h3>\n\n\n\n<p>Here are the core types you will work with most often:<\/p>\n\n\n\n<ul>\n<li>Int: Integer values<\/li>\n\n\n\n<li>Float32 \/ Float64: Floating point numbers<\/li>\n\n\n\n<li>Bool: True or False<\/li>\n\n\n\n<li>String: Text data<\/li>\n\n\n\n<li>SIMD: Vectorised numerical data<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Type Inference<\/strong><\/h3>\n\n\n\n<p>You do not always have to declare the type explicitly. Mojo can often infer it:<\/p>\n\n\n\n<p>let score = 95&nbsp; # Mojo infers this as Int<\/p>\n\n\n\n<p>But for performance-critical code, explicit annotation is always the better choice. It removes ambiguity and gives the compiler everything it needs to optimise aggressively.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Memory Management in Mojo<\/strong><\/h2>\n\n\n\n<p>This is an area where Mojo is genuinely different from Python, and it is important to understand it, even at a basic level.<\/p>\n\n\n\n<p>Python manages memory automatically using a garbage collector. You create objects, and Python figures out when to clean them up. This is convenient but comes with unpredictable performance overhead.<\/p>\n\n\n\n<p>Mojo takes a different approach, borrowing concepts from Rust&#8217;s ownership model.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ownership and Borrowing<\/strong><\/h3>\n\n\n\n<p>Every value in Mojo has an owner. When you pass a value to a function, you are either:<\/p>\n\n\n\n<ul>\n<li><strong>Lending<\/strong> it (the function reads but does not modify it)<\/li>\n\n\n\n<li><strong>Mutating<\/strong> it (the function modifies it in place)<\/li>\n\n\n\n<li><strong>Transferring ownership<\/strong> (the original variable gives up the value)<\/li>\n<\/ul>\n\n\n\n<p>This is expressed through argument conventions:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fn read_value(borrowed x: Int):\n\n&nbsp;&nbsp;&nbsp;&nbsp;print(x)&nbsp; # x is read-only here\n\nfn modify_value(inout x: Int):\n\n&nbsp;&nbsp;&nbsp;&nbsp;x = x + 1&nbsp; # x is modified in place<\/code><\/pre>\n\n\n\n<p>You do not need to master this on day one. But understanding that Mojo gives you control over memory, rather than leaving it entirely to a garbage collector, will help you make sense of error messages and design better-performing code as you go deeper.<\/p>\n\n\n\n<div style=\"background-color: #099f4e; border: 3px solid #110053; border-radius: 12px; padding: 18px 22px; color: #FFFFFF; font-size: 18px; font-family: Montserrat, Helvetica, sans-serif; line-height: 1.6; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); max-width: 750px;\">\n  <strong style=\"font-size: 22px; color: #FFFFFF;\">\ud83d\udca1 Did You Know?<\/strong>\n  <br \/><br \/>\n  Modular has benchmarked Mojo at over 35,000x faster than Python on certain numerical computing tasks. This is not because Mojo&#8217;s syntax is smarter, it is because Mojo compiles down to native machine code via LLVM and can leverage hardware features like SIMD that Python&#8217;s interpreter cannot access directly. For AI inference workloads, this kind of performance difference is genuinely transformative.\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Where Can You Use Mojo?<\/strong><\/h2>\n\n\n\n<p>Mojo is still a relatively young language, but its practical use cases are already well-defined. Here is where it makes the most sense right now:<\/p>\n\n\n\n<p><strong>AI Model Development:<\/strong> Writing custom neural network layers, attention mechanisms, or activation functions that need to run fast without depending on pre-built CUDA kernels.<\/p>\n\n\n\n<p><strong>High-Performance Inference:<\/strong> Deploying AI models in production environments where latency matters, Mojo can run inference significantly faster than Python-based pipelines.<\/p>\n\n\n\n<p><strong>Hardware Kernel Development:<\/strong> Writing low-level code that runs directly on GPUs, TPUs, or custom AI accelerators. Mojo&#8217;s SIMD and hardware intrinsics make this accessible without dropping into CUDA or C++.<\/p>\n\n\n\n<p><strong>Scientific Computing:<\/strong> Any domain that involves heavy numerical computation, physics simulations, genomics, and financial modelling can benefit from Mojo&#8217;s performance without giving up Python&#8217;s ecosystem.<\/p>\n\n\n\n<p><strong>Replacing C++ Extensions:<\/strong> Many Python libraries use C++ under the hood for performance. Mojo can replace those extensions with code that is easier to read, write, and maintain.<\/p>\n\n\n\n<p>If you\u2019re serious about learning languages like Mojo and want to apply them in real-world scenarios, don\u2019t miss the chance to enroll in HCL GUVI\u2019s <strong>Intel &amp; IITM Pravartak Certified <\/strong><a href=\"https:\/\/www.guvi.in\/mlp\/artificial-intelligence-and-machine-learning\/?utm_source=blog&amp;utm_medium=hyperlink&amp;utm_campaign=mojo-programming-language\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Artificial Intelligence &amp; Machine Learning Course<\/strong><\/a>, co-designed by Intel. It covers Python, Machine Learning, Deep Learning, Generative AI, Agentic AI, and MLOps through live online classes, 20+ industry-grade projects, and 1:1 doubt sessions, with placement support from 1000+ hiring partners.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p>In conclusion, Mojo is one of the most interesting developments in programming languages for AI in recent years. It takes the Python syntax that millions of developers already know and pairs it with the kind of performance that has previously only been achievable by dropping into C++ or CUDA.<\/p>\n\n\n\n<p>For anyone working in AI, machine learning, or high-performance computing, Mojo is worth paying close attention to. It is still evolving, but the foundations, static typing, LLVM compilation, SIMD support, and a clean ownership model, are solid.<\/p>\n\n\n\n<p>The best way to get started is to set up your environment, write a few small programs, and start noticing how it differs from Python. The transition is gradual, and your existing Python knowledge is a genuine advantage.<\/p>\n\n\n\n<p>As the Mojo ecosystem matures and library support expands, it has real potential to become the go-to language for production AI development.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>FAQs<\/strong><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1776742300641\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>1. What is the Mojo programming language?<\/strong>\u00a0<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Mojo is a high-performance programming language developed by Modular. It is designed as a superset of Python, adding static typing, manual memory control, and hardware-level access to deliver performance comparable to C++, while keeping Python&#8217;s familiar syntax.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1776742305004\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>2. Who created Mojo?<\/strong> <\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Mojo was created by Modular, a company founded by Chris Lattner, who also created the Swift programming language and contributed significantly to LLVM and Clang.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1776742311661\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>3. Is Mojo the same as Python?<\/strong>\u00a0<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Mojo is not the same as Python, but it is designed to be compatible with it. Most Python syntax is valid in Mojo, but Mojo adds features like static typing, fn functions, structs, and direct hardware access that Python does not have.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1776742317529\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>4. How much faster is Mojo than Python?<\/strong>\u00a0<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Modular has reported benchmarks showing Mojo running over 35,000x faster than Python on specific numerical tasks. Real-world performance gains vary by use case, but Mojo is consistently much faster for compute-heavy workloads.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1776742323126\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>5. Do I need to know Python to learn Mojo?<\/strong>\u00a0<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Python experience is helpful because Mojo&#8217;s syntax is similar, but it is not strictly required. If you are new to both, starting with Python basics first will make learning Mojo more intuitive.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>If you have been working with Python for AI or machine learning, you already know the trade-off: Python is easy to write, but it can be painfully slow when performance really matters. That is exactly the gap Modular set out to close with Mojo. Mojo is not just another programming language. It is designed from [&hellip;]<\/p>\n","protected":false},"author":22,"featured_media":107810,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37],"tags":[],"views":"27","authorinfo":{"name":"Lukesh S","url":"https:\/\/www.guvi.in\/blog\/author\/lukesh\/"},"thumbnailURL":"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Mojo-300x115.webp","jetpack_featured_media_url":"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Mojo-scaled.webp","_links":{"self":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/107659"}],"collection":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/comments?post=107659"}],"version-history":[{"count":6,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/107659\/revisions"}],"predecessor-version":[{"id":107814,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/107659\/revisions\/107814"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/media\/107810"}],"wp:attachment":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/media?parent=107659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/categories?post=107659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/tags?post=107659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}