File: justfile

package info (click to toggle)
python-stripe 12.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 12,864 kB
  • sloc: python: 157,573; makefile: 13; sh: 9
file content (81 lines) | stat: -rw-r--r-- 2,591 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
set quiet

import? '../sdk-codegen/utils.just'

VENV_NAME := ".venv"

export PATH := `pwd` / VENV_NAME / "bin:" + env('PATH')

_default:
    just --list --unsorted

# ⭐ run all unit tests
test *args: install-test-deps
    # configured in pyproject.toml
    pytest {{ args }}

# ⭐ check for potential mistakes
lint: install-dev-deps
    python -m flake8 --show-source stripe tests setup.py

# verify types. optional argument to test as of a specific minor python version (e.g. `8` to test `python 3.8`); otherwise uses current version
typecheck minor_py_version="": install-test-deps install-dev-deps
    # suppress version update warnings
    PYRIGHT_PYTHON_IGNORE_WARNINGS=1 pyright {{ if minor_py_version == "" { "" } else { "--pythonversion 3." + minor_py_version } }}

# ⭐ format all code
format: install-dev-deps
    ruff format . --quiet

# verify formatting, but don't modify files
format-check: install-dev-deps
    ruff format . --check  --quiet

# remove venv
clean:
    # clear old files too
    rm -rf {{ VENV_NAME }} venv .tox

# blow away and reinstall virtual env
reset: clean && venv

# build the package for upload
build: install-build-deps
    # --universal is deprecated, so we'll probably need to look at this eventually
    # given that we don't care about universal 2 and 3 packages, we probably don't need it?
    python -I setup.py clean --all sdist bdist_wheel --universal
    python -m twine check dist/*

# typecheck some examples w/ mypy
typecheck-examples: _install-all
    # configured in pyproject.toml
    mypy

# install the tools for local development & static checks
install-dev-deps: (install "dev")

# install everything for unit tests
install-test-deps: (install "test")

# install dependencies to build the package
install-build-deps: (install "build")

_install-all: install-dev-deps install-test-deps install-build-deps

# installs files out of a {group}-requirements.txt into the local venv; mostly used by other recipes
install group: venv
    python -I -m pip install -r deps/{{ group }}-requirements.txt --disable-pip-version-check {{ if is_dependency() == "true" {"--quiet"} else {""} }}

# create a virtualenv if it doesn't exist; always installs the local package
[private]
venv:
    [ -d {{ VENV_NAME }} ] || ( \
        python -m venv {{ VENV_NAME }} && \
        {{ VENV_NAME }}/bin/python -I -m pip install -e . --quiet --disable-pip-version-check \
    )

# called by tooling
[private]
update-version version:
    echo "{{ version }}" > VERSION
    perl -pi -e 's|VERSION = "[.\d\w]+"|VERSION = "{{ version }}"|' stripe/_version.py