python3Packages.beancount: 2.3.6 -> 3.1.0 (#371541)

Changed files
+299 -64
nixos
doc
manual
release-notes
pkgs
by-name
be
beanprice
fa
development
python-modules
beancount
beangulp
beanquery
petl
tatsu-lts
top-level
+2
nixos/doc/manual/release-notes/rl-2505.section.md
···
- `ast-grep` remove `sg` command to prevent conflict with `sg` command from shadow-utils. If you need legacy sg command compatibility with old code, you can use `ast-grep.override { enableLegacySg = true; }`
- `binwalk` was updated to 3.1.0, which has been rewritten in rust. The python module is no longer available.
See the release notes of [3.1.0](https://github.com/ReFirmLabs/binwalk/releases/tag/v3.1.0) for more information.
···
- `ast-grep` remove `sg` command to prevent conflict with `sg` command from shadow-utils. If you need legacy sg command compatibility with old code, you can use `ast-grep.override { enableLegacySg = true; }`
+
- `python3Packages.beancount` was updated to 3.1.0. Previous major version remains available as `python3Packages.beancount_2`.
+
- `binwalk` was updated to 3.1.0, which has been rewritten in rust. The python module is no longer available.
See the release notes of [3.1.0](https://github.com/ReFirmLabs/binwalk/releases/tag/v3.1.0) for more information.
+5 -4
pkgs/by-name/be/beanprice/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "beanprice";
-
version = "1.2.1-unstable-2024-06-19";
pyproject = true;
src = fetchFromGitHub {
owner = "beancount";
repo = "beanprice";
-
rev = "e894c9182f4d16f9a46ccb87bdaeca1a7dede040";
-
hash = "sha256-l96W77gldE06Za8fj84LADGCqlYeWlHKvWQO+oLy1gI=";
};
build-system = with python3Packages; [ setuptools ];
···
regex
];
-
pythonImportsCheck = [ "beancount" ];
meta = {
homepage = "https://github.com/beancount/beanprice";
description = "Price quotes fetcher for Beancount";
longDescription = ''
···
python3Packages.buildPythonApplication rec {
pname = "beanprice";
+
version = "2.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "beancount";
repo = "beanprice";
+
tag = "v${version}";
+
hash = "sha256-+bqYnTzZByJlCPUhThM2B9UjgdWzjF21Yiw3fQAZ6k4=";
};
build-system = with python3Packages; [ setuptools ];
···
regex
];
+
pythonImportsCheck = [ "beanprice" ];
meta = {
+
broken = lib.versionOlder python3Packages.beancount.version "3";
homepage = "https://github.com/beancount/beanprice";
description = "Price quotes fetcher for Beancount";
longDescription = ''
+12 -6
pkgs/by-name/fa/fava/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "fava";
-
version = "1.29";
pyproject = true;
src = fetchPypi {
inherit pname version;
-
hash = "sha256-UZZ142FchYXqPtHb6EWnKjV+xtJ0Gvu+SovTH6+kVn8=";
};
postPatch = ''
···
dependencies = with python3Packages; [
babel
beancount
cheroot
click
flask
flask-babel
-
jaraco-functools
jinja2
markdown2
ply
···
nativeCheckInputs = [ python3Packages.pytestCheckHook ];
preCheck = ''
export HOME=$TEMPDIR
'';
-
meta = with lib; {
description = "Web interface for beancount";
mainProgram = "fava";
homepage = "https://beancount.github.io/fava";
changelog = "https://beancount.github.io/fava/changelog.html";
-
license = licenses.mit;
-
maintainers = with maintainers; [
bhipple
sigmanificient
];
···
python3Packages.buildPythonApplication rec {
pname = "fava";
+
version = "1.30.1";
pyproject = true;
src = fetchPypi {
inherit pname version;
+
hash = "sha256-69Wx9/H7nLDPZP9LOUnDJngY9YTCcr+oQ0E6+xeIWPE=";
};
postPatch = ''
···
dependencies = with python3Packages; [
babel
beancount
+
beangulp
+
beanquery
cheroot
click
flask
flask-babel
jinja2
markdown2
ply
···
nativeCheckInputs = [ python3Packages.pytestCheckHook ];
+
env = {
+
# Disable some tests when building with beancount2
+
SNAPSHOT_IGNORE = lib.versions.major python3Packages.beancount.version == "2";
+
};
+
preCheck = ''
export HOME=$TEMPDIR
'';
+
meta = {
description = "Web interface for beancount";
mainProgram = "fava";
homepage = "https://beancount.github.io/fava";
changelog = "https://beancount.github.io/fava/changelog.html";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [
bhipple
sigmanificient
];
+70
pkgs/development/python-modules/beancount/2.nix
···
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchPypi,
+
isPy3k,
+
beautifulsoup4,
+
bottle,
+
chardet,
+
python-dateutil,
+
google-api-python-client,
+
google-auth-oauthlib,
+
lxml,
+
oauth2client,
+
ply,
+
pytest,
+
python-magic,
+
requests,
+
}:
+
+
buildPythonPackage rec {
+
version = "2.3.6";
+
format = "setuptools";
+
pname = "beancount";
+
+
disabled = !isPy3k;
+
+
src = fetchPypi {
+
inherit pname version;
+
hash = "sha256-gB+Tvta1fS4iQ2aIxInVob8fduIQ887RhoB1fmDTR1o=";
+
};
+
+
# Tests require files not included in the PyPI archive.
+
doCheck = false;
+
+
propagatedBuildInputs = [
+
beautifulsoup4
+
bottle
+
chardet
+
python-dateutil
+
google-api-python-client
+
google-auth-oauthlib
+
lxml
+
oauth2client
+
ply
+
python-magic
+
requests
+
# pytest really is a runtime dependency
+
# https://github.com/beancount/beancount/blob/v2/setup.py#L81-L82
+
pytest
+
];
+
+
# beancount cannot be directly bumped to 3.x
+
# e.g. https://github.com/NixOS/nixpkgs/issues/380197
+
passthru.skipBulkUpdate = true;
+
+
meta = with lib; {
+
homepage = "https://github.com/beancount/beancount";
+
description = "Double-entry bookkeeping computer language";
+
longDescription = ''
+
A double-entry bookkeeping computer language that lets you define
+
financial transaction records in a text file, read them in memory,
+
generate a variety of reports from them, and provides a web interface.
+
'';
+
license = licenses.gpl2Only;
+
maintainers = with maintainers; [
+
sharzy
+
polarmutex
+
];
+
};
+
}
+43 -45
pkgs/development/python-modules/beancount/default.nix
···
{
lib,
buildPythonPackage,
-
fetchPypi,
-
isPy3k,
-
beautifulsoup4,
-
bottle,
-
chardet,
python-dateutil,
-
google-api-python-client,
-
google-auth-oauthlib,
-
lxml,
-
oauth2client,
-
ply,
-
pytest,
-
python-magic,
-
requests,
}:
buildPythonPackage rec {
-
version = "2.3.6";
-
format = "setuptools";
pname = "beancount";
-
disabled = !isPy3k;
-
-
src = fetchPypi {
-
inherit pname version;
-
hash = "sha256-gB+Tvta1fS4iQ2aIxInVob8fduIQ887RhoB1fmDTR1o=";
};
-
# Tests require files not included in the PyPI archive.
-
doCheck = false;
-
propagatedBuildInputs = [
-
beautifulsoup4
-
bottle
-
chardet
python-dateutil
-
google-api-python-client
-
google-auth-oauthlib
-
lxml
-
oauth2client
-
ply
-
python-magic
-
requests
-
# pytest really is a runtime dependency
-
# https://github.com/beancount/beancount/blob/v2/setup.py#L81-L82
-
pytest
];
-
# beancount cannot be directly bumped to 3.x
-
# e.g. https://github.com/NixOS/nixpkgs/issues/380197
-
passthru.skipBulkUpdate = true;
-
meta = with lib; {
homepage = "https://github.com/beancount/beancount";
description = "Double-entry bookkeeping computer language";
longDescription = ''
A double-entry bookkeeping computer language that lets you define
financial transaction records in a text file, read them in memory,
generate a variety of reports from them, and provides a web interface.
'';
-
license = licenses.gpl2Only;
-
maintainers = with maintainers; [
-
sharzy
-
polarmutex
-
];
};
}
···
{
lib,
+
bison,
buildPythonPackage,
+
click,
+
fetchFromGitHub,
+
flex,
+
gnupg,
+
meson,
+
meson-python,
+
pytestCheckHook,
python-dateutil,
+
regex,
}:
buildPythonPackage rec {
+
version = "3.1.0";
pname = "beancount";
+
pyproject = true;
+
src = fetchFromGitHub {
+
owner = "beancount";
+
repo = "beancount";
+
tag = version;
+
hash = "sha256-ogjBW/NGlMmhYlzcx3EWWoVi+OOEv2Wm49tzwMiNb8A=";
};
+
build-system = [
+
meson
+
meson-python
+
];
+
dependencies = [
+
click
python-dateutil
+
regex
];
+
nativeBuildInputs = [
+
bison
+
flex
+
];
+
nativeCheckInputs = [
+
gnupg
+
pytestCheckHook
+
];
+
+
preCheck = ''
+
# avoid local paths, relative imports wont resolve correctly
+
mv beancount tests
+
'';
+
+
pythonImportsCheck = [ "beancount" ];
+
+
meta = {
homepage = "https://github.com/beancount/beancount";
+
changelog = "https://github.com/beancount/beancount/releases/tag/${src.tag}";
description = "Double-entry bookkeeping computer language";
longDescription = ''
A double-entry bookkeeping computer language that lets you define
financial transaction records in a text file, read them in memory,
generate a variety of reports from them, and provides a web interface.
'';
+
license = lib.licenses.gpl2Only;
+
maintainers = with lib.maintainers; [ alapshin ];
};
}
+58
pkgs/development/python-modules/beangulp/default.nix
···
···
+
{
+
lib,
+
beancount,
+
beautifulsoup4,
+
buildPythonPackage,
+
chardet,
+
click,
+
fetchFromGitHub,
+
lxml,
+
petl,
+
python-magic,
+
pytestCheckHook,
+
setuptools,
+
}:
+
+
buildPythonPackage rec {
+
pname = "beangulp";
+
version = "0.2.0";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "beancount";
+
repo = "beangulp";
+
tag = "v${version}";
+
hash = "sha256-h7xLHwEyS+tOI7v6Erp12VfVnxOf4930++zghhC3in4=";
+
};
+
+
build-system = [ setuptools ];
+
+
dependencies = [
+
beancount
+
beautifulsoup4
+
chardet
+
click
+
lxml
+
python-magic
+
];
+
+
nativeCheckInputs = [
+
petl
+
pytestCheckHook
+
];
+
+
pythonImportsCheck = [
+
"beangulp"
+
];
+
+
meta = {
+
homepage = "https://github.com/beancount/beangulp";
+
description = "Importers framework for Beancount";
+
longDescription = ''
+
Beangulp provides a framework for importing transactions into a Beancoount
+
ledger from account statements and other documents and for managing documents.
+
'';
+
license = lib.licenses.gpl2Only;
+
maintainers = with lib.maintainers; [ alapshin ];
+
};
+
}
+8 -9
pkgs/development/python-modules/beanquery/default.nix
···
python-dateutil,
pytestCheckHook,
setuptools,
-
tatsu,
}:
-
buildPythonPackage rec {
pname = "beanquery";
-
version = "0.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "beancount";
repo = "beanquery";
-
tag = "v${version}";
-
hash = "sha256-1+KTUvnqPceRbzY1OZwOSQdK7f78K9kSwtQfI1SUIa8=";
};
build-system = [ setuptools ];
···
beancount
click
python-dateutil
-
tatsu
];
-
-
pythonRelaxDeps = [ "tatsu" ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [
-
"beancount"
"beanquery"
];
···
python-dateutil,
pytestCheckHook,
setuptools,
+
tatsu-lts,
}:
+
buildPythonPackage {
pname = "beanquery";
+
version = "0.1.0-unstable-2025-01-10";
pyproject = true;
src = fetchFromGitHub {
owner = "beancount";
repo = "beanquery";
+
# Pinned at commit where tatsu dependency replaced with tatsu-lts
+
# Later snapsot versions break fava build due to API changes at beanquery/shell.py
+
rev = "e77a67996a54eef2e9d77b6352c74a40164e281d";
+
hash = "sha256-XYfKAscm55lY4YjIGTQ6RMFnCPWemfszpheGQ9qjMiM=";
};
build-system = [ setuptools ];
···
beancount
click
python-dateutil
+
tatsu-lts
];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [
"beanquery"
];
+45
pkgs/development/python-modules/petl/default.nix
···
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
pytestCheckHook,
+
setuptools,
+
setuptools-scm,
+
}:
+
+
buildPythonPackage rec {
+
pname = "petl";
+
version = "1.7.15";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "petl-developers";
+
repo = "petl";
+
tag = "v${version}";
+
hash = "sha256-zTE6s19/xcu7noT+qQXYrJ8ldrSQVi3AunDKoOMB2Qs=";
+
};
+
+
build-system = [
+
setuptools
+
setuptools-scm
+
];
+
+
nativeCheckInputs = [
+
pytestCheckHook
+
];
+
+
pythonImportsCheck = [
+
"petl"
+
];
+
+
meta = {
+
homepage = "https://github.com/petl-developers/petl";
+
changelog = "https://github.com/petl-developers/petl/releases/tag/${src.tag}";
+
description = "Python package for extracting, transforming and loading tables of data";
+
license = lib.licenses.mit;
+
mainProgram = "petl";
+
maintainers = with lib.maintainers; [
+
alapshin
+
];
+
};
+
}
+46
pkgs/development/python-modules/tatsu-lts/default.nix
···
···
+
{
+
lib,
+
buildPythonPackage,
+
colorama,
+
fetchFromGitHub,
+
pytestCheckHook,
+
regex,
+
setuptools,
+
}:
+
+
buildPythonPackage rec {
+
pname = "tatsu-lts";
+
version = "5.13.1";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "dnicolodi";
+
repo = "TatSu-LTS";
+
tag = "v${version}-LTS";
+
hash = "sha256-cfGAWZDAnoD3ddhVIkOHyiv7gUDgnAWu1ZBvDEiQ2AQ=";
+
};
+
+
build-system = [ setuptools ];
+
+
dependencies = [
+
colorama
+
regex
+
];
+
+
nativeCheckInputs = [ pytestCheckHook ];
+
+
pythonImportsCheck = [ "tatsu" ];
+
+
meta = {
+
description = "Generates Python parsers from grammars in a variation of EBNF";
+
longDescription = ''
+
TatSu (the successor to Grako) is a tool that takes grammars in a
+
variation of EBNF as input, and outputs memoizing (Packrat) PEG parsers in
+
Python.
+
'';
+
homepage = "https://tatsu.readthedocs.io/";
+
changelog = "https://github.com/dnicolodi/TatSu-LTS/releases/tag/${src.tag}";
+
license = lib.licenses.bsd2;
+
maintainers = with lib.maintainers; [ alapshin ];
+
};
+
}
+2
pkgs/top-level/all-packages.nix
···
beancount = with python3.pkgs; toPythonApplication beancount;
beancount-black = with python3.pkgs; toPythonApplication beancount-black;
beanhub-cli = with python3.pkgs; toPythonApplication beanhub-cli;
···
beancount = with python3.pkgs; toPythonApplication beancount;
+
beancount_2 = with python3.pkgs; toPythonApplication beancount_2;
+
beancount-black = with python3.pkgs; toPythonApplication beancount-black;
beanhub-cli = with python3.pkgs; toPythonApplication beanhub-cli;
+8
pkgs/top-level/python-packages.nix
···
beancount = callPackage ../development/python-modules/beancount { };
beancount-black = callPackage ../development/python-modules/beancount-black { };
beancount-parser = callPackage ../development/python-modules/beancount-parser { };
···
beancount-docverif = callPackage ../development/python-modules/beancount-docverif { };
beancount-plugin-utils = callPackage ../development/python-modules/beancount-plugin-utils { };
beanhub-cli = callPackage ../development/python-modules/beanhub-cli { };
···
nyt-games = callPackage ../development/python-modules/nyt-games { };
plugp100 = callPackage ../development/python-modules/plugp100 {};
python-bugzilla = callPackage ../development/python-modules/python-bugzilla { };
···
taskw-ng = callPackage ../development/python-modules/taskw-ng { };
tatsu = callPackage ../development/python-modules/tatsu { };
taxi = callPackage ../development/python-modules/taxi { };
···
beancount = callPackage ../development/python-modules/beancount { };
+
beancount_2 = callPackage ../development/python-modules/beancount/2.nix { };
+
beancount-black = callPackage ../development/python-modules/beancount-black { };
beancount-parser = callPackage ../development/python-modules/beancount-parser { };
···
beancount-docverif = callPackage ../development/python-modules/beancount-docverif { };
beancount-plugin-utils = callPackage ../development/python-modules/beancount-plugin-utils { };
+
+
beangulp = callPackage ../development/python-modules/beangulp { };
beanhub-cli = callPackage ../development/python-modules/beanhub-cli { };
···
nyt-games = callPackage ../development/python-modules/nyt-games { };
+
petl = callPackage ../development/python-modules/petl { };
+
plugp100 = callPackage ../development/python-modules/plugp100 {};
python-bugzilla = callPackage ../development/python-modules/python-bugzilla { };
···
taskw-ng = callPackage ../development/python-modules/taskw-ng { };
tatsu = callPackage ../development/python-modules/tatsu { };
+
+
tatsu-lts = callPackage ../development/python-modules/tatsu-lts { };
taxi = callPackage ../development/python-modules/taxi { };