Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better (but not completely fixed) treatment of venv #904

Closed
wants to merge 24 commits into from

Conversation

mcdonc
Copy link
Contributor

@mcdonc mcdonc commented Dec 18, 2023

- get rid of requirements check for recreation

- store .devenv_interpreter because the venv
  python binary resolves to the origin
  python of the wrapper, not the wrapper
  python

In practice, merging this commit will mean that

a) the invocation of pip install -r will
need to take care of any changed requirements.

b) the venv, once created, will never be recreated
unless the Python wrapper changes.  The Python
wrapper doesn't seem to change when you add
Python packages to your packages = list, I'm
not sure what the other circumstances might be.

In reality, this fix sucks because the venv is
not actually based on the wrapper.  The wrapper,
in fact, seems to never get used.  That will
need to be addressed in some other commit, though.

@mcdonc
Copy link
Contributor Author

mcdonc commented Dec 18, 2023

Sorry, I thought I squashed all those commits. I suck at git.

- get rid of requirements check for recreation

- store .devenv_interpreter because the venv
  python binary resolves to the origin
  python of the wrapper, not the wrapper
  python

In practice, merging this commit will mean that

a) the invocation of pip install -r will
need to take care of any changed requirements.

b) the venv, once created, will never be recreated
unless the Python wrapper changes.  The Python
wrapper doesn't seem to change when you add
Python packages to your packages = list, I'm
not sure what the other circumstances might be.

In reality, this fix sucks because the venv is
not actually based on the wrapper.  The wrapper,
in fact, seems to never get used.  That will
need to be addressed in some other commit, though.
@mcdonc mcdonc mentioned this pull request Dec 18, 2023
7 tasks
@domenkozar
Copy link
Member

Nice! If we can get the wrapper to be passed to the virtualenv correctly that will solve all the issues with dynamic linking :)

@domenkozar
Copy link
Member

I wonder, why get rid of requirements checking? I like that it would rebuild the venv if it changes and I'd expect it to.

@mcdonc
Copy link
Contributor Author

mcdonc commented Dec 18, 2023

I wonder, why get rid of requirements checking? I like that it would rebuild the venv if it changes and I'd expect it to.

The particular form of requirements checking that I took out didn't make too much sense, I don't think. It checked for a literal "requirements.txt" inside the venv root, which can't really work generically.

In addition (and maybe unrelatedly), I think I would prefer it if "devenv up" did not try to run pip install -r again. I think that job should be relegated to the flake rebuild. I haven't investigated why this happens yet, though. But the reason I would prefer this is because it just takes way too long on any complicated project to rerun pip install -r.

@mcdonc
Copy link
Contributor Author

mcdonc commented Dec 18, 2023

Nice! If we can get the wrapper to be passed to the virtualenv correctly that will solve all the issues with dynamic linking :)

If the venv's "python" resolves to the wrapper we won't need the .devev_interpreter thing at all. I just can't figure out how to make the venv's python resolve to the wrapper.

@mcdonc
Copy link
Contributor Author

mcdonc commented Dec 18, 2023

See also my rationale at #745 (comment)

@mcdonc
Copy link
Contributor Author

mcdonc commented Dec 23, 2023

The reason that the venv's bin/python resolves to the bin/python of the parent of the wrapper (and doesn't resolve to the wrapper's bin/python) is due to how sys._base_executable works in Python. It somehow detects that the wrapper is based on the parent, and returns the wrapper's parent rather than the wrapper. There is a bit of documentation saying that you might be able to set __PYVENV_LAUNCHER__ or PYTHONEXECUTABLE to point at the wrapper, but it does not work under 3.11.6 on Linux at least. I think it may only be honored on MacOS.

PYTHONEXECUTABLE=/nix/store/yxw6lvjh9vrf2cr6rabcp5pp5n8cs323-python3-3.11.6-env/bin/python3.11 \
__PYVENV_LAUNCHER__=/nix/store/yxw6lvjh9vrf2cr6rabcp5pp5n8cs323-python3-3.11.6-env/bin/python3.11 \
/nix/store/yxw6lvjh9vrf2cr6rabcp5pp5n8cs323-python3-3.11.6-env/bin/python3.11 -c "import sys; print(sys._base_executable); print(sys.executable); print(sys.prefix); print(sys.exec_prefix)"

