diff --git a/justfile b/justfile index 05ad9419..08c3ec32 100644 --- a/justfile +++ b/justfile @@ -1,9 +1,9 @@ # Development: sync: - uv sync --all-extras --all-groups + uv sync --all-extras sync-locked: - uv sync --locked --all-extras --all-groups + uv sync --locked --all-extras format: uv run --locked black src tests @@ -42,13 +42,13 @@ update-schema: uv run --locked scripts/update_schema.py update-entry-figures: - uv run --locked scripts/update_entry_figures.py + uv run --locked --all-groups scripts/update_entry_figures.py update-examples: uv run --locked scripts/update_examples.py create-executable: - uv run --locked scripts/create_executable.py + uv run --locked --all-groups scripts/create_executable.py # Utilities: count-lines: diff --git a/pyproject.toml b/pyproject.toml index 5137ce3d..d80c40bf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,7 @@ build-backend = "uv_build" # Build-backend object for building RenderCV [project] # Metadata about RenderCV. name = 'rendercv' -version = '2.3' +version = '2.4' description = 'Typst-based CV/resume generator' authors = [{ name = 'Sina Atalay', email = 'dev@atalay.biz' }] license = "MIT" @@ -95,7 +95,6 @@ dev = [ 'pre-commit>=4.5.0', # Run checks before committing 'pytest>=9.0.2', # Run tests 'pytest-cov>=7.0.0', # Coverage plugin for pytest with xdist support - 'pyinstaller>=6.17.0', # Build executables "pytest-xdist>=3.8.0", # Run tests in parallel ] docs = [ @@ -105,9 +104,14 @@ docs = [ 'mkdocs-macros-plugin>=1.5.0', # Dynamic content in docs 'mkdocstrings[python]>=1.0.0', # Build reference docs from docstrings 'markdown-callouts>=0.4.0', # GitHub alert style admonitions - 'pdfCropMargins==2.2.1', # Generate entry figures for documentation - 'pillow==10.4.0', # Lock dependency of pdfCropMargins - 'PyMuPDF==1.26.5', # Convert PDF files to images +] +update-entry-figures = [ + 'pdfCropMargins==2.2.1', # Generate entry figures for documentation + 'pillow==10.4.0', # Lock dependency of pdfCropMargins + 'PyMuPDF==1.26.5', # Convert PDF files to images +] +create-executable = [ + 'pyinstaller>=6.17.0', # Build executables ] # Tools Settings: @@ -116,10 +120,7 @@ docs = [ # Their configurations are specified below so contributors and IDEs can pick them up automatically. [tool.uv] -default-groups = "all" - -[tool.uv.pip] -all-extras = true +default-groups = ["dev", "docs"] [tool.ruff] line-length = 88 diff --git a/uv.lock b/uv.lock index a1dc2523..52bd0a90 100644 --- a/uv.lock +++ b/uv.lock @@ -1125,7 +1125,7 @@ wheels = [ [[package]] name = "rendercv" -version = "2.3" +version = "2.4" source = { editable = "." } dependencies = [ { name = "jinja2" }, @@ -1146,10 +1146,12 @@ full = [ ] [package.dev-dependencies] +create-executable = [ + { name = "pyinstaller" }, +] dev = [ { name = "black" }, { name = "pre-commit" }, - { name = "pyinstaller" }, { name = "pyright" }, { name = "pytest" }, { name = "pytest-cov" }, @@ -1163,6 +1165,8 @@ docs = [ { name = "mkdocs-macros-plugin" }, { name = "mkdocs-material" }, { name = "mkdocstrings", extra = ["python"] }, +] +update-entry-figures = [ { name = "pdfcropmargins" }, { name = "pillow" }, { name = "pymupdf" }, @@ -1185,10 +1189,10 @@ requires-dist = [ provides-extras = ["full"] [package.metadata.requires-dev] +create-executable = [{ name = "pyinstaller", specifier = ">=6.17.0" }] dev = [ { name = "black", specifier = ">=25.12.0" }, { name = "pre-commit", specifier = ">=4.5.0" }, - { name = "pyinstaller", specifier = ">=6.17.0" }, { name = "pyright", specifier = ">=1.1.407" }, { name = "pytest", specifier = ">=9.0.2" }, { name = "pytest-cov", specifier = ">=7.0.0" }, @@ -1202,6 +1206,8 @@ docs = [ { name = "mkdocs-macros-plugin", specifier = ">=1.5.0" }, { name = "mkdocs-material", specifier = ">=9.7.0" }, { name = "mkdocstrings", extras = ["python"], specifier = ">=1.0.0" }, +] +update-entry-figures = [ { name = "pdfcropmargins", specifier = "==2.2.1" }, { name = "pillow", specifier = "==10.4.0" }, { name = "pymupdf", specifier = "==1.26.5" },