Skip to main content

Springheel Jacky

This is a simple Python library and command-line tool to work with Springheel sites without scraping. When generating a site, Springheel creates a JSON endpoints file; parsing this file allows programs to request resources from the site easily, without mucking around in the HTML. It's not quite an API, but for a static site, it's close enough.

springheel_jacky is compatible with Springheel sites generated with version 7.0.2 or greater.

Dependencies

Usage examples

Get links to all pages in a chapter:

$ springheel_jacky https://www.twinkle-night.net/brutus chap_links --category Brutus --chapter 1
Site generated with Springheel 7.0.2.
https://www.twinkle-night.net/brutus/brutus_0001.html
https://www.twinkle-night.net/brutus/brutus_0002.html
https://www.twinkle-night.net/brutus/brutus_0003.html
...

>>> import springheel_jacky
>>> json_endpoints = springheel_jacky.internet.retrieveJson("https://www.twinkle-night.net/brutus")
>>> links.getChapPermalinks(json_endpoints, "Brutus", "1")
['https://www.twinkle-night.net/brutus/brutus_0001.html', 'https://www.twinkle-night.net/brutus/brutus_0002.html', 'https://www.twinkle-night.net/brutus/brutus_0003.html', ...]

Search for comic dialogue:

$ springheel_jacky https://www.twinkle-night.net/brutus search --query "hot dogs"
Site generated with Springheel 7.0.2.
2 results
URL: https://www.twinkle-night.net/brutus/brutus_0033.html
Matches: "There will be hot dogs."
---
URL: https://www.twinkle-night.net/brutus/brutus_0047.html
Matches: "There will be hot dogs.", "I...I never ate any hot dogs..."
---

>>> springheel_jacky.search.searchDialogue(json_endpoints, "hot dogs")
[{'url': 'https://www.twinkle-night.net/brutus/brutus_0033.html', 'matching': ['There will be hot dogs.']}, {'url': 'https://www.twinkle-night.net/brutus/brutus_0047.html', 'matching': ['There will be hot dogs.', 'I...I never ate any hot dogs...']}]

Metadata

Release files for springheel-jacky 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for springheel-jacky 1.0
File Size Uploaded Provenance Actions
springheel_jacky-1.0.tar.gz 288.9 kB Without provenance Details for springheel_jacky-1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for springheel-jacky 1.0
File Interpreter ABI Platform Actions
springheel_jacky-1.0-py3-none-any.whl Python 3 none any Details for springheel_jacky-1.0-py3-none-any.whl

Total release size: 327.9 kB

Release files / springheel_jacky-1.0.tar.gz

Download URL springheel_jacky-1.0.tar.gz
Size 288.9 kB
Tags Source
SHA-256 checksum
How to use checksums
6faf2a1591a529d5d5161e8ad7e65565d346390c3144a68ebba32d8dd8f8d4ca
BLAKE2b-256 checksum
How to use checksums
1dbf8ba5b7d5bdfbd4701ad4cdd8f3c7cbade589e1391199f35dec7ac3a1d663
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.5

Release files / springheel_jacky-1.0-py3-none-any.whl

Download URL springheel_jacky-1.0-py3-none-any.whl
Size 39.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a758867ce09a7937da6f954d09ff45a2aa8093daa5f122ab2da60e06cd1581bf
BLAKE2b-256 checksum
How to use checksums
21239f476945bfd4dfdef8f38c3ab4042e07a912611af5d00c955e035a09ee63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.5

Security for springheel-jacky 1.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page