Skip to content

Converge on a single build system/specification #304

@banesullivan

Description

@banesullivan

We seem to have some duplicate build specs between Hatch and the standard project spec

For example, we have two definitions of development dependencies:

with the standard build tools

pyosMeta/pyproject.toml

Lines 39 to 47 in bcb76bd

[project.optional-dependencies]
dev = [
"black",
"flake8",
"pre-commit",
"pytest",
"pytest-cov",
"pytest-mock",
]

and with hatch

pyosMeta/pyproject.toml

Lines 74 to 75 in bcb76bd

[tool.hatch.envs.test]
dependencies = ["pytest", "pytest-cov", "coverage[toml]", "pytest-mock"]

This means that if we add a new test dependency it has to be added in two places (which took me a bit to figure out in #301). Perhaps we're doing this wrong and that hatch section should point to the already defined dev dependencies?

I'm not familiar with Hatch or what it provides but it feels a bit redundant here. I'm not against going with Hatch here, I just think we ought to converge on a single spec to prevent needing to update dependencies or scripts in multiple places... perhaps someone more familiar with Hatch can help me correct this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions