Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

71 lines
1.4 KiB
Nix

{
lib,
fetchFromGitHub,
python3Packages,
nixosTests,
testers,
sqlite3-to-mysql,
mysql80,
}:
python3Packages.buildPythonApplication rec {
pname = "sqlite3-to-mysql";
version = "2.5.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "techouse";
repo = "sqlite3-to-mysql";
tag = "v${version}";
hash = "sha256-2SoLiqOLuGcB4IV2CPud+mjc5s8mqobD72kkx0WCwVU=";
};
build-system = with python3Packages; [
hatchling
];
dependencies =
with python3Packages;
[
click
mysql-connector
pytimeparse2
pymysql
pymysqlsa
simplejson
sqlalchemy
sqlalchemy-utils
tqdm
tabulate
unidecode
packaging
mysql80
python-dateutil
]
++ lib.optionals (pythonOlder "3.11") [ typing-extensions ];
pythonRelaxDeps = [
"mysql-connector-python"
];
# tests require a mysql server instance
doCheck = false;
# run package tests as a separate nixos test
passthru.tests = {
nixosTest = nixosTests.sqlite3-to-mysql;
version = testers.testVersion {
package = sqlite3-to-mysql;
command = "sqlite3mysql --version";
};
};
meta = {
description = "Simple Python tool to transfer data from SQLite 3 to MySQL";
homepage = "https://github.com/techouse/sqlite3-to-mysql";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ gador ];
mainProgram = "sqlite3mysql";
};
}