Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open
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
22 changes: 22 additions & 0 deletions 22 .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: UNIT TESTS
on: push

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
- name: Install UV
uses: astral-sh/setup-uv@v5
- name: "Setup Python ${{ matrix.python-version }}"
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: uv sync --all-groups
- name: Run Tests
run: uv run pytest --cov=assertpy --cov-report term-missing tests/
27 changes: 27 additions & 0 deletions 27 .github/workflows/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: PYPI_DEPLOYMENT
on:
workflow_dispatch:

jobs:
deploy:
name: Upload to PyPi
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/assertpy
permissions:
id-token: write
steps:
- uses: actions/checkout@v3
- name: setup python
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Install Build
run: pip install --upgrade build
- name: Build Deployments
run: python -m build
- name: Publish Package
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PY_PI }}
139 changes: 120 additions & 19 deletions 139 .gitignore
Original file line number Diff line number Diff line change
@@ -1,29 +1,130 @@
# .gitignore
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
.pytest_cache
__pycache__
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# testing output
*.xml
# Translations
*.mo
*.pot

# Django stuff:
*.log
cover
.coverage
htmlcov
__snapshots
mycustompath
local_settings.py
db.sqlite3

# packaging
MANIFEST
dist
# Flask stuff:
instance/
.webassets-cache

# mac
.DS_Store
# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# IDE
/.idea
.vscode
# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

/.idea/
*.iml
/.settings/


__snapshots
mycustompath
.coveragerc

# docs output
docs/build
docs/out

.DS_Store

1 change: 1 addition & 0 deletions 1 VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1.2.0
2 changes: 1 addition & 1 deletion 2 assertpy/assertpy.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
from .snapshot import SnapshotMixin
from .string import StringMixin

__version__ = '1.1'
__version__ = '1.2.0'

__tracebackhide__ = True # clean tracebacks via py.test integration
contextlib.__tracebackhide__ = True # monkey patch contextlib with clean py.test tracebacks
Expand Down
62 changes: 62 additions & 0 deletions 62 pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
[build-system]
requires = ["setuptools>=64", "wheel", "setuptools-scm>=8", "setuptools-git-versioning>=2.0,<3"]
build-backend = "setuptools.build_meta"

[project]
name = "assertpy"
description = "Simple assertion library for unit testing in python with a fluent API"
dynamic = ["version"]
requires-python = ">=3.8"
dependencies = []
license={file = "LICENSE"}
readme = "README.md"
authors = [
{ name = "Justin Shacklette", email = "justin@saturnboy.com"}
]

keywords=['test', 'testing', 'assert', 'assertion', 'assertthat', 'assert_that', 'nose', 'nosetests', 'pytest', 'unittest']

classifiers = [
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Topic :: Software Development',
'Topic :: Software Development :: Testing'
]

[project.urls]
"Homepage" = "https://github.com/assertpy/assertpy"
"Repository" = "https://github.com/assertpy/assertpy"
"Documentation" = "https://assertpy.github.io/docs.html"
"Issue Tracker" = "https://github.com/assertpy/assertpy/issues"

[dependency-groups]
dev = [
"pytest>=8.3.5",
"pytest-cov>=5.0.0",
"requests>=2.32.3",
]


[tool.setuptools-git-versioning]
enabled = true
version_file = "VERSION"


[tool.pytest.ini_options]
pythonpath = ["."]


[tool.pylint.main]
source-roots = ["."]
68 changes: 0 additions & 68 deletions 68 setup.py

This file was deleted.

Loading
Morty Proxy This is a proxified and sanitized view of the page, visit original site.