Compare commits

..

14 Commits

Author SHA1 Message Date
Bastian Venthur
f707f33fbc make linter happy 2025-07-18 11:58:35 +02:00
Bastian Venthur
3c617acfaf Merge branch 'master' into performance 2025-07-18 09:39:48 +02:00
Bastian Venthur
41b0962ec0 Merge pull request #288 from venthur/no-requirements-txt
remove requirements.txt and requirements-dev.txt
2025-07-18 09:30:55 +02:00
Bastian Venthur
720a92d72d updated changelog 2025-07-18 09:30:38 +02:00
Bastian Venthur
9b11c67253 tiny improvement on github action 2025-07-18 09:24:29 +02:00
Bastian Venthur
ce0f9f6fa7 fixed makefile and readthedocs 2025-07-18 09:24:29 +02:00
Bastian Venthur
ba4bf8481c remove requirements.txt and requirements-dev.txt 2025-07-18 09:24:26 +02:00
Bastian Venthur
ae544e3d02 Merge pull request #294 from venthur/dependabot/pip/pip-512858e340
Bump requests from 2.32.3 to 2.32.4 in the pip group
2025-07-15 09:19:42 +02:00
dependabot[bot]
904f231754 Bump requests from 2.32.3 to 2.32.4 in the pip group
Bumps the pip group with 1 update: [requests](https://github.com/psf/requests).


Updates `requests` from 2.32.3 to 2.32.4
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.3...v2.32.4)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.32.4
  dependency-type: direct:development
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-10 11:52:25 +00:00
Bastian Venthur
c94f9793b0 improved performance test 2025-01-22 14:46:14 +01:00
Bastian Venthur
5cddb62603 Merge branch 'master' into performance 2025-01-22 14:14:46 +01:00
Bastian Venthur
a3da95ea19 added benchmark 2024-10-29 12:13:05 +01:00
Bastian Venthur
c4f3c09730 WIP 2024-10-29 10:16:48 +01:00
Bastian Venthur
5943dab690 wip 2024-10-29 10:16:48 +01:00
8 changed files with 54 additions and 108 deletions

View File

