conf["proj_name"] = "apng" Version('{proj_name}/__init__.py')() cute( test = 'readme_build', bump_pre = 'test', bump = Bump("{proj_name}/__init__.py"), bump_post = ['dist', 'release', 'publish', 'install'], dist = 'python setup.py sdist bdist_wheel', release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*{version}[.-]*', 'git push --follow-tags' ], publish_err = 'start https://pypi.python.org/pypi/{proj_name}/', install = 'pip install -e .', install_err = 'elevate -c -w pip install -e .', readme_build = 'python setup.py --long-description > %temp%/ld && rst2html --no-raw --exit-status=1 --verbose %temp%/ld %temp%/ld.html', readme_build_err = ['readme_show', Exc()], readme_show = 'start %temp%/ld.html', readme = 'readme_build', readme_post = 'readme_show', version = 'echo {version}' )
cute( pkg_name="vpip", test=[ 'pylint {pkg_name} cute.py test.py', 'pytest test.py', 'readme_build' ], bump_pre='test', bump_post=['dist', 'release', 'publish', 'install'], dist='x-clean build dist && python setup.py sdist bdist_wheel', release=[ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish=['twine upload dist/*', 'git push --follow-tags'], install='pip install -e .', readme_build=[ 'python setup.py --long-description | x-pipe build/readme/index.rst', ('rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html') ], readme_pre="readme_build", readme=readme, # color often breaks cmd on windows doc='sphinx-autobuild -N --open-browser --watch {pkg_name} docs docs/build', # I guess it is not a good idea to generate this automatically... doc_api=[ "sphinx-apidoc vpip --no-toc --separate -o docs/api", "x-clean docs/api/{pkg_name}.rst" ])
server.watch("README.rst", "py cute.py readme_build") server.serve(open_url_delay=1, root="build/readme") IS_LATEST = sys.version_info[:2] == (3, 6) conf.update({"python": "{!r}".format(sys.executable)}) cute( pkg_name="apng", lint=Skip("pylint cute.py test/test.py apng", sys.version_info < (3, )), test=["lint", "{python} test/test.py", "readme_build"], bump_pre='test', bump_post=['dist', 'release', 'publish', 'install'], clean="x-clean build dist", dist=["clean", "{python} setup.py sdist bdist_wheel"], release=[ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish=['twine upload dist/*', 'git push --follow-tags'], install='{python} -m pip install -e .', readme_build=[ '{python} setup.py --long-description | x-pipe build/readme/index.rst', 'rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html' ], readme_pre="readme_build", readme=readme, doc='sphinx-autobuild -B -z {pkg_name} docs docs/build')
from xcute import cute, exc cute( pkg_name = "ptt_article_parser", test = 'readme_build', bump_pre = 'test', bump_post = ['dist', 'release', 'publish', 'install'], dist = 'rm -r build dist & python setup.py sdist bdist_wheel', release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*', 'git push --follow-tags' ], publish_err = 'start https://pypi.python.org/pypi/ptt-article-parser/', install = 'pip install -e .', install_err = 'elevate -c -w pip install -e .', readme_build = [ 'python setup.py --long-description | x-pipe build/ld.rst', 'rst2html --no-raw --exit-status=1 --verbose ' 'build/ld.rst build/ld.html' ], readme_build_err = ['readme_show', exc], readme_show = 'start build/ld.html', readme = 'readme_build', readme_post = 'readme_show' )
"""Live reload readme""" from livereload import Server server = Server() server.watch("README.rst", "py cute.py readme_build") server.serve(open_url_delay=1, root="build/readme") cute(pkg_name="node_vm2", lint=['cd node_vm2/vm-server && npm test && cd ..', 'pylint {pkg_name}'], test=['lint', 'python test.py', 'readme_build'], bump_pre='test', bump_post=['clean', 'dist', 'release', 'publish', 'install'], clean='x-clean build dist', dist='python setup.py sdist bdist_wheel', release=[ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish=['twine upload dist/*', 'git push --follow-tags'], publish_err='start https://pypi.python.org/pypi/{pkg_name}/', install='pip install -e .', install_err='elevate -c -w pip install -e .', readme_build=[ 'python setup.py --long-description | x-pipe build/readme/index.rst', 'rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html' ], readme_pre="readme_build", readme=readme, doc='sphinx-autobuild -B -z {pkg_name} docs docs/build')
#! python3 from xcute import cute, LiveReload cute(pkg_name="node_vm2", lint=['cd node_vm2/vm-server && npm test && cd ..', 'pylint {pkg_name}'], test=['lint', 'python test.py', 'readme_build'], bump_pre='test', bump_post=['dist', 'release', 'publish', 'install'], dist_pre='x-clean build dist', dist='python setup.py sdist bdist_wheel', release=[ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish=['twine upload dist/*', 'git push --follow-tags'], publish_err='start https://pypi.python.org/pypi/{pkg_name}/', install='pip install -e .', readme_build=[ 'python setup.py --long-description | x-pipe build/readme/index.rst', 'rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html' ], readme_pre="readme_build", readme=LiveReload("README.rst", "readme_build", "build/readme"), doc_build="sphinx-build docs build/docs", doc_pre="doc_build", doc=LiveReload(["{pkg_name}", "docs"], "doc_build", "build/docs"))
cute( pkg_name = "safeprint", test = [ 'py -3.5 -m pylint {pkg_name} setup.py cute.py', ['py -{v} test.py && py -{v} test.py > %temp%/safeprint-test-{v}.txt' .format(v=v) for v in (2, 3.5, 3.6)], 'readme_build' ], bump_pre = 'test', bump_post = ['dist', 'release', 'publish', 'install'], dist = 'python setup.py sdist bdist_wheel', release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*{version}[.-]*', 'git push --follow-tags' ], publish_err = 'start https://pypi.python.org/pypi/{pkg_name}/', install = 'pip install -e .', install_err = 'elevate -c -w pip install -e .', readme_build = 'python setup.py --long-description > %temp%/ld && ' 'rst2html --no-raw --exit-status=1 --verbose %temp%/ld %temp%/ld.html', readme_build_err = ['readme_show', Exc()], readme_show = 'start %temp%/ld.html', readme = 'readme_build', readme_post = 'readme_show' )
#! python3 from xcute import cute, Bump, Version cute( test = 'readme_build', test_err = ["readme_show", "exit 1"], bump_pre = 'test', bump = Bump("ptt_article_parser/__init__.py"), bump_post = ['dist', 'release', 'publish', 'install'], dist = 'python setup.py sdist bdist_wheel', release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*{version}[.-]*', 'git push --follow-tags' ], publish_err = 'start https://pypi.python.org/pypi/ptt-article-parser/', install = 'pip install -e .', install_err = 'elevate -c -w pip install -e .', readme_build = "python setup.py --long-description > %temp%/ld && rst2html --no-raw --exit-status=1 --verbose %temp%/ld %temp%/ld.html", readme_show = "start %temp%/ld.html", readme = "readme_build", readme_err = 'readme_show', readme_post = 'readme_show', version = [Version('ptt_article_parser/__init__.py'), 'echo {version}'] )
#! python3 from xcute import cute, LiveReload # pylint: disable=bad-whitespace cute( pkg_name='pip_outdated', lint='pylint cute.py setup.py tests {pkg_name}', test=["lint", 'readme_build', "pytest --cov={pkg_name}"], bump_pre='test', bump_post=['dist', 'release', 'publish', 'install'], # https://stackoverflow.com/q/26545668/3413125 clean='x-clean build dist *.egg-info', dist_pre='clean', dist='python setup.py sdist bdist_wheel', release=[ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish=['twine upload dist/*', 'git push --follow-tags'], install='pip install -e .', readme_build=[ 'python setup.py --long-description | x-pipe build/readme/index.rst', ('rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html') ], readme_pre="readme_build", readme=LiveReload("README.rst", "readme_build", "build/readme"))
from xcute import cute, run_task def readme(): """Live reload readme""" from livereload import Server, shell server = Server() server.watch("README.rst", lambda: run_task("readme_build")) server.serve(open_url_delay=1, root="build/readme") cute(pkg_name="desktop", test=["pyflakes {pkg_name} setup.py", 'readme_build'], bump_pre='test', bump_post=['clean', 'dist', 'release', 'publish', 'install'], clean='x-clean build dist', dist='python setup.py sdist bdist_wheel', release=[ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish=['twine upload dist/*', 'git push --follow-tags'], install='pip install -e .', readme_build=[ 'python setup.py --long-description | x-pipe build/readme/index.rst', 'rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html' ], readme_pre="readme_build", readme=readme)
cute( pkg_name = "vpip", test = ['pylint {pkg_name} cute.py', 'pytest', 'readme_build'], bump_pre = 'test', bump_post = ['dist', 'release', 'publish', 'install'], dist = 'x-clean build dist *.egg-info && python setup.py sdist bdist_wheel', release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*', 'git push --follow-tags' ], install = 'pip install -e .', readme_build = [ 'python setup.py --long-description | x-pipe build/readme/index.rst', ('rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html') ], readme_pre = "readme_build", readme = LiveReload("README.rst", "readme_build", "build/readme"), doc_build = "sphinx-build docs build/docs", doc_pre = "doc_build", doc = LiveReload(["{pkg_name}", "docs"], "doc_build", "build/docs"), # I guess it is not a good idea to generate this automatically... doc_api = [ "sphinx-apidoc vpip --no-toc --separate -o docs/api", "x-clean docs/api/{pkg_name}.rst" ] )
cute( pkg_name = "apng", lint = Skip("pylint cute.py test apng", sys.version_info < (3, )), test = [ "lint", "pytest -x test", "readme_build" ], bump_pre = 'test', bump_post = ['dist', 'release', 'publish', 'install'], clean = "x-clean build dist", dist = [ "clean", "python setup.py sdist bdist_wheel" ], release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*', 'git push --follow-tags' ], install = 'python -m pip install -e .', readme_build = [ 'python setup.py --long-description | x-pipe build/readme/index.rst', 'rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html' ], readme_pre = "readme_build", readme = readme, doc = 'sphinx-autobuild -B -z {pkg_name} docs docs/build' )
cute( pkg_name = 'xcute', lint = 'pylint xcute cute setup', test = [Skip("lint", sys.version_info < (3, 5)), 'python test.py', 'readme_build'], bump_pre = 'test', bump_post = ['clean', 'dist', 'release', 'publish', 'install'], clean = 'x-clean build dist *.egg-info', dist = 'python setup.py sdist bdist_wheel', release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*', 'git push --follow-tags' ], install = 'pip install -e .', install_err = 'elevate -c -w pip install -e .', readme_build = [ 'python setup.py --long-description | x-pipe build/readme/index.rst', ('rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html') ], readme_pre = "readme_build", readme = LiveReload("README.rst", "readme_build", "build/readme"), doc_build = "sphinx-build docs build/docs", doc_pre = "doc_build", doc = LiveReload(["{pkg_name}", "docs"], "doc_build", "build/docs") )
#! python3 from xcute import cute, Bump, Version cute( test='readme_build', test_err=["readme_show", "exit 1"], bump_pre='test', bump=Bump("ptt_article_parser/__init__.py"), bump_post=['dist', 'release', 'publish', 'install'], dist='python setup.py sdist bdist_wheel', release=[ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish=['twine upload dist/*{version}[.-]*', 'git push --follow-tags'], publish_err='start https://pypi.python.org/pypi/ptt-article-parser/', install='pip install -e .', install_err='elevate -c -w pip install -e .', readme_build= "python setup.py --long-description > %temp%/ld && rst2html --no-raw --exit-status=1 --verbose %temp%/ld %temp%/ld.html", readme_show="start %temp%/ld.html", readme="readme_build", readme_err='readme_show', readme_post='readme_show', version=[Version('ptt_article_parser/__init__.py'), 'echo {version}'])
server.serve(open_url_delay=1, root="build/readme") cute( pkg_name = 'xcute', lint = 'pylint xcute cute setup', test = [Skip("lint", sys.version_info[:2] != (3, 6)), 'python test.py', 'readme_build'], bump_pre = 'test', bump_post = ['clean', 'dist', 'release', 'publish', 'install'], clean = 'x-clean build dist', dist = 'python setup.py sdist bdist_wheel', release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*', 'git push --follow-tags' ], install = 'pip install -e .', install_err = 'elevate -c -w pip install -e .', readme_build = [ 'python setup.py --long-description | x-pipe build/readme/index.rst', ('rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html') ], readme_pre = "readme_build", readme = readme, doc = 'sphinx-autobuild -B -z {pkg_name} docs docs/build' )
#! python3 from xcute import cute, LiveReload cute( pkg_name = "ptt_article_parser", test = ["pylint {pkg_name}", 'readme_build'], bump_pre = 'test', bump_post = ['dist', 'release', 'publish', 'install'], dist = 'x-clean build dist && python setup.py sdist bdist_wheel', release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*', 'git push --follow-tags' ], install = 'pip install -e .', readme_build = [ 'python setup.py --long-description | x-pipe build/readme/index.rst', ('rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html') ], readme_pre = "readme_build", readme = LiveReload("README.rst", "readme_build", "build/readme") )
if old_domains == domains: return path.write_text(left + domains + right, 'utf-8') cute( pkg_name = "comiccrawler", default = "python -m comiccrawler gui", test = ['pylint comiccrawler', 'readme_build'], bump_pre = 'test', bump = Bump("{version_file}", date_bumper), bump_post = ['domains', 'dist', 'release', 'publish'], domains = domains, dist = 'x-clean build dist *.egg-info && python setup.py sdist bdist_wheel', release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*', 'git push --follow-tags' ], readme_build = [ 'python setup.py --long-description | x-pipe build/readme/index.rst', 'rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html' ], readme_pre = "readme_build", readme = LiveReload("README.rst", "readme_build", "build/readme") )
server.watch("README.rst", "py cute.py readme_build") server.serve(open_url_delay=1, root="build/readme") cute( pkg_name = 'worker', lint = 'pylint worker cute docs/conf.py setup test', test = ['lint', 'coverage run --source worker -m unittest', 'readme_build'], bump_pre = 'test', bump_post = ['dist', 'release', 'publish', 'install'], dist = ['rm -r build dist & python setup.py sdist bdist_wheel'], release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*{version}*', 'git push --follow-tags' ], install = 'pip install -e .', install_err = 'elevate -c -w pip install -e .', readme_build = [ 'python setup.py --long-description | x-pipe build/readme/index.rst', 'rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html' ], readme_pre = "readme_build", readme = readme, doc = 'sphinx-autobuild -B -z worker docs docs/build' )
cute( pkg_name = "apng", lint = Skip("pylint cute.py test apng", sys.version_info < (3, )), test = [ "lint", "pytest -x test", "readme_build" ], bump_pre = 'test', bump_post = ['dist', 'release', 'publish', 'install'], clean = "x-clean build dist", dist = [ "clean", "python setup.py sdist bdist_wheel" ], release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*', 'git push --follow-tags' ], install = 'python -m pip install -e .', readme_build = [ 'python setup.py --long-description | x-pipe build/readme/index.rst', 'rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html' ], readme_pre = "readme_build", readme = LiveReload("README.rst", "readme_build", "build/readme"), doc_build = "sphinx-build docs build/docs", doc_pre = "doc_build", doc = LiveReload(["{pkg_name}", "docs"], "doc_build", "build/docs") )
path = pathlib.Path('README.rst') text = path.read_text('utf-8') left, old_domains, right = split_domains(text) if old_domains == domains: return path.write_text(left + domains + right, 'utf-8') cute( test=['pyflakes comiccrawler', 'readme_build'], bump_pre='test', bump=bump, bump_post=['domains', 'dist', 'release', 'publish', 'install'], domains=domains, dist='python setup.py sdist bdist_wheel', release=[ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish=['twine upload dist/*{version}[.-]*', 'git push --follow-tags'], publish_err='start https://pypi.python.org/pypi/comiccrawler/', install='pip install -e .', install_err='elevate -c -w pip install -e .', readme_build= 'python setup.py --long-description > %temp%/ld && rst2html --no-raw --exit-status=1 --verbose %temp%/ld %temp%/ld.html', readme_build_err=['readme_show', Exc()], readme_show='start %temp%/ld.html', readme='readme_build', readme_post='readme_show', version=[Version('comiccrawler/__init__.py'), 'echo {version}'])
cute( pkg_name = "comiccrawler", default = "python -m comiccrawler gui", test = ['pylint comiccrawler', 'readme_build'], bump_pre = 'test', bump = Bump("{version_file}", date_bumper), bump_post = ['domains', 'dist', 'release', 'publish', 'install'], domains = domains, dist = 'rm -r build dist & python setup.py sdist bdist_wheel', release = [ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish = [ 'twine upload dist/*', 'git push --follow-tags' ], publish_err = 'start https://pypi.python.org/pypi/comiccrawler/', install = 'pip install -e .', install_err = 'elevate -c -w pip install -e .', readme_build = [ 'python setup.py --long-description | x-pipe build/readme/index.rst', 'rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html' ], readme_pre = "readme_build", readme = readme, )
#! python3 from xcute import cute, Exc cute( pkg_name="safeprint", test=[ 'py -3.5 -m pylint {pkg_name} setup.py cute.py', [ 'py -{v} test.py && py -{v} test.py > %temp%/safeprint-test-{v}.txt' .format(v=v) for v in (2, 3.5, 3.6) ], 'readme_build' ], bump_pre='test', bump_post=['dist', 'release', 'publish', 'install'], dist='python setup.py sdist bdist_wheel', release=[ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish=['twine upload dist/*{version}[.-]*', 'git push --follow-tags'], publish_err='start https://pypi.python.org/pypi/{pkg_name}/', install='pip install -e .', install_err='elevate -c -w pip install -e .', readme_build='python setup.py --long-description > %temp%/ld && ' 'rst2html --no-raw --exit-status=1 --verbose %temp%/ld %temp%/ld.html', readme_build_err=['readme_show', Exc()], readme_show='start %temp%/ld.html', readme='readme_build', readme_post='readme_show')
with BytesIO(b) as f: with ZipFile(f) as z: for name in z.namelist(): output = includes(name) if output: path = pathlib.Path(output) path.parent.mkdir(parents=True, exist_ok=True) path.write_bytes(z.read(name)) cute(pkg_name='ptt_mail_backup', build=build, lint='pylint {pkg_name} cute setup', test=['lint', 'pytest', 'readme_build'], bump_pre=['build', 'test'], bump_post=['dist', 'release', 'publish', 'install'], dist=['x-clean build dist && python setup.py sdist bdist_wheel'], release=[ 'git add .', 'git commit -m "Release v{version}"', 'git tag -a v{version} -m "Release v{version}"' ], publish=['twine upload dist/*', 'git push --follow-tags'], install='pip install -e .', readme_build=[ 'python setup.py --long-description | x-pipe build/readme/index.rst', ('rst2html5.py --no-raw --exit-status=1 --verbose ' 'build/readme/index.rst build/readme/index.html') ], readme_pre="readme_build", readme=readme)