maven
=====

.. py:module:: maven


Attributes
----------

.. autoapisummary::

   maven.logger


Classes
-------

.. autoapisummary::

   maven.MavenLink
   maven.MavenLinksParser
   maven.Maven


Module Contents
---------------

.. py:data:: logger

.. py:class:: MavenLink(group: str, name: str, version: str)

   .. py:attribute:: filename


   .. py:attribute:: package_group


   .. py:attribute:: package_name


   .. py:attribute:: version


   .. py:attribute:: url


.. py:class:: MavenLinksParser

   .. py:attribute:: links
      :type:  list[MavenLink]
      :value: []



   .. py:method:: _raise_missing_key(key: str) -> None


   .. py:method:: feed(data: str) -> MavenLinksParser

      See HTMLParser.feed.



.. py:class:: Maven(url: str = 'https://search.maven.org/solrsearch/select')

   .. py:attribute:: url
      :value: 'https://search.maven.org/solrsearch/select'



   .. py:attribute:: cache
      :type:  dict[str, list[MavenLink]]


   .. py:method:: fetch_project_links(group: str, name: str, *, headers: dict[str, str | bytes | None] | None = None) -> list[MavenLink]

      Fetch list of resources for a given Maven package.

      :param name: Maven package name
      :param headers: To add additionnal headers to the HTTP request. Can be mandatory
          depending on the situation.
      :return: a list of dict containing the link to each resource along with
          some metadata



