Comments (8)
It is a pity to loose the functionality but I understand. I will work on that.
from validate-pyproject.
Hi @FRidh, thank you very much for reporting this.
Adding an option seems very reasonable, but I have to engineer a way of passing them through the chain.
Currently there is a way of achieving that, but it involves setting a environment variable: NO_NETWORK
. Does that work for you?
from validate-pyproject.
Best ask other redistributors what their point of view is on this matter. Let's start with arch, cc @FFY00
For me that works, but as you said, in the end this needs to be in setuptools.
from validate-pyproject.
Yup, the NO_NETWORK
environment variable as it is currently implemented should be perfectly fine for us. Note that I haven't really tried it, but looking at the code I don't see any architectural reason why it wouldn't.
from validate-pyproject.
For me that works, but as you said, in the end this needs to be in setuptools.
Hi @FRidh, I am not sure if I understood this correctly.
I am planning to disable the trove-classifiers
when running setuptools tests.
However disabling trove-classifiers
by default every time that the validations are running via setuptools
seems like a drop in functionality to me.
Isn't it a good thing that packages are having their classifiers validated by default during the build? I would say that is a feature...
validate-pyproject
will not fail if it does not manage to download files, so it does play nice even if the end user is offline.
When running the tests people can opt out of this particular behaviour by setting the environment variable, or have a more consistent one by installing a pinned version of the trove-classifiers
package in the build environment.
from validate-pyproject.
Isn't it a good thing that packages are having their classifiers validated by default during the build? I would say that is a feature...
Absolutely! However, fetching something from the web is not the way, since as I mentioned, it can affect reproducibility. When a classifier is in the future deprecated, it will fail the validation and thereby the build, right?
I'm going to drop this here. https://reproducible-builds.org/.
from validate-pyproject.
Thank you very much @FRidh.
I feel like if the users are interested in reproducibility, it would be fair to expect them to pin trove-classifiers
in the build environment.
However I understand that this is not something you cannot teach easily and it is very easy to get wrong, so is just easier to sacrifice the classifier validation for the sake of pragmatism.
Unfortunately 😢
from validate-pyproject.
Thanks for your understanding!
I feel like if the users are interested in reproducibility, it would be fair to expect them to pin trove-classifiers in the build environment.
They would have to know about that then. You could ask this for this package, but what about every other package out there?
The issue really is that there can be a near infinite amount of ways impurities are introduced. So in this case, while providing an environment variable is a good idea, it becomes something those that bother with reproducibility will need to be aware of. Knowing these aspects of every package (and it's vendored dependencies!) is not doable. Many fixes have been in the past years by a lot of people to achieve reproducible builds that it would be a pity to take a step back, even for something as relatively small as this.
from validate-pyproject.
Related Issues (20)
- Support for SchemaStore HOT 21
- JSON Schema string is inconsistent (no trailing #) HOT 3
- Speed up `--store` support HOT 11
- [FR] Add the ability to load schemas that can be referenced in other schemas HOT 3
- [FR] Relax validation of `py-modules`
- Use stdlib for toml parsing in 3.11+
- 0.9 fails to install on windows python 3.10 HOT 8
- Data files are missing from wheel when building from git archive HOT 10
- `_find_and_load_licence()` in pre-compile might be unsafe HOT 6
- pre_compile fails when installed using setuptools instead of PEP517 HOT 9
- Missing SSL context when downloading classifiers.
- `NOTICE.txt` should be listed under `license_files`
- pipx run validate-pyproject --help HOT 3
- License Validation uses older standard HOT 2
- Report likely mistakes as warnings HOT 3
- vendoring of fastjsonschema HOT 2
- `tool.setuptools.packages` should allow `*-stub` name.
- Validate fields pointing to paths HOT 5
- CLI hangs when no arguments provided HOT 1
- Crash on first commit when adding a pre-commit hook HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from validate-pyproject.