This release is a pre-release and may not be stable for production use.
EUVD - European Union Vulnerabilities Database python wrapper
This library provides a Python wrapper for the EUVD API, offering a streamlined and consistent way to interact with the service. It is particularly useful for integrating the service into other applications.
Installation
The library can be installed using pip:
pip install euvd
Usage
Clients
The euvd.clients module provides Python clients for interacting with the European Union Vulnerabilities Database (EUVD) API. These clients offer methods for retrieving vulnerabilities, advisories, and performing tailored searches with filters.
Synchronous Client
from euvd.clients import EUVDSyncClient
from euvd.models import EnisaVulnerability
with EUVDSyncClient() as client:
vulnerabilities: list[EnisaVulnerability] = client.get_latest_vulnerabilities()
print(vulnerabilities)
Asynchronous Client
import asyncio
from euvd.clients import EUVDAsyncClient
from euvd.models import EnisaVulnerability
async def main():
async with EUVDAsyncClient() as client:
vulnerabilities: list[EnisaVulnerability] = await client.get_latest_vulnerabilities()
print(vulnerabilities)
asyncio.run(main())
Data models
The library provides a euvd.models package with several classes to encapsulate the different data structures used by the API.
Development
This library uses modern Python tooling for quality assurance:
- Testing: pytest with comprehensive test coverage
- Type checking: mypy with strict mode enabled
- Linting: ruff for code quality and formatting
- Multi-version testing: tox for testing across Python 3.11-3.14
Running tests
# Run tests for your Python version
pytest tests
# Run tests across all supported Python versions
tox
# Run linting
ruff check euvd
# Run type checking
mypy euvd
Official documentation
Refer to the official documentation for detailed information about the methods and their parameters.
Disclaimer
This is beta software, not recommended yet for production use.
As the actual EUVD API is in beta stage and prone to change, this library may stop working without warning.
Also, as there is no official documentation on the data structures used, the model structures and semantics were reverse-engineered and may contain errors.
License
This library is licensed under the MIT License.
Release files for euvd 1.0.0b2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| euvd-1.0.0b2.tar.gz | 9.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| euvd-1.0.0b2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.4 kB
Release files / euvd-1.0.0b2.tar.gz
| Download URL | euvd-1.0.0b2.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fc3182b374e8d5b2067e978a9d7fcf19c83b9bc489fe4dd2d218eadc86629036
|
|
BLAKE2b-256 checksum How to use checksums |
f2a1bbf927db00ceda328a1836309b732694734696e429b28352747a7e72b68b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":null}
|
Release files / euvd-1.0.0b2-py3-none-any.whl
| Download URL | euvd-1.0.0b2-py3-none-any.whl |
|---|---|
| Size | 19.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d61cf193aaed49381afa64c60b96c9618d5c36a7bfb00763ed6fced50f86366d
|
|
BLAKE2b-256 checksum How to use checksums |
453d3307271a62757e166fd8673441500b0ca6739b34cf41191a5e0cbf833fc0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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":null}
|