[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#49834] Add dynaconf
From: |
Sarah Morgensen |
Subject: |
[bug#49834] Add dynaconf |
Date: |
Sat, 28 Aug 2021 15:46:14 -0700 |
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
- [bug#49835] [PATCH 7/7] gnu: Add dynaconf., (continued)
- [bug#49835] [PATCH 7/7] gnu: Add dynaconf., Giacomo Leidi, 2021/08/02
- [bug#49281] Add dynaconf, Sarah Morgensen, 2021/08/04
- [bug#49834] [PATCH 1/6] gnu: Add python-flake8-todo., Giacomo Leidi, 2021/08/28
- [bug#49834] [PATCH 2/6] gnu: Add python-dotenv., Giacomo Leidi, 2021/08/28
- [bug#49834] [PATCH 4/6] gnu: python-ruamel.yaml: Update to 0.17.10., Giacomo Leidi, 2021/08/28
- [bug#49834] [PATCH 3/6] gnu: Add python-box., Giacomo Leidi, 2021/08/28
- [bug#49834] [PATCH 5/6] gnu: Add python-pep8-naming., Giacomo Leidi, 2021/08/28
- [bug#49834] [PATCH 6/6] gnu: Add dynaconf., Giacomo Leidi, 2021/08/28
- [bug#49834] Add dynaconf,
Sarah Morgensen <=
- [bug#49834] [PATCH 1/4] gnu: Add python-dotenv., Giacomo Leidi, 2021/08/29