Set up basic test gh worklows (#79)

* Set up basic test gh worklows

* update file paths

* env check

* add env check

* Update requirements.txt

* simplify

* upd
This commit is contained in:
Sebastian Raschka
2024-03-18 11:58:37 -05:00
committed by GitHub
parent 9d6da22ebb
commit ca96abac8a
13 changed files with 50241 additions and 110 deletions

View File

@@ -11,13 +11,13 @@
"output_type": "stream",
"text": [
"[OK] Your Python version is 3.10.12\n",
"numpy >= 1.24.3 \n",
"matplotlib >= 3.7.1. \n",
"jupyterlab >= 4.0. \n",
"tensorflow >= 2.15.0 \n",
"torch >= 2.0.1 \n",
"tqdm >= 4.66.1 \n",
"tiktoken >= 0.5.1 \n"
"[OK] numpy 1.26.0\n",
"[OK] matplotlib 3.8.2\n",
"[OK] jupyterlab 4.0.6\n",
"[OK] tensorflow 2.15.0\n",
"[OK] torch 2.2.1\n",
"[OK] tqdm 4.66.1\n",
"[OK] tiktoken 0.5.1\n"
]
}
],

View File

@@ -1,5 +1,6 @@
# Sebastian Raschka, 2024
import importlib
from os.path import dirname, join, realpath
from packaging.version import parse as version_parse
import platform
@@ -16,28 +17,21 @@ def get_packages(pkgs):
versions = []
for p in pkgs:
try:
imported = __import__(p)
imported = importlib.import_module(p)
try:
versions.append(imported.__version__)
except AttributeError:
try:
versions.append(imported.version)
except AttributeError:
try:
versions.append(imported.version_info)
except AttributeError:
try:
import importlib
import importlib_metadata
imported = importlib.import_module(p)
version = importlib_metadata.version(p)
versions.append(version)
except ImportError:
version = "not installed"
versions.append('0.0')
version = (getattr(imported, '__version__', None) or
getattr(imported, 'version', None) or
getattr(imported, 'version_info', None))
if version is None:
# If common attributes don't exist, use importlib.metadata
version = importlib.metadata.version(p)
versions.append(version)
except importlib.metadata.PackageNotFoundError:
# Handle case where package is not installed
versions.append('0.0')
except ImportError:
print(f'[FAIL]: {p} is not installed and/or cannot be imported.')
versions.append('N/A')
# Fallback if importlib.import_module fails for unexpected reasons
versions.append('0.0')
return versions
@@ -50,11 +44,9 @@ def get_requirements_dict():
for line in f:
if not line.strip():
continue
line = line.split("#")[0]
print(line)
line = line.split("#")[0].strip()
line = line.split(" ")
if not line[0].strip() or not line[-1].strip():
continue
line = [l.strip() for l in line]
d[line[0]] = line[-1]
return d
@@ -72,6 +64,10 @@ def check_packages(d):
print(f'[OK] {pkg_name} {actual_ver}')
if __name__ == '__main__':
def main():
d = get_requirements_dict()
check_packages(d)
if __name__ == '__main__':
main()

View File

@@ -0,0 +1,7 @@
from python_environment_check import main
def test_main(capsys):
main()
captured = capsys.readouterr()
assert "FAIL" not in captured.out