/nix/store/qp5zys77biz7imbk6yy85q5pdv7qk84j-python3-3.11.6/bin/python3.11
/nix/store/yxw6lvjh9vrf2cr6rabcp5pp5n8cs323-python3-3.11.6-env/bin/python3.11
/nix/store/yxw6lvjh9vrf2cr6rabcp5pp5n8cs323-python3-3.11.6-env
/nix/store/yxw6lvjh9vrf2cr6rabcp5pp5n8cs323-python3-3.11.6-env

I actually think this might be ok because prefix and exec_prefix are indeed based on the wrapper and we can use .devenv_interpreter to do the check as we do now.

So delta the question of getting rid of the literal requirements.txt check, I think this PR is ready.

EDIT (later)... uh, maybe not. Confusion reigns. I guess the whole point is to execute the wrapper as Python for its side effects. But it really can't be done without creating a custom venv builder (which is definitely possible). I don't think I quite understand what the manylinux stuff is doing under the hood. I'll try to figure it out.

@mcdonc
Copy link
Contributor Author

mcdonc commented Dec 23, 2023

I think maybe this is another reason to not pip install on devenv up. This is me starting a container that was generated via devenv container <containername> --docker-run. It really should not be pip installing anything here IMO, or at least there should be an option such that it doesn't.

❯ docker start -i lucid_wing
WARNING: pre-commit-hooks.nix: git command not found; skipping installation.
Obtaining file:/// (from -r /nix/store/2cjacq6j9ms8f588fy4395h3d246gadk-requirements.txt (line 2))
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Installing backend dependencies ... done
  Preparing editable metadata (pyproject.toml) ... done
