Note
Consider the whole project as unstable until version 1.0.0 is reached.
A Python module to fetch usable data with a reverse engineered Eventim API.
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.
- Python >= 3.10
- Requests >= 2.31.0
- lxml >= 5.2.2
- Pydantic >= 2.7.0
pip install pyventim
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.
This project is licensed under the MIT License - see the LICENSE.md file for details
Please follow our code of conduct.
The code documentation can be found here. However if you encounter a unexpected behaviour: Feel free to open an issue.
All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.
If youre looking to work on the pyventim codebase:
- Fork the repository.
- Make your changes and follow common code practices as well as Python PEP standards.
- Open a merge request and follow the instructions.
- 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 for contributing to this project!
*Preferred method of contact.
- Kilian Braun (*DeltaChat | Email)
- awesome-readme is a simple readme template!
- Open source checklist is good guide to follow if going open source!
- Contributor Covenant have an awesome code of conduct!
- DeltaChat is a great and simple privacy focused messanger app via email!