Skip to main content

Python wrapper to fetch a reverse engineered Eventim API.

Project description

Testing Documentation Contributor Covenant Python PyPI Latest Release PyPI Downloads Coverage


[!NOTE] Consider the whole project as unstable until version 1.0.0 is reached.

pyventim

A Python module to fetch usable data with a reverse engineered Eventim API.

Description

The Eventim API has some public endpoints but also hidden data in the HTML responses. The project goal is to provide away to fetch this data with simple to use python objecs.

[!IMPORTANT] Be aware that the APIs of Eventim can change without notice and therefore break the module.

Getting Started

Dependencies

  • Python >= 3.10
  • Requests >= 2.31.0
  • lxml >= 5.2.2
  • Pydantic >= 2.7.0

Installing

pip install pyventim

Quick start

To find attractions we can use the exploration endpoint:

import pyventim

# Create the Eventim class
eventim = pyventim.Eventim()

# Returns an iterator that fetches all pages off the search endpoint.
attractions = eventim.explore_attractions(search_term="Landmvrks")

# We can loop over each attraction. The module handles fetching pages automatically.
for attraction in attractions:
    print(attraction["attractionId"], attraction["name"])

Next we use the product group endpoint to fetch events for our attraction and get the events of the html endpoint.

# We loop over each product group and fetch the events automatically.
for product_group in eventim.explore_product_groups(search_term="Landmvrks"):
    product_group_id = product_group["productGroupId"]
    for event in eventim.get_product_group_events_from_calendar(product_group_id):
        print(event["title"], event["eventDate"], event["price"], event["ticketAvailable"], sep=" | ")

For a more detailed information please refer to the documentation.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Code of conduct

Please follow our code of conduct.

Finding help

The code documentation can be found here. However if you encounter a unexpected behaviour: Feel free to open an issue.

Contributing

All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.

If youre looking to work on the pyventim codebase:

  1. Fork the repository.
  2. Make your changes and follow common code practices as well as Python PEP standards.
  3. Open a merge request and follow the instructions.
  4. Be awesome!

For bug reports: Please head over to the issues page.

As contributors and maintainers to this project, you are expected to abide by pyeventim' code of conduct. More information can be found at: Contributor Code of Conduct

Thank you!

Thank you for contributing to this project!

Maintainers

*Preferred method of contact.

Acknowledgments

Project details


Download files

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

Source Distribution

pyventim-0.2.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

pyventim-0.2.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyventim-0.2.0.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for pyventim-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d45de89af18b403d01ccf6f7fb6a971bf34d00c93ff9300a1e61b416f65c9de8
MD5 9c7d2fbbe3f8a80de08df31f11cea6b9
BLAKE2b-256 b99c09428434a8d4c45f62cf5f31be57213810d7c628e55e475cd947daf0b1f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyventim-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for pyventim-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 46149e7a55bf530a55cb45c01d6f9937d5ca167a07e31c2c07c58e775ab5bf7d
MD5 8b8042bfcf6a142a342ab862b4bda3aa
BLAKE2b-256 b6632437e4b3a3120ff6e8f0c8917448792aae311c0faad8b7c0e9e332845368

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page