Requirement already satisfied: amqp==5.1.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 1)) (5.1.1)
Requirement already satisfied: async-timeout==4.0.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 2)) (4.0.2)
Requirement already satisfied: billiard==4.1.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 3)) (4.1.0)
Requirement already satisfied: blinker==1.6.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 4)) (1.6.2)
Requirement already satisfied: Brotli==1.0.9 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 5)) (1.0.9)
Requirement already satisfied: cachelib==0.10.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 6)) (0.10.2)
Requirement already satisfied: celery==5.3.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 7)) (5.3.0)
Requirement already satisfied: certifi==2023.5.7 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 8)) (2023.5.7)
Requirement already satisfied: cffi==1.15.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 9)) (1.15.1)
Requirement already satisfied: charset-normalizer==3.1.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 10)) (3.1.0)
Requirement already satisfied: click==8.1.3 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 11)) (8.1.3)
Requirement already satisfied: click-didyoumean==0.3.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 12)) (0.3.0)
Requirement already satisfied: click-plugins==1.1.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 13)) (1.1.1)
Requirement already satisfied: click-repl==0.2.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 14)) (0.2.0)
Requirement already satisfied: cryptography==40.0.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 15)) (40.0.2)
Requirement already satisfied: dash==2.10.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 16)) (2.10.2)
Requirement already satisfied: dash-bootstrap-components==1.4.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 17)) (1.4.2)
Requirement already satisfied: dash-core-components==2.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 18)) (2.0.0)
Requirement already satisfied: dash-html-components==2.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 19)) (2.0.0)
Requirement already satisfied: dash-table==5.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 20)) (5.0.0)
Requirement already satisfied: decorator==5.1.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 21)) (5.1.1)
Requirement already satisfied: dnspython==2.3.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 22)) (2.3.0)
Requirement already satisfied: email-validator==2.0.0.post2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 23)) (2.0.0.post2)
Requirement already satisfied: et-xmlfile==1.1.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 24)) (1.1.0)
Requirement already satisfied: Flask==2.2.5 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 25)) (2.2.5)
Requirement already satisfied: Flask-Admin==1.6.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 26)) (1.6.1)
Requirement already satisfied: Flask-Compress==1.13 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 27)) (1.13)
Requirement already satisfied: Flask-Login==0.6.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 28)) (0.6.2)
Requirement already satisfied: Flask-Mail==0.9.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 29)) (0.9.1)
Requirement already satisfied: flask-mongoengine==1.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 30)) (1.0.0)
Requirement already satisfied: Flask-PyMongo==2.3.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 31)) (2.3.0)
Requirement already satisfied: Flask-Session==0.5.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 32)) (0.5.0)
Requirement already satisfied: Flask-SQLAlchemy==2.5.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 33)) (2.5.1)
Requirement already satisfied: Flask-WTF==1.1.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 34)) (1.1.1)
Requirement already satisfied: flower==1.2.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 35)) (1.2.0)
Requirement already satisfied: future==0.18.3 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 36)) (0.18.3)
Requirement already satisfied: greenlet==2.0.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 37)) (2.0.2)
Requirement already satisfied: gunicorn==20.1.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 38)) (20.1.0)
Requirement already satisfied: humanize==4.6.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 39)) (4.6.0)
Requirement already satisfied: idna==3.4 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 40)) (3.4)
Requirement already satisfied: importlib-metadata==6.6.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 41)) (6.6.0)
Requirement already satisfied: infinity==1.5 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 42)) (1.5)
Requirement already satisfied: intervals==0.9.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 43)) (0.9.2)
Requirement already satisfied: itsdangerous==2.1.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 44)) (2.1.2)
Requirement already satisfied: Jinja2==3.1.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 45)) (3.1.2)
Requirement already satisfied: kombu==5.3.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 46)) (5.3.0)
Requirement already satisfied: lxml==4.9.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 47)) (4.9.2)
Requirement already satisfied: MarkupSafe==2.1.3 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 48)) (2.1.3)
Requirement already satisfied: mongoengine==0.27.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 49)) (0.27.0)
Requirement already satisfied: mpmath==1.3.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 50)) (1.3.0)
Collecting numpy==1.24.3 (from -r //requirements.txt (line 51))
  Using cached numpy-1.24.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
Requirement already satisfied: openpyxl==3.1.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 52)) (3.1.2)
Requirement already satisfied: packaging==23.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 53)) (23.1)
Collecting pandas==2.0.2 (from -r //requirements.txt (line 54))
  Using cached pandas-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (18 kB)
Requirement already satisfied: plotly==5.14.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 55)) (5.14.1)
Requirement already satisfied: prometheus-client==0.17.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 56)) (0.17.0)
Requirement already satisfied: prompt-toolkit==3.0.38 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 57)) (3.0.38)
Requirement already satisfied: pycparser==2.21 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 58)) (2.21)
Requirement already satisfied: Pygments==2.15.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 59)) (2.15.1)
Requirement already satisfied: pymongo==4.3.3 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 60)) (4.3.3)
Requirement already satisfied: pyodbc==4.0.39 in /nix/store/c7sz3pcjkf8bar9vjxp6b8fa5aszlyf9-devenv-profile/lib/python3.11/site-packages (from -r //requirements.txt (line 61)) (4.0.39)
Requirement already satisfied: PyPDF2==3.0.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 62)) (3.0.1)
Requirement already satisfied: pysolr==3.9.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 63)) (3.9.0)
Requirement already satisfied: python-dateutil==2.8.2 in /nix/store/1ldddmwidjj4q9c6x24zn29qzbjr3d44-python3.11-python-dateutil-2.8.2/lib/python3.11/site-packages (from -r //requirements.txt (line 64)) (2.8.2)
Requirement already satisfied: python-dotenv==1.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 65)) (1.0.0)
Collecting pytz==2023.3 (from -r //requirements.txt (line 66))
  Using cached pytz-2023.3-py2.py3-none-any.whl (502 kB)
Requirement already satisfied: redis==4.5.5 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 67)) (4.5.5)
Requirement already satisfied: requests==2.31.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 68)) (2.31.0)
Requirement already satisfied: scipy==1.10.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 69)) (1.10.1)
Requirement already satisfied: simplejson==3.19.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 70)) (3.19.1)
Requirement already satisfied: six==1.16.0 in /nix/store/4sc3q00ml4hb9drlsmvvbim9czrf6isx-python3.11-six-1.16.0/lib/python3.11/site-packages (from -r //requirements.txt (line 71)) (1.16.0)
Requirement already satisfied: SQLAlchemy==1.4.48 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 72)) (1.4.48)
Requirement already satisfied: SQLAlchemy-Utils==0.41.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 73)) (0.41.1)
Requirement already satisfied: sympy==1.12 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 74)) (1.12)
Requirement already satisfied: tenacity==8.2.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 75)) (8.2.2)
Requirement already satisfied: tornado==6.3.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 76)) (6.3.2)
Requirement already satisfied: typing_extensions==4.6.3 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 77)) (4.6.3)
Requirement already satisfied: unyt==2.9.5 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 78)) (2.9.5)
Requirement already satisfied: urllib3==1.26 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 79)) (1.26.0)
Requirement already satisfied: validators==0.20.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 80)) (0.20.0)
Requirement already satisfied: vine==5.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 81)) (5.0.0)
Collecting Wand==0.6.11 (from -r //requirements.txt (line 82))
  Using cached Wand-0.6.11-py2.py3-none-any.whl (143 kB)
Requirement already satisfied: wcwidth==0.2.6 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 83)) (0.2.6)
Requirement already satisfied: Werkzeug==2.2.3 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 84)) (2.2.3)
Requirement already satisfied: WTForms==3.0.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 85)) (3.0.1)
Requirement already satisfied: WTForms-Components==0.10.5 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 86)) (0.10.5)
Requirement already satisfied: zipp==3.15.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 87)) (3.15.0)
Requirement already satisfied: alabaster==0.7.13 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 89)) (0.7.13)
Requirement already satisfied: Babel==2.12.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 90)) (2.12.1)
Requirement already satisfied: bleach==6.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 91)) (6.0.0)
Requirement already satisfied: bump2version==1.0.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 92)) (1.0.1)
Requirement already satisfied: cachetools==5.3.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 93)) (5.3.1)
Requirement already satisfied: chardet==5.1.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 94)) (5.1.0)
Requirement already satisfied: colorama==0.4.6 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 95)) (0.4.6)
Requirement already satisfied: coverage==7.2.7 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 96)) (7.2.7)
Requirement already satisfied: distlib==0.3.6 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 97)) (0.3.6)
Requirement already satisfied: docutils==0.20.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 98)) (0.20.1)
Requirement already satisfied: filelock==3.12.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 99)) (3.12.0)
Requirement already satisfied: flake8==6.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 100)) (6.0.0)
Requirement already satisfied: imagesize==1.4.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 101)) (1.4.1)
Requirement already satisfied: inflect==6.0.4 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 102)) (6.0.4)
Requirement already satisfied: iniconfig==2.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 103)) (2.0.0)
Requirement already satisfied: jaraco.classes==3.2.3 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 104)) (3.2.3)
Requirement already satisfied: jeepney==0.8.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 105)) (0.8.0)
Requirement already satisfied: keyring==23.13.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 106)) (23.13.1)
Requirement already satisfied: markdown-it-py==2.2.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 107)) (2.2.0)
Requirement already satisfied: mccabe==0.7.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 108)) (0.7.0)
Requirement already satisfied: mdurl==0.1.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 109)) (0.1.2)
Requirement already satisfied: more-itertools==9.1.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 110)) (9.1.0)
Requirement already satisfied: pkginfo==1.9.6 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 111)) (1.9.6)
Requirement already satisfied: platformdirs==3.5.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 112)) (3.5.1)
Requirement already satisfied: pluggy==1.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 113)) (1.0.0)
Requirement already satisfied: pycodestyle==2.10.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 114)) (2.10.0)
Requirement already satisfied: pydantic==1.10.8 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 115)) (1.10.8)
Requirement already satisfied: pyflakes==3.0.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 116)) (3.0.1)
Requirement already satisfied: pyproject_api==1.5.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 117)) (1.5.1)
Requirement already satisfied: pytest==7.3.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 118)) (7.3.1)
Requirement already satisfied: pytest-mock==3.10.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 119)) (3.10.0)
Requirement already satisfied: pytest-runner==6.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 120)) (6.0.0)
Requirement already satisfied: readme-renderer==37.3 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 121)) (37.3)
Requirement already satisfied: requests-toolbelt==1.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 122)) (1.0.0)
Requirement already satisfied: rfc3986==2.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 123)) (2.0.0)
Requirement already satisfied: rich==13.4.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 124)) (13.4.1)
Requirement already satisfied: SecretStorage==3.3.3 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 125)) (3.3.3)
Requirement already satisfied: snowballstemmer==2.2.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 126)) (2.2.0)
Requirement already satisfied: snowflake_connector_python==3.0.4 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 127)) (3.0.4)
Requirement already satisfied: Sphinx==7.0.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 128)) (7.0.1)
Requirement already satisfied: sphinxcontrib-applehelp==1.0.4 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 129)) (1.0.4)
Requirement already satisfied: sphinxcontrib-devhelp==1.0.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 130)) (1.0.2)
Requirement already satisfied: sphinxcontrib-htmlhelp==2.0.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 131)) (2.0.1)
Requirement already satisfied: sphinxcontrib-jsmath==1.0.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 132)) (1.0.1)
Requirement already satisfied: sphinxcontrib-qthelp==1.0.3 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 133)) (1.0.3)
Requirement already satisfied: sphinxcontrib-serializinghtml==1.1.5 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 134)) (1.1.5)
Requirement already satisfied: sqlacodegen==2.3.0.post1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 135)) (2.3.0.post1)
Requirement already satisfied: tox==4.6.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 136)) (4.6.0)
Requirement already satisfied: twine==4.0.2 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 137)) (4.0.2)
Requirement already satisfied: tzdata==2023.3 in /nix/store/nm4ihmxpjzhvm6yw2q5iwdj6bw4snj42-python3.11-tzdata-2023.3/lib/python3.11/site-packages (from -r //requirements.txt (line 138)) (2023.3)
Requirement already satisfied: virtualenv==20.23.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 139)) (20.23.0)
Requirement already satisfied: watchdog==3.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 140)) (3.0.0)
Requirement already satisfied: webencodings==0.5.1 in /.devenv/state/venv/lib/python3.11/site-packages (from -r //requirements.txt (line 141)) (0.5.1)
Requirement already satisfied: setuptools>=3.0 in /nix/store/y8yq448xka665bqyd5gvdhajqdbsnyys-python3.11-setuptools-68.2.2/lib/python3.11/site-packages (from gunicorn==20.1.0->-r //requirements.txt (line 38)) (68.2.2.post0)
Requirement already satisfied: asn1crypto<2.0.0,>0.24.0 in /.devenv/state/venv/lib/python3.11/site-packages (from snowflake_connector_python==3.0.4->-r //requirements.txt (line 127)) (1.5.1)
Requirement already satisfied: oscrypto<2.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from snowflake_connector_python==3.0.4->-r //requirements.txt (line 127)) (1.3.0)
Requirement already satisfied: pyOpenSSL<24.0.0,>=16.2.0 in /.devenv/state/venv/lib/python3.11/site-packages (from snowflake_connector_python==3.0.4->-r //requirements.txt (line 127)) (23.2.0)
Requirement already satisfied: pycryptodomex!=3.5.0,<4.0.0,>=3.2 in /.devenv/state/venv/lib/python3.11/site-packages (from snowflake_connector_python==3.0.4->-r //requirements.txt (line 127)) (3.19.0)
Requirement already satisfied: pyjwt<3.0.0 in /.devenv/state/venv/lib/python3.11/site-packages (from snowflake_connector_python==3.0.4->-r //requirements.txt (line 127)) (2.8.0)
Requirement already satisfied: sortedcontainers>=2.4.0 in /.devenv/state/venv/lib/python3.11/site-packages (from snowflake_connector_python==3.0.4->-r //requirements.txt (line 127)) (2.4.0)
Using cached pandas-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.2 MB)
Building wheels for collected packages: eao_dash
  Building editable for eao_dash (pyproject.toml) ... done
  Created wheel for eao_dash: filename=eao_dash-0.43.0.dev20231223-0.editable-py2.py3-none-any.whl size=3352 sha256=c91ba3f14e7333ca09096cd9058595c7003a3cbac2e30ac04a4f6d1d6df1ac24
  Stored in directory: /tmp/nix-shell.s9m41w/pip-ephem-wheel-cache-swlgxdaz/wheels/0a/e6/5f/7890bed7e6ede0be54e51a5211aa22f3998e0f39a540b02155
Successfully built eao_dash
Installing collected packages: Wand, pytz, numpy, pandas, eao_dash
  Attempting uninstall: Wand
    Found existing installation: Wand 0.6.13
    Not uninstalling wand at /nix/store/c7sz3pcjkf8bar9vjxp6b8fa5aszlyf9-devenv-profile/lib/python3.11/site-packages, outside environment /.devenv/state/venv
    Can't uninstall 'Wand'. No files were found to uninstall.
  Attempting uninstall: pytz
    Found existing installation: pytz 2023.3.post1
    Not uninstalling pytz at /nix/store/fj8jr8zghq5abfa6a04qq32bmgxz3gpd-python3.11-pytz-2023.3.post1/lib/python3.11/site-packages, outside environment /.devenv/state/venv
    Can't uninstall 'pytz'. No files were found to uninstall.
  Attempting uninstall: numpy
    Found existing installation: numpy 1.26.1
    Not uninstalling numpy at /nix/store/hpr19vaw5alwnmnd8nyf6r50n4hwwj1a-python3.11-numpy-1.26.1/lib/python3.11/site-packages, outside environment /.devenv/state/venv
    Can't uninstall 'numpy'. No files were found to uninstall.
  Attempting uninstall: pandas
    Found existing installation: pandas 2.1.1
    Not uninstalling pandas at /nix/store/c7sz3pcjkf8bar9vjxp6b8fa5aszlyf9-devenv-profile/lib/python3.11/site-packages, outside environment /.devenv/state/venv
    Can't uninstall 'pandas'. No files were found to uninstall.
  Attempting uninstall: eao_dash
    Found existing installation: eao_dash 0.43.0.dev20231223
    Uninstalling eao_dash-0.43.0.dev20231223:
      Successfully uninstalled eao_dash-0.43.0.dev20231223
Successfully installed Wand-0.6.11 eao_dash-0.43.0.dev20231223 numpy-1.24.3 pandas-2.0.2 pytz-2023.3
✨ devenv 0.6.3 is out of date. Please update to 1.0: https://devenv.sh/getting-started/#installation
'FLASK_ENV' is deprecated and will not be used in Flask 2.3. Use 'FLASK_DEBUG' instead.
[2023-12-23 19:56:09,472] ERROR in errors: Logging level: 10: user:None, ip:None, url:None
/.devenv/state/venv/lib/python3.11/site-packages/flask_admin/model/base.py:1416: UserWarning: Fields missing from ruleset: TowerPaint,DAType,InterfaceName,AveragingInterval,TimeFromUTM,StartDate,EndDate,ElevationUnits,HeightUnits,long_UTM,lat_UTM,Coordinatesystem,Projection,StateName,County,InstallcrewManager,InstallContractor,Updateddate,Access_Key,Access_Method,AcquiredFrom,Describe,DataContractor,CreateDate,Createdby,UpdateDate,Updatedby,OldName,OldGisStationID,exposure,MagneticDeclanation,datum,Location,LandQualityCheck,ApexActionItems,GHActionItems,ThirdPartyActionItems,LastRecord,WorkStatus,landcomment,Add_Comments,ZipCode,TaxDistrictNumber,Township,DateFiledLast,cost,MarkerBalls,MarkerBallSets,GuyGuards,Logger_Make,Logger_Model,Logger_Rev,Logger_serialnumber,Logger_timezone,ipack_Callintime,ipack_Callfrequency,ipack_networktype,ipack_make,ipack_serialnumber,ipack_simnum,ipack_IMEI_ESN,ipack_IMSI,ipack_MSISDNCMDN,ipack_activationdate,ipack_lastcall,OAC_Notification,OAC_Type,OAC_Date,OAC_Compliance,ODM,ipack_NetworkProvider,ScheduledMainDate,rldlogger,subjectline
  warnings.warn(text)
/.devenv/state/venv/lib/python3.11/site-packages/flask_admin/model/base.py:1416: UserWarning: Fields missing from ruleset: _cls
  warnings.warn(text)
[2023-12-23 19:56:10,921] ERROR in __init__: badash.availability did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:10,922] ERROR in __init__: badash.generation_revenue did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:10,922] ERROR in __init__: badash.swap_old_settler did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:10,923] ERROR in __init__: badash.park_summary did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:10,923] ERROR in __init__: badash.sensor_snapshot_windspeed did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:10,924] ERROR in __init__: badash.single_turb_sensr did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:10,924] ERROR in __init__: badash.single_turb_performance did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:10,925] ERROR in __init__: phade.app did not load.: user:None, ip:None, url:None
'FLASK_ENV' is deprecated and will not be used in Flask 2.3. Use 'FLASK_DEBUG' instead.
'FLASK_ENV' is deprecated and will not be used in Flask 2.3. Use 'FLASK_DEBUG' instead.
 * Serving Flask app 'eao_dash.wsgi:application'
 * Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5150
 * Running on http://172.17.0.2:5150
