Comments (11)
Yes, the main idea I've been working on is providing a regularly updated copy of the schema store files as a plugin. The problem with releasing this has been #134, since some schema (cibuildwheel, specifically) required fragment support. That's actually not true anymore, since cibuildwheel now uses a partial, so no current files require fragments. This solves caching as well as stability - a regularly updated Python package can be pinned as well.
The --store
option could be done in parallel, too. I'd normally do this with async, and that is required for WebAssembly support, but we still support Python 3.6, so that's out.
from validate-pyproject.
@abravalheri, I have pushed https://github.com/henryiii/validate-pyproject-schema-store if you'd like to take a look.
from validate-pyproject.
Very nice @henryiii , thank you!
I wonder if it would make sense to add this in the all
extras dependency of validate-pyproject
itself (or another extra), or if that would cause cycles...
from validate-pyproject.
I'm not sure about "all". A [schema-store]
extra could be nice. We could be careful to avoid cycles, I think (validate-pyproject-schema-store
only depends on validate-pyproject
via an extra, too).
Where would you like validate-pyproject-schema-store to live, by the way? I have it in henryiii
for now, but would be happy to move it now or eventually. If you'd like them both to live together here, for example, that would be fine.
from validate-pyproject.
FYI, I've released validate-pyproject-schema-store
, but it doesn't work currently, since the released version of validate-pyproject (0.15) doesn't support uint
(Ruff).
from validate-pyproject.
Hi @henryiii, is it just a matter of cutting a new release?
We should be in a good shape for that. I will proceed and do that now.
from validate-pyproject.
Awesome, thanks! It's working. See https://scientific-python.github.io/repo-review/ for an initial demo.
from validate-pyproject.
Will see how the auto-update works after SchemaStore/schemastore#3548.
from validate-pyproject.
Auto update works, merged and released it from my phone. New tool in this update, too, tool.pyright
. :)
[schema-store]
would make sense, not sure about all
, as validate-pyproject-schema-store[all]
requests validate-pyproject[all]
, not sure how that is handled when circular.
from validate-pyproject.
This already caught a mistake in cookie's template: scientific-python/cookie#364 (comment) Nice!
from validate-pyproject.
Thanks @henryiii for the work on validate-pyproject-schema-store. With that we're down to around 1.5 seconds to validate our pyproject.toml file with pre-commit. Which isn't extremely fast, but fast enough for our use case. With that in mind, I'm happy to close this issue as resolved.
from validate-pyproject.
Related Issues (20)
- Support for SchemaStore HOT 21
- JSON Schema string is inconsistent (no trailing #) HOT 3
- [FR] Add the ability to load schemas that can be referenced in other schemas HOT 3
- [FR] Relax validation of `py-modules`
- schema-store: Failing on valid hatch toml HOT 5
- [FR] Allow `--tool` to overwrite? OR option to disable all plugins loaded by entry-points?
- Bug? `tool.poetry.packages[0]` must not contain {'to'} properties HOT 4
- `_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.