{% extends "base.html" %} {% block announce %}
<script>
    !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures getActiveMatchingSurveys getSurveys onSessionId".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
    posthog.init('phc_bAUjZfg1PI0Ca2IOQCM053Y5873PRZhJ0DvTDbGsN9A',{api_host:'https://p.useinstructor.com'})
</script>

For updates follow
<strong>@jxnlco</strong> on
<a href="https://twitter.com/jxnlco">
  <span class="twemoji twitter">
    {% include ".icons/fontawesome/brands/twitter.svg" %}
  </span>
  <strong>Twitter</strong>
</a>
and
<span class="twemoji star">
  {% include ".icons/fontawesome/solid/star.svg" %}
</span>
us on
<a href="https://www.github.com/jxnl/instructor">
  <span class="twemoji github">
    {% include ".icons/fontawesome/brands/github.svg" %}
  </span>
  <strong>GitHub</strong> </a
>. If you don't like python, check out the
<a href="https://instructor-ai.github.io/instructor-js/"
  ><strong>TS/JS</strong></a
>
and
<a href="https://hexdocs.pm/instructor/Instructor.html">
  <strong>Elixir</strong>
</a>
ports. {% endblock %}
