60 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   lib,
 | |
|   fetchFromGitHub,
 | |
|   buildPythonPackage,
 | |
|   pythonOlder,
 | |
|   pytestCheckHook,
 | |
|   beancount-black,
 | |
|   beancount-parser,
 | |
|   beanhub-extract,
 | |
|   hatchling,
 | |
|   jinja2,
 | |
|   pydantic,
 | |
|   pytz,
 | |
|   pyyaml,
 | |
| }:
 | |
| 
 | |
| buildPythonPackage rec {
 | |
|   pname = "beanhub-import";
 | |
|   version = "1.2.0";
 | |
|   pyproject = true;
 | |
| 
 | |
|   disabled = pythonOlder "3.9";
 | |
| 
 | |
|   src = fetchFromGitHub {
 | |
|     owner = "LaunchPlatform";
 | |
|     repo = "beanhub-import";
 | |
|     tag = version;
 | |
|     hash = "sha256-oExJ8BWJmJkJMGGIYp+Xtf0rzUcQKD8YKo51E+KbRN0=";
 | |
|   };
 | |
| 
 | |
|   build-system = [ hatchling ];
 | |
| 
 | |
|   pythonRelaxDeps = [
 | |
|     # pytz>=2023.1,<2025, but we have 2025.1
 | |
|     "pytz"
 | |
|   ];
 | |
| 
 | |
|   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/${src.tag}";
 | |
|     license = with lib.licenses; [ mit ];
 | |
|     maintainers = with lib.maintainers; [ fangpen ];
 | |
|   };
 | |
| }
 | 
