Compare commits

...

4 commits

8 changed files with 29 additions and 13 deletions

View file

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

View file

@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8','3.9','3.10','3.11']
python-version: ['3.8','3.9','3.10','3.11', '3.12']
os:
- ubuntu-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
different version of pythons and rely on c extension modules as in numpy.
"""
__import__("viv").use("numpy", "plotext", track_exe=True) # noqa
import numpy as np

View file

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

View file

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

View file

@ -55,7 +55,7 @@ def release(session):
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):
pdm_install(session, "test")
session.run("pytest", "tests/")

View file

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

View file

@ -1,9 +1,9 @@
#!/usr/bin/env python3
"""viv isn't venv!
viv -h
OR
__import__("viv").use("requests", "bs4")
viv -h
OR
__import__("viv").use("requests", "bs4")
"""
from __future__ import annotations
@ -54,7 +54,7 @@ from typing import (
Union,
)
__version__ = "2024.1004-dev"
__version__ = "2024.1005-dev"
#### 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(
exc_type: type[BaseException],
exc_val: BaseException,
@ -3888,6 +3902,7 @@ def _no_traceback_excepthook(
def main() -> None:
try:
_pip_check()
viv = Viv()
Cli(viv).run()
except KeyboardInterrupt: