unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* guix pypi-ls
@ 2022-11-05 17:47 jgart
  2022-11-05 17:49 ` jgart
  2022-11-06 18:23 ` zimoun
  0 siblings, 2 replies; 3+ messages in thread
From: jgart @ 2022-11-05 17:47 UTC (permalink / raw)
  To: Guix Devel; +Cc: Lars-Dominik Braun, zimoun

hi,

I have this one off script I call `pypi-ls` for listing tar files on
standard output from pypi to see if they contain tests:

#!/bin/env sh

exec wget -qO- $1 | tar xvz

Would this feature/idea be useful to be integrated into the guix cli somehow?

Maybe integrated into the pypi importer?

Should the pypi importer eventually warn if tests are missing automatically?

This is how I currently use `pypi-ls`

$ pypi-ls  https://files.pythonhosted.org/packages/e4/f9/c888a9cb6e959e7619262e21c17bf7d9afcba31a29120a8bc2de4242a488/pygls-0.13.0.tar.gz

pygls-0.13.0/
pygls-0.13.0/.editorconfig
pygls-0.13.0/.gitattributes
pygls-0.13.0/.github/
pygls-0.13.0/.github/FUNDING.yml
pygls-0.13.0/.github/workflows/
pygls-0.13.0/.github/workflows/ci.yml
pygls-0.13.0/.github/workflows/json-extension.yml
pygls-0.13.0/.gitignore
pygls-0.13.0/CHANGELOG.md
pygls-0.13.0/CODE_OF_CONDUCT.md
pygls-0.13.0/CONTRIBUTING.md
pygls-0.13.0/CONTRIBUTORS.md
pygls-0.13.0/Implementations.md
pygls-0.13.0/LICENSE.txt
pygls-0.13.0/MANIFEST.in
pygls-0.13.0/PKG-INFO
pygls-0.13.0/PULL_REQUEST_TEMPLATE.md
pygls-0.13.0/README.md
pygls-0.13.0/RELEASING.md
pygls-0.13.0/ThirdPartyNotices.txt
pygls-0.13.0/assets/
pygls-0.13.0/assets/img/
pygls-0.13.0/assets/img/readme/
pygls-0.13.0/assets/img/readme/completion-list.png
pygls-0.13.0/docs/
pygls-0.13.0/docs/Makefile
pygls-0.13.0/docs/make.bat
pygls-0.13.0/docs/source/
pygls-0.13.0/docs/source/conf.py
pygls-0.13.0/docs/source/index.rst
pygls-0.13.0/docs/source/pages/
pygls-0.13.0/docs/source/pages/advanced_usage.rst
pygls-0.13.0/docs/source/pages/getting_started.rst
pygls-0.13.0/docs/source/pages/testing.rst
pygls-0.13.0/docs/source/pages/tutorial.rst
pygls-0.13.0/examples/
pygls-0.13.0/examples/README.md
pygls-0.13.0/examples/fountain-extension/
pygls-0.13.0/examples/fountain-extension/.gitignore
pygls-0.13.0/examples/fountain-extension/README.md
pygls-0.13.0/examples/fountain-extension/demo.png
pygls-0.13.0/examples/fountain-extension/fountain-language-configuration.json
pygls-0.13.0/examples/fountain-extension/package-lock.json
pygls-0.13.0/examples/fountain-extension/package.json
pygls-0.13.0/examples/fountain-extension/src/
pygls-0.13.0/examples/fountain-extension/src/client.ts
pygls-0.13.0/examples/fountain-extension/src/server.py
pygls-0.13.0/examples/fountain-extension/src/server.ts
pygls-0.13.0/examples/fountain-extension/tsconfig.json
pygls-0.13.0/examples/fountain-extension/tunnel.png
pygls-0.13.0/examples/fountain-extension/webpack.config.js
pygls-0.13.0/examples/json-extension/
pygls-0.13.0/examples/json-extension/.eslintrc.yml
pygls-0.13.0/examples/json-extension/.gitignore
pygls-0.13.0/examples/json-extension/.vscode/
pygls-0.13.0/examples/json-extension/.vscode/launch.json
pygls-0.13.0/examples/json-extension/.vscode/tasks.json
pygls-0.13.0/examples/json-extension/.vscodeignore
pygls-0.13.0/examples/json-extension/LICENSE.txt
pygls-0.13.0/examples/json-extension/README.md
pygls-0.13.0/examples/json-extension/client/
pygls-0.13.0/examples/json-extension/client/src/
pygls-0.13.0/examples/json-extension/client/src/extension.ts
pygls-0.13.0/examples/json-extension/package-lock.json
pygls-0.13.0/examples/json-extension/package.json
pygls-0.13.0/examples/json-extension/server/
pygls-0.13.0/examples/json-extension/server/__init__.py
pygls-0.13.0/examples/json-extension/server/__main__.py
pygls-0.13.0/examples/json-extension/server/server.py
pygls-0.13.0/examples/json-extension/server/tests/
pygls-0.13.0/examples/json-extension/server/tests/__init__.py
pygls-0.13.0/examples/json-extension/server/tests/unit/
pygls-0.13.0/examples/json-extension/server/tests/unit/__init__.py
pygls-0.13.0/examples/json-extension/server/tests/unit/test_features.py
pygls-0.13.0/examples/json-extension/tsconfig.json
pygls-0.13.0/pygls/
pygls-0.13.0/pygls/__init__.py
pygls-0.13.0/pygls/capabilities.py
pygls-0.13.0/pygls/constants.py
pygls-0.13.0/pygls/exceptions.py
pygls-0.13.0/pygls/feature_manager.py
pygls-0.13.0/pygls/lsp/
pygls-0.13.0/pygls/lsp/__init__.py
pygls-0.13.0/pygls/lsp/methods.py
pygls-0.13.0/pygls/lsp/types/
pygls-0.13.0/pygls/lsp/types/__init__.py
pygls-0.13.0/pygls/lsp/types/basic_structures.py
pygls-0.13.0/pygls/lsp/types/client.py
pygls-0.13.0/pygls/lsp/types/diagnostics.py
pygls-0.13.0/pygls/lsp/types/file_operations.py
pygls-0.13.0/pygls/lsp/types/general_messages.py
pygls-0.13.0/pygls/lsp/types/language_features/
pygls-0.13.0/pygls/lsp/types/language_features/__init__.py
pygls-0.13.0/pygls/lsp/types/language_features/call_hierarchy.py
pygls-0.13.0/pygls/lsp/types/language_features/code_action.py
pygls-0.13.0/pygls/lsp/types/language_features/code_lens.py
pygls-0.13.0/pygls/lsp/types/language_features/color_presentation.py
pygls-0.13.0/pygls/lsp/types/language_features/completion.py
pygls-0.13.0/pygls/lsp/types/language_features/declaration.py
pygls-0.13.0/pygls/lsp/types/language_features/definition.py
pygls-0.13.0/pygls/lsp/types/language_features/document_color.py
pygls-0.13.0/pygls/lsp/types/language_features/document_highlight.py
pygls-0.13.0/pygls/lsp/types/language_features/document_link.py
pygls-0.13.0/pygls/lsp/types/language_features/document_symbol.py
pygls-0.13.0/pygls/lsp/types/language_features/folding_range.py
pygls-0.13.0/pygls/lsp/types/language_features/formatting.py
pygls-0.13.0/pygls/lsp/types/language_features/hover.py
pygls-0.13.0/pygls/lsp/types/language_features/implementation.py
pygls-0.13.0/pygls/lsp/types/language_features/linked_editing_range.py
pygls-0.13.0/pygls/lsp/types/language_features/monikers.py
pygls-0.13.0/pygls/lsp/types/language_features/on_type_formatting.py
pygls-0.13.0/pygls/lsp/types/language_features/prepare_rename.py
pygls-0.13.0/pygls/lsp/types/language_features/range_formatting.py
pygls-0.13.0/pygls/lsp/types/language_features/references.py
pygls-0.13.0/pygls/lsp/types/language_features/rename.py
pygls-0.13.0/pygls/lsp/types/language_features/selection_range.py
pygls-0.13.0/pygls/lsp/types/language_features/semantic_tokens.py
pygls-0.13.0/pygls/lsp/types/language_features/signature_help.py
pygls-0.13.0/pygls/lsp/types/language_features/type_definition.py
pygls-0.13.0/pygls/lsp/types/text_synchronization.py
pygls-0.13.0/pygls/lsp/types/window.py
pygls-0.13.0/pygls/lsp/types/workspace.py
pygls-0.13.0/pygls/progress.py
pygls-0.13.0/pygls/protocol.py
pygls-0.13.0/pygls/py.typed
pygls-0.13.0/pygls/server.py
pygls-0.13.0/pygls/uris.py
pygls-0.13.0/pygls/workspace.py
pygls-0.13.0/pygls.egg-info/
pygls-0.13.0/pygls.egg-info/PKG-INFO
pygls-0.13.0/pygls.egg-info/SOURCES.txt
pygls-0.13.0/pygls.egg-info/dependency_links.txt
pygls-0.13.0/pygls.egg-info/not-zip-safe
pygls-0.13.0/pygls.egg-info/requires.txt
pygls-0.13.0/pygls.egg-info/top_level.txt
pygls-0.13.0/pyodide_testrunner/
pygls-0.13.0/pyodide_testrunner/.gitignore
pygls-0.13.0/pyodide_testrunner/index.html
pygls-0.13.0/pyodide_testrunner/requirements.txt
pygls-0.13.0/pyodide_testrunner/run.py
pygls-0.13.0/pyodide_testrunner/test-runner.js
pygls-0.13.0/pyproject.toml
pygls-0.13.0/setup.cfg
pygls-0.13.0/setup.py
pygls-0.13.0/tests/
pygls-0.13.0/tests/__init__.py
pygls-0.13.0/tests/_init_server_stall_fix_hack.py
pygls-0.13.0/tests/conftest.py
pygls-0.13.0/tests/ls_setup.py
pygls-0.13.0/tests/lsp/
pygls-0.13.0/tests/lsp/__init__.py
pygls-0.13.0/tests/lsp/semantic_tokens/
pygls-0.13.0/tests/lsp/semantic_tokens/__init__.py
pygls-0.13.0/tests/lsp/semantic_tokens/test_delta_missing_legend.py
pygls-0.13.0/tests/lsp/semantic_tokens/test_delta_missing_legend_none.py
pygls-0.13.0/tests/lsp/semantic_tokens/test_full_missing_legend.py
pygls-0.13.0/tests/lsp/semantic_tokens/test_range.py
pygls-0.13.0/tests/lsp/semantic_tokens/test_range_missing_legends.py
pygls-0.13.0/tests/lsp/semantic_tokens/test_semantic_tokens_full.py
pygls-0.13.0/tests/lsp/test_call_hierarchy.py
pygls-0.13.0/tests/lsp/test_code_action.py
pygls-0.13.0/tests/lsp/test_code_lens.py
pygls-0.13.0/tests/lsp/test_color_presentation.py
pygls-0.13.0/tests/lsp/test_completion.py
pygls-0.13.0/tests/lsp/test_declaration.py
pygls-0.13.0/tests/lsp/test_definition.py
pygls-0.13.0/tests/lsp/test_document_color.py
pygls-0.13.0/tests/lsp/test_document_highlight.py
pygls-0.13.0/tests/lsp/test_document_link.py
pygls-0.13.0/tests/lsp/test_document_symbol.py
pygls-0.13.0/tests/lsp/test_errors.py
pygls-0.13.0/tests/lsp/test_folding_range.py
pygls-0.13.0/tests/lsp/test_formatting.py
pygls-0.13.0/tests/lsp/test_hover.py
pygls-0.13.0/tests/lsp/test_implementation.py
pygls-0.13.0/tests/lsp/test_linked_editing_range.py
pygls-0.13.0/tests/lsp/test_moniker.py
pygls-0.13.0/tests/lsp/test_on_type_formatting.py
pygls-0.13.0/tests/lsp/test_prepare_rename.py
pygls-0.13.0/tests/lsp/test_progress.py
pygls-0.13.0/tests/lsp/test_range_formatting.py
pygls-0.13.0/tests/lsp/test_references.py
pygls-0.13.0/tests/lsp/test_rename.py
pygls-0.13.0/tests/lsp/test_selection_range.py
pygls-0.13.0/tests/lsp/test_signature_help.py
pygls-0.13.0/tests/lsp/test_type_definition.py
pygls-0.13.0/tests/test_document.py
pygls-0.13.0/tests/test_feature_manager.py
pygls-0.13.0/tests/test_language_server.py
pygls-0.13.0/tests/test_protocol.py
pygls-0.13.0/tests/test_server_connection.py
pygls-0.13.0/tests/test_types.py
pygls-0.13.0/tests/test_uris.py
pygls-0.13.0/tests/test_workspace.py
pygls-0.13.0/tox.ini

