Skip to content

Commit ea266e2

Browse files
authored
Merge pull request #397 from sanders41/pre-commit
Add pre-commit as a default installed dev package
2 parents 9cfd378 + 366ffa8 commit ea266e2

10 files changed

+13
-8
lines changed

src/package_version.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use anyhow::Result;
77
pub enum PythonPackage {
88
Maturin,
99
MyPy,
10+
PreCommit,
1011
Pytest,
1112
PytestCov,
1213
Ruff,
@@ -18,6 +19,7 @@ impl fmt::Display for PythonPackage {
1819
match self {
1920
PythonPackage::Maturin => write!(f, "maturin"),
2021
PythonPackage::MyPy => write!(f, "mypy"),
22+
PythonPackage::PreCommit => write!(f, "pre-commit"),
2123
PythonPackage::Pytest => write!(f, "pytest"),
2224
PythonPackage::PytestCov => write!(f, "pytest-cov"),
2325
PythonPackage::Ruff => write!(f, "ruff"),
@@ -98,6 +100,7 @@ impl LatestVersion for PythonPackageVersion {
98100
fn get_latest_version(&mut self) -> Result<()> {
99101
let name = self.package.to_string();
100102
let url = format!("https://pypi.org/pypi/{}/json", name);
103+
println!("{url}");
101104
let client = reqwest::blocking::Client::new();
102105
let response = client
103106
.get(url)
@@ -150,6 +153,7 @@ pub fn default_version(package: &PythonPackage) -> String {
150153
match package {
151154
PythonPackage::Maturin => "1.7.0".to_string(),
152155
PythonPackage::MyPy => "1.11.1".to_string(),
156+
PythonPackage::PreCommit => "3.8.0".to_string(),
153157
PythonPackage::Pytest => "8.3.2".to_string(),
154158
PythonPackage::PytestCov => "5.0.0".to_string(),
155159
PythonPackage::Ruff => "0.5.6".to_string(),

src/project_generator.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ fn build_latest_dev_dependencies(
272272
let mut version_string = String::new();
273273
let mut packages = vec![
274274
PythonPackageVersion::new(PythonPackage::MyPy),
275+
PythonPackageVersion::new(PythonPackage::PreCommit),
275276
PythonPackageVersion::new(PythonPackage::Pytest),
276277
PythonPackageVersion::new(PythonPackage::PytestCov),
277278
PythonPackageVersion::new(PythonPackage::Ruff),

src/snapshots/python_project__project_generator__tests__create_poetry_pyproject_toml_mit_lib.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
source: src/project_generator.rs
33
expression: content
44
---
5-
"[tool.poetry]\nname = \"my-project\"\nversion = \"0.1.7\"\ndescription = \"This is a test\"\nauthors = [\"Arthur Dent <[email protected]>\"]\nlicense = \"MIT\"\nreadme = \"README.md\"\n\n[tool.poetry.dependencies]\npython = \"^3.9\"\n\n[tool.poetry.group.dev.dependencies]\nmypy = \"1.11.1\"\npytest = \"8.3.2\"\npytest-cov = \"5.0.0\"\nruff = \"0.5.6\"\ntomli = {version = \"2.0.1\", python = \"<3.11\"}\n\n[build-system]\nrequires = [\"poetry-core>=1.0.0\"]\nbuild-backend = \"poetry.core.masonry.api\"\n\n[tool.mypy]\ncheck_untyped_defs = true\ndisallow_untyped_defs = true\n\n[[tool.mypy.overrides]]\nmodule = [\"tests.*\"]\ndisallow_untyped_defs = false\n\n[tool.pytest.ini_options]\nminversion = \"6.0\"\naddopts = \"--cov=my_project --cov-report term-missing --no-cov-on-fail\"\n\n[tool.coverage.report]\nexclude_lines = [\"if __name__ == .__main__.:\", \"pragma: no cover\"]\n\n[tool.ruff]\nline-length = 100\ntarget-version = \"py39\"\nfix = true\n\n[tool.ruff.lint]\nselect = [\"E\", \"B\", \"F\", \"UP\", \"I001\", \"T201\", \"T203\"]\nignore=[\n # Recommended ignores by ruff when using formatter\n \"E501\",\n \"W191\",\n \"E111\",\n \"E114\",\n \"E117\",\n \"D206\",\n \"D300\",\n \"Q000\",\n \"Q001\",\n \"Q002\",\n \"Q003\",\n \"COM812\",\n \"COM819\",\n \"ISC001\",\n \"ISC002\",\n]\n"
5+
"[tool.poetry]\nname = \"my-project\"\nversion = \"0.1.7\"\ndescription = \"This is a test\"\nauthors = [\"Arthur Dent <[email protected]>\"]\nlicense = \"MIT\"\nreadme = \"README.md\"\n\n[tool.poetry.dependencies]\npython = \"^3.9\"\n\n[tool.poetry.group.dev.dependencies]\nmypy = \"1.11.1\"\npre-commit = \"3.8.0\"\npytest = \"8.3.2\"\npytest-cov = \"5.0.0\"\nruff = \"0.5.6\"\ntomli = {version = \"2.0.1\", python = \"<3.11\"}\n\n[build-system]\nrequires = [\"poetry-core>=1.0.0\"]\nbuild-backend = \"poetry.core.masonry.api\"\n\n[tool.mypy]\ncheck_untyped_defs = true\ndisallow_untyped_defs = true\n\n[[tool.mypy.overrides]]\nmodule = [\"tests.*\"]\ndisallow_untyped_defs = false\n\n[tool.pytest.ini_options]\nminversion = \"6.0\"\naddopts = \"--cov=my_project --cov-report term-missing --no-cov-on-fail\"\n\n[tool.coverage.report]\nexclude_lines = [\"if __name__ == .__main__.:\", \"pragma: no cover\"]\n\n[tool.ruff]\nline-length = 100\ntarget-version = \"py39\"\nfix = true\n\n[tool.ruff.lint]\nselect = [\"E\", \"B\", \"F\", \"UP\", \"I001\", \"T201\", \"T203\"]\nignore=[\n # Recommended ignores by ruff when using formatter\n \"E501\",\n \"W191\",\n \"E111\",\n \"E114\",\n \"E117\",\n \"D206\",\n \"D300\",\n \"Q000\",\n \"Q001\",\n \"Q002\",\n \"Q003\",\n \"COM812\",\n \"COM819\",\n \"ISC001\",\n \"ISC002\",\n]\n"

src/snapshots/python_project__project_generator__tests__save_poetry_pyproject_toml_file_apache_application.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
source: src/project_generator.rs
33
expression: content
44
---
5-
"[tool.poetry]\nname = \"my-project\"\nversion = \"0.1.7\"\ndescription = \"This is a test\"\nauthors = [\"Arthur Dent <[email protected]>\"]\nlicense = \"Apache-2.0\"\nreadme = \"README.md\"\n\n[tool.poetry.dependencies]\npython = \"^3.9\"\n\n[tool.poetry.group.dev.dependencies]\nmypy = \"1.11.1\"\npytest = \"8.3.2\"\npytest-cov = \"5.0.0\"\nruff = \"0.5.6\"\ntomli = {version = \"2.0.1\", python = \"<3.11\"}\n\n[build-system]\nrequires = [\"poetry-core>=1.0.0\"]\nbuild-backend = \"poetry.core.masonry.api\"\n\n[tool.mypy]\ncheck_untyped_defs = true\ndisallow_untyped_defs = true\n\n[[tool.mypy.overrides]]\nmodule = [\"tests.*\"]\ndisallow_untyped_defs = false\n\n[tool.pytest.ini_options]\nminversion = \"6.0\"\naddopts = \"--cov=my_project --cov-report term-missing --no-cov-on-fail\"\n\n[tool.coverage.report]\nexclude_lines = [\"if __name__ == .__main__.:\", \"pragma: no cover\"]\n\n[tool.ruff]\nline-length = 100\ntarget-version = \"py39\"\nfix = true\n\n[tool.ruff.lint]\nselect = [\"E\", \"B\", \"F\", \"UP\", \"I001\", \"T201\", \"T203\"]\nignore=[\n # Recommended ignores by ruff when using formatter\n \"E501\",\n \"W191\",\n \"E111\",\n \"E114\",\n \"E117\",\n \"D206\",\n \"D300\",\n \"Q000\",\n \"Q001\",\n \"Q002\",\n \"Q003\",\n \"COM812\",\n \"COM819\",\n \"ISC001\",\n \"ISC002\",\n]\n"
5+
"[tool.poetry]\nname = \"my-project\"\nversion = \"0.1.7\"\ndescription = \"This is a test\"\nauthors = [\"Arthur Dent <[email protected]>\"]\nlicense = \"Apache-2.0\"\nreadme = \"README.md\"\n\n[tool.poetry.dependencies]\npython = \"^3.9\"\n\n[tool.poetry.group.dev.dependencies]\nmypy = \"1.11.1\"\npre-commit = \"3.8.0\"\npytest = \"8.3.2\"\npytest-cov = \"5.0.0\"\nruff = \"0.5.6\"\ntomli = {version = \"2.0.1\", python = \"<3.11\"}\n\n[build-system]\nrequires = [\"poetry-core>=1.0.0\"]\nbuild-backend = \"poetry.core.masonry.api\"\n\n[tool.mypy]\ncheck_untyped_defs = true\ndisallow_untyped_defs = true\n\n[[tool.mypy.overrides]]\nmodule = [\"tests.*\"]\ndisallow_untyped_defs = false\n\n[tool.pytest.ini_options]\nminversion = \"6.0\"\naddopts = \"--cov=my_project --cov-report term-missing --no-cov-on-fail\"\n\n[tool.coverage.report]\nexclude_lines = [\"if __name__ == .__main__.:\", \"pragma: no cover\"]\n\n[tool.ruff]\nline-length = 100\ntarget-version = \"py39\"\nfix = true\n\n[tool.ruff.lint]\nselect = [\"E\", \"B\", \"F\", \"UP\", \"I001\", \"T201\", \"T203\"]\nignore=[\n # Recommended ignores by ruff when using formatter\n \"E501\",\n \"W191\",\n \"E111\",\n \"E114\",\n \"E117\",\n \"D206\",\n \"D300\",\n \"Q000\",\n \"Q001\",\n \"Q002\",\n \"Q003\",\n \"COM812\",\n \"COM819\",\n \"ISC001\",\n \"ISC002\",\n]\n"

src/snapshots/python_project__project_generator__tests__save_poetry_pyproject_toml_file_mit_application.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
source: src/project_generator.rs
33
expression: content
44
---
5-
"[tool.poetry]\nname = \"my-project\"\nversion = \"0.1.7\"\ndescription = \"This is a test\"\nauthors = [\"Arthur Dent <[email protected]>\"]\nlicense = \"MIT\"\nreadme = \"README.md\"\n\n[tool.poetry.dependencies]\npython = \"^3.9\"\n\n[tool.poetry.group.dev.dependencies]\nmypy = \"1.11.1\"\npytest = \"8.3.2\"\npytest-cov = \"5.0.0\"\nruff = \"0.5.6\"\ntomli = {version = \"2.0.1\", python = \"<3.11\"}\n\n[build-system]\nrequires = [\"poetry-core>=1.0.0\"]\nbuild-backend = \"poetry.core.masonry.api\"\n\n[tool.mypy]\ncheck_untyped_defs = true\ndisallow_untyped_defs = true\n\n[[tool.mypy.overrides]]\nmodule = [\"tests.*\"]\ndisallow_untyped_defs = false\n\n[tool.pytest.ini_options]\nminversion = \"6.0\"\naddopts = \"--cov=my_project --cov-report term-missing --no-cov-on-fail\"\n\n[tool.coverage.report]\nexclude_lines = [\"if __name__ == .__main__.:\", \"pragma: no cover\"]\n\n[tool.ruff]\nline-length = 100\ntarget-version = \"py39\"\nfix = true\n\n[tool.ruff.lint]\nselect = [\"E\", \"B\", \"F\", \"UP\", \"I001\", \"T201\", \"T203\"]\nignore=[\n # Recommended ignores by ruff when using formatter\n \"E501\",\n \"W191\",\n \"E111\",\n \"E114\",\n \"E117\",\n \"D206\",\n \"D300\",\n \"Q000\",\n \"Q001\",\n \"Q002\",\n \"Q003\",\n \"COM812\",\n \"COM819\",\n \"ISC001\",\n \"ISC002\",\n]\n"
5+
"[tool.poetry]\nname = \"my-project\"\nversion = \"0.1.7\"\ndescription = \"This is a test\"\nauthors = [\"Arthur Dent <[email protected]>\"]\nlicense = \"MIT\"\nreadme = \"README.md\"\n\n[tool.poetry.dependencies]\npython = \"^3.9\"\n\n[tool.poetry.group.dev.dependencies]\nmypy = \"1.11.1\"\npre-commit = \"3.8.0\"\npytest = \"8.3.2\"\npytest-cov = \"5.0.0\"\nruff = \"0.5.6\"\ntomli = {version = \"2.0.1\", python = \"<3.11\"}\n\n[build-system]\nrequires = [\"poetry-core>=1.0.0\"]\nbuild-backend = \"poetry.core.masonry.api\"\n\n[tool.mypy]\ncheck_untyped_defs = true\ndisallow_untyped_defs = true\n\n[[tool.mypy.overrides]]\nmodule = [\"tests.*\"]\ndisallow_untyped_defs = false\n\n[tool.pytest.ini_options]\nminversion = \"6.0\"\naddopts = \"--cov=my_project --cov-report term-missing --no-cov-on-fail\"\n\n[tool.coverage.report]\nexclude_lines = [\"if __name__ == .__main__.:\", \"pragma: no cover\"]\n\n[tool.ruff]\nline-length = 100\ntarget-version = \"py39\"\nfix = true\n\n[tool.ruff.lint]\nselect = [\"E\", \"B\", \"F\", \"UP\", \"I001\", \"T201\", \"T203\"]\nignore=[\n # Recommended ignores by ruff when using formatter\n \"E501\",\n \"W191\",\n \"E111\",\n \"E114\",\n \"E117\",\n \"D206\",\n \"D300\",\n \"Q000\",\n \"Q001\",\n \"Q002\",\n \"Q003\",\n \"COM812\",\n \"COM819\",\n \"ISC001\",\n \"ISC002\",\n]\n"

src/snapshots/python_project__project_generator__tests__save_poetry_pyproject_toml_file_no_license_application.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
source: src/project_generator.rs
33
expression: content
44
---
5-
"[tool.poetry]\nname = \"my-project\"\nversion = \"0.1.7\"\ndescription = \"This is a test\"\nauthors = [\"Arthur Dent <[email protected]>\"]\nreadme = \"README.md\"\n\n[tool.poetry.dependencies]\npython = \"^3.9\"\n\n[tool.poetry.group.dev.dependencies]\nmypy = \"1.11.1\"\npytest = \"8.3.2\"\npytest-cov = \"5.0.0\"\nruff = \"0.5.6\"\ntomli = {version = \"2.0.1\", python = \"<3.11\"}\n\n[build-system]\nrequires = [\"poetry-core>=1.0.0\"]\nbuild-backend = \"poetry.core.masonry.api\"\n\n[tool.mypy]\ncheck_untyped_defs = true\ndisallow_untyped_defs = true\n\n[[tool.mypy.overrides]]\nmodule = [\"tests.*\"]\ndisallow_untyped_defs = false\n\n[tool.pytest.ini_options]\nminversion = \"6.0\"\naddopts = \"--cov=my_project --cov-report term-missing --no-cov-on-fail\"\n\n[tool.coverage.report]\nexclude_lines = [\"if __name__ == .__main__.:\", \"pragma: no cover\"]\n\n[tool.ruff]\nline-length = 100\ntarget-version = \"py39\"\nfix = true\n\n[tool.ruff.lint]\nselect = [\"E\", \"B\", \"F\", \"UP\", \"I001\", \"T201\", \"T203\"]\nignore=[\n # Recommended ignores by ruff when using formatter\n \"E501\",\n \"W191\",\n \"E111\",\n \"E114\",\n \"E117\",\n \"D206\",\n \"D300\",\n \"Q000\",\n \"Q001\",\n \"Q002\",\n \"Q003\",\n \"COM812\",\n \"COM819\",\n \"ISC001\",\n \"ISC002\",\n]\n"
5+
"[tool.poetry]\nname = \"my-project\"\nversion = \"0.1.7\"\ndescription = \"This is a test\"\nauthors = [\"Arthur Dent <[email protected]>\"]\nreadme = \"README.md\"\n\n[tool.poetry.dependencies]\npython = \"^3.9\"\n\n[tool.poetry.group.dev.dependencies]\nmypy = \"1.11.1\"\npre-commit = \"3.8.0\"\npytest = \"8.3.2\"\npytest-cov = \"5.0.0\"\nruff = \"0.5.6\"\ntomli = {version = \"2.0.1\", python = \"<3.11\"}\n\n[build-system]\nrequires = [\"poetry-core>=1.0.0\"]\nbuild-backend = \"poetry.core.masonry.api\"\n\n[tool.mypy]\ncheck_untyped_defs = true\ndisallow_untyped_defs = true\n\n[[tool.mypy.overrides]]\nmodule = [\"tests.*\"]\ndisallow_untyped_defs = false\n\n[tool.pytest.ini_options]\nminversion = \"6.0\"\naddopts = \"--cov=my_project --cov-report term-missing --no-cov-on-fail\"\n\n[tool.coverage.report]\nexclude_lines = [\"if __name__ == .__main__.:\", \"pragma: no cover\"]\n\n[tool.ruff]\nline-length = 100\ntarget-version = \"py39\"\nfix = true\n\n[tool.ruff.lint]\nselect = [\"E\", \"B\", \"F\", \"UP\", \"I001\", \"T201\", \"T203\"]\nignore=[\n # Recommended ignores by ruff when using formatter\n \"E501\",\n \"W191\",\n \"E111\",\n \"E114\",\n \"E117\",\n \"D206\",\n \"D300\",\n \"Q000\",\n \"Q001\",\n \"Q002\",\n \"Q003\",\n \"COM812\",\n \"COM819\",\n \"ISC001\",\n \"ISC002\",\n]\n"

src/snapshots/python_project__project_generator__tests__save_pyo3_dev_requirements_application_file.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
source: src/project_generator.rs
33
expression: content
44
---
5-
"mypy==1.11.1\npytest==8.3.2\npytest-cov==5.0.0\nruff==0.5.6\nmaturin==1.7.0\n-e .\n"
5+
"mypy==1.11.1\npre-commit==3.8.0\npytest==8.3.2\npytest-cov==5.0.0\nruff==0.5.6\nmaturin==1.7.0\n-e .\n"

src/snapshots/python_project__project_generator__tests__save_pyo3_dev_requirements_lib_file.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
source: src/project_generator.rs
33
expression: content
44
---
5-
"mypy==1.11.1\npytest==8.3.2\npytest-cov==5.0.0\nruff==0.5.6\nmaturin==1.7.0\n-e .\n"
5+
"mypy==1.11.1\npre-commit==3.8.0\npytest==8.3.2\npytest-cov==5.0.0\nruff==0.5.6\nmaturin==1.7.0\n-e .\n"

src/snapshots/python_project__project_generator__tests__save_setuptools_dev_requirements_application_file.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
source: src/project_generator.rs
33
expression: content
44
---
5-
"mypy==1.11.1\npytest==8.3.2\npytest-cov==5.0.0\nruff==0.5.6\nmaturin==1.7.0\n-e .\n"
5+
"mypy==1.11.1\npre-commit==3.8.0\npytest==8.3.2\npytest-cov==5.0.0\nruff==0.5.6\nmaturin==1.7.0\n-e .\n"

src/snapshots/python_project__project_generator__tests__save_setuptools_dev_requirements_lib_file.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
source: src/project_generator.rs
33
expression: content
44
---
5-
"mypy==1.11.1\npytest==8.3.2\npytest-cov==5.0.0\nruff==0.5.6\nmaturin==1.7.0\n-e .\n"
5+
"mypy==1.11.1\npre-commit==3.8.0\npytest==8.3.2\npytest-cov==5.0.0\nruff==0.5.6\nmaturin==1.7.0\n-e .\n"

0 commit comments

Comments
 (0)