');mask-image:url('data:image/svg+xml;charset=utf-8, ');width:16px}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:#0969da;text-decoration:none}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:600}.markdown-body dfn{font-style:italic}.markdown-body h1{border-bottom:1px solid #d8dee4;font-size:2em;font-weight:600;margin:.67em 0;padding-bottom:.3em}.markdown-body mark{background-color:#fff8c5;color:#24292f}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{background-color:#fff;border-style:none;box-sizing:content-box;max-width:100%}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace,monospace;font-size:1em}.markdown-body figure{margin:1em 40px}.markdown-body hr{background:transparent;background-color:#d0d7de;border:0;box-sizing:content-box;height:.25em;margin:24px 0;overflow:hidden;padding:0}.markdown-body input{font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button}.markdown-body [type=button]::-moz-focus-inner,.markdown-body [type=reset]::-moz-focus-inner,.markdown-body [type=submit]::-moz-focus-inner{border-style:none;padding:0}.markdown-body [type=button]:-moz-focusring,.markdown-body [type=reset]:-moz-focusring,.markdown-body [type=submit]:-moz-focusring{outline:1px dotted ButtonText}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body hr:after,.markdown-body hr:before{content:"";display:table}.markdown-body hr:after{clear:both}.markdown-body table{border-collapse:collapse;border-spacing:0;display:block;max-width:100%;overflow:auto;width:-webkit-max-content;width:-moz-max-content;width:max-content}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body details:not([open])>:not(summary){display:none!important}.markdown-body kbd{background-color:#f6f8fa;border:1px solid rgba(175,184,193,.2);border-radius:6px;box-shadow:inset 0 -1px 0 rgba(175,184,193,.2);color:#24292f;display:inline-block;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.markdown-body h2{border-bottom:1px solid #d8dee4;font-size:1.5em;font-weight:600;padding-bottom:.3em}.markdown-body h3{font-size:1.25em;font-weight:600}.markdown-body h4{font-size:1em;font-weight:600}.markdown-body h5{font-size:.875em;font-weight:600}.markdown-body h6{color:#57606a;font-size:.85em;font-weight:600}.markdown-body p{margin-bottom:10px;margin-top:0}.markdown-body blockquote{border-left:.25em solid #d0d7de;color:#57606a;margin:0;padding:0 1em}.markdown-body ol,.markdown-body ul{margin-bottom:0;margin-top:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code,.markdown-body pre,.markdown-body tt{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{word-wrap:normal;margin-bottom:0;margin-top:0}.markdown-body .octicon{fill:currentColor;display:inline-block;overflow:visible!important;vertical-align:text-bottom}.markdown-body ::-moz-placeholder{color:#6e7781;opacity:1}.markdown-body :-ms-input-placeholder{color:#6e7781;opacity:1}.markdown-body ::placeholder{color:#6e7781;opacity:1}.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.markdown-body .pl-c{color:#6e7781}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#0550ae}.markdown-body .pl-e,.markdown-body .pl-en{color:#8250df}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292f}.markdown-body .pl-ent{color:#116329}.markdown-body .pl-k{color:#cf222e}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#0a3069}.markdown-body .pl-smw,.markdown-body .pl-v{color:#953800}.markdown-body .pl-bu{color:#82071e}.markdown-body .pl-ii{background-color:#82071e;color:#f6f8fa}.markdown-body .pl-c2{background-color:#cf222e;color:#f6f8fa}.markdown-body .pl-sr .pl-cce{color:#116329;font-weight:700}.markdown-body .pl-ml{color:#3b2300}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:#0550ae;font-weight:700}.markdown-body .pl-mi{color:#24292f;font-style:italic}.markdown-body .pl-mb{color:#24292f;font-weight:700}.markdown-body .pl-md{background-color:#ffebe9;color:#82071e}.markdown-body .pl-mi1{background-color:#dafbe1;color:#116329}.markdown-body .pl-mc{background-color:#ffd8b5;color:#953800}.markdown-body .pl-mi2{background-color:#0550ae;color:#eaeef2}.markdown-body .pl-mdr{color:#8250df;font-weight:700}.markdown-body .pl-ba{color:#57606a}.markdown-body .pl-sg{color:#8c959f}.markdown-body .pl-corl{color:#0a3069;text-decoration:underline}.markdown-body [data-catalyst]{display:block}.markdown-body g-emoji{font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{height:1em;width:1em}.markdown-body:after,.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#cf222e}.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.markdown-body .anchor:focus{outline:none}.markdown-body blockquote,.markdown-body details,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-bottom:16px;margin-top:0}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body sup>a:before{content:"["}.markdown-body sup>a:after{content:"]"}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#24292f;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{font-size:inherit;padding:0 .2em}.markdown-body ol.no-list,.markdown-body ul.no-list{list-style-type:none;padding:0}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body ol[type=a]{list-style-type:lower-alpha}.markdown-body ol[type=i]{list-style-type:lower-roman}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.markdown-body dl dd{margin-bottom:16px;padding:0 16px}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{border:1px solid #d0d7de;padding:6px 13px}.markdown-body table tr{background-color:#fff;border-top:1px solid #d8dee4}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{background-color:transparent;max-width:none;vertical-align:text-top}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{border:1px solid #d0d7de;display:block;float:left;margin:13px 0 0;overflow:hidden;padding:7px;width:auto}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{clear:both;color:#24292f;display:block;padding:5px 0 0}.markdown-body span.align-center{clear:both;display:block;overflow:hidden}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{clear:both;display:block;overflow:hidden}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{background-color:rgba(175,184,193,.2);border-radius:6px;font-size:85%;margin:0;padding:.2em .4em}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre code{font-size:100%}.markdown-body pre>code{background:transparent;border:0;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{background-color:#f6f8fa;border-radius:6px;font-size:85%;line-height:1.45;overflow:auto;padding:16px}.markdown-body pre code,.markdown-body pre tt{word-wrap:normal;background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0}.markdown-body .csv-data td,.markdown-body .csv-data th{font-size:12px;line-height:1;overflow:hidden;padding:5px;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{background:#fff;border:0;padding:10px 8px 9px;text-align:right}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{background:#f6f8fa;border-top:0;font-weight:600}.markdown-body .footnotes{border-top:1px solid #d0d7de;color:#57606a;font-size:12px}.markdown-body .footnotes ol{padding-left:16px}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{border:2px solid #0969da;border-radius:6px;bottom:-8px;content:"";left:-24px;pointer-events:none;position:absolute;right:-8px;top:-8px}.markdown-body .footnotes li:target{color:#24292f}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:400}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.6em;vertical-align:middle}.markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:helvetica,sans-serif;font-style:normal;font-weight:100;max-width:100%;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{-webkit-text-decoration-skip:objects;background-color:transparent;color:#187cff}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:1.5em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{background-color:#e8e8e8;font-family:hack,monospace,monospace;font-size:.9em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}html{box-sizing:border-box;font:112.5%/1.45em helvetica,sans-serif;overflow-y:scroll}*,:after,:before{box-sizing:inherit}body{word-wrap:break-word;-ms-font-feature-settings:"kern","liga","clig","calt";font-feature-settings:"kern","liga","clig","calt";color:rgba(0,0,0,.8);font-family:helvetica,sans-serif;font-kerning:normal;font-weight:400}ul{margin-top:10px!important;text-align:left}li{color:#333;font-family:helvetica,sans-serif;font-size:.9em;margin-bottom:0!important;padding:0}.shadow-hover{transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.shadow-hover:hover{box-shadow:3px 4px 12px 4px rgba(0,0,0,.1);margin-bottom:"10px";transform:scale(1.02)}ul.checkmark>li{align-items:center;display:flex}ul.checkmark>li:before{background-image:url("data:image/svg+xml;utf8, ");background-repeat:no-repeat;background-size:contain;color:#999;content:"";display:inline-block;height:1em;margin-right:.5em;width:1em}ul.checkmark>li{color:#666}ul.checkmark>li>strong{color:#000}img{margin:0 0 1.45rem;max-width:100%;padding:0}h1{font-size:1.6rem;letter-spacing:-2px}h1,h2{text-rendering:optimizeLegibility;color:inherit;font-family:helvetica,sans-serif;font-weight:700;line-height:1.1;margin:0 0 1.45rem;padding:0}h2{font-size:1.62671rem;letter-spacing:-1px}h3{font-size:1.38316rem}h3,h4{text-rendering:optimizeLegibility;color:inherit;font-family:helvetica,sans-serif;font-weight:700;line-height:1.1;margin:0 0 1.45rem;padding:0}h4{font-size:1rem}h5{font-size:.85028rem}h5,h6{text-rendering:optimizeLegibility;color:inherit;font-family:helvetica,sans-serif;font-weight:700;line-height:1.1;margin:0 0 1.45rem;padding:0}h6{font-size:.78405rem}hgroup{margin:0 0 1.45rem;padding:0}ul{margin:0 0 1.45rem 1.3rem}ol,ul{list-style-image:none;list-style-position:outside;padding:0}ol{margin:0 0 1.45rem 1.45rem}dd,dl{margin:0 0 1.45rem}dd,dl,p{padding:0}p{font-family:Inter,helvetica,sans-serif;font-size:.9em;font-weight:400;margin:0 0 1.25rem}figure{margin:0 0 1.45rem;padding:0}pre{word-wrap:normal;background:transparent;border-radius:3px;font-size:.85rem;line-height:1.42;margin:0 0 1rem;overflow:auto;padding:.5rem 1rem}table{border-collapse:collapse;font-size:1rem;line-height:1.45rem;width:100%}fieldset,table{margin:0 0 1.45rem;padding:0}blockquote{margin:0 1.45rem 1.45rem;padding:0}form,iframe,noscript{margin:0 0 1.45rem;padding:0}hr{background:rgba(0,0,0,.2);border:none;height:1px;margin:0 0 calc(1.45rem - 1px);padding:0}address{margin:0 0 1.45rem;padding:0}b,dt,strong,th{font-weight:700}li{margin-bottom:.725rem}ol li,ul li{padding-left:0}li>ol,li>ul{margin-bottom:.725rem;margin-left:1.45rem;margin-top:.725rem}blockquote :last-child,li :last-child,p :last-child{margin-bottom:0}li>p{margin-bottom:.725rem}code{line-height:1.45rem}kbd,samp{font-size:.85rem;line-height:1.45rem}abbr,abbr[title],acronym{border-bottom:1px dotted rgba(0,0,0,.5);cursor:help}abbr[title]{text-decoration:none}td,th,thead{text-align:left}td,th{font-feature-settings:"tnum";-moz-font-feature-settings:"tnum";-ms-font-feature-settings:"tnum";-webkit-font-feature-settings:"tnum";border-bottom:1px solid rgba(0,0,0,.12);padding:.725rem .96667rem calc(.725rem - 1px)}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}@media only screen and (max-width:480px){html{font-size:100%}}code[class*=language-],pre[class*=language-]{color:#c5c8c6;direction:ltr;font-family:Inconsolata,Monaco,Consolas,Courier New,Courier,monospace;font-size:14px;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px rgba(0,0,0,.3);white-space:pre;word-break:normal;word-spacing:normal}.npm__react-simple-code-editor__textarea{color:transparent!important;padding:18px!important}pre[class*=language-]{border-radius:.3em;margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#1d1f21}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#7c7c7c}.token.punctuation{color:#c5c8c6}.namespace{opacity:.7}.token.keyword{color:#ff79c6}.token.class-name,.token.function,.token.property,.token.tag{color:#66d9ef}.token.boolean,.token.constant{color:#bd93f9}.token.deleted,.token.symbol{color:#f92672}.token.number{color:#ff73fd}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#f1fa8c}.token.variable{color:#c6c5fe}.token.operator{color:#ededed}.token.entity{color:#ffffb6;cursor:help}.token.url{color:#96cbfe}.language-css .token.string,.style .token.string{color:#87c38a}.token.atrule,.token.attr-value{color:#f9ee98}.token.regex{color:#e9c062}.token.important{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.dynobase-download-button-btn:hover{box-shadow:0 2px 4px 0 #8890c3,0 5px 15px 0 rgba(37,44,97,.55)!important;transform:translateY(-2px) scale(1.05)}.dynobase-download-button-btn{transition:all .2s}.dynobase-error-page-pre-bg{background:rgba(0,0,0,.04)}.filter-choice-small{background-color:rgba(24,124,255,.2);border-radius:10px;font-weight:700;margin-bottom:14px;margin-right:auto;margin-top:12px;padding:3px 10px;transition:background-color .33s,color .33s}.filter-choice-small>p{font-weight:700}@media (max-width:801px){.filter-choice{margin-left:0;margin-right:0;margin-top:10px}}.filter-choice{border:2px solid #187cff;border-radius:10px;margin-bottom:10px;margin-left:10px!important;margin-right:10px!important;margin-top:10px;padding:4px 12px;text-decoration:none;transition:background-color .33s,color .33s}.filter-choice,.filter-choice>p{font-weight:700}.filter-choice:hover>p{color:#fff!important}.filter-choice:hover{background-color:#187cff;border-radius:10px;font-weight:700;padding:4px 12px}.model-card{background:#fff;border-radius:6px;box-shadow:0 .3rem .8rem rgba(0,0,0,.12);color:"black";margin-bottom:15px;overflow:hidden;transition:.2s}.model-card:hover{box-shadow:3px 4px 12px 4px rgba(0,0,0,.16)}.tutorial-card{background:#fff;border-radius:6px;box-shadow:0 .3rem .8rem rgba(0,0,0,.12);color:"black";margin-bottom:15px;overflow:hidden;padding:2.2rem;transition:.2s}.tutorial-card:hover{box-shadow:3px 4px 12px 4px rgba(0,0,0,.16)}#dynamodb-releases tr th:first-child{width:12%}@media only screen and (max-width:968px){#dynamodb-releases tr th:first-child{width:15%}}@media only screen and (max-width:500px){#dynamodb-releases tr th:first-child{width:25%}}@media only screen and (max-width:1440px){.side-cta{display:none}}#dynamodb-releases tbody tr td a{text-decoration:none}.reactable-pagination a{padding-right:12px}.key-img{margin:0;text-align:center;width:50%}.link{color:var(--color-text);cursor:pointer;font-size:18px;position:relative;white-space:nowrap}.link:after,.link:before{background:currentColor;height:2px;left:0;pointer-events:none;position:absolute;top:100%;width:100%}.link:before{content:""}.link--metis:before{transform:scaleX(0);transform-origin:100% 50%;transition:transform .3s}.link--metis:hover:before{transform:scaleX(1);transform-origin:0 50%}.my-masonry-grid{display:flex;margin-left:-10px;width:auto}.my-masonry-grid_column{background-clip:padding-box;padding-left:10px}.my-masonry-grid_column>div{margin-bottom:10px}svg.testimonial-arrow{height:160px;margin:0 auto;width:160px}.draw-arrow{stroke-width:5;stroke:#1e90ff;fill:none;stroke-dasharray:400;stroke-dashoffset:400;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-name:draw;animation-name:draw}.draw-arrow.tail-1{-webkit-animation-delay:.5s;animation-delay:.5s}.draw-arrow.tail-2{-webkit-animation-delay:.7s;animation-delay:.7s}@-webkit-keyframes draw{to{stroke-dashoffset:0}}@keyframes draw{to{stroke-dashoffset:0}}.testimonials-arrow-container{display:none;margin-top:24px}@media only screen and (min-width:1200px){.testimonials-arrow-container{display:block!important}}@media only screen and (min-width:1500px){.table-of-contents{display:block!important}}.table-of-contents{display:none;transition:all .2s ease-in}.code-block-copy-to-clipboard:hover{background-color:#fff}.mdx-article h2{margin-top:2em}.mdx-article h3{margin-top:1.5em}@media only screen and (max-width:500px){.list-item-with-spacing{margin-bottom:4px!important}.h1-smaller-on-mobile{font-size:1.7rem!important;margin-top:32px!important}.mobile-friendly-big-feature{margin:0 -100px!important;padding:50px 100px 0!important}.unleash-the-power-headline{font-size:1.8rem!important}}
DynamoDB Single Table Design Made Easy [Visual Tool]
"Dynobase should absolutely be your go to tool for DynamoDB data modeling." Rick Houlihan Inventor of Single-Table Design, Director Developer Relations @ MongoDB
Download Now
7-day free trial. Available for macOS, Linux and Windows
Single-Table Design is a data modeling technique used to represent relational data structures inside a single NoSQL table in DynamoDB. It is about putting all your data in a smart and organized way into one table (not one table per entity type!). Use a combination of primary key and indexes to link the item together and access them in a fast and efficient way.
How Dynobase Helps in Single-Table Modeling
Planning Access Patterns Planning how you're going to query your is essential in a single-table design. Dynobase helps you to design your access patterns in a WYSIWYG way.
Designing Your Items Creating new items is as easy as editing an Excel file. Navigate through table space like through a spreadsheet. Use key bindings you're familiar with from other programs like 'Tab' to cycle through the cells.
Smart Suggestions It's easy to get lost in the data. Dynobase helps you make sure you're making correct decisions and proactively suggests you to think in collections.
Models View Big single-table models can quickly get overwhelming. Get a bird's-eye view of your model from a different perspective.
Exporting Models Once you're satisfied with your design, you can export it to popular libraries format like OneTable or DynamoDB-Toolbox.
Referential Integrity Composite keys are a must in a single-table design. Dynobase helps you in creating composite keys and makes sure they are always up to date, referring to other attributes.
Ready, Steady, Deploy! All set? Dynobase will help you to deploy your DynamoDB Table to AWS Cloud. Using Infrastructure as Code? Dynobase will export a CloudFormation definition.
Still not convinced? Try it on your own.
First 7 days are on us, no strings attached.
Download Now
7-day free trial No credit card required Available for macOS, Linux and Windows
Trusted by top DynamoDB experts
I love using Dynobase to explore my tables with a native app rather than going to the AWS console in my browser. One of my favorite features is the ability to save common queries for simple use later. As you're implementing your data model, I recommend saving queries for each of your application's access patterns to make it easy to debug collections of items later on. Dynobase is quickly becoming an essential part of working with DynamoDB .
Alex DeBrie, AWS Data Hero Author of DynamoDBBook.com and DynamoDBGuide.com Dynobase is by far the most intuitive UI tool I've used for DynamoDB , it's leaps and bounds better than the AWS console and makes it really easy to manage DynamoDB tables in a multi-region, multi-account environment. It's made my life so much easier and allowed me to focus on the things that actually matter to my clients.
Yan Cui, AWS Serverless Hero Author of Production-Ready Serverless, Developer Advocate at Lumigo There are two amazing things about Dynobase. The first is that it took so long for such a great DynamoDB client to finally arrive and the second is that it was so worth the wait.
Erik Peterson Founder & CTO of CloudZero Endorsed by AWS Community I am FINALLY setting time aside to check out @dynobase !!
Awesome stuff so far: the capacity consumption feedback, and the configurable maximums around paginated reads and page sizes.
Strong work @rafalwilinski 馃挭
1:30 AM 路 Dec 8, 2020 I was given a license for @dynobase a little while ago, and it's quickly crept into my dev workflow. So much easier to interact with DynamoDB, over the AWS console. I would say if you work with DynamoDB it's a must have tool.
1:55 PM 路 Jul 13, 2020 As a frontend developer, I used to be straight up _scared_ of databases 馃槺
Things changed when I started using AWS DynamoDB at work but as awesome as it is - the DynamoDB Web Console is not perfect
@dynobase makes DynamoDB *much* easier to work with 馃コ
7:06 PM 路 May 21, 2020 If you are interested in a great #DynamoDB client, this one is fantastic.
And no, I am not forsaking #NoSQL Workbench. I just really like the work that the Dynobase team does and they make a great product.
6:48 PM 路 Nov 30, 2020 Frequently Asked Questions Why is Single Table Design popular in DynamoDB? Single-table design allows you to minimize the number of tables you have to create, thereby minimizing your infrastructure's operational burden. Instead of scaling, managing, and keeping backups of multiple tables, you can just focus on one.
How to design Single Table Models in DynamoDB? Planning is essential in a single-table design. You need to know what your data is, how it is related to each other, and most importantly, what your access patterns are - they will dictate how you should design your items. Dynobase helps with that. Our single-table designer allows you to create a schema for your data, plan access patterns and then use it to create a table and export its definition.
Where can I find more information about DynamoDB Single Table Design? We highly recommend the following resources:
Better DynamoDB experience. First 7 days are on us. No strings attached.
Download Now