Then I can see in the above standard output that the tests are indeed on PyPi.

all best,

jgart




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: guix pypi-ls
  2022-11-05 17:47 guix pypi-ls jgart
@ 2022-11-05 17:49 ` jgart
  2022-11-06 18:23 ` zimoun
  1 sibling, 0 replies; 3+ messages in thread
From: jgart @ 2022-11-05 17:49 UTC (permalink / raw)
  To: Guix Devel; +Cc: Lars-Dominik Braun, zimoun

On Sat, 05 Nov 2022 12:47:19 -0500 jgart <jgart@dismail.de> wrote:
> $ pypi-ls  https://files.pythonhosted.org/packages/e4/f9/c888a9cb6e959e7619262e21c17bf7d9afcba31a29120a8bc2de4242a488/pygls-0.13.0.tar.gz

Ideally, I'd just give it the PyPi canoncial name as argument instead
of that long path to the tar file.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: guix pypi-ls
  2022-11-05 17:47 guix pypi-ls jgart
  2022-11-05 17:49 ` jgart
@ 2022-11-06 18:23 ` zimoun
  1 sibling, 0 replies; 3+ messages in thread
From: zimoun @ 2022-11-06 18:23 UTC (permalink / raw)
  To: jgart, Guix Devel; +Cc: Lars-Dominik Braun

Hi,

On Sat, 05 Nov 2022 at 12:47, jgart <jgart@dismail.de> wrote:

> I have this one off script I call `pypi-ls` for listing tar files on
> standard output from pypi to see if they contain tests:
>
> #!/bin/env sh
>
> exec wget -qO- $1 | tar xvz

Well, I think you can avoid the extraction.  Something like:

   exec wget -qO- $1 | tar tz

I have some tiny Guix script that extract the source URL from a package,
but I am not happy with it.  Other said, from my point of view, the most
annoying part is to form the PyPI URL, i.e., get $1. :-) For instance, I
have something like,

    guix download $(guix repl -- pypi.scm pygls@.13) | tar tz

and we could imagine a better UI.  It could be nice to have an
extension, say “guix upstream”, that does some of the left part of the
pipe.


Cheers,
simon



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-11-06 19:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-05 17:47 guix pypi-ls jgart
2022-11-05 17:49 ` jgart
2022-11-06 18:23 ` zimoun

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).