

{"id":108159,"date":"2022-03-11T09:00:30","date_gmt":"2022-03-11T03:30:30","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=108159"},"modified":"2026-06-01T12:56:42","modified_gmt":"2026-06-01T07:26:42","slug":"python-invoice-generator","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/","title":{"rendered":"Generate PDF Invoices Using Python"},"content":{"rendered":"<p>An Invoice Generator is an application that helps you to create invoices and notes under the standard format. It keeps all the information about the product, it also has information regarding payments for the product and interacts with customers. Let&#8217;s develop invoice generator project using Python and its modules.<\/p>\n<h3>About Python Invoice Generator Project<\/h3>\n<p>The objective of the project is to create an Invoice Generator in Python. In this project, we will create a user interface to get all the details of the company including its address, GST number, location, authorized signature for invoice and then generate the Invoice in pdf format.<\/p>\n<h4>Prerequisites<\/h4>\n<p>To develop this project we need a basic knowledge of some models like tkinter, os, and reportlab.pdfgen.<\/p>\n<ul>\n<li><strong>tkinter<\/strong> &#8211; for use Interface(UI)<\/li>\n<li><strong>os<\/strong> &#8211; provides functions for creating and removing a directory (folder), fetching its contents, changing and identifying the current directory, etc.<\/li>\n<li><strong>reportlab.pdfgen<\/strong> &#8211; this library lets you directly create documents in Adobe&#8217;s Portable Document Format (PDF) using the Python programming language<\/li>\n<\/ul>\n<h3>Download Python Invoice Generator Project Code<\/h3>\n<p>Please download the full source code of python invoice generator:\u00a0 <a href=\"https:\/\/drive.google.com\/file\/d\/1QHv0v-vJZK52RGQxFATWYAuJZmRCzpTF\/view?usp=drive_link\"><strong>Invoice Generator Project Code<\/strong><\/a><\/p>\n<h3>Steps to create Python Invoice Generator<\/h3>\n<p>Let\u2019s see the steps to create Python Invoice Generator<\/p>\n<ul>\n<li>First import all the necessary modules.<\/li>\n<li>Create a display window for our generator.<\/li>\n<li>After getting all the details from the user, create a function that will accept all the details and generate an invoice in pdf format.<\/li>\n<\/ul>\n<h4>Python Invoice Generator Project File Structure<\/h4>\n<ol>\n<li>Importing modules<\/li>\n<li>Creating display function<\/li>\n<li>Defining Functions<\/li>\n<li>Calling main function<\/li>\n<\/ol>\n<h4>1. Importing Modules<\/h4>\n<p>We will first import all the necessary libraries required for this project.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># ==== Importing all the necessary libraries for Python Invoice Generator Project\r\n\r\nimport os\r\nimport tkinter as tk\r\nfrom tkinter import *\r\nfrom reportlab.pdfgen import canvas\r\nfrom tkinter import filedialog\r\n<\/pre>\n<h4>2. Create Display Window<\/h4>\n<p>We will create a main class which is named as Invoice Generator, where we create an initiator function in which we pass the root of the interface. Now, we set the title, geometry, background image, frames and buttons for the decent user interface.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># ==== creating main class\r\nclass InvoiceGenerator:\r\n   def __init__(self,root):\r\n       self.root = root\r\n       self.root.title(\"Invoice Generator By DataFlair\")\r\n       self.root.geometry(\"750x800\")\r\n\r\n       # creating frame in window\r\n\r\n       self.frame=Frame(self.root,bg=\"white\")\r\n       self.frame.place(x=80,y=20, width=600, height=700)\r\n\r\n       Label(self.frame,text=\"Enter your company details \",font=(\"times new roman\",30,\"bold\"),bg=\"white\",fg=\"green\",bd=0).place(x=50,y=10)\r\n\r\n       Label(self.frame, text=\"Company Name\", font=(\"times new roman\", 15, \"bold\"), bg=\"white\", fg=\"gray\").place(\r\n           x=50, y=80)\r\n       self.company_name=Entry(self.frame,font=(\"times new roman\",15),bg=\"light grey\")\r\n       self.company_name.place(x=270,y=80,width=300,height=35)\r\n\r\n       Label(self.frame, text=\"Address\", font=(\"times new roman\", 15, \"bold\"), bg=\"white\", fg=\"gray\").place(\r\n           x=50, y=140)\r\n       self.address= Entry(self.frame, font=(\"times new roman\", 15), bg=\"light grey\")\r\n       self.address.place(x=270, y=140, width=300,height=35)\r\n\r\n       Label(self.frame, text=\"City\", font=(\"times new roman\", 15, \"bold\"), bg=\"white\", fg=\"gray\").place(\r\n           x=50, y=200)\r\n       self.city = Entry(self.frame, font=(\"times new roman\", 15), bg=\"light grey\")\r\n       self.city.place(x=270, y=200, width=300, height=35)\r\n\r\n       Label(self.frame, text=\"GST Number\", font=(\"times new roman\", 15, \"bold\"), bg=\"white\", fg=\"gray\").place(\r\n           x=50, y=260)\r\n       self.gst = Entry(self.frame, font=(\"times new roman\", 15), bg=\"light grey\")\r\n       self.gst.place(x=270, y=260, width=300, height=35)\r\n\r\n       Label(self.frame, text=\"Date\", font=(\"times new roman\", 15, \"bold\"), bg=\"white\", fg=\"gray\").place(\r\n           x=50, y=320)\r\n       self.date = Entry(self.frame, font=(\"times new roman\", 15), bg=\"light grey\")\r\n       self.date.place(x=270, y=320, width=300, height=35)\r\n\r\n       Label(self.frame, text=\"Contact\", font=(\"times new roman\", 15, \"bold\"), bg=\"white\", fg=\"gray\").place(\r\n           x=50, y=380)\r\n       self.contact = Entry(self.frame, font=(\"times new roman\", 15), bg=\"light grey\")\r\n       self.contact.place(x=270, y=380, width=300, height=35)\r\n\r\n       Label(self.frame, text=\"Customer Name\", font=(\"times new roman\", 15, \"bold\"), bg=\"white\", fg=\"gray\").place(\r\n           x=50, y=440)\r\n       self.c_name = Entry(self.frame, font=(\"times new roman\", 15), bg=\"light grey\")\r\n       self.c_name.place(x=270, y=440, width=300, height=35)\r\n\r\n       Label(self.frame, text=\"Authorized Signatory\", font=(\"times new roman\", 15, \"bold\"), bg=\"white\", fg=\"gray\").place(\r\n           x=50, y=500)\r\n       self.aus = Entry(self.frame, font=(\"times new roman\", 15), bg=\"light grey\")\r\n       self.aus.place(x=270, y=500, width=300, height=35)\r\n\r\n       Label(self.frame, text=\"Company Image\", font=(\"times new roman\", 15, \"bold\"), bg=\"white\", fg=\"gray\").place(\r\n           x=50, y=560)\r\n\r\n       # ==== Browse File\r\n       Button(self.frame, text=\"Browse Files\", font=(\"times new roman\", 14), command=self.browse).place(x=270, y=560)\r\n\r\n       # ====submit details\r\n       Button(self.frame, text = \"Submit Details\",command = self.generate_invoice, font = (\"times new roman\", 14),fg = \"white\",cursor = \"hand2\", bg = \"#B00857\").place(x = 50, y = 640, width = 180, height = 40)\r\n<\/pre>\n<h4>3. Defining functions<\/h4>\n<p>In this part we\u2019ll discuss all the necessary functions which are required to complete our projects. We\u2019ll see the use of each function separately and how it\u2019ll work.<\/p>\n<p><strong>i. browse() &#8211;<\/strong><\/p>\n<p>This function will browse the image file from the document and then pass that image file location to generate_invoice function to use it in Invoice.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># ==== Browse Function\r\ndef browse(self):\r\n    self.file_name = filedialog.askopenfilename(title=\"Select a File\")\r\n    Label(self.frame, text=os.path.basename(self.file_name), font=(\"times new roman\", 15)).place(x=270, y=600)\r\n<\/pre>\n<p><strong>ii. generate_invoice()<\/strong> &#8211; This function will generate an invoice with all the details given by the user with the help of canvas module.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># ==== Invoice Generation Function\r\n  def generate_invoice(self):\r\n      c = canvas.Canvas(\"Invoice by DataFlair.pdf\", pagesize=(200, 250), bottomup=0)\r\n      c.setFillColorRGB(0.8, 0.5, 0.7)\r\n\r\n      c.line(70, 22, 180, 22)\r\n      c.line(5, 45, 195, 45)\r\n      c.line(15, 120, 185, 120)\r\n      c.line(35, 108, 35, 220)\r\n      c.line(115, 108, 115, 220)\r\n      c.line(135, 108, 135, 220)\r\n      c.line(160, 108, 160, 220)\r\n      c.line(15, 220, 185, 220)\r\n\r\n      c.translate(10, 40)\r\n      c.scale(1, -1)\r\n      c.drawImage(self.file_name, 0, 0, width=50, height=30)\r\n\r\n      c.scale(1, -1)\r\n      c.translate(-10, -40)\r\n\r\n      c.setFont(\"Times-Bold\", 10)\r\n      c.drawCentredString(125, 20, self.company_name.get())\r\n\r\n      c.setFont(\"Times-Bold\", 5)\r\n      c.drawCentredString(125, 30, self.address.get())\r\n      c.drawCentredString(125, 35, self.city.get() + \", India\")\r\n      c.setFont(\"Times-Bold\", 6)\r\n      c.drawCentredString(125, 42, \"GST No:\"+self.gst.get())\r\n\r\n      c.setFont(\"Times-Bold\", 8)\r\n      c.drawCentredString(100, 55, \"INVOICE\")\r\n\r\n      c.setFont(\"Times-Bold\", 5)\r\n\r\n      c.drawRightString(70, 70, \"Invoice No. :\")\r\n      c.drawRightString(100, 70, \"XXXXXXX\")\r\n\r\n      c.drawRightString(70, 80, \"Date :\")\r\n      c.drawRightString(100, 80, self.date.get())\r\n\r\n      c.drawRightString(70, 90, \"Customer Name :\")\r\n      c.drawRightString(100, 90, self.c_name.get())\r\n\r\n      c.drawRightString(70, 100, \"Phone No. :\")\r\n      c.drawRightString(100, 100, self.contact.get())\r\n\r\n      c.roundRect(15, 108, 170, 130, 10, stroke=1, fill=0)\r\n\r\n      c.drawCentredString(25, 118, \"S.No.\")\r\n      c.drawCentredString(75, 118, \"Orders\")\r\n      c.drawCentredString(125, 118, \"Price\")\r\n      c.drawCentredString(148, 118, \"Qty.\")\r\n      c.drawCentredString(173, 118, \"Total\")\r\n\r\n      c.drawString(30, 230, \"This is system generated invoice!!\")\r\n\r\n      c.drawRightString(180, 228, self.aus.get())\r\n      c.drawRightString(180, 235, \"Signature\")\r\n\r\n      c.showPage()\r\n      c.save()\r\n<\/pre>\n<h4>4. Creating main function<\/h4>\n<p>In this we\u2019ll create a main function in which we declare the root for our interface and also create the object for our main class named as InvoiceGenerator. Then we will call this main function to execute our project.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># ==== creating main function\r\ndef main():\r\n   # ==== create tkinter window\r\n   root = Tk()\r\n   # === creating object for class InvoiceGenerator\r\n   obj = InvoiceGenerator(root)\r\n   # ==== start the gui\r\n   root.mainloop()\r\n\r\nif __name__ == \"__main__\":\r\n   # ==== calling main function\r\n   main()\r\n<\/pre>\n<h3>Output of Python Invoice generator project<\/h3>\n<h4>Company Details<\/h4>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/03\/python-invoice-generator-output.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-108173\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/03\/python-invoice-generator-output.webp\" alt=\"python invoice generator output\" width=\"1920\" height=\"1020\" \/><\/a><\/p>\n<h4>Generated Invoice<\/h4>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/03\/generated-invoice.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-108174\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/03\/generated-invoice.webp\" alt=\"generated invoice\" width=\"1920\" height=\"1020\" \/><\/a><\/p>\n<h3>Summary<\/h3>\n<p><strong>Hooray!<\/strong> We have successfully designed an Invoice Generator using python, tkinter and reportlab.pdfgen with a decent user interface. I hope you enjoyed the python project by <strong>DataFlair<\/strong>!!.<span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:2569,&quot;href&quot;:&quot;https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1QHv0v-vJZK52RGQxFATWYAuJZmRCzpTF\\\/view?usp=drive_link&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20260601074310\\\/https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1QHv0v-vJZK52RGQxFATWYAuJZmRCzpTF\\\/view?usp=drive_link&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-06-01 16:48:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-04 20:52:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-08 05:46:08&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-12 08:31:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-15 12:09:37&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-15 12:09:37&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>An Invoice Generator is an application that helps you to create invoices and notes under the standard format. It keeps all the information about the product, it also has information regarding payments for the&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":108175,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[46],"tags":[26679,26675,26677,26676,21082,22734],"class_list":["post-108159","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-pdf-invoices-using-python","tag-python-invoice-generator","tag-python-invoice-generator-project","tag-python-invoice-generator-project-with-source-code","tag-python-project","tag-python-project-for-beginners"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Generate PDF Invoices Using Python - DataFlair<\/title>\n<meta name=\"description\" content=\"Build Invoice Generator project using python, tkinter and reportlab.pdfgen modules. It takes details of company &amp; generate Invoice in pdf form\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Generate PDF Invoices Using Python - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Build Invoice Generator project using python, tkinter and reportlab.pdfgen modules. It takes details of company &amp; generate Invoice in pdf form\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-03-11T03:30:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-01T07:26:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/03\/pdf-invoice-generator-python-project.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Generate PDF Invoices Using Python - DataFlair","description":"Build Invoice Generator project using python, tkinter and reportlab.pdfgen modules. It takes details of company & generate Invoice in pdf form","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/","og_locale":"en_US","og_type":"article","og_title":"Generate PDF Invoices Using Python - DataFlair","og_description":"Build Invoice Generator project using python, tkinter and reportlab.pdfgen modules. It takes details of company & generate Invoice in pdf form","og_url":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2022-03-11T03:30:30+00:00","article_modified_time":"2026-06-01T07:26:42+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/03\/pdf-invoice-generator-python-project.webp","type":"image\/webp"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"Generate PDF Invoices Using Python","datePublished":"2022-03-11T03:30:30+00:00","dateModified":"2026-06-01T07:26:42+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/"},"wordCount":493,"commentCount":3,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/03\/pdf-invoice-generator-python-project.webp","keywords":["PDF Invoices Using Python","Python Invoice Generator","Python Invoice Generator project","Python Invoice Generator project with source code","Python project","python project for beginners"],"articleSection":["Python Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/python-invoice-generator\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/","url":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/","name":"Generate PDF Invoices Using Python - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/03\/pdf-invoice-generator-python-project.webp","datePublished":"2022-03-11T03:30:30+00:00","dateModified":"2026-06-01T07:26:42+00:00","description":"Build Invoice Generator project using python, tkinter and reportlab.pdfgen modules. It takes details of company & generate Invoice in pdf form","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/python-invoice-generator\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/03\/pdf-invoice-generator-python-project.webp","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2022\/03\/pdf-invoice-generator-python-project.webp","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/python-invoice-generator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Python Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/python\/"},{"@type":"ListItem","position":3,"name":"Generate PDF Invoices Using Python"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team creates expert-level guides on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our goal is to empower learners with easy-to-understand content. Explore our resources for career growth and practical learning.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam1\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/108159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=108159"}],"version-history":[{"count":6,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/108159\/revisions"}],"predecessor-version":[{"id":148650,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/108159\/revisions\/148650"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/108175"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=108159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=108159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=108159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}