Compare commits

...

4 commits

8 changed files with 29 additions and 13 deletions

View file

@ -26,12 +26,10 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: update latest tag - name: update latest branch
uses: richardsimko/update-tag@v1 run: |
with: git checkout -B latest
tag_name: latest git push --force-with-lease -u origin latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Generate New Release - name: Generate New Release
run: gh release create ${{ github.ref }} run: gh release create ${{ github.ref }}

View file

@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
python-version: ['3.8','3.9','3.10','3.11'] python-version: ['3.8','3.9','3.10','3.11', '3.12']
os: os:
- ubuntu-latest - ubuntu-latest
- windows-latest - windows-latest

View file

@ -7,6 +7,7 @@ it will generate a new vivenv.
It may be important to require a exe specificty if you are frequently running It may be important to require a exe specificty if you are frequently running
different version of pythons and rely on c extension modules as in numpy. different version of pythons and rely on c extension modules as in numpy.
""" """
__import__("viv").use("numpy", "plotext", track_exe=True) # noqa __import__("viv").use("numpy", "plotext", track_exe=True) # noqa
import numpy as np import numpy as np

View file

@ -6,6 +6,7 @@ This import statement was generated using
Using viv freeze ensures future runs of this Using viv freeze ensures future runs of this
script will use the same essential environment script will use the same essential environment
""" """
__import__("viv").use( __import__("viv").use(
"numpy==1.24.0", "numpy==1.24.0",
"pandas==1.5.2", "pandas==1.5.2",

View file

@ -2,6 +2,7 @@
""" """
Embed the viv.py on the sys.path at runtime rather than using PYTHONPATH Embed the viv.py on the sys.path at runtime rather than using PYTHONPATH
""" """
import sys import sys
old_sys_path = sys.path.copy() # noqa old_sys_path = sys.path.copy() # noqa

View file

@ -55,7 +55,7 @@ def release(session):
session.run("./scripts/release.py", external=True) session.run("./scripts/release.py", external=True)
@nox.session(python=["3.8", "3.9", "3.10", "3.11"]) @nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12"])
def test(session): def test(session):
pdm_install(session, "test") pdm_install(session, "test")
session.run("pytest", "tests/") session.run("pytest", "tests/")

View file

@ -42,7 +42,7 @@ test = [
"sampleproject" "sampleproject"
] ]
[tool.ruff] [tool.ruff.lint]
select = ["E","F","I"] select = ["E","F","I"]
ignore = ["E402"] ignore = ["E402"]

View file

@ -54,7 +54,7 @@ from typing import (
Union, Union,
) )
__version__ = "2024.1004-dev" __version__ = "2024.1005-dev"
#### START VENDORED TOMLI #### #### START VENDORED TOMLI ####
@ -3877,6 +3877,20 @@ class Cli:
) )
def _pip_check():
pip_version_requirement = ">=22.2"
if not shutil.which("pip"):
err_quit("viv requires pip to be installed")
# importing viv may have side effects I'm not aware of...
if Version((pip_version := __import__("pip").__version__)) not in SpecifierSet(
pip_version_requirement
):
err_quit(
f"viv requires pip version {pip_version_requirement} but got {pip_version}"
)
def _no_traceback_excepthook( def _no_traceback_excepthook(
exc_type: type[BaseException], exc_type: type[BaseException],
exc_val: BaseException, exc_val: BaseException,
@ -3888,6 +3902,7 @@ def _no_traceback_excepthook(
def main() -> None: def main() -> None:
try: try:
_pip_check()
viv = Viv() viv = Viv()
Cli(viv).run() Cli(viv).run()
except KeyboardInterrupt: except KeyboardInterrupt: