Change:
Project description Python app to work with pictures and associated metadata from Apple Photos on macOS. Also includes a package to provide programmatic access to the Photos library, pictures, and metadata. Metadata homepage URL: source URL: license: mit platforms: unix, linux, darwin Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
This was the most complex package i ever tried to write :sweat_smile:

Discussion:
<ins> { lib, buildPythonPackage, fetchFromGitHub, poetry-core, pytestCheckHook, }: buildPythonPackage { pname = "bpylist2"; version = "4.1.1"; pyproject = true; src = fetchFromGitHub { owner = "parabolala"; repo = "bpylist2"; rev = "ddb89e0b0301c6b298de6469221d99b5fe127b58"; hash = "sha256-OBwDQZL5++LZgpQM96tmplAh1Pjme3KGSNFTKqKUn00="; }; build-system = [ poetry-core ]; pythonImportsCheck = [ "bpylist2" ]; nativeCheckInputs = [ pytestCheckHook ]; postPatch = '' substituteInPlace setup.cfg  --replace-fail "--pycodestyle" ""  --replace-fail "--pylint --pylint-rcfile=pylint.rc" ""  --replace-fail "--mypy" "" ''; meta = { description = "Parse and Generate binary plists and NSKeyedArchiver archives"; license = lib.licenses.mit; homepage = "https://github.com/parabolala/bpylist2"; maintainers = with lib.maintainers; [ sigmanificient ]; }; } </ins>

<ins> { stdenv, lib, buildPythonPackage, fetchFromGitHub, setuptools, bitmath, bpylist2, click, mako, more-itertools, objexplore, packaging, pathvalidate, pip, ptpython, pytimeparse2, pyyaml, requests, rich-theme-manager, rich, shortuuid, strpdatetime, tenacity, textx, toml, wrapt, wurlitzer, xdg-base-dirs, pytestCheckHook, pytest-mock, }: buildPythonPackage rec { pname = "osxphotos"; version = "0.68.2"; pyproject = true; src = fetchFromGitHub { owner = "RhetTbull"; repo = "osxphotos"; rev = "refs/tags/v${version}"; hash = "sha256-iPeidbPoF0AG6TJDWloXwpwzJ4oWEglKVLp2yywnyZs="; }; build-system = [ setuptools ]; dependencies = [ bitmath bpylist2 click mako more-itertools objexplore packaging pathvalidate pip ptpython pytimeparse2 pyyaml requests rich-theme-manager rich shortuuid strpdatetime tenacity textx toml wrapt wurlitzer xdg-base-dirs ]; pythonRelaxDeps = [ "mako" "more-itertools" "objexplore" "textx" ]; pythonImportsCheck = [ "osxphotos" ]; nativeCheckInputs = [ pytestCheckHook pytest-mock ]; preCheck = '' export HOME=$(mktemp -d) ''; disabledTestPaths = [ "tests/test_comments.py" ]; disabledTests = [ "test_iphoto_info" "test_from_to_date_tz" "test_function_url" "test_get_local_tz" "test_datetime_naive_to_local" "test_from_to_date_tz" "test_query_from_to_date_alt_location" "test_query_function_url" ]; meta = { description = "Export photos from Apple's macOS Photos app and query the Photos library database to access metadata about images"; homepage = "https://github.com/RhetTbull/osxphotos"; changelog = "https://github.com/RhetTbull/osxphotos/blob/${src.rev}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ sigmanificient ]; broken = stdenv.isDarwin; }; } </ins>

<ins> { lib, buildPythonPackage, fetchFromGitHub, poetry-core, rich, pytestCheckHook, }: buildPythonPackage rec { pname = "rich-theme-manager"; version = "0.11.0"; pyproject = true; src = fetchFromGitHub { owner = "RhetTbull"; repo = "rich_theme_manager"; rev = "refs/tags/v${version}"; hash = "sha256-nSNG+lWOPmh66I9EmPvWqbeceY/cu+zBpgVlDTNuHc0="; }; build-system = [ poetry-core ]; dependencies = [ rich ]; pythonImportsCheck = [ "rich_theme_manager" ]; nativeCheckInputs = [ pytestCheckHook ]; meta = { description = "Define custom styles and themes for use with rich"; license = lib.licenses.mit; homepage = "https://github.com/RhetTbull/rich_theme_manager"; maintainers = with lib.maintainers; [ sigmanificient ]; }; } </ins>

<ins> { lib, buildPythonPackage, fetchFromGitHub, poetry-core, textx, pytestCheckHook, }: buildPythonPackage rec { pname = "strpdatetime"; version = "0.3.0"; pyproject = true; src = fetchFromGitHub { owner = "RhetTbull"; repo = "strpdatetime"; rev = "v${version}"; hash = "sha256-eb3KJCFRkEt9KEP1gMQYuP50qXqItrexJhKvtJDHl9o="; }; build-system = [ poetry-core ]; dependencies = [ textx ]; pythonRelaxDeps = [ "textx" ]; patches = [ ./fix-locale.patch ]; pythonImportsCheck = [ "strpdatetime" ]; nativeCheckInputs = [ pytestCheckHook ]; meta = { description = "Parse strings into Python datetime objects"; license = lib.licenses.psfl; changelog = "https://github.com/RhetTbull/strpdatetime/blob/${src.rev}/CHANGELOG.md"; homepage = "https://github.com/RhetTbull/strpdatetime"; maintainers = with lib.maintainers; [ sigmanificient ]; }; } </ins>

<ins> diff --git a/tests/test_strpdatetime.py b/tests/test_strpdatetime.py index 6c371d6..a3d0232 100644 --- a/tests/test_strpdatetime.py +++ b/tests/test_strpdatetime.py @@ -44,5 +44,4 @@ TEST_DATA = [ @pytest.mark.parametrize("string, format, expected", TEST_DATA) def test_datetime_strptime(string, format, expected): """Test datetime_strptime""" -    locale.setlocale(locale.LC_ALL, "en_US.UTF-8") assert strpdatetime(string, format) == expected </ins>

bpycv = callPackage ../development/python-modules/bpycv {}; <ins> bpylist2 = callPackage ../development/python-modules/bpylist2 { }; </ins> bpython = callPackage ../development/python-modules/bpython { }; bqplot = callPackage ../development/python-modules/bqplot { };

ossfs = callPackage ../development/python-modules/ossfs { }; <ins> osxphotos = callPackage ../development/python-modules/osxphotos { }; </ins> ots-python = callPackage ../development/python-modules/ots-python { }; outcome = callPackage ../development/python-modules/outcome { };

rich-rst = callPackage ../development/python-modules/rich-rst { }; <ins> rich-theme-manager = callPackage ../development/python-modules/rich-theme-manager { }; </ins> ring-doorbell = callPackage ../development/python-modules/ring-doorbell { }; rio-tiler = callPackage ../development/python-modules/rio-tiler { };

striprtf = callPackage ../development/python-modules/striprtf { }; <ins> strpdatetime = callPackage ../development/python-modules/strpdatetime { }; </ins> structlog = callPackage ../development/python-modules/structlog { }; stubserver = callPackage ../development/python-modules/stubserver { };