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.0.tar.gz (249.7 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.0-py3-none-any.whl (78.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lncrawl_sourcelib-0.1.0.tar.gz
  • Upload date:
  • Size: 249.7 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.0.tar.gz
Algorithm Hash digest
SHA256 ccd4ddc179ee3ce4ccdb8fbe0d909d1925e7b13575103e3776c29dfc7303495d
MD5 bcb1c5b380792b5d4ece78fda68dc4d6
BLAKE2b-256 4c8a2855aa817cb6b7188bdad4997d0ea766c9b81290f73515f0b5853b8c82b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for lncrawl_sourcelib-0.1.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for lncrawl_sourcelib-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3ed6dd87ab9ef2a17e83c250d8dd9c8c15d6aa6b6a86541b9239270bf12b808e
MD5 1c726b76732725c999eb857152d9cae4
BLAKE2b-256 5c8474ce31d9fafc2ae562902419b684188582efcf90815f63e031c34bebd4dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for lncrawl_sourcelib-0.1.0-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

0.1.2

2 files

0.1.1

2 files

This release

0.1.0 This release

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