Skip to main content

No project description provided

Project description

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.

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

euvd-1.0.0b2.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

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

euvd-1.0.0b2-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file euvd-1.0.0b2.tar.gz.

File metadata

  • Download URL: euvd-1.0.0b2.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for euvd-1.0.0b2.tar.gz
Algorithm Hash digest
SHA256 fc3182b374e8d5b2067e978a9d7fcf19c83b9bc489fe4dd2d218eadc86629036
MD5 38796cf685b62a6eaa6c19dfc011f4ab
BLAKE2b-256 f2a1bbf927db00ceda328a1836309b732694734696e429b28352747a7e72b68b

See more details on using hashes here.

File details

Details for the file euvd-1.0.0b2-py3-none-any.whl.

File metadata

  • Download URL: euvd-1.0.0b2-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for euvd-1.0.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 d61cf193aaed49381afa64c60b96c9618d5c36a7bfb00763ed6fced50f86366d
MD5 50c460aa69b74313cd5a7ecb464bda02
BLAKE2b-256 453d3307271a62757e166fd8673441500b0ca6739b34cf41191a5e0cbf833fc0

See more details on using hashes here.

Supported by

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