Delfino core plugin
Project description
🔌 Delfino Core 🔌
A Delfino plugin with core functionality.
Commands
| Command | Description |
|---|---|
| coverage-open | Open coverage results in default browser. |
| coverage-report | Analyse coverage and generate a term/HTML report. |
| dependencies-update | Manages the process of updating dependencies. |
| ensure-pre-commit | Ensures pre-commit is installed and enabled. |
| gh | Extends gh or passes through. |
| glab | Extends glab or passes through. |
| mypy | Run type checking on source code. |
| pre-commit | Run all pre-commit stages in the current project... |
| pytest | Runs pytest for individual test suites. |
| pytest-integration | Run integration tests. |
| pytest-unit | Run unit tests. |
| ruff | Run ruff. |
| switch-python-version | Switches Python venv to a different Python version. |
| test | Runs pytest, coverage-report. |
| vcs | Alias for gh/glab with auto-detection. |
| verify | Runs ensure-pre-commit, ruff, mypy, test. |
Installation
- pip:
pip install delfino-core - Poetry:
poetry add -D delfino-core - Pipenv:
pipenv install -d delfino-core
Optional dependencies
Each project may use different sub-set of commands. Therefore, dependencies of all commands are optional and checked only when the command is executed.
Using [all] installs all the optional dependencies used by all the commands. If you want only a sub-set of those dependencies, there are finer-grained groups available:
- For individual commands (matches the command names):
mypyruffdependencies-updatepre-commitvsc
- For groups of commands:
test- for testing and coverage commands
- For groups of groups:
verify- same as[mypy,ruff]all- all optional packages
Configuration
Delfino doesn't load any plugins by default. To enable this plugin, add the following config into pyproject.toml:
[tool.delfino.plugins.delfino-core]
Plugin configuration
This plugin has several options. All the values are optional and defaults are shown below:
[tool.delfino.plugins.delfino-core]
# Source files - may have different rules than tests (usually stricter)
sources_directory = "src"
# Test files
tests_directory = "tests"
# Where to store reports generated by various tools
reports_directory = "reports"
# Types of tests you have nested under the `tests_directory`. Will be executed in given order.
test_types = ["unit", "integration"]
# One or more module to wrap `pytest` in, executing it as `python -m <MODULE> pytest ...`
pytest_modules = []
# Coommand groups and commands to run as a quality gate in given order.
verify_commands = ["ensure-pre-commit", "ruff", "mypy", "test"]
test_commands = ["pytest", "coverage-report"]
# Do not install pre-commit if this is set to true.
disable_pre_commit = false
Commands configuration
Several commands have their own configuration as well.
mypy
[tool.delfino.plugins.delfino-core.mypy]
# One or more directories where type hint will be required. By default they are optional.
strict_directories = []
vcs
[tool.delfino.plugins.delfino-core.vcs]
# Enable to manually specify the branch prefix. By default it is set to git username.
# branch_prefix = ""
[tool.delfino.plugins.delfino-core.vcs.issue_tracking]
# Prefix for issue numbers, including a trailing hyphen if used. If not set, just the issue numbers will be used.
# issue_prefix = "ISSUE-"
# URL for the issue tracker. If not set, issue tracker integration will be disabled.
# Implemented trackers: Jira.
# tracker_url = "https://<SUBDOMAIN>.atlassian.net"
# Environment variable name for the issue tracking username. If not set, 'ISSUE_TRACKER_USERNAME' will be used by default.
# username_env_var = ""
# Environment variable name for the issue tracking API key. If not set, 'ISSUE_TRACKER_API_KEY' will be used by default.
# api_key_env_var = ""
Usage
Run delfino --help.
Development
To develop against editable delfino sources:
- Make sure
delfinosources are next to this plugin:cd .. git clone https://github.com/radeklat/delfino.git
- Install
delfinoas editable package:pip install -e ../delfino
Note that poetry will reset this to the released package when you install/update anything.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file delfino_core-10.0.1-py3-none-any.whl.
File metadata
- Download URL: delfino_core-10.0.1-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fdf19aa15042d07414478f4e9871722ab905f51657f0292830220315600f19a
|
|
| MD5 |
f0290680eca8a35186d1fa7ca57f67ba
|
|
| BLAKE2b-256 |
b42d684626f72b5f845cfc6b59b8612a9ee04a6e51eed461631e7bd486849edf
|