-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
56 lines (50 loc) · 1.57 KB
/
pyproject.toml
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
[project]
name = "pyinnodb"
version = "0.1.0"
description = "A parser for InnoDB file formats, in Python"
authors = [
{ name = "WinChua", email = "[email protected]" }
]
dependencies = [
"crcmod>=1.7",
"construct==2.10.68",
"construct-typing>=0.6.2",
"click>=8.1.7",
]
readme = "README.md"
requires-python = ">= 3.9"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.rye]
managed = true
dev-dependencies = [
"pytest>=8.1.1",
"testcontainers>=4.1.1",
"docker>=7.0.0",
"sqlalchemy>=2.0.30",
"pymysql>=1.1.1",
"requests==2.31.0",
"cryptography>=43.0.0",
]
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["src/pyinnodb"]
[tool.hatch.build]
exclude = [".venv", "data", "datadir"]
[tool.rye.scripts]
gencols = { chain = ["gencols:cols", "gencols:fmt"] }
"gencols:cols" = "python devtools/gen-collations.py"
"gencols:fmt" = "rye fmt src/pyinnodb/const/collations.py"
cli = { call = "pyinnodb.cli" }
of = { chain = ["of:init", "of:req", "of:cp", "of:clean", "of:zip", "of:patch", "of:ex"] }
"of:init" = "mkdir -p target"
"of:req" = "uv pip install -r requirements.lock --target target"
"of:cp" = "cp -r src/pyinnodb target"
"of:clean" = "find target -type d -name '__pycache__' -exec rm -rf {} +"
"of:zip" = "python -m zipapp target/ -m pyinnodb.cli:main -o pyinnodb.sh"
"of:patch" = 'sed -i "1i\#!/usr/bin/env python3" pyinnodb.sh'
"of:ex" = 'chmod a+x pyinnodb.sh'
"deploy_dev" = "python devtools/deploy_mysqld.py"
"td" = "tar cvzf tests/test_data.tgz tests/mysql5/ tests/mysql8"