local support
Browse files- .pre-commit-config.yaml +37 -0
- .ruff.toml +7 -0
- Makefile +44 -0
- tests/__init__.py +0 -0
- tests/test_plot.py +11 -0
.pre-commit-config.yaml
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
repos:
|
| 2 |
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
| 3 |
+
rev: v4.4.0
|
| 4 |
+
hooks:
|
| 5 |
+
- id: check-toml
|
| 6 |
+
- id: end-of-file-fixer
|
| 7 |
+
- id: trailing-whitespace
|
| 8 |
+
|
| 9 |
+
- repo: https://github.com/psf/black
|
| 10 |
+
rev: 23.7.0
|
| 11 |
+
hooks:
|
| 12 |
+
- id: black
|
| 13 |
+
|
| 14 |
+
- repo: https://github.com/charliermarsh/ruff-pre-commit
|
| 15 |
+
rev: 'v0.0.286'
|
| 16 |
+
hooks:
|
| 17 |
+
- id: ruff
|
| 18 |
+
args: [ --fix, --exit-non-zero-on-fix ]
|
| 19 |
+
|
| 20 |
+
- repo: https://github.com/igorshubovych/markdownlint-cli
|
| 21 |
+
rev: v0.35.0
|
| 22 |
+
hooks:
|
| 23 |
+
- id: markdownlint-fix
|
| 24 |
+
args: [ "--ignore", "book/**/*.md" ]
|
| 25 |
+
|
| 26 |
+
- repo: https://github.com/asottile/pyupgrade
|
| 27 |
+
rev: v3.10.1
|
| 28 |
+
hooks:
|
| 29 |
+
- id: pyupgrade
|
| 30 |
+
|
| 31 |
+
- repo: https://github.com/python-jsonschema/check-jsonschema
|
| 32 |
+
rev: 0.26.3
|
| 33 |
+
hooks:
|
| 34 |
+
- id: check-dependabot
|
| 35 |
+
args: ["--verbose"]
|
| 36 |
+
- id: check-github-workflows
|
| 37 |
+
args: ["--verbose"]
|
.ruff.toml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
exclude = [
|
| 2 |
+
"*__init__.py"
|
| 3 |
+
]
|
| 4 |
+
line-length = 120
|
| 5 |
+
target-version = "py312"
|
| 6 |
+
|
| 7 |
+
select = ["E", "F", "I"]
|
Makefile
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
.DEFAULT_GOAL := help
|
| 2 |
+
|
| 3 |
+
UV_SYSTEM_PYTHON := 1
|
| 4 |
+
|
| 5 |
+
.PHONY: install
|
| 6 |
+
install: ## Install a virtual environment
|
| 7 |
+
@curl -LsSf https://astral.sh/uv/install.sh | sh
|
| 8 |
+
@uv venv
|
| 9 |
+
@uv pip install -r requirements.txt
|
| 10 |
+
@echo 'Please perform'
|
| 11 |
+
@echo 'source .venv/bin/activate'
|
| 12 |
+
|
| 13 |
+
.PHONY: fmt
|
| 14 |
+
fmt: ## Run autoformatting and linting
|
| 15 |
+
@uv pip install pre-commit
|
| 16 |
+
@uv run pre-commit install
|
| 17 |
+
@uv run pre-commit run --all-files
|
| 18 |
+
|
| 19 |
+
.PHONY: clean
|
| 20 |
+
clean: ## Clean up caches and build artifacts
|
| 21 |
+
@git clean -X -d -f
|
| 22 |
+
|
| 23 |
+
.PHONY: test
|
| 24 |
+
test: install ## Run tests
|
| 25 |
+
@uv pip install pytest
|
| 26 |
+
@uv run pytest
|
| 27 |
+
|
| 28 |
+
.PHONY: help
|
| 29 |
+
help: ## Display this help screen
|
| 30 |
+
@echo -e "\033[1mAvailable commands:\033[0m"
|
| 31 |
+
@grep -E '^[a-z.A-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-18s\033[0m %s\n", $$1, $$2}' | sort
|
| 32 |
+
|
| 33 |
+
.PHONY: deptry
|
| 34 |
+
deptry: install ## run deptry
|
| 35 |
+
@uv pip install deptry
|
| 36 |
+
@uv run deptry -vv --per-rule-ignores "DEP002=kaleido|marimo" pyscribble
|
| 37 |
+
|
| 38 |
+
.PHONY: marimo
|
| 39 |
+
marimo: install ## Install Marimo
|
| 40 |
+
@uv run marimo edit app.py
|
| 41 |
+
|
| 42 |
+
.PHONY: app
|
| 43 |
+
app: install
|
| 44 |
+
@uv run marimo run app.py
|
tests/__init__.py
ADDED
|
File without changes
|
tests/test_plot.py
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from pyscribble import create
|
| 2 |
+
|
| 3 |
+
name = "Thomas Schmelzer"
|
| 4 |
+
fct = "sinh(3*z)"
|
| 5 |
+
event = "wedding"
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def test_plot():
|
| 9 |
+
fig = create(name, fct, event, n=100)
|
| 10 |
+
# Show the figure
|
| 11 |
+
fig.show()
|