mirror of
https://github.com/daylinmorgan/viv.git
synced 2024-11-09 19:13:14 -06:00
Compare commits
4 commits
8aced00ace
...
960d7acf26
Author | SHA1 | Date | |
---|---|---|---|
960d7acf26 | |||
68e12d643c | |||
cf2414c0d1 | |||
303831bdb8 |
8 changed files with 29 additions and 13 deletions
10
.github/workflows/release.yml
vendored
10
.github/workflows/release.yml
vendored
|
@ -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 }}
|
||||
|
|
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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/")
|
||||
|
|
|
@ -42,7 +42,7 @@ test = [
|
|||
"sampleproject"
|
||||
]
|
||||
|
||||
[tool.ruff]
|
||||
[tool.ruff.lint]
|
||||
select = ["E","F","I"]
|
||||
ignore = ["E402"]
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue