From patchwork Mon Jan 1 17:34:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Troy Figiel X-Patchwork-Id: 58281 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id F332C27BBEA; Mon, 1 Jan 2024 18:13:22 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 27A3027BBE2 for ; Mon, 1 Jan 2024 18:13:22 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rKMmf-0003Cc-9B; Mon, 01 Jan 2024 13:13:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rKMma-0003CB-VC for guix-patches@gnu.org; Mon, 01 Jan 2024 13:13:02 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rKMmZ-0000Q5-Pf for guix-patches@gnu.org; Mon, 01 Jan 2024 13:12:59 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rKMmb-000865-MN for guix-patches@gnu.org; Mon, 01 Jan 2024 13:13:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#68192] [PATCH 2/2] gnu: Add python-jaraco-collections. References: <87y1d9dj2y.fsf@troyfigiel.com> In-Reply-To: <87y1d9dj2y.fsf@troyfigiel.com> Resent-From: Troy Figiel Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 01 Jan 2024 18:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 68192 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 68192@debbugs.gnu.org Received: via spool by 68192-submit@debbugs.gnu.org id=B68192.170413273531063 (code B ref 68192); Mon, 01 Jan 2024 18:13:01 +0000 Received: (at 68192) by debbugs.gnu.org; 1 Jan 2024 18:12:15 +0000 Received: from localhost ([127.0.0.1]:48737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rKMlr-00084x-5Q for submit@debbugs.gnu.org; Mon, 01 Jan 2024 13:12:15 -0500 Received: from mout-p-103.mailbox.org ([80.241.56.161]:53572) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rKMlp-00084i-JK for 68192@debbugs.gnu.org; Mon, 01 Jan 2024 13:12:14 -0500 Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4T3kb75xB4z9syF for <68192@debbugs.gnu.org>; Mon, 1 Jan 2024 19:12:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=troyfigiel.com; s=MBO0001; t=1704132723; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=hpESG7ENHZVKhkQwDUDSl6zB0bIuhTI0VijbcgNCnrY=; b=wGb+tR7EbqJz25w98vb6jfwZRAuGSsmIqmJn7q6OcPsI6dEcg/sWbmFy9x6lHd8pEnGOgV AV5R0d7ed3K6GSBm19eHaw/dqf6Lfe3+k/6OUjG2SOcKMThocufhhq4CwoUfge2yRvaKOs /YMvbAO2KmeUOSkKlOJB+xYt3cbA1LMNzgxJ+IqrEWkhCqJJ7Hs48A31yfVhoJp16jteR1 WARAR4F03ph10cNN7A+OuXF2LH61bss4T66+tPYafCoQYwEHqoydJe1cNyqncrvsD8xp7K Yfn+A/wDWp3mNygeuyLSPioU8C/OaDuvYnGx6JR8dyppprkOCoxLrJjU4IT+KQ== From: Troy Figiel Date: Mon, 1 Jan 2024 18:34:38 +0100 Message-ID: <87v88cexe4.fsf@troyfigiel.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/python-xyz.scm (python-jaraco-collections): New variable. --- gnu/packages/python-xyz.scm | 61 +++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index f3014f8105..09172dccf7 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10275,6 +10275,67 @@ (define-public python-jaraco-classes class constructs.") (license license:expat))) +(define-public python-jaraco-collections + (package + (name "python-jaraco-collections") + (version "5.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "jaraco.collections" version)) + (sha256 + (base32 "0s7y3jr7c173k38pck1b17kxnvx2fl0qh9m9gdf64pr9kz8fi00n")))) + (build-system pyproject-build-system) + ;; Do not test pyproject.toml with python-pytest-checkdocs as it tries to + ;; download dependencies. + (arguments + '(#:test-flags '("-k" "not project"))) + (propagated-inputs (list python-jaraco-text)) + ;; TODO: Add python-pytest-ruff to native-inputs once it has been + ;; packaged. + (native-inputs (list python-pytest + python-pytest-black + python-pytest-checkdocs + python-pytest-cov + python-pytest-enabler + python-pytest-mypy)) + (home-page "https://github.com/jaraco/jaraco.collections") + (synopsis "Provides various collection objects") + (description + "This package provides models and classes to supplement the +standard library @code{collections} module. Examples include +@itemize +@item +RangeMap: A mapping that accepts a range of values for keys. +@item +Projection: A subset over an existing mapping. +@item +KeyTransformingDict: Generalized mapping with keys transformed by a function. +@item +FoldedCaseKeyedDict: A dict whose string keys are case-insensitive. +@item +BijectiveMap: A map where keys map to values and values back to their keys. +@item +ItemsAsAttributes: A mapping mix-in exposing items as attributes. +@item +IdentityOverrideMap: A map whose keys map by default to themselves unless overridden. +@item +FrozenDict: A hashable, immutable map. +@item +Enumeration: An object whose keys are enumerated. +@item +Everything: A container that contains all things. +@item +Least, Greatest: Objects that are always less than or greater than any other. +@item +pop_all: Return all items from the mutable sequence and remove them from that sequence. +@item +DictStack: A stack of dicts, great for sharing scopes. +@item +WeightedLookup: A specialized RangeMap for selecting an item by weights. +@end itemize") + (license license:expat))) + ;;; Variant used to break a cycle with python-pytest-enabler. (define-public python-jaraco-context-bootstrap (hidden-package