Skip to main content

Pyventim

Quality Gates Python PyPI Version PyPI Downloads License Contributor Covenant

A Python library for accessing Eventim ticket and event data across multiple markets.

Manifesto

Eventim does not provide a public API like Ticketmaster and other platforms do. This library is an effort to make Eventim data open for public usage by wrapping its hidden public endpoints and falling back to HTML scraping where necessary.

If Eventim publishes official public endpoints, this library will migrate to use them. In the meantime, users are advised to use this library responsibly and to respect Eventim's robots.txt and fair-use expectations.

Due to the nature of web scraping, this library may break without notice. Please open an issue if something stops working.

Installation

Pyventim supports the two most recent stable Python releases, following the Python downloads page. Currently Python 3.13 and 3.14 are supported.

Using pip

pip install pyventim
patchright install chromium

# If needed also install system dependencies
patchright install --with-deps chromium

Using uv

uv add pyventim
uv run patchright install chromium

# If needed also install system dependencies
uv run patchright install --with-deps chromium

Usage

For detailed information and usage refer to the latest documentation!

Getting started

EventimClient supports markets across Europe, Brazil, and Israel. Pass an EventimMarket enum member to select one. See the Markets page in the documentation for the full list.

from pyventim import EventimCategory, EventimClient, EventimMarket

# Initialise a client for Germany
de_client = EventimClient(EventimMarket.GERMANY)

# Search for concerts — product_groups() returns an iterator of events
for product_group in de_client.product_groups(categories=[EventimCategory.CONCERTS], page_limit=2):
    print(product_group.name, product_group.start_date)

    # Fetch individual event dates (tickets, pricing, availability)
    for event in de_client.products(product_group.product_group_id, page_limit=1):
        print("  ", event.name, event.start_date)

# Switch to another market — same API, different catalogue
se_client = EventimClient(EventimMarket.SWEDEN)

for product_group in se_client.product_groups(categories=[EventimCategory.CONCERTS], page_limit=1):
    print(product_group.name)

All methods return typed iterators backed by Pydantic v2 models. Responses are automatically paginated — use page_limit to cap the number of pages fetched.

Contributing

See CONTRIBUTION.md for the full development guide and CODE_OF_CONDUCT.md on how we work together.

Bug reports and feature requests

Open an issue on Codeberg. Templates are provided for bug reports and feature requests.

Development quickstart

Fork the repository on Codeberg, clone your fork, then install all dev dependencies:

uv sync --dev

Then run the quality checks:

# Run tests with coverage
uv run coverage run -m pytest

# Coverage report (must pass 90%)
uv run coverage report -m

# Docstring coverage (must pass 100%)
uv run interrogate -c pyproject.toml src

# Lint and format
uv run ruff check src tests
uv run ruff format src tests

License

This project is licensed under the GPL-3.0. See LICENSE.md for details.

Maintainers

Acknowledgements

Download files

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

Source Distribution

pyventim-1.0.7.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

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

pyventim-1.0.7-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file pyventim-1.0.7.tar.gz.

File metadata

  • Download URL: pyventim-1.0.7.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pyventim-1.0.7.tar.gz
Algorithm Hash digest
SHA256 84f1a82b9630677a45b37f91768b55908b7cc7b778dabafec1c249c11d9e7758
MD5 1e392c90b6220f29343f1f58bebe16b2
BLAKE2b-256 570f31a1fbc638c8be1af342ecbd5b328ae212e557aa99a1928b1f4ed2505670

See more details on using hashes here.

File details

Details for the file pyventim-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: pyventim-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pyventim-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ee93edb5ea107d929ef5fd969526ebd5a34ddd57e4f4aa01d151c29a2960e1ea
MD5 8561adfe5e4f5b2123b682d0a2f0baf0
BLAKE2b-256 d68a5fa3aefa87e78be9593d0ca1e89e2447038cb5bdcd2e3cd9ee2e7546e340

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.7 This release

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.2.0

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