-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
126 lines (113 loc) · 3.06 KB
/
pyproject.toml
File metadata and controls
126 lines (113 loc) · 3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
[project]
name = "ferro-orm"
version = "0.3.3"
description = "A high-performance, Rust-backed ORM for Python."
readme = "README.md"
authors = [
{ name = "0x54", email = "taylor@sondr.co" }
]
requires-python = ">=3.13"
dependencies = [
"pydantic>=2.0",
]
[project.optional-dependencies]
# Install with: pip install "ferro-orm[alembic]"
# Enables the ferro.migrations Alembic bridge for schema migrations.
alembic = [
"alembic>=1.18.1",
"sqlalchemy>=2.0.46",
]
[tool.maturin]
module-name = "ferro._core"
python-packages = ["ferro"]
python-source = "src"
[tool.uv]
cache-keys = [{ file = "pyproject.toml" }, { file = "src/**/*.rs" }, { file = "Cargo.toml" }, { file = "Cargo.lock" }]
[build-system]
requires = ["maturin>=1.0,<2.0"]
build-backend = "maturin"
[dependency-groups]
ci-lint = [
"prek>=0.2.25",
]
ci-test = [
"maturin>=1.11.5",
"psycopg[binary]>=3.3.3",
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"pytest-cov>=7.0.0",
"pytest-examples>=0.0.18",
]
docs = [
"mkdocs-material>=9.5.0",
"mkdocs-llmstxt>=0.3.0",
"mkdocstrings[python]>=0.24.0",
"pymdown-extensions>=10.7.0",
]
release = [
"python-semantic-release>=9.0.0",
"maturin>=1.11.5",
]
dev = [
"jupyter>=1.1.1",
"maturin>=1.11.5",
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"pytest-cov>=7.0.0",
"rich>=14.2.0",
"prek>=0.2.25",
"commitizen>=3.13.0",
"python-semantic-release>=9.0.0",
"alembic>=1.18.1",
"sqlalchemy>=2.0.46",
"mkdocs-material>=9.5.0",
"mkdocs-llmstxt>=0.3.0",
"mkdocstrings[python]>=0.24.0",
"pymdown-extensions>=10.7.0",
"pytest-examples>=0.0.18",
"psycopg[binary]>=3.3.3",
]
[tool.pytest.ini_options]
addopts = "--cov=src"
[tool.commitizen]
name = "cz_conventional_commits"
version = "0.1.0"
version_files = [
"pyproject.toml:project.version",
"Cargo.toml:package.version"
]
tag_format = "v$version"
update_changelog_on_bump = true
changelog_file = "CHANGELOG.md"
changelog_incremental = true
major_version_zero = true
[tool.semantic_release]
version_toml = [
"pyproject.toml:project.version",
"Cargo.toml:package.version"
]
version_variables = []
build_command = "uv run maturin build --release"
major_on_zero = false
allow_zero_version = true
branch = "main"
upload_to_repository = false
upload_to_release = true
hvcs = "github"
commit_author = "semantic-release <semantic-release@github>"
commit_message = "chore(release): {version}\n\nAutomatically generated by python-semantic-release"
[tool.semantic_release.branches.main]
match = "main"
prerelease = false
[tool.semantic_release.changelog]
# Regenerate changelog from full git history each time (no insertion-flag lookup).
mode = "init"
exclude_commit_patterns = []
[tool.semantic_release.changelog.default_templates]
changelog_file = "CHANGELOG.md"
[tool.semantic_release.changelog.environment]
keep_trailing_newline = true
[tool.semantic_release.commit_parser_options]
allowed_tags = ["build", "chore", "ci", "docs", "feat", "fix", "perf", "style", "refactor", "test"]
minor_tags = ["feat"]
patch_tags = ["fix", "perf", "refactor"]