Press CTRL+C to quit
 * Restarting with watchdog (inotify)
'FLASK_ENV' is deprecated and will not be used in Flask 2.3. Use 'FLASK_DEBUG' instead.
[2023-12-23 19:56:12,292] ERROR in errors: Logging level: 10: user:None, ip:None, url:None
/.devenv/state/venv/lib/python3.11/site-packages/flask_admin/model/base.py:1416: UserWarning: Fields missing from ruleset: TowerPaint,DAType,InterfaceName,AveragingInterval,TimeFromUTM,StartDate,EndDate,ElevationUnits,HeightUnits,long_UTM,lat_UTM,Coordinatesystem,Projection,StateName,County,InstallcrewManager,InstallContractor,Updateddate,Access_Key,Access_Method,AcquiredFrom,Describe,DataContractor,CreateDate,Createdby,UpdateDate,Updatedby,OldName,OldGisStationID,exposure,MagneticDeclanation,datum,Location,LandQualityCheck,ApexActionItems,GHActionItems,ThirdPartyActionItems,LastRecord,WorkStatus,landcomment,Add_Comments,ZipCode,TaxDistrictNumber,Township,DateFiledLast,cost,MarkerBalls,MarkerBallSets,GuyGuards,Logger_Make,Logger_Model,Logger_Rev,Logger_serialnumber,Logger_timezone,ipack_Callintime,ipack_Callfrequency,ipack_networktype,ipack_make,ipack_serialnumber,ipack_simnum,ipack_IMEI_ESN,ipack_IMSI,ipack_MSISDNCMDN,ipack_activationdate,ipack_lastcall,OAC_Notification,OAC_Type,OAC_Date,OAC_Compliance,ODM,ipack_NetworkProvider,ScheduledMainDate,rldlogger,subjectline
  warnings.warn(text)
