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
5 changes: 0 additions & 5 deletions .github/workflows/editorconfig.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,6 @@ jobs:
- name: Install editorconfig-checker
uses: editorconfig-checker/action-editorconfig-checker@main

- name: Install Mise
uses: jdx/mise-action@v3
with:
experimental: true

- name: Install just
uses: extractions/setup-just@v3

Expand Down
13 changes: 4 additions & 9 deletions .github/workflows/format.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,16 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- name: Install Poetry
uses: abatilo/actions-poetry@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
poetry-version: "2.2.1"

- name: Install Mise
uses: jdx/mise-action@v3
with:
experimental: true
version: "0.9.2"

- name: Install just
uses: extractions/setup-just@v3

- name: Install optional
run: poetry install --all-extras
run: uv sync --all-extras

- name: Run Formatter
run: just format
13 changes: 4 additions & 9 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,16 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- name: Install Poetry
uses: abatilo/actions-poetry@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
poetry-version: "2.2.1"

- name: Install Mise
uses: jdx/mise-action@v3
with:
experimental: true
version: "0.9.2"

- name: Install Just
uses: extractions/setup-just@v3

- name: Install optional
run: poetry install --all-extras
run: uv sync --all-extras

- name: Run Linter
run: just lint
13 changes: 4 additions & 9 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,16 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- name: Install Poetry
uses: abatilo/actions-poetry@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
poetry-version: "2.2.1"

- name: Install Mise
uses: jdx/mise-action@v3
with:
experimental: true
version: "0.9.2"

- name: Install just
uses: extractions/setup-just@v3

- name: Install optional
run: poetry install --all-extras
run: uv sync --all-extras

- name: Run Unit Tests
run: just test
106 changes: 6 additions & 100 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,107 +1,13 @@
# Editor Stuff
.idea/

# Byte-compiled / optimized / DLL files
# Python-generated files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
*.py[oc]
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
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/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy
*.egg-info

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

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

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
# Coverage
.coverage
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,16 +171,16 @@ There is complete test coverage and they pass in all Python versions 3.10 and up

### Running Unit Tests

First, install `poetry` using the instructions located [here](https://python-poetry.org/docs/#installation).
First, install `uv` using the instructions located [here](https://docs.astral.sh/uv/getting-started/installation).

Then, install the requirements using:

```bash
poetry install --all-extras
uv sync --all-extras
```

You can run the tests (with coverage) using:

```bash
poetry run pytest
uv run pytest
```
8 changes: 4 additions & 4 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ commands:

# Run unit tests
test:
@poetry run python -m pytest
@uv run python -m pytest

# Lint source code
[parallel]
Expand All @@ -13,16 +13,16 @@ lint: lint-ruff lint-basedpyright
# Lint code using ruff
[private]
lint-ruff:
@poetry run python -m ruff check optional tests
@uv run python -m ruff check src tests

# Lint code using basedpyright
[private]
lint-basedpyright:
@poetry run python -m basedpyright optional tests
@uv run python -m basedpyright src tests

# Format code using ruff
format:
@poetry run python -m ruff format optional tests
@uv run python -m ruff format src tests

# Check for editorconfig violations using editorconfig-checker
editorconfig:
Expand Down
Loading