Skip to main content

Documentation Status License: MIT GitHub issues GitHub release (latest by date) GitHub top language pre-commit.ci status

Python EasyVerein

Full documentation is available at Read The Docs

This package contains an unofficial API client for EasyVerein written in Python. Please note that this library is unofficial and therefore not supported in any way by SD Software Design GmbH. If you have issues using this library, please do not open a support request within EasyVerein but report it to our GitHub repository instead.

State of the API

This client was written against and tested against the v2.0 API version of EasyVerein. It may or may not work with newer / older API versions, so please use them at your own risk. As the EasyVerein API does not expose model information, the models used as part of this library are specific to this library and are based on information obtained from the API responses (e.g. required fields when creating an item).

In addition to the official endpoints, the client provides some convenience functions that are not included in the official API (e.g. setting a custom field of a member to certain value, no matter if it has been set before or not or create an invoice with items in one go) which makes it much simpler to work with the API.

Not all endpoints offered by the EasyVerein API are supported. For now, only the following endpoints are implemented. When saying CRUD, it means the library supports various methods to Create, Read, Update and Delete objects. See the API reference for details on supported CRUD operations.

  • booking: CRUD, Bulk Create and Update, Soft-Delete
  • booking-project: CRUD, Soft-Delete
  • billing-account: CRUD, Soft-Delete
  • contact-details: CRUD, Bulk Create and Update, Soft-Delete
  • contact-details-group: CRUD, Soft-Delete
  • custom-fields: CRUD, Soft-Delete
  • custom-fields/<id>/select-options: CRUD
  • invoice: CRUD, Bulk Create and Update, Soft-Delete, plus some convenience methods
  • invoice-item: CRUD
  • member: CRUD, Bulk Create and Update, Soft-Delete
  • member-groups: CRUD, Soft-Delete
  • member/<id>/custom-fields: CRUD, plus some convenience methods
  • member/<id>/member-groups: CRUD, plus some convenience methods
  • wastebasket (its the official name used by the EasyVerein API to reference soft-deleted objects)

In addition to that, the library supports nested queries using the query syntax, included nested model validation. See the Usage section of this documentation for more details.

Installation

Install the package using poetry:

poetry add python-easyverein

or pip:

pip install python-easyverein

Getting Started

This simple example shows how to setup the library and retrieve all invoices:

import os
from easyverein import EasyvereinAPI

api_key = os.getenv("EV_API_KEY", "")

ev_client = EasyvereinAPI(api_key)

print(ev_client.invoice.get())

The result will be a list of invoice objects. All returned objects are Pydantic models under the hood, so you get auto-completion and a guaranteed interface for these models. For details please refer to the usage section of this documentation.

Tests

All features of this client are automatically tested against the actual API using pytest. If you want to run the tests yourself, it is advisable to create a separate demo account for that. Then, set the following environment variable to your API token and simply run pytest:

EV_API_KEY=<your-api-key>

Contributing

The client is written in pure Python, using mkdocs with mkdocstrings for documentation. Any changes or pull requests are more than welcome, but please adhere to the code style:

  • Use ruff based code linting, formatting and styling
  • Use mypy for static type checking

A pre-commit hook configuration is supplied as part of the project. You can run them prior to your commit using:

pre-commit

# Or run them for the entire project
pre-commit run --all-files

Please make sure that any additions are properly tested. PRs won't get accepted if they don't have test cases to cover them.

Getting Help

Once more, this library is not officially supported by SD Software Design GmbH, the company behind EasyVerein. If you have troubles, please ask yourself the following questions:

  • Is your problem around API usage in general, which endpoint to call, which fields to set to achieve a certain thing? Do you have questions around attribute naming, usage, or why the API behaves a certain way? Those questions should be directed towards their support, as I cannot help with them.
  • is your question around how to use this library, a mistake in the Pydantic models it's using, an error in the library code or other questions around this library? Please open a GitHub issue for those questions.

Metadata

Release files for python-easyverein 2.6.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 python-easyverein 2.6.0
File Size Uploaded Provenance Actions
python_easyverein-2.6.0.tar.gz 28.8 kB Without provenance Details for python_easyverein-2.6.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for python-easyverein 2.6.0
File Interpreter ABI Platform Actions
python_easyverein-2.6.0-py3-none-any.whl Python 3 none any Details for python_easyverein-2.6.0-py3-none-any.whl

Total release size: 74.3 kB

Release files / python_easyverein-2.6.0.tar.gz

Download URL python_easyverein-2.6.0.tar.gz
Size 28.8 kB
Tags Source
SHA-256 checksum
How to use checksums
16e7bac81d7758d64eb0d85f102efecbdc45b35b2d54865703475714e4d0bb04
BLAKE2b-256 checksum
How to use checksums
c5e6bbd44dc690617b6d97b2a85d92d1fe47ba8467b9e056c4b2a71acb2c184f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.13.1 Linux/6.8.0-1064-azure

Release files / python_easyverein-2.6.0-py3-none-any.whl

Download URL python_easyverein-2.6.0-py3-none-any.whl
Size 45.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d5e43f5b12ce29d69995865b8a99e22ddf791b829fcf76d9853552eb8be9b0a7
BLAKE2b-256 checksum
How to use checksums
1d964f77945a79df366e94824ac886ae08f8364334dc93c65c6546180192376d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.13.1 Linux/6.8.0-1064-azure

Security for python-easyverein 2.6.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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