techtonik / python-patch

Library to parse and apply unified diffs
https://pypi.python.org/pypi/patch
106 stars 63 forks source link

run tests with tox + travis #44

Closed graingert closed 7 years ago

techtonik commented 7 years ago

What is the improvement in that additional level of indirection?

graingert commented 7 years ago

I can run the tests locally across all versions of Python, without relying on Travis. It's a very common pattern.

techtonik commented 7 years ago

Seems fair. Do you know any way to keep the root of the project clean of various .files?

graingert commented 7 years ago

@techtonik tox introduces a "tox.ini" file no ".files" into source control, as it's included in ".gitignore"

techtonik commented 7 years ago

tox.ini is also the .file that I'd like to avoid having in repository root. Ideally, repositories should have only README.md and patch.py in the root of the project, and maybe single .master.yaml file with inline content or references to all other .configs.

graingert commented 7 years ago

every tool also reads from tox.ini, eg you can add a [flake8] config to the tox.ini

graingert commented 7 years ago

except for setuptools (which needs setup.cfg) and things from the Ruby world that want yaml

graingert commented 7 years ago

Of course, these ".files" are not to be feared anyway.

techtonik commented 7 years ago

Yes, but this "state of art" is not satisfying, and while I am all for convenient ux of local testing with single tox command, the perfectionist in me says, that if I give up, it will never be fixed. =)

graingert commented 7 years ago

It would be much better

  1. To make it convenient for contributors (this is how you get useful contributions)
  2. For your project to fit in with the wider community of Python libraries and applications.

Than to simply ignore these existing, open, and agreed upon standards

techtonik commented 7 years ago

The biggest problem with this project, is that I hit Norris Number with the complexity of the code that Python2/3 and Unicode issues bring in, so it takes me a lot of time to prepare myself to revisit code to this project (even if it probably the best thing that I wrote).

And also you need to know, that I was expelled from Python community, because I didn't want to follow the lemmings way as I put it. ) Unfortunately, I learned not to take any thing for granted, and prefer UX over the conventions and rituals, and it is sad for me to see more cargo cultists than engineers out there.

Those "existing, open" standards are really outdated. The only reason why nobody updates them is because we have an ongoing economic bug. Everybody knows that Python packaging is a mess, and only reason it is improved are heroic efforts of a few unknown people, who have to find the balance between life, job and open source.

graingert commented 7 years ago

And also you need to know, that I was expelled from Python community, because I didn't want to follow the lemmings way as I put it.

I consider myself a member of this community. Thanks for pointing this out. Maybe you should add this to your README.md?