@@ -1,12 +1,9 @@
name: CI/CD Pipeline
on:
- push
- pull_request
jobs:
test:
name: Test Python ${{ matrix.python-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:

View File

@@ -3,13 +3,13 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: "3.11"
python: "3.12"
mkdocs:
configuration: mkdocs.yml
python:
install:
- requirements: requirements.txt
- requirements: requirements-dev.txt
- path: .
- path: .
extra_requirements:
- dev

View File

@@ -1,5 +1,9 @@
# Changelog
## [unreleased] --
* Removed requirements.txt and requirements-dev.txt
## [2.3.3] -- 2025-04-27
* Fixed Atom feed encoding to 'utf-8'

View File

@@ -16,11 +16,9 @@ endif
.PHONY: all
all: lint mypy test test-release
$(VENV): requirements.txt requirements-dev.txt pyproject.toml
$(VENV): pyproject.toml
$(PY) -m venv $(VENV)
$(BIN)/pip install --upgrade -r requirements.txt
$(BIN)/pip install --upgrade -r requirements-dev.txt
$(BIN)/pip install -e .['dev']
$(BIN)/pip install --upgrade -e .['dev']
touch $(VENV)
.PHONY: test
@@ -53,11 +51,6 @@ update-pygmentize: $(VENV)
$(BIN)/pygmentize -f html -S default > blag/static/code-light.css
$(BIN)/pygmentize -f html -S monokai > blag/static/code-dark.css
.PHONY: update-requirements
update-requirements: $(VENV)
$(BIN)/pip-compile --upgrade --no-annotate --strip-extras --output-file requirements.txt
$(BIN)/pip-compile --upgrade --no-annotate --strip-extras --extra dev --output-file requirements-dev.txt
.PHONY: docs
docs: $(VENV)
$(BIN)/mkdocs build
@@ -70,6 +63,10 @@ serve-docs: $(VENV)
manpage: $(VENV)
help2man $(BIN)/blag --no-info -n "blog-aware, static site generator" -o debian/blag.1
.PHONY: benchmark
benchmark: $(VENV)
$(BIN)/pytest --no-cov -s -rP tests/benchmark.py
.PHONY: clean
clean:
rm -rf build dist *.egg-info

View File

@@ -35,7 +35,6 @@ dev = [
"mkdocs-material",
"mkdocstrings[python]",
"mypy",
"pip-tools",
"pytest",
"pytest-cov",
"ruff",

View File

@@ -1,79 +0,0 @@
#
# This file is autogenerated by pip-compile with Python 3.13
# by the following command:
#
# pip-compile --extra=dev --no-annotate --output-file=requirements-dev.txt --strip-extras
#
babel==2.17.0
backrefs==5.8
build==1.2.2.post1
certifi==2025.1.31
cffi==1.17.1
charset-normalizer==3.4.1
click==8.1.8
colorama==0.4.6
coverage==7.8.0
cryptography==44.0.2
docutils==0.21.2
feedgenerator==2.1.0
ghp-import==2.1.0
griffe==1.7.2
id==1.5.0
idna==3.10
iniconfig==2.1.0
jaraco-classes==3.4.0
jaraco-context==6.0.1
jaraco-functools==4.1.0
jeepney==0.9.0
jinja2==3.1.6
keyring==25.6.0
markdown==3.7
markdown-it-py==3.0.0
markupsafe==3.0.2
mdurl==0.1.2
mergedeep==1.3.4
mkdocs==1.6.1
mkdocs-autorefs==1.4.1
mkdocs-get-deps==0.2.0
mkdocs-material==9.6.11
mkdocs-material-extensions==1.3.1
mkdocstrings==0.29.1
mkdocstrings-python==1.16.10
more-itertools==10.6.0
mypy==1.15.0
mypy-extensions==1.0.0
nh3==0.2.21
packaging==24.2
paginate==0.5.7
pathspec==0.12.1
pip-tools==7.4.1
platformdirs==4.3.7
pluggy==1.5.0
pycparser==2.22
pygments==2.19.1
pymdown-extensions==10.14.3
pyproject-hooks==1.2.0
pytest==8.3.5
pytest-cov==6.1.1
python-dateutil==2.9.0.post0
pytz==2025.2
pyyaml==6.0.2
pyyaml-env-tag==0.1
readme-renderer==44.0
requests==2.32.3
requests-toolbelt==1.0.0
rfc3986==2.0.0
rich==14.0.0
ruff==0.11.4
secretstorage==3.3.3
six==1.17.0
twine==6.1.0
types-markdown==3.7.0.20250322
typing-extensions==4.13.1
urllib3==2.3.0
watchdog==6.0.0
wheel==0.45.1
# The following packages are considered to be unsafe in a requirements file:
# pip
# setuptools

View File

@@ -1,12 +0,0 @@
#
# This file is autogenerated by pip-compile with Python 3.13
# by the following command:
#
# pip-compile --no-annotate --output-file=requirements.txt --strip-extras
#
feedgenerator==2.1.0
jinja2==3.1.6
markdown==3.7
markupsafe==3.0.2
pygments==2.19.1
pytz==2025.2

40
tests/benchmark.py Normal file
View File

@@ -0,0 +1,40 @@
"""Benchmark for Blag."""
import os
from argparse import Namespace
import blag
from blag.blag import build
def test_performance(args: Namespace) -> None:
"""Test performance.
This test checks how quickly blag can generate `FILES` amount of pages from
markdown.
"""
FILES = 1000
print(f"Generating {FILES} files")
# create random markdown files in the content directory
with open(os.path.join(blag.__path__[0], "content", "testpage.md")) as fh:
markdown = fh.read()
for i in range(FILES):
with open(f"content/{i}.md", "w") as f:
f.write(markdown)
f.write(str(i))
from time import time
t = time()
build(args)
t_first = time() - t
print(t_first)
t = time()
build(args)
t_second = time() - t
print(t_second)
print(f"First run: {t_first:.2f}s, second run: {t_second:.2f}s")
print(f"Speedup: {t_first/t_second:.2f}")