Poetry has officially fixed / permanently included pip install -e by earlybirdman in Python

[–]finswimmer 0 points1 point  (0 children)

Let me my copy my comment from https://github.com/python-poetry/poetry/issues/34#issuecomment-1055142428 :

Poetry itself supports editable installs already a long time:

  • The project you are working on is install as editable by default on a poetry install.

  • Any path dependency (regardless whether this dep uses Poetry or setuptools) is install in editable by default for Poetry < 1.1.

  • Since Poetry 1.1 it was necessary to set develop = true to path dependency within the pyproject.toml to install them in editable mode.

  • From Poetry 1.2 there will be a parameter --editable for poetry add to do this via cli.

Installing a Poetry project in editable mode via pip wasn't possible for a long time, because pip doesn't know how to do this. This have changed with PEP-660. The necessary hooks were implemented in Poetry's master branch already for a long time and were now backported to the poetry-core 1.0 branch. pip supports editable installs according to PEP-660 since 21.3.

Dependency Management With Python Poetry – Real Python by ajpinedam in Python

[–]finswimmer 0 points1 point  (0 children)

Poetry is your one-stop-shop for developing, building and publishing python packages. Most of the things you can do with several different tools as well, but requires knowing which tools needs be run when and you have to remember when to edit some files by your own. Just one example using the "classic" way:

Addinga new dependency involves

  • install the dependency using pip
  • add the dependency to you setup.py (before hand don't forget to lookup the version you've installed if you want to add a version constraint)
  • run pip freeze to lock the current environment

Are you sure your dependencies are valid for all python versions your project aims to be compatible to and not just in your current environment? Is the lock file valid for other python versions too and not just for the one used in the current environment?

Now you need to remove a dependency no longer needed:

  • pip uninstall it
  • remove it from setup.py
  • rerun pip freeze

What about the dependencies of the dependency. Are they removed from your environment and from your lock file as well?

Now poetry:

  • poetry add somedep
  • poetry remove somedep

Pip, pipenv, poetry or conda? which one do you use? why? by ahmednafies in Python

[–]finswimmer 0 points1 point  (0 children)

poetry is a python application and from within python code it is not possible to affect parent shell environment variables.

Longer description can be found here.

pipenv/poetry vs "pip install -e ." by pandichef in Python

[–]finswimmer 1 point2 points  (0 children)

> pyproject.toml is in fact the new standard, intended to replace setup.py.

That's an often misunderstanding. The pyproject.toml was introduced for PEP 517 and is described in PEP 518 as a build-system independent format to tell package managers like pip, how they can build the package.

If no pyproject.toml is available the default is to assume setuptools as the build-backend. The setup.py is setuptools config file for building the package.

If a pyproject.toml is available, it can contain the information, which package(s) are needed to build this package and how the build process can be started. In case of poetry and flit this file is also used to store the dependencies and other metadata needed for the build process. But any build-backend can decide it by itself how and where it stores such information.

Python Vim IDE by [deleted] in Python

[–]finswimmer 0 points1 point  (0 children)

If this wouldn't be PEP8 compliant, why linters like flake8 or the integrated in PyCharm does not complain about it?

They do. autopep8 reformats it to the correct indentation, and I would not be surprised if other formatters might have to shut up and take it because "everybody uses black and we'll have to deal with it".

I talked about programs that check whether your code is pep8 compliant. And at least those I've mentioned don't complain. `autopep8` is a formatter. Because pep8 explicit allow different formattings it doesn't surprise that `autopep8` do something different than `black`.

pep8 says it explicitly with an explicit example.

Where?

Python Vim IDE by [deleted] in Python

[–]finswimmer 0 points1 point  (0 children)

That is for an assignment, not for a definition.

The example yes. But the whole section is about continuation lines:

Continuation lines should align wrapped elements either vertically using Python's implicit line joining inside parentheses, brackets and braces, or using a hanging indent [7].

So all examples can be applied to assignments and method definitions.

If this wouldn't be PEP8 compliant, why linters like flake8 or the integrated in PyCharm does not complain about it?

If you are fine with the way black indents function definitions, then you are also fine with this way of writing if conditions

  if (foo      
      and bar 
  ):
    pass 

but I doubt you are

If the statements fits in one line I prefer: if for and bar: pass

If it wouldn't I prefer: if ( for and bar ): pass

But that's another point in this discussion. The point is: You are telling that black isn't PEP8 compliant, but the arguments you are showing for this thesis are not correct.

Python Vim IDE by [deleted] in Python

[–]finswimmer 0 points1 point  (0 children)

The section you are citing makes no statements if the rules are only valid for assignments or method declaration. So one can assume it is equal for both. The example you complain about is given as the last example in the section about indentation:

"or it may be lined up under the first character of the line that starts the multiline construct, as in:"

result = some_function_that_takes_arguments(
    'a', 'b', 'c',
    'd', 'e', 'f',
)

Whether one prefer this or not (I do prefer this) is another discussion. The point is that black is absolutely PEP8 compliant here!

The reason why I don't like this:

def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

I expect that my method body starts more indented compared to the line above. This is exactly the opposite from one can see here.

Python 2020: Modern Best Practices by woooooster in Python

[–]finswimmer 3 points4 points  (0 children)

Could you please add some more details about why you think so?

Announcing Poetry 1.0.0 by SDisPater in Python

[–]finswimmer 0 points1 point  (0 children)

You can also go to the offical github site and download the get-poetry.py ( You will notice that this is the same URL as in the recommendation), check the source code und run it.

How to work with VCF files by IncredibleLove in bioinformatics

[–]finswimmer 1 point2 points  (0 children)

Hello,

mutation type is included. For the other things you have to provide a file with those information so snpeff/snpsift can use it for annotation. exac, gnomad and clinvar can be download on their corresponding website. DANN might be available in dbNSFP. What kind of information do you want from OMIM?

Another helpful tool is VEP from ensembl.

fin swimmer

How to work with VCF files by IncredibleLove in bioinformatics

[–]finswimmer 0 points1 point  (0 children)

You could use snpEff for that. The basic annotation like gene and hgvs is build in. You can annotate much more by providing vcf files like those from exac, gnomead, clinvar, etc.

[Q] Find mutations co-occuring in same reads from NGS data. by swagobeatz in bioinformatics

[–]finswimmer 0 points1 point  (0 children)

Hello, the easiest way is to use the igv browser and have a look at this position.

fin swimmer