Skip to content

Commit

Permalink
update from template
Browse files Browse the repository at this point in the history
  • Loading branch information
tsvikas committed Mar 5, 2025
1 parent ca2a4ad commit c570ffa
Show file tree
Hide file tree
Showing 14 changed files with 399 additions and 547 deletions.
10 changes: 5 additions & 5 deletions .copier-answers.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
_commit: v0.11.2
_commit: v0.13.1-10-ge54ad77
_src_path: gh:tsvikas/python-template
email: [email protected]
format_tool: black
full_name: Tsvika Shapira
get_package_version_from_vcs: true
github_user: tsvikas
has_cli: true
jupyter_files: forbid
license: MIT
package_description: display jupyter notebooks in the terminal.
package_name: nbcat
project_name: nbcat
python_minor: 9
username: tsvikas
python_min: 9
user_email: [email protected]
user_name: Tsvika Shapira
year: 2025
4 changes: 4 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true

# LICENSE files
[*LICENSE*]
indent_size = 1

# 4-space, traditionally compiled without bytecode or JIT --
# Julia, Rust, D, C++, Objective-C, C, Fortran, and Assembly
# We exclude Fortran fixed-form (e.g. .f/.ftn); these have weird indentation rules
Expand Down
45 changes: 45 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
version: 2
updates:
- package-ecosystem: "gitsubmodule"
directory: "/"
schedule:
interval: "weekly"
groups:
git-submodules:
patterns:
- "*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
groups:
github-actions:
patterns:
- "*"
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
groups:
# python-security:
# applies-to: "security-updates"
# dependency-type: "production"
# patterns:
# - "*"
# python-production:
# applies-to: "version-updates"
# dependency-type: "production"
# patterns:
# - "*"
# python-development-major:
# dependency-type: "development"
# update-types: ["major"]
# patterns:
# - "*"
# python-development:
# dependency-type: "development"
# patterns:
# - "*"
python-packages:
patterns:
- "*"
144 changes: 144 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
name: CI

on:
workflow_dispatch:
pull_request:
push:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
black:
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: psf/black@stable
with:
jupyter: false
version: "~=25.0"

ruff-check:
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/ruff-action@v3

pre-commit:
if: ${{ always() }}
env:
COLUMNS: 120
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pre-commit/[email protected]

mypy:
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
- name: Install packages
run: >-
uv sync
--all-extras
--no-default-groups
--group typing
--group test
--exact
--locked
- name: List packages
run: uv pip list
- name: Run mypy
run: uv run --no-sync mypy

test:
if: ${{ always() }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
resolution:
- "highest"
os:
- ubuntu-latest
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "pypy3.10"
- "pypy3.11"
include:
# test with lowest resolution
- resolution: "lowest"
os: ubuntu-latest
python-version: "3.9"
- resolution: "lowest"
os: ubuntu-latest
python-version: "3.13"
# test on os
- resolution: "locked"
os: ubuntu-latest
python-version: "3.9"
- resolution: "locked"
os: macos-latest
python-version: "3.9"
- resolution: "locked"
os: windows-latest
python-version: "3.9"
# test on prerelease
- resolution: "prerelease"
os: ubuntu-latest
python-version: "3.13"
- resolution: "prerelease"
os: ubuntu-latest
python-version: "3.14"
continue-on-error: ${{ matrix.resolution == 'prerelease' }}
name: test-${{ matrix.python-version }}-${{ matrix.resolution }}-${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
with:
python-version: ${{ matrix.python-version }}
cache-suffix: ${{ matrix.resolution }}
- name: Install packages
run: >-
uv sync
--all-extras
--no-default-groups
--group test
--exact
${{ matrix.resolution == 'locked' && '--locked' ||
matrix.resolution == 'lowest' && '--upgrade --resolution lowest-direct' ||
matrix.resolution == 'highest' && '--upgrade --resolution highest' ||
matrix.resolution == 'prerelease' && '--upgrade --resolution highest --prerelease allow' ||
'--NON_RECOGNIZED_RESOLUTION'
}}
- name: List packages
run: uv pip list
- name: Run tests
run: uv run --no-sync pytest

pylint:
if: ${{ always() }}
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
- name: Install packages
run: >-
uv sync
--all-extras
--no-default-groups
--exact
--locked
- name: List packages
run: uv pip list
- name: Run Pylint
run: uv run --no-sync --with pylint pylint src
75 changes: 0 additions & 75 deletions .github/workflows/lint_and_test.yml

This file was deleted.

7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,16 @@ venv/
.hypothesis/
.benchmarks/

# PyCharm
.idea/
# Secrets
.env

# jupyter
.ipynb_checkpoints/

# TODO
TODO*

# LLMs
CLAUDE.md

# specific to this project:
19 changes: 0 additions & 19 deletions .justfile

This file was deleted.

Loading

0 comments on commit c570ffa

Please sign in to comment.