Skip to main content

lncrawl-sourcelib

Interpreter for declarative light-novel source definitions.

A source definition describes how to read one website as data rather than as code: one YAML document per host, validated against a published schema and interpreted at runtime. RFC-0001 in the lncrawl/sources repository is the normative definition of the format. This package is written against it, and where the two disagree the RFC wins.

pip install lncrawl-sourcelib

What it does

sourcelib check                          # resolve and validate every document
sourcelib resolve specs/example.com.yaml # what a spec actually says once merged
sourcelib schema -o schema.json          # the JSON Schema editors read
from sourcelib.spec.checks import check_resolved
from sourcelib.spec.resolve import resolve_file

spec = resolve_file("specs/example.com.yaml", root=".")
for problem in check_resolved(spec):
    print(problem)

resolve matters more than it looks. A spec can inherit through a chain of bases, so "what am I actually running" has to be answerable in one command or a deep chain becomes undebuggable.

Why it is its own package

It is not a feature of the crawler; it is the crawler's next core. Built inside the crawler it would grow references into the code it replaces, and swapping it in would become a rewrite instead of a dependency bump.

This package never imports the crawler, and its CI asserts that. It also means the definitions repository can validate itself with no application in the loop.

Licence

Apache-2.0. The crawler is GPL-3.0-or-later, and Apache-2.0 feeds a GPL-3 application without friction. Nothing here is copied or adapted from the crawler's sources.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lncrawl_sourcelib-0.1.2.tar.gz (254.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lncrawl_sourcelib-0.1.2-py3-none-any.whl (79.8 kB view details)

Uploaded Python 3

File details

Details for the file lncrawl_sourcelib-0.1.2.tar.gz.

File metadata

  • Download URL: lncrawl_sourcelib-0.1.2.tar.gz
  • Upload date:
  • Size: 254.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for lncrawl_sourcelib-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a8460dd6d3f7605ad993610360a71b782131e8cae75e3f453fe5ac829bddf817
MD5 ab0d52f2ac6228a263a9c931f70daaf9
BLAKE2b-256 f596946b569a985d4137c8903944ba86d3a8f228d4f3b699feff254fe008a00a

See more details on using hashes here.

Provenance

The following attestation bundles were made for lncrawl_sourcelib-0.1.2.tar.gz:

Publisher: publish.yml on lncrawl/sourcelib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lncrawl_sourcelib-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for lncrawl_sourcelib-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 343bd1e7feeafa5bb5f13ad77b0a0fc4c584a4515992049c039a6a8a1aae2bd4
MD5 f7f90f42ac92670d18a9e281194b67da
BLAKE2b-256 99a3cfd83ebe5507badd70e1da0f5b4515625b3bbffd782e9ab23ea020f2d4f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for lncrawl_sourcelib-0.1.2-py3-none-any.whl:

Publisher: publish.yml on lncrawl/sourcelib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

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