Skip to main content

jointhestudentlife

Official Python SDK for The Student Life: student events, ticket prices, city guides and student deals in 85+ cities, for international and exchange students.

The API is open. No key, no signup, no payment. Standard library only, Python 3.9+.

pip install jointhestudentlife
from jointhestudentlife import TheStudentLife

tsl = TheStudentLife()
events = tsl.events(city="paris", type="halloween")["events"]
print(events[0]["tickets"]["options"])  # [{'name': 'Round 1', 'price': 9.5, 'currency': 'EUR'}, ...]

guide = tsl.city("lisbon")
for city in tsl.each_city():
    print(city["name"])

# async report job: 202 Accepted, then poll until it succeeds
job = tsl.run_report("city_comparison", cities=["berlin", "lisbon"])
print(job["result"]["cities"][0]["monthly_costs"])

Methods: info, cities, city, events, event, partners, pricing, each_city, each_event, create_report, get_report, run_report, send_message. Lists are cursor paginated (next_cursor). Errors raise TheStudentLifeError with status and code (including timeout and network_error). Requests retry on 429 (honouring Retry-After); reads also retry on 5xx, while a message is only retried when it carries an idempotency key, so it is never sent twice by the SDK. Requests time out after 30 seconds (timeout).

send_message emails our team on someone's behalf. Only use it with that person's consent and their own name and email. Pass dry_run=True to validate without sending, and a fresh idempotency_key per message so a retry is recognised (best effort, see the developer docs). Messages are limited to a few per minute.

There is also an MCP server at https://jointhestudentlife.com/mcp, a JavaScript SDK and CLI on npm (jointhestudentlife), and the OpenAPI spec at https://jointhestudentlife.com/openapi.json. Full docs: https://jointhestudentlife.com/developers

Licence

The MIT licence covers the code of this package only. The data the API returns, the website content and The Student Life name and logo stay with Socials BV.

Metadata

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

Built distribution (wheel)

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

Total release size: 12.3 kB

Release files / jointhestudentlife-1.0.0.tar.gz

Download URL jointhestudentlife-1.0.0.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
56e45ffdef26a59ec6b2e58ab5b28eff904baf2c10cd6ead6a23add6b20addd1
BLAKE2b-256 checksum
How to use checksums
3bef43f641b45b3fefb99c846e68f21169e9669553a453ecf2a7727eb55e5bda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 15, 2026.

Transparency log

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

Download URL jointhestudentlife-1.0.0-py3-none-any.whl
Size 6.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4dd6660f9783530de70b5d69cab0a5929dcb7c7c9596d6134c83f1ae92388acb
BLAKE2b-256 checksum
How to use checksums
3f2647d8aecb0aa8d09f80c90eba94f619a8fc1612ab5ee7dc5ced04198a33b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 15, 2026.

Transparency log

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