<div dir="auto">Thanks for narrowing this down, Hans.   I think we’re really close, I am just concerned that new security rules may strip code from uploads.</div><div dir="auto"><br></div><div dir="auto">I have no evidence of this besides what has already been posted and I know NPS has sites blocked from external contact.</div><div dir="auto"><br></div><div dir="auto">I was guessing Don may have uploaded the x3d package from offsite before, and maybe he could try that again?</div><div dir="auto"><br></div><div dir="auto">I know a lady who calls this “subtext.”   It might be described as intuition.   Take it with a grain of salt.</div><div dir="auto"><br></div><div dir="auto">Also, Don, you should declare dependencies, I think.  I think that’s in requirements.txt.   For probably at least the xmlschema dependency.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Mar 6, 2022 at 6:07 AM Hans Moritz Guenther <<a href="mailto:hgunther@mit.edu">hgunther@mit.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
  
    
  
  <div>
    <p><br>
    </p>
    <div>On 3/5/22 9:08 PM, Brutzman, Donald
      (Don) (CIV) wrote:<br>
    </div>
    <blockquote type="cite">
      <p class="MsoNormal">Thanks Moritz for looking at this.  However,
        we can’t really expect any PyPi user who types “pip install x3d”
        to go through such a process.</p>
    </blockquote>
    <p>A Pypi user does not have to go through that - unless their local
      installation is messed up in some way; I was just trying to debug.
      Plenty of Pypi packages work just like that.</p>
    <p><br>
    </p>
    <p>However, right now the problem seems to be different:</p>
    <p>Something changed in the Pypi setup for this package between
      4.0.57 and 4.0.58: From 4.0.58 on, "pip install" only downloads
      and installs the metadata of the package (license file etc.), but
      not the actual code. Note in the following output how an
      installation with 4.0.57 gives me two directories in my
      "site-packages" called "x3d" (with the code) and
      "x3d-4.0.57-py3-none-any.whl" (with the meta data of the package).</p>
    <p>However, starting with 4.0.58, I ONLY get the metadata and not
      the actual code - and thus an "import x3d" must fail just because
      the code is not actually installed. It also no longer downloads
      the actual ~400 kB wheel:<br>
    </p>
    <p><br>
      (kitchensink) MoritzAirRoseGold
      ~/mambaforge/envs/kitchensink/lib/python3.10> pip install
      x3d==4.0.56<br>
      Collecting x3d==4.0.56<br>
        Downloading x3d-4.0.56-py3-none-any.whl (418 kB)<br>
           |████████████████████████████████| 418 kB 2.3 MB/s          
       <br>
      Installing collected packages: x3d<br>
        Attempting uninstall: x3d<br>
          Found existing installation: x3d 4.0.52<br>
          Uninstalling x3d-4.0.52:<br>
            Successfully uninstalled x3d-4.0.52<br>
      Successfully installed x3d-4.0.56<br>
      (kitchensink) MoritzAirRoseGold
      ~/mambaforge/envs/kitchensink/lib/python3.10> ls
      site-packages/x3*   <br>
      site-packages/x3d:<br>
      __init__.py __pycache__ x3d.py<br>
      <br>
      site-packages/x3d-4.0.56.dist-info:<br>
      INSTALLER     LICENSE       METADATA      RECORD       
      REQUESTED     WHEEL         license.html  license.txt  
      top_level.txt<br>
      (kitchensink) MoritzAirRoseGold
      ~/mambaforge/envs/kitchensink/lib/python3.10> pip install
      x3d==4.0.57<br>
      Collecting x3d==4.0.57<br>
        Downloading x3d-4.0.57-py3-none-any.whl (16 kB)<br>
      Installing collected packages: x3d<br>
        Attempting uninstall: x3d<br>
          Found existing installation: x3d 4.0.56<br>
          Uninstalling x3d-4.0.56:<br>
            Successfully uninstalled x3d-4.0.56<br>
      Successfully installed x3d-4.0.57<br>
      (kitchensink) MoritzAirRoseGold
      ~/mambaforge/envs/kitchensink/lib/python3.10> ls
      site-packages/x3*   <br>
      INSTALLER     LICENSE       METADATA      RECORD       
      REQUESTED     WHEEL         license.html  license.txt  
      top_level.txt<br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p>How do you upload the package to Pypi? By hand? Do you use some
      uploader script or do it by hand?</p>
    <p>If you follow for example
      <a href="https://packaging.python.org/en/latest/tutorials/packaging-projects/" target="_blank">https://packaging.python.org/en/latest/tutorials/packaging-projects/</a>
      : <br>
    </p>
    <p>- When you do "python -m build" in your local directory, do you
      see the actual code file (the .tar.gz file) or only the wheel
      metadata (the whl file)?</p>
    <p>- When you upload (python3 -m twine upload ....) do you see
      uploading of both file?</p>
    <p>[Of course, if you use a different method or uploader to make the
      wheels and update to Pypi, then the commands and output will be
      different.]</p></div><div>
    <p>Moritz<br>
    </p>
    <p><br>
    </p>
    <pre cols="72" style="font-family:monospace">-- 
Hans Moritz Günther
Massachusetts Institute of Technology
Kavli Institute for Astrophysics and Space Research
<a href="https://www.google.com/maps/search/77+Massachusetts+Avenue?entry=gmail&source=g" style="font-family:monospace">77 Massachusetts Avenue</a>
NE83-569
Cambridge, MA 02139
<a href="mailto:hgunther@mit.edu" target="_blank" style="font-family:monospace">hgunther@mit.edu</a>
<a href="https://space.mit.edu/home/guenther/" target="_blank" style="font-family:monospace">https://space.mit.edu/home/guenther/</a></pre>
  </div>

</blockquote></div></div>