{"id":639,"date":"2022-09-09T13:36:38","date_gmt":"2023-11-05T20:33:41","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/uncategorized\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/"},"modified":"2024-03-16T15:42:09","modified_gmt":"2024-03-16T15:42:09","slug":"publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/","title":{"rendered":"Publishing Python packages to PyPI using Poetry on Ubuntu 22.04"},"content":{"rendered":"<p>Poetry is a Python dependency manager that can also handle the building and packaging of your Python projects for sharing. In this tutorial, we will be using PyPI, the official Python repository, for uploading and downloading Python packages. PyPI is the official source for third-party Python packages and is managed by the Python Software Foundation. By publishing your packages on PyPI, they become accessible for installation by yourself or anyone else.<\/p>\n<p>During this tutorial, you will be able to set up a PyPI account and authenticate it using tokens for Poetry. Afterwards, you will learn how to build and publish your project on PyPI. Additionally, you can include your published package as a dependency in your other Python projects.<\/p>\n<h2>Requirements<\/h2>\n<ul class=\"post-ul\">\n<li>An <a href=\"https:\/\/releases.ubuntu.com\/jammy\">Ubuntu 22.04 server<\/a>, set up according to our initial server setup guide for Ubuntu 22.04, with a non-root user with sudo privileges and a firewall enabled.<\/li>\n<li>The latest version of Python 3 installed on your machine following Step 1 of how to install Python 3 and set up a programming environment on an Ubuntu 22.04 server.<\/li>\n<li>Poetry installed on your system, following this guide on how to install Poetry to manage Python dependencies on Ubuntu 22.04.<\/li>\n<\/ul>\n<h2>First, you need to create a PyPI Account.<\/h2>\n<p>To submit a package to PyPI, it is necessary to sign up by creating an account. Open your web browser and visit the official registration page.<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655c95e1c40ba52feef239d9\/7-0.png\" alt=\"PyPI Signup Page\" \/><\/div>\n<p>Afterwards, you must activate token authentication to securely utilize your PyPI credentials alongside Poetry.<\/p>\n<h2>To proceed, we need to enable token authentication for PyPI in Step 2.<\/h2>\n<p>The preferred method of using your PyPI account in the command line is through token authentication. Instead of using a username and password, you can utilize a single token that is generated automatically. These tokens offer enhanced security as they can be added, revoked, or granted specific access to different parts of your account. By using tokens, you minimize the risk of password compromise. To create a new API token for your account, you should go to your account settings.<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655c95e1c40ba52feef239d9\/11-0.png\" alt=\"PyPI Account Settings\" \/><\/div>\n<p>Keep scrolling until you find the section labeled &#8220;API tokens&#8221;. Tap on &#8220;Add API token&#8221;.<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655c95e1c40ba52feef239d9\/13-0.png\" alt=\"PyPI Add API Token\" \/><\/div>\n<p>You have the option to name your token on the next page. In this tutorial, it will be called poetry, but you can select any name you prefer.<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655c95e1c40ba52feef239d9\/15-0.png\" alt=\"PyPI API Token Creation\" \/><\/div>\n<p>After you have generated your token, it is crucial to duplicate it as it will be displayed only once. It is a standard procedure with API tokens, enabling you to create a new one when necessary, hence remember to jot down your token before moving forward.<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655c95e1c40ba52feef239d9\/17-0.png\" alt=\"PyPI Copy Warning\" \/><\/div>\n<p>Use this token to configure your credentials in Poetry for publishing. Rather than adding your API token to each command requiring it in Poetry, you will incorporate it once through Poetry&#8217;s config command.<\/p>\n<p>You can include your API token in Poetry by executing this command.<\/p>\n<pre class=\"post-pre\"><code><\/code><\/pre>\n<ol>\n<li data-prefix=\"$\">poetry config pypi-token.pypi <mark>your-api-token<\/mark><\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><\/code><\/pre>\n<p>&nbsp;<\/p>\n<pre class=\"post-pre\"><code><\/code><\/pre>\n<p>By including your API token as your identification, Poetry will inform you that your identification is saved in a plain text document. If you were using a usual username and password for your identification, this would pose a problem. However, since tokens can be readily deleted, renewed, randomly generated, and specific to a single purpose, storing tokens here is a secure compromise for ease of use. As another option, you have the choice to manually enter your API token for every command.<\/p>\n<p>With this, you have everything necessary to construct and subsequently release your project.<\/p>\n<h2>Step 3: Constructing your Project.<\/h2>\n<p>To construct your project, which is an essential step before releasing it, you must package it. The process of building involves executing the following command:<\/p>\n<pre class=\"post-pre\"><code>poetry build\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><\/code><\/pre>\n<div class=\"secondary-code-label\" title=\"Output\">Output<\/div>\n<pre class=\"post-pre\"><code><\/code><\/pre>\n<p>Building sammy-poetry (0.1.0) &#8211; Building sdist &#8211; Built sammy-poetry-0.1.0.tar.gz &#8211; Building wheel &#8211; Built sammy_poetry-0.1.0-py3-none-any.whl<\/p>\n<pre class=\"post-pre\"><code><\/code><\/pre>\n<p>There will be two files produced: The initial one is the source file, which is sdist, creating a tar.gz file. The second file is the compiled package, which is wheel, resulting in a .whl file. With these files in hand, you can proceed to publish your Python package on PyPI.<\/p>\n<h2>Step 4: Publish your Python Package to PyPI<\/h2>\n<p>Poetry automatically uses PyPI as the primary platform for publishing. Once you authenticate your API token, you won&#8217;t have to re-enter your credentials when using the publish command.<\/p>\n<p>If you want to release your compiled package, use the following command:<\/p>\n<pre class=\"post-pre\"><code>poetry publish\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><\/code><\/pre>\n<div class=\"secondary-code-label\" title=\"Output\">Output<\/div>\n<pre class=\"post-pre\"><code><\/code><\/pre>\n<p>Publishing sammy-poetry (0.1.0) to PyPI &#8211; Uploading sammy-poetry-0.1.0.tar.gz 100% &#8211; Uploading sammy_poetry-0.1.0-py3-none-any.whl 100%<\/p>\n<pre class=\"post-pre\"><code><\/code><\/pre>\n<p>Now, it is possible to verify your published package by accessing your PyPI projects via your internet browser.<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655c95e1c40ba52feef239d9\/34-0.png\" alt=\"PyPI Your Uploaded Package\" \/><\/div>\n<p>Your package has been published and can be accessed publicly on PyPI. Additionally, it is also accessible as a dependency through Poetry. You have the flexibility to utilize your published package as a dependency in your other Python projects.<\/p>\n<div class=\"post-conf-note\">\n<p class=\"post-conf-desc\">Note<\/p>\n<div>You have the option to enhance efficiency by using the flag &#8211;build in your publish call when building and publishing your package to PyPI with just one command. However, this depends on the level of development and workflow of your project.<\/div>\n<\/div>\n<h2>In conclusion,<\/h2>\n<p>In this tutorial, you employed Poetry to facilitate the building and distribution capabilities. You established a PyPI account, configured API Token authentication with Poetry, and compiled your project before releasing it. Your package is now accessible as a public dependency and can be easily incorporated through Poetry as well.<\/p>\n<p>Afterwards, you might be interested in exploring Python further by taking a look at our tutorial series called How To Code in Python.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>More tutorials<\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/heres-a-possible-paraphrase-step-by-step-guide-to-installing-and-securing-grafana-on-ubuntu-18-04\/\" target=\"_blank\" rel=\"noopener\">Grafana Tutor Step-by-step Guide to Grafana on Ubuntu 18.04<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/dependency-injection-in-spring\/\" target=\"_blank\" rel=\"noopener\">Dependency Injection in Spring<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/python-compiler-error-during-package-installation\/\" target=\"_blank\" rel=\"noopener\">Python Compiler Error during package installation?<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/ssh-example-tutorial-for-expect-script\/\" target=\"_blank\" rel=\"noopener\">SSH Example Tutorial for Expect Script<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/the-spring-framework\/\" target=\"_blank\" rel=\"noopener\">The Spring Framework<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Poetry is a Python dependency manager that can also handle the building and packaging of your Python projects for sharing. In this tutorial, we will be using PyPI, the official Python repository, for uploading and downloading Python packages. PyPI is the official source for third-party Python packages and is managed by the Python Software Foundation. [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-639","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Publishing Python packages to PyPI using Poetry on Ubuntu 22.04 - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Poetry is a Python dependency manager that can also handle the building and packaging of your Python projects for sharing. In this tutorial,\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Publishing Python packages to PyPI using Poetry on Ubuntu 22.04\" \/>\n<meta property=\"og:description\" content=\"Poetry is a Python dependency manager that can also handle the building and packaging of your Python projects for sharing. In this tutorial,\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-05T20:33:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-16T15:42:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655c95e1c40ba52feef239d9\/7-0.png\" \/>\n<meta name=\"author\" content=\"Jackson Davis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jackson Davis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/\"},\"author\":{\"name\":\"Jackson Davis\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\"},\"headline\":\"Publishing Python packages to PyPI using Poetry on Ubuntu 22.04\",\"datePublished\":\"2023-11-05T20:33:41+00:00\",\"dateModified\":\"2024-03-16T15:42:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/\"},\"wordCount\":977,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/\",\"name\":\"Publishing Python packages to PyPI using Poetry on Ubuntu 22.04 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2023-11-05T20:33:41+00:00\",\"dateModified\":\"2024-03-16T15:42:09+00:00\",\"description\":\"Poetry is a Python dependency manager that can also handle the building and packaging of your Python projects for sharing. In this tutorial,\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Publishing Python packages to PyPI using Poetry on Ubuntu 22.04\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\",\"name\":\"Jackson Davis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"caption\":\"Jackson Davis\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Publishing Python packages to PyPI using Poetry on Ubuntu 22.04 - Blog - Silicon Cloud","description":"Poetry is a Python dependency manager that can also handle the building and packaging of your Python projects for sharing. In this tutorial,","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:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/","og_locale":"en_US","og_type":"article","og_title":"Publishing Python packages to PyPI using Poetry on Ubuntu 22.04","og_description":"Poetry is a Python dependency manager that can also handle the building and packaging of your Python projects for sharing. In this tutorial,","og_url":"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2023-11-05T20:33:41+00:00","article_modified_time":"2024-03-16T15:42:09+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655c95e1c40ba52feef239d9\/7-0.png"}],"author":"Jackson Davis","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Jackson Davis","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/"},"author":{"name":"Jackson Davis","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350"},"headline":"Publishing Python packages to PyPI using Poetry on Ubuntu 22.04","datePublished":"2023-11-05T20:33:41+00:00","dateModified":"2024-03-16T15:42:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/"},"wordCount":977,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/","url":"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/","name":"Publishing Python packages to PyPI using Poetry on Ubuntu 22.04 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2023-11-05T20:33:41+00:00","dateModified":"2024-03-16T15:42:09+00:00","description":"Poetry is a Python dependency manager that can also handle the building and packaging of your Python projects for sharing. In this tutorial,","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/publishing-python-packages-to-pypi-using-poetry-on-ubuntu-22-04-a-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Publishing Python packages to PyPI using Poetry on Ubuntu 22.04"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350","name":"Jackson Davis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","caption":"Jackson Davis"},"url":"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=639"}],"version-history":[{"count":0,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/639\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}