Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 8 additions & 9 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,23 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.13'
architecture: 'x64'
python-version: '3.x'

- name: Install dependencies and package
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install ".[build]"

- name: Build source and binary distribution package
run: |
python setup.py sdist bdist_wheel
env:
PACKAGE_VERSION: ${{ github.ref }}
python -m build

- name: Check distribution package
run: |
Expand Down
49 changes: 24 additions & 25 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,39 @@ name: Run linter and tests
on: [push, pull_request]

jobs:
test:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- '3.10'
- '3.11'
- '3.12'
- '3.13'
- '3.14'

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies and package
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Install dependencies and package
run: |
python -m pip install --upgrade pip
pip install -e ".[test,dev]"

- name: Run linters and format checks
run: |
pre-commit run --all-files
- name: Run lint and code review
run: |
pre-commit run --all-files

- name: Run tests
run: |
# run tests with coverage
coverage run --source='./deepcompare' -m pytest
coverage xml
- name: Run tests with coverage
run: |
coverage run --source='./deepcompare' -m pytest
coverage xml

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ coverage.xml
*.egg-info
*.pyc
*.pyo
*.sqlite*
build/
dist/
10 changes: 5 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
rev: v6.0.0
hooks:
- id: check-merge-conflict
- id: end-of-file-fixer
Expand All @@ -9,18 +9,18 @@ repos:
args: ["--markdown-linebreak-ext=md"]

- repo: https://github.com/asottile/pyupgrade
rev: v3.17.0
rev: v3.21.2
hooks:
- id: pyupgrade
args: ["--py39-plus"]
args: ["--py310-plus"]

- repo: https://github.com/asottile/add-trailing-comma
rev: v3.1.0
rev: v4.0.0
hooks:
- id: add-trailing-comma

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.9
rev: v0.14.14
hooks:
- id: ruff
args: [ --fix ]
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2021 ANEXIA Internetdienstleisungs GmbH
Copyright (c) 2021-2026 Anexia

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
7 changes: 7 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Reporting Security Issues

Please report any security issues you discovered to opensource[at]anexia-it[dot]com

We will assess the risk, plus make a fix available before we create a GitHub issue.

Thank you for your contribution.
53 changes: 49 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,51 @@
[build-system]
requires = [
"setuptools>=75",
"wheel",
]
requires = ["setuptools>=75", "wheel", "setuptools_scm[toml]>=8"]
build-backend = "setuptools.build_meta"

[project]
name = "python-deepcompare"
dynamic = ["version"]
description = "A library for deep comparison of data structures consisting of dict, list and tuple."
readme = "README.md"
requires-python = ">=3.10"
license = {file = "LICENSE"}
authors = [{name = "Anexia", email = "opensource@anexia-it.com"}]
urls = {Homepage = "https://github.com/anexia/python-deepcompare"}
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dependencies = [
]

[project.optional-dependencies]
test = [
"coverage>=7.13.2",
"pytest>=8",
]
dev = [
"pre-commit>=4.5,<4.6",
]
build = [
"build>=1.4.0",
"twine>=6.2.0",
"wheel>=0.46.3",
]

[tool.setuptools]
include-package-data = true

[tool.setuptools.packages.find]
where = ["."]
include = ["deepcompare*"]

[tool.setuptools_scm]
10 changes: 0 additions & 10 deletions requirements.txt

This file was deleted.

38 changes: 0 additions & 38 deletions setup.py

This file was deleted.

Empty file added tests/__init__.py
Empty file.
Loading