PySaneJS
This is a simple python module to query SaneJS, a project that uses CDNJS as a source of known JavaScript libraries.
CLI usage
It is not super useful to use it like that, but you can give it a try:
# You can pass a list of sha512
sanejs --sha512 908a25a227d1d6dd4397ddbf8ed19d58d092edd11f7dfbe89385e1f340211aed0ef7777edae3d3c1824f410949b7b9373753b83a3178b0f656fb97424bb20bc2
{
"response": [
"dojo|1.11.0-rc3|resources/dnd.css",
"dojo|1.9.3|resources/dnd.css",
"dojo|1.8.10|resources/dnd.css",
"dojo|1.10.0|resources/dnd.css",
"dojo|1.9.1|resources/dnd.css",
"dojo|1.10.2|resources/dnd.css",
"dojo|1.9.7|resources/dnd.css",
"dojo|1.8.9|resources/dnd.css",
"dojo|1.10.1|resources/dnd.css",
"dojo|1.11.0-rc4|resources/dnd.css",
"dojo|1.8.2|resources/dnd.css",
"dojo|1.10.4|resources/dnd.css",
"dojo|1.8.8|resources/dnd.css",
"dojo|1.9.6|resources/dnd.css",
"dojo|1.8.0|resources/dnd.css",
"dojo|1.11.0-rc5|resources/dnd.css",
"dojo|1.8.6|resources/dnd.css",
"dojo|1.9.5|resources/dnd.css",
"dojo|1.8.1|resources/dnd.css",
"dojo|1.10.3|resources/dnd.css",
"dojo|1.8.5|resources/dnd.css",
"dojo|1.8.3|resources/dnd.css",
"dojo|1.9.4|resources/dnd.css",
"dojo|1.9.0|resources/dnd.css",
"dojo|1.9.2|resources/dnd.css",
"dojo|1.11.0-rc1|resources/dnd.css",
"dojo|1.8.4|resources/dnd.css",
"dojo|1.8.7|resources/dnd.css",
"dojo|1.11.0-rc2|resources/dnd.css"
]
}
sanejs --library jquery-tools # You can pass a list of tools
{
"response": {
"jquery-tools": {
"1.2.0": {
"jquery.tools.min.js": "f95c034c328d7c3f5bd14e0fd82a9309ab197931ff41120ca8d749036f5a773092dc0f357b190570754f5a17d7a42a71b932793a54b0ec812eef3730ddc93dc9"
},
"1.2.1": {
"jquery.tools.min.js": "ba386f0827c971277c3f6941c58f9dbc410f668b272201127ee38377f57a8ec37c2cb415089cb12205c6ed2c339bf6f5a7d20c6259ae1f55337154257a398204"
},
"1.2.2": {
"jquery.tools.min.js": "b40b56d553cb23c7fb607f31118ba7c2ae1058308795d5b0f6d42025c7aa3f9f2b5fbb3be4c8734cf6f8f2c3dd202aca79de14d7a54d448bbe34c8198b94fc96"
},
"1.2.3": {
"jquery.tools.min.js": "597bb3566588ba0ec2c7fce0f4449022be687878d5c04113526503a0e77b79755c33a9ba1ad6ef8232a4a51b98b7a8b287caba7db699b4374a53370fb51f859d"
},
"1.2.4": {
"jquery.tools.min.js": "1dbcb177bf7b28c72d3b54aa71befa5a6d91e35c1df702a1991c9df7e60aa3efcd59bbdb8fb0a61326c3ebfe046c809ea01030c3fd8de4b90668e2aee778d968"
},
"1.2.5": {
"jquery.tools.min.js": "d91fdfc6cb7529493182d3c7ea12eb6cb3323060434bfd4c98c95c9f223fa97cff9a9254c5655b51818491d9de9f53ba3df1b5cbd1a20ed0dce683829b75db6a"
},
"1.2.6": {
"jquery.tools.min.js": "f8be2202d8ff862849e19562ba93e2743027298d9fc908191ca48978458a7053c584c581f44f37b8a595ce9262fbda1b5bea83330dd3366fc2c44a172e286f96"
},
"1.2.7": {
"jquery.tools.min.js": "b15d794a0289980a2dcffe70eb5ecaf42e2a3785a3dd8324f577fae7e8f381098fa9f8f048f6f0c1029d584d618ff5a30c6112a9baa1e1809f2ffb4781373e11"
}
}
}
}
Note: As long as the hashes aren't loaded, every query will return the following:
{
"error": "The hashes are not all loaded yet, try again later."
}
When they're all loaded, the repository will be pulled on a regilar basis and load the new hashes.
Metadata
Release files for pysanejs 2.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pysanejs-2.0.5.tar.gz | 4.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pysanejs-2.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.1 kB
Release files / pysanejs-2.0.5.tar.gz
| Download URL | pysanejs-2.0.5.tar.gz |
|---|---|
| Size | 4.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b69b023c69fc6cd583cb42bb5e2dad1a564326dc29842cf243ac8f3df4914ced
|
|
BLAKE2b-256 checksum How to use checksums |
9cc382e2cd9c4719089d60a133f6629bcbce1f3682143b0d65f69d6ad205740e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 9, 2025.
Transparency logRelease files / pysanejs-2.0.5-py3-none-any.whl
| Download URL | pysanejs-2.0.5-py3-none-any.whl |
|---|---|
| Size | 5.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6e060a500042f0918f3975faa591fd1794d462212808b5f1a4ca25ce22d12c7a
|
|
BLAKE2b-256 checksum How to use checksums |
d2dcfaf2da4d8add553d9e27cc4dc8b1f9e08cba24a948e7798a937c4ff08923
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 9, 2025.
Transparency log