Merge pull request #310655 from fangpenlin/add-beanhub-cli-and-deps

Add beanhub-cli and deps
This commit is contained in:
kirillrdy 2024-05-16 20:47:41 +10:00 committed by GitHub
commit 64199efed6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 258 additions and 0 deletions

View File

@ -6481,6 +6481,15 @@
githubId = 225893;
name = "James Cook";
};
fangpen = {
email = "hello@fangpenlin.com";
github = "fangpenlin";
githubId = 201615;
name = "Fang-Pen Lin";
keys = [{
fingerprint = "7130 3454 A7CD 0F0A 941A F9A3 2A26 9964 AD29 2131";
}];
};
farcaller = {
name = "Vladimir Pouzanov";
email = "farcaller@gmail.com";

View File

@ -0,0 +1,78 @@
{ lib
, fetchFromGitHub
, buildPythonPackage
, pythonOlder
, pytestCheckHook
, beancount-black
, beancount-parser
, beanhub-forms
, beanhub-import
, click
, fastapi
, httpx
, jinja2
, poetry-core
, pydantic
, pydantic-core
, pydantic-settings
, pytz
, pyyaml
, rich
, starlette-wtf
, uvicorn
}:
buildPythonPackage rec {
pname = "beanhub-cli";
version = "1.1.3";
pyproject = true;
disabled = pythonOlder "3.10";
src = fetchFromGitHub {
owner = "LaunchPlatform";
repo = "beanhub-cli";
rev = "refs/tags/${version}";
hash = "sha256-vYBbaUVJAs+aIp6aQpJb62DEDxe/sQTzgOkjPq6ADoc=";
};
build-system = [
poetry-core
];
dependencies = [
beancount-black
beancount-parser
beanhub-forms
beanhub-import
click
fastapi
jinja2
pydantic
pydantic-core
pydantic-settings
pytz
pyyaml
rich
starlette-wtf
uvicorn
];
nativeCheckInputs = [
pytestCheckHook
httpx
];
pythonImportsCheck = [
"beanhub_cli"
];
meta = {
description = "Command line tools for BeanHub or Beancount users";
mainProgram = "bh";
homepage = "https://github.com/LaunchPlatform/beanhub-cli/";
changelog = "https://github.com/LaunchPlatform/beanhub-cli/releases/tag/${version}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ fangpen ];
};
}

View File

@ -0,0 +1,47 @@
{ lib
, fetchFromGitHub
, buildPythonPackage
, pythonOlder
, pytestCheckHook
, poetry-core
, pytz
}:
buildPythonPackage rec {
pname = "beanhub-extract";
version = "0.0.7";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "LaunchPlatform";
repo = "beanhub-extract";
rev = "refs/tags/${version}";
hash = "sha256-Wt8ZCyCaERNXEd0/Q89QWUW/wGFSHAP2RZLhnv5xkgY=";
};
build-system = [
poetry-core
];
dependencies = [
pytz
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"beanhub_extract"
];
meta = {
description = "The simple library for extracting all kind of bank account transaction export files, mostly for beanhub-import to ingest and generate transactions";
homepage = "https://github.com/LaunchPlatform/beanhub-extract/";
changelog = "https://github.com/LaunchPlatform/beanhub-extract/releases/tag/${version}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ fangpen ];
};
}

View File

@ -0,0 +1,55 @@
{ lib
, fetchFromGitHub
, buildPythonPackage
, pythonOlder
, pytestCheckHook
, jinja2
, multidict
, poetry-core
, pydantic
, pyyaml
, wtforms
}:
buildPythonPackage rec {
pname = "beanhub-forms";
version = "0.1.3";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "LaunchPlatform";
repo = "beanhub-forms";
rev = "refs/tags/${version}";
hash = "sha256-313c+ENmTe1LyfEiMXNB9AUoGx3Yv/1D0T3HnAbd+Zw=";
};
build-system = [
poetry-core
];
dependencies = [
jinja2
pydantic
pyyaml
wtforms
];
nativeCheckInputs = [
multidict
pytestCheckHook
];
pythonImportsCheck = [
"beanhub_forms"
];
meta = {
description = "Library for generating and processing BeanHub's custom forms";
homepage = "https://github.com/LaunchPlatform/beanhub-forms/";
changelog = "https://github.com/LaunchPlatform/beanhub-forms/releases/tag/${version}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ fangpen ];
};
}

View File

@ -0,0 +1,59 @@
{ lib
, fetchFromGitHub
, buildPythonPackage
, pythonOlder
, pytestCheckHook
, beancount-black
, beancount-parser
, beanhub-extract
, jinja2
, poetry-core
, pydantic
, pytz
, pyyaml
}:
buildPythonPackage rec {
pname = "beanhub-import";
version = "0.1.5";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "LaunchPlatform";
repo = "beanhub-import";
rev = "refs/tags/${version}";
hash = "sha256-BH+d7cKC83b7T2Z1Xlwpsv3KACo1vDn6v65tElhir/c=";
};
build-system = [
poetry-core
];
dependencies = [
beancount-black
beancount-parser
beanhub-extract
jinja2
pydantic
pytz
pyyaml
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"beanhub_import"
];
meta = {
description = "Declarative idempotent rule-based Beancount transaction import engine in Python";
homepage = "https://github.com/LaunchPlatform/beanhub-import/";
changelog = "https://github.com/LaunchPlatform/beanhub-import/releases/tag/${version}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ fangpen ];
};
}

View File

@ -36214,6 +36214,8 @@ with pkgs;
beancount-black = with python3.pkgs; toPythonApplication beancount-black;
beanhub-cli = with python3.pkgs; toPythonApplication beanhub-cli;
bean-add = callPackage ../applications/office/beancount/bean-add.nix { };
bench = haskell.lib.compose.justStaticExecutables haskellPackages.bench;

View File

@ -1467,6 +1467,14 @@ self: super: with self; {
beancount-docverif = callPackage ../development/python-modules/beancount-docverif { };
beanhub-cli = callPackage ../development/python-modules/beanhub-cli { };
beanhub-extract = callPackage ../development/python-modules/beanhub-extract { };
beanhub-forms = callPackage ../development/python-modules/beanhub-forms { };
beanhub-import = callPackage ../development/python-modules/beanhub-import { };
beanstalkc = callPackage ../development/python-modules/beanstalkc { };
beartype = callPackage ../development/python-modules/beartype { };