Skip to main content

l2calendar (Python)

Minimal, dependency-free Python client for the public L2 Calendar API — a free, read-only JSON feed of Lineage 2 private server openings by chronicle.

  • Standard library only (urllib) — no requests, no dependencies.
  • No API key, no auth. The API sends Access-Control-Allow-Origin: *.
  • Python 3.8+, ships with py.typed.

Install

pip install l2calendar

Quick start

from l2calendar import get_servers, get_chronicles

servers = get_servers(chronicle="interlude", only_upcoming=True, limit=10)
for server in servers:
    print(server["name"], server["rate"], server["opening_date"], server["website_url"])

chronicles = get_chronicles()  # [{"id": 1, "name": "Interlude", "slug": "interlude", ...}, ...]

API

Function Returns Notes
get_servers(chronicle=None, *, only_upcoming, new_only, min_rate, max_rate, limit, base_url, timeout) list[dict] VIP first, then soonest opening.
get_chronicles(*, base_url, timeout) list[dict] The chronicle catalog (14 entries).
get_server(name, **kwargs) dict | None Exact name, case-insensitive.
search_servers(query, **kwargs) list[dict] Matches name, website, rate, chronicle, description, labels.
parse_rate(rate) float | None "x5" → 5.0, "x0.5" → 0.5, "GvE" → None.
select_servers(servers, *, ...) list[dict] Apply the filters to your own page.

Errors raise L2CalendarError with an optional .status.

Server shape

{
    "name": str,
    "website_url": str,
    "rate": str,                  # "x5", "x1000", "GvE"
    "opening_date": str,          # "2026-02-28"
    "opening_time": str | None,
    "opening_datetime_utc": str | None,
    "description": str | None,
    "is_vip": bool,
    "vip_level": int,
    "multiproff": bool,
    "multicraft": bool,
    "is_new": bool,
    "chronicle": {"name": str, "slug": str} | None,
    "labels": [{"name": str, "slug": str, "color": str}],
}

Note: the public API returns a single page of up to 50 servers (VIP first, then soonest opening). limit, rate and upcoming filters run client-side over that page — narrow with chronicle for precision.

Data source

  • GET https://l2calendar.com/api/servers — optional ?chronicle=<slug>.
  • GET https://l2calendar.com/api/chronicles.

About L2 Calendar

A multilingual (EN/ES/PT/RU) calendar and tracker of Lineage 2 private server openings by chronicle — l2calendar.com.

License

MIT © Dreiev

Metadata

Release files for l2calendar 1.0.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 l2calendar 1.0.0
File Size Uploaded
l2calendar-1.0.0.tar.gz 6.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for l2calendar 1.0.0
File Interpreter ABI Platform
l2calendar-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.8 kB

Release files / l2calendar-1.0.0.tar.gz

Download URL l2calendar-1.0.0.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a6d88b0e1c123fde5d95cd235bc47eecfeb9e94b77c500325b52e3963bcbf46d
BLAKE2b-256 checksum
How to use checksums
3688d5bbe6b620ee3ce2664d7b546634266328d1867aec8d4d4630d7b2cb1904
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / l2calendar-1.0.0-py3-none-any.whl

Download URL l2calendar-1.0.0-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cc2eea96b7660f34be6b35e7fcc457085dac34771d367f68b80ba887412002a5
BLAKE2b-256 checksum
How to use checksums
313e2d26298663b3e109825ac9e39cdbcda37ac5e0de9bb9e2bcc5c6a822fe9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release 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