<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Aptos;
panose-1:2 11 0 4 2 2 2 2 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:12.0pt;
font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
font-size:12.0pt;
font-family:"Aptos",sans-serif;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
span.EmailStyle20
{mso-style-type:personal-reply;
font-family:"Aptos",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:2107656590;
mso-list-type:hybrid;
mso-list-template-ids:1176402190 -1068477718 134807555 134807557 134807553 134807555 134807557 134807553 134807555 134807557;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;
mso-fareast-font-family:Aptos;
mso-bidi-font-family:"Times New Roman";}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style>
</head>
<body lang="EN-GB" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Unfortunately, I have not got much time for looking at this in depth now, but a couple of points<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo1"><span style="font-size:11.0pt;mso-fareast-language:EN-US">It looks a bit unRESTful to POST to the /jobs/{job_id}/start do we want non-idempotent behaviour there - is that supposed
to be starting a new job with the same parameters?<o:p></o:p></span></li><li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo1"><span style="font-size:11.0pt;mso-fareast-language:EN-US">If we are going to make some radical changes to UWS then it would be nice to return to the original concept (before the standardisation
compromises) that UWS treated the body content of the job creation POST as an opaque blob – it could then be anything (including XML! or even some binary format)<o:p></o:p></span></li></ul>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Paul.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div id="mail-editor-reference-message-container">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:36.0pt">
<b><span style="color:black">From: </span></b><span style="color:black">p3t <p3t-bounces@ivoa.net> on behalf of Russ Allbery <eagle@eyrie.org><br>
<b>Date: </b>Friday, 23 February 2024 at 01:12<br>
<b>To: </b>P3t@ivoa.net <P3t@ivoa.net><br>
<b>Subject: </b>Re: [p3t] Simple Cone Search starting point added<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt;mso-line-height-alt:.75pt"><span style="font-size:1.0pt;color:white">Russ Allbery <eagle@</span><span style="font-size:1.0pt;font-family:"Arial",sans-serif;color:white"> </span><span style="font-size:1.0pt;color:white">eyrie.</span><span style="font-size:1.0pt;font-family:"Arial",sans-serif;color:white"> </span><span style="font-size:1.0pt;color:white">org>
writes: > I have added a starting point for looking at an OpenAPI schema for Simple > Cone Search. README is available at: > https:</span><span style="font-size:1.0pt;font-family:"Arial",sans-serif;color:white"> </span><span style="font-size:1.0pt;color:white">//urldefense.</span><span style="font-size:1.0pt;font-family:"Arial",sans-serif;color:white"> </span><span style="font-size:1.0pt;color:white">com/v3/__https:</span><span style="font-size:1.0pt;font-family:"Arial",sans-serif;color:white"> </span><span style="font-size:1.0pt;color:white">//github.</span><span style="font-size:1.0pt;font-family:"Arial",sans-serif;color:white"> </span><span style="font-size:1.0pt;color:white">com/ivoa/PTTT/tree/main/cone-search__;!!PDiH4ENfjr2_Jw!GiMsqhY8lmQwGlIoJbAw_1VCaLLJOOaXy_-3-zUfQbvp7DdeHvKvr9RZZ9xWiMpKvQIOR_4grmn88JmwxUjTUyE$[github[.</span><span style="font-size:1.0pt;font-family:"Arial",sans-serif;color:white"> </span><span style="font-size:1.0pt;color:white">]com]
<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt;mso-line-height-alt:.75pt"><span style="font-size:1.0pt;color:white">ZjQcmQRYFpfptBannerStart<o:p></o:p></span></p>
</div>
<div style="border:none;border-top:solid #90A4AE 3.0pt;padding:0cm 0cm 0cm 0cm;display:block!important;text-align:left!important;margin:0px!important;padding:16px!important;border-radius:4px!important;min-width:200px!important;background-color:#D0D8DC!important;border-top:#90a4ae!important" id="pfptBannerg0lqf3k">
<div id="pfptBannerg0lqf3k">
<div id="pfptBannerg0lqf3k">
<p class="MsoNormal" style="margin-left:36.0pt;line-height:13.5pt;background:#D0D8DC">
<b><span lang="EN" style="font-family:"Arial",sans-serif;color:black">This Message Is From a New External Sender
<o:p></o:p></span></b></p>
</div>
<div id="pfptBannerg0lqf3k">
<p class="MsoNormal" style="margin-left:36.0pt;line-height:13.5pt;background:#D0D8DC">
<span lang="EN" style="font-family:"Arial",sans-serif;color:black">You have not previously corresponded with this sender. Please exercise caution when opening links or attachments included in this message.
<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt;background:#D0D8DC"><span lang="EN" style="color:black"> </span><span lang="EN"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt;mso-line-height-alt:.75pt"><span style="font-size:1.0pt;color:white">ZjQcmQRYFpfptBannerEnd<o:p></o:p></span></p>
</div>
<pre style="margin-left:36.0pt;white-space:pre-wrap"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">Russ Allbery <eagle@eyrie.org> writes:<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">> I have added a starting point for looking at an OpenAPI schema for Simple<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">> Cone Search. README is available at:<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">> <a href="https://urldefense.com/v3/__https:/github.com/ivoa/PTTT/tree/main/cone-search__;!!PDiH4ENfjr2_Jw!GiMsqhY8lmQwGlIoJbAw_1VCaLLJOOaXy_-3-zUfQbvp7DdeHvKvr9RZZ9xWiMpKvQIOR_4grmn88JmwxUjTUyE$">https://urldefense.com/v3/__https://github.com/ivoa/PTTT/tree/main/cone-search__;!!PDiH4ENfjr2_Jw!GiMsqhY8lmQwGlIoJbAw_1VCaLLJOOaXy_-3-zUfQbvp7DdeHvKvr9RZZ9xWiMpKvQIOR_4grmn88JmwxUjTUyE$</a>[github[.]com]<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">> This is mostly a framework to get started and let us quickly iterate on<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">> the OpenAPI schema by letting FastAPI do most of the work. I focused on<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">> getting the framework in place rather than adding a lot of API details.<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">> This provides only a sync GET interface without capabilities or<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">> availability. For a more fully-fleshed example, we'll want to add an<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">> async interface with UWS and models for capabilities and availability. I<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">> plan on working on that next if this is a suitable starting point.<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">I have updated this proof-of-concept API stub to include a parallel POST<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">way to do a sync simple cone search, and a UWS API. The UWS API has the<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">most substantial possible changes from the existing XML API, since it's<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">heavily influenced by using JSON rather than XML and using REST verbs.<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">The UWS API here is designed to be generic, similar to the existing UWS<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">API.<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">This is all the work I was planning on doing in advance of our next<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">meeting, but let me know if anyone has any questions or problems using the<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">repository, or if anything is obviously missing.<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">-- <o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">Russ Allbery (eagle@eyrie.org) <<a href="https://urldefense.com/v3/__https:/www.eyrie.org/*eagle/__;fg!!PDiH4ENfjr2_Jw!GiMsqhY8lmQwGlIoJbAw_1VCaLLJOOaXy_-3-zUfQbvp7DdeHvKvr9RZZ9xWiMpKvQIOR_4grmn88Jmw3gjs6pc$">https://urldefense.com/v3/__https://www.eyrie.org/*eagle/__;fg!!PDiH4ENfjr2_Jw!GiMsqhY8lmQwGlIoJbAw_1VCaLLJOOaXy_-3-zUfQbvp7DdeHvKvr9RZZ9xWiMpKvQIOR_4grmn88Jmw3gjs6pc$</a>[eyrie[.]org]><o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">-- <o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">p3t mailing list<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">p3t@ivoa.net<o:p></o:p></span></pre>
<pre style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Arial",sans-serif"><a href="https://urldefense.com/v3/__http:/mail.ivoa.net/mailman/listinfo/p3t__;!!PDiH4ENfjr2_Jw!GiMsqhY8lmQwGlIoJbAw_1VCaLLJOOaXy_-3-zUfQbvp7DdeHvKvr9RZZ9xWiMpKvQIOR_4grmn88JmwBoy4DQ0$">https://urldefense.com/v3/__http://mail.ivoa.net/mailman/listinfo/p3t__;!!PDiH4ENfjr2_Jw!GiMsqhY8lmQwGlIoJbAw_1VCaLLJOOaXy_-3-zUfQbvp7DdeHvKvr9RZZ9xWiMpKvQIOR_4grmn88JmwBoy4DQ0$</a>[mail[.]ivoa[.]net]<o:p></o:p></span></pre>
</div>
</div>
</div>
</body>
</html>