/.devenv/state/venv/lib/python3.11/site-packages/flask_admin/model/base.py:1416: UserWarning: Fields missing from ruleset: _cls
  warnings.warn(text)
[2023-12-23 19:56:13,686] ERROR in __init__: badash.availability did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:13,687] ERROR in __init__: badash.generation_revenue did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:13,688] ERROR in __init__: badash.swap_old_settler did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:13,688] ERROR in __init__: badash.park_summary did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:13,689] ERROR in __init__: badash.sensor_snapshot_windspeed did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:13,689] ERROR in __init__: badash.single_turb_sensr did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:13,690] ERROR in __init__: badash.single_turb_performance did not load.: user:None, ip:None, url:None
[2023-12-23 19:56:13,690] ERROR in __init__: phade.app did not load.: user:None, ip:None, url:None
'FLASK_ENV' is deprecated and will not be used in Flask 2.3. Use 'FLASK_DEBUG' instead.
'FLASK_ENV' is deprecated and will not be used in Flask 2.3. Use 'FLASK_DEBUG' instead.
 * Debugger is active!
 * Debugger PIN: 106-155-814

@mcdonc
Copy link
Contributor Author

mcdonc commented Dec 23, 2023

It's likely I should close this PR and open several that break out the changes.

@mcdonc
Copy link
Contributor Author

mcdonc commented Dec 24, 2023

This PR is superseded by #905 #911 and #912

@mcdonc mcdonc closed this Dec 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants