11from pathlib import Path
2+ import sys
23from types import SimpleNamespace as sn
34
45import nox
56
7+ py_cmd = 'py' if sys .platform .startswith ('win' ) else 'python3'
8+
69pkg = sn (dir = Path (__file__ ).parent .name )
710pkg .name = pkg .dir .replace ('-' , '_' )
811paths = sn (utils = sn (bump = 'utils/bump.py' , clean = 'utils/clean.py' , publish = 'utils/publish.sh' ))
@@ -12,7 +15,7 @@ def session(func) : return nox.session(venv_backend='none', name=func.__name__.r
1215@session
1316def dev (session ) : session .run ('pip' , 'install' , '-e' , '.' ) ; session .run (pkg .dir , '--help' , * session .posargs )
1417@session
15- def debug (session ) : session .run ('py' , '-m' , pkg .name , '--debug' , * session .posargs , env = { 'PYTHONPATH' : 'src' })
18+ def debug (session ) : session .run (py_cmd , '-m' , pkg .name , '--debug' , * session .posargs , env = { 'PYTHONPATH' : 'src' })
1619
1720@session
1821def lint (session ): # staged project files
@@ -23,7 +26,7 @@ def lint_all(session): # all project files
2326 files = session .run ('git' , 'ls-files' , '.' , silent = True , log = False ).splitlines ()
2427 session .run ('pre-commit' , 'run' , '--files' , * files , * session .posargs )
2528
26- bump_cmd_args = ('py' , paths .utils .bump )
29+ bump_cmd_args = (py_cmd , paths .utils .bump )
2730@session
2831def bump_patch (session , no_push = True ):
2932 cmd_args = bump_cmd_args + ('--patch' ,)
@@ -44,7 +47,7 @@ def bump_major(session, no_push=True):
4447 session .run (* cmd_args , * session .posargs )
4548
4649@session
47- def build (session ) : clean (session ) ; session .run ('py' , '-m' , 'build' ) ; print ('Build complete!' )
50+ def build (session ) : clean (session ) ; session .run (py_cmd , '-m' , 'build' ) ; print ('Build complete!' )
4851@session
4952def publish (session ) : session .run ('bash' , paths .utils .publish , * session .posargs )
5053
@@ -58,4 +61,4 @@ def deploy_feat(session) : deploy_minor(session)
5861def deploy_major (session ) : bump_major (session , no_push = False ) ; build (session ) ; publish (session )
5962
6063@session
61- def clean (session , * args ) : session .run ('py' , paths .utils .clean , * args )
64+ def clean (session , * args ) : session .run (py_cmd , paths .utils .clean , * args )
0 commit comments