summaryrefslogtreecommitdiff
path: root/Biz/Bild
diff options
context:
space:
mode:
Diffstat (limited to 'Biz/Bild')
-rw-r--r--Biz/Bild/Builder.nix22
-rw-r--r--Biz/Bild/Example.py22
2 files changed, 27 insertions, 17 deletions
diff --git a/Biz/Bild/Builder.nix b/Biz/Bild/Builder.nix
index d2e6875..4bef830 100644
--- a/Biz/Bild/Builder.nix
+++ b/Biz/Bild/Builder.nix
@@ -110,14 +110,14 @@ let
inherit name src CODEROOT;
propagatedBuildInputs = langdeps_ ++ sysdeps_;
buildInputs = sysdeps_;
- nativeCheckInputs = [ black mypy ruff ];
+ nativeCheckInputs = lib.attrsets.attrVals [ "mypy" "ruff" ] bild.pkgs;
checkPhase = ''
check() {
$@ || { echo "fail: $name: $3"; exit 1; }
}
cp ${../../pyproject.toml} ./pyproject.toml
- check python -m black --quiet --exclude 'setup\.py$' --check .
- check ${ruff}/bin/ruff check .
+ check ruff format --exclude 'setup.py' --check .
+ check ruff check --exclude 'setup.py' --exclude '__init__.py' .
touch ./py.typed
check python -m mypy \
--explicit-package-bases \
@@ -133,15 +133,15 @@ let
find . -type d -exec touch {}/__init__.py \;
# generate a minimal setup.py
cat > setup.py << EOF
- from setuptools import setup, find_packages
+ from setuptools import find_packages, setup
setup(
- name='${name}',
- entry_points={'console_scripts':['${name} = ${mainModule}:main']},
- version='0.0.0',
- url='git://simatime.com/biz.git',
- author='dev',
- author_email='dev@simatime.com',
- description='nil',
+ name="${name}",
+ entry_points={"console_scripts":["${name} = ${mainModule}:main"]},
+ version="0.0.0",
+ url="git://simatime.com/biz.git",
+ author="dev",
+ author_email="dev@simatime.com",
+ description="nil",
packages=find_packages(),
install_requires=[],
)
diff --git a/Biz/Bild/Example.py b/Biz/Bild/Example.py
index 5d165d8..1bd30ae 100644
--- a/Biz/Bild/Example.py
+++ b/Biz/Bild/Example.py
@@ -1,32 +1,42 @@
"""
+Test that bild can build Python stuff.
+
Example Python file that also serves as a test case for bild.
"""
+
# : out example
# : dep cryptography
import sys
+
import cryptography.fernet
def cryptic_hello(name: str) -> str:
- "Example taken from `cryptography` docs."
+ """
+ Encrypt and decrypt `name`.
+
+ Example taken from `cryptography` docs.
+ """
key = cryptography.fernet.Fernet.generate_key()
f = cryptography.fernet.Fernet(key)
token = f.encrypt(hello(name).encode("utf-8"))
ret = f.decrypt(token).decode("utf-8")
- assert ret == hello(name)
+ if ret != hello(name):
+ msg = "en/decryption failed!"
+ raise ValueError(msg)
return ret
def hello(name: str) -> str:
- "Say hello"
+ """Say hello."""
return f"Hello {name}"
def main() -> None:
- "Entrypoint"
+ """Entrypoint."""
if "test" in sys.argv:
- print("testing success")
- print(cryptic_hello("world"))
+ sys.stdout.write("testing success")
+ sys.stdout.write(cryptic_hello("world"))
if __name__ == "__main__":