From: Sarah Morgensen <iskarian@mgsn.dev>
To: Giacomo Leidi <goodoldpaul@autistici.org>
Cc: 49834@debbugs.gnu.org
Subject: [bug#49834] Add dynaconf
Date: Sat, 28 Aug 2021 15:46:14 -0700 [thread overview]
Message-ID: <86a6l12nnt.fsf@mgsn.dev> (raw)
In-Reply-To: paul's message of "Sat, 28 Aug 2021 13:50:58 +0200 (10 hours, 44 minutes, 1 second ago)"
Hi Giacomo,
Giacomo Leidi <goodoldpaul@autistici.org> writes:
> Dear Sarah,
>
> thank you for your review!
Thank you for your continued work on this. I know it can be a long and
sometimes discouraging process, and we often end up with abandoned
patches because of it.
>
> On 8/4/21 8:26 PM, Sarah Morgensen wrote:
>> The pyproject.toml file does say this is "MIT" (= expat), but there's no
>> actual license file in the project. I don't think this is sufficient as
>> far as Guix is concerned (perhaps an actual maintainer/committer can
>> comment?)
>
> First of all I opened an upstream PR [0] to add an actual LICENSE file: I hope
> that, given its simplicity, it will get merged soon.
Fingers crossed!
>
> I'm no expert about this but I tried building dynaconf without flake8-debugger
> and it seems to work flawlessly. The dependency was put there by the python
> importer, probably the developers have it in some dev-dependencies declaration
> needed to commit well-formatted code in the repository.
>
> Since flake8-debugger doesn't appear to be required for the inclusion of
> dynaconf maybe we can exclude it for this time and whenever the PR will
> be merged I'll open another Guix issue to add it.
>
> What do you think about this approach? (I'm attaching an updated patch-set
> without flake8-debugger and rebased on current master).
Did you receive my other email? I found that in fact none of the flake8
packages, as well as some others, are actually required. I apologise if
merging these bugs caused it to get lost! I'll quote it below.
Sarah Morgensen <iskarian@mgsn.dev> writes:
> Hi,
>
> Thanks again for your work on packaging this!
>
> Giacomo Leidi <goodoldpaul@autistici.org> writes:
>
>> * gnu/packages/python-xyz.scm (python-colorama-0.4.1): New variable,
>> (python-dotenv-0.13.0): New variable,
>> (dynaconf): New variable.
>
> Packages typically get one commit per package (so this would be three
> commits).
>
>> * gnu/packages/patches/dynaconf-Unvendor-dependencies.patch: New file.
> ^ an extra space slipped in here.
>
>> [...]
>> + (arguments
>> + `(#:phases
>> + (modify-phases %standard-phases
>> + (replace 'check
>> + (lambda* (#:key tests? outputs #:allow-other-keys)
>> + (when tests?
>> + (setenv "PATH"
>> + (string-append (assoc-ref outputs "out") "/bin:"
>> + (getenv "PATH")))
>> + ;; These tests depend on hvac and a
>> + ;; live Vault process.
>> + (delete-file "tests/test_vault.py")
>> + (invoke "make" "test_only"))
>> + #t)))))
> ^ Nitpick: phases no longer have to end in #t, though it
> doesn't hurt.
>
>> + (propagated-inputs
>> + `(("python-click" ,python-click)
>> + ("python-dotenv" ,python-dotenv-0.13.0)
>> + ("python-ruamel.yaml" ,python-ruamel.yaml)
>> + ("python-toml" ,python-toml)))
>> + (native-inputs
>> + `(("make" ,gnu-make)
>> + ("python-codecov" ,python-codecov)
>> + ("python-configobj" ,python-configobj)
>> + ("python-colorama" ,python-colorama-0.4.1)
>> + ("python-django" ,python-django)
>> + ("python-flake8" ,python-flake8)
>> + ("python-flake8-debugger" ,python-flake8-debugger)
>> + ("python-flake8-print" ,python-flake8-print)
>> + ("python-flake8-todo" ,python-flake8-todo)
>> + ("python-flask" ,python-flask)
>> + ("python-future" ,python-future)
>> + ("python-pep8-naming" ,python-pep8-naming)
>> + ("python-pytest" ,python-pytest-6)
>> + ("python-pytest-cov" ,python-pytest-cov)
>> + ("python-pytest-forked" ,python-pytest-forked)
>> + ("python-pytest-mock" ,python-pytest-mock)
>> + ("python-pytest-xdist" ,python-pytest-xdist)
>> + ("python-radon" ,python-radon)))
>
> With the test_only target, I think only a few of these are actually
> required. Also, configobj should probably be a propagated input as
> dynaconf uses it for ini files. I've attached a patch below.
>
> Notably, this seems to make python-flake8-debugger, python-flake8-todo,
> python-pep8-naming and python-colorama-0.4.1 unneccessary (I think
> because they are used for code linting, and the test_only target doesn't
> do linting). WDYT?
>
> (Even if they aren't necessary for packaging dynaconf, you're still
> welcome to send them as separate patches :)
>
>> + (home-page
>> + "https://github.com/rochacbruno/dynaconf")
> ^ Nitpick: this can go on one line
>
>> + (synopsis
>> + "The dynamic configurator for your Python Project")
> ^ Likewise
>
>> + (description
>> + "This package provides @code{dynaconf} the dynamic configurator for
>> +your Python Project.")
>
> Even as someone who has used python a lot before, this doesn't tell me
> anything about what dynaconf actually does or why I might want to
> install it. (Or, is it even an end-user package?) For examples, take a
> look at pretty much any package which has more than two lines in its
> description (like, say, python-seaborn). I know writing a good
> description can be difficult, but they tend to stick around and read by
> lots of people, so getting it right the first time is important!
>
>
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index f4f3b7fb3f..58defd9fcc 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -26380,28 +26380,16 @@ It implements advanced Python dictionaries with dot notation access.")
> #t)))))
> (propagated-inputs
> `(("python-click" ,python-click)
> + ("python-configobj" ,python-configobj)
> ("python-dotenv" ,python-dotenv-0.13.0)
> ("python-ruamel.yaml" ,python-ruamel.yaml)
> ("python-toml" ,python-toml)))
> (native-inputs
> - `(("make" ,gnu-make)
> - ("python-codecov" ,python-codecov)
> - ("python-configobj" ,python-configobj)
> - ("python-colorama" ,python-colorama-0.4.1)
> - ("python-django" ,python-django)
> - ("python-flake8" ,python-flake8)
> - ("python-flake8-debugger" ,python-flake8-debugger)
> - ("python-flake8-print" ,python-flake8-print)
> - ("python-flake8-todo" ,python-flake8-todo)
> + `(("python-django" ,python-django)
> ("python-flask" ,python-flask)
> - ("python-future" ,python-future)
> - ("python-pep8-naming" ,python-pep8-naming)
> ("python-pytest" ,python-pytest-6)
> ("python-pytest-cov" ,python-pytest-cov)
> - ("python-pytest-forked" ,python-pytest-forked)
> - ("python-pytest-mock" ,python-pytest-mock)
> - ("python-pytest-xdist" ,python-pytest-xdist)
> - ("python-radon" ,python-radon)))
> + ("python-pytest-mock" ,python-pytest-mock)))
> (home-page
> "https://github.com/rochacbruno/dynaconf")
> (synopsis
>
>
> --
> Sarah
next prev parent reply other threads:[~2021-08-28 22:47 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-02 18:13 [bug#49834] [PATCH 1/7] gnu: Add python-flake8-debugger Giacomo Leidi
2021-08-02 18:13 ` [bug#49830] [PATCH 2/7] gnu: Add python-flake8-todo Giacomo Leidi
2021-08-02 18:13 ` [bug#49833] [PATCH 3/7] gnu: Add python-dotenv Giacomo Leidi
2021-08-04 18:35 ` [bug#49281] Add dynaconf Sarah Morgensen
2021-08-02 18:13 ` [bug#49832] [PATCH 4/7] gnu: Add python-box Giacomo Leidi
2021-08-02 18:13 ` [bug#49829] [PATCH 5/7] gnu: python-ruamel.yaml: Update to 0.17.10 Giacomo Leidi
2021-08-02 18:13 ` [bug#49831] [PATCH 6/7] gnu: Add python-pep8-naming Giacomo Leidi
2021-08-02 18:13 ` [bug#49835] [PATCH 7/7] gnu: Add dynaconf Giacomo Leidi
2021-08-04 19:13 ` [bug#49281] " Sarah Morgensen
2021-08-04 18:26 ` Sarah Morgensen
2021-08-28 11:50 ` [bug#49834] " paul
2021-08-28 11:51 ` [bug#49834] [PATCH 1/6] gnu: Add python-flake8-todo Giacomo Leidi
2021-08-28 11:51 ` [bug#49834] [PATCH 2/6] gnu: Add python-dotenv Giacomo Leidi
2021-08-28 11:51 ` [bug#49834] [PATCH 3/6] gnu: Add python-box Giacomo Leidi
2021-08-28 11:51 ` [bug#49834] [PATCH 4/6] gnu: python-ruamel.yaml: Update to 0.17.10 Giacomo Leidi
2021-08-28 11:51 ` [bug#49834] [PATCH 5/6] gnu: Add python-pep8-naming Giacomo Leidi
2021-08-28 11:51 ` [bug#49834] [PATCH 6/6] gnu: Add dynaconf Giacomo Leidi
2021-08-28 22:46 ` Sarah Morgensen [this message]
2021-08-29 22:52 ` [bug#49834] " paul
2021-08-29 22:53 ` [bug#49834] [PATCH 1/4] gnu: Add python-dotenv Giacomo Leidi
2021-08-29 22:53 ` [bug#49834] [PATCH 2/4] gnu: python-ruamel.yaml: Update to 0.17.10 Giacomo Leidi
2021-08-29 22:53 ` [bug#49834] [PATCH 3/4] gnu: Add python-dotenv-0.13.0 Giacomo Leidi
2021-08-29 22:53 ` [bug#49834] [PATCH 4/4] gnu: Add dynaconf Giacomo Leidi
2021-10-07 22:49 ` [bug#49834] [PATCH 1/7] gnu: Add python-flake8-debugger paul
2021-11-19 23:40 ` [bug#49834] gnu: Add dynaconf paul via Guix-patches via
2021-12-01 11:59 ` bug#49834: " Efraim Flashner
2021-11-19 23:41 ` [bug#49834] [PATCH 1/4] gnu: Add python-dotenv Giacomo Leidi via Guix-patches via
2021-11-19 23:41 ` [bug#49834] [PATCH 2/4] gnu: python-ruamel.yaml: Update to 0.17.10 Giacomo Leidi via Guix-patches via
2021-11-19 23:41 ` [bug#49834] [PATCH 3/4] gnu: Add python-dotenv-0.13.0 Giacomo Leidi via Guix-patches via
2021-11-19 23:41 ` [bug#49834] [PATCH 4/4] gnu: Add dynaconf Giacomo Leidi via Guix-patches via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86a6l12nnt.fsf@mgsn.dev \
--to=iskarian@mgsn.dev \
--cc=49834@debbugs.gnu.org \
--cc=goodoldpaul@autistici.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).