Metadata-Version: 2.4
Name: commonground-api-common
Version: 2.10.5
Summary: Commonground API tooling
Home-page: https://github.com/maykinmedia/commonground-api-common
Author: Maykin Media, VNG-Realisatie
Author-email: support@maykinmedia.nl
License: EUPL 1.2
Keywords: openapi,swagger,django
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 4.2
Classifier: Intended Audience :: Developers
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: django>=4.2.0
Requires-Dist: django-filter<=25.1,>=23.1
Requires-Dist: django-solo
Requires-Dist: djangorestframework>=3.15.0
Requires-Dist: djangorestframework_camel_case>=1.2.0
Requires-Dist: django-rest-framework-condition
Requires-Dist: drf-nested-routers>=0.94.1
Requires-Dist: drf-spectacular
Requires-Dist: iso639-lang
Requires-Dist: notifications-api-common>=0.3.1
Requires-Dist: zgw-consumers>=1.0.0
Requires-Dist: oyaml
Requires-Dist: PyJWT>=2.10.1
Requires-Dist: requests
Requires-Dist: ape-pie
Requires-Dist: sentry-sdk
Provides-Extra: markdown-docs
Requires-Dist: django-markup<=1.3; extra == "markdown-docs"
Requires-Dist: markdown; extra == "markdown-docs"
Provides-Extra: djangorestframework-gis
Requires-Dist: djangorestframework-gis>=1.0; extra == "djangorestframework-gis"
Provides-Extra: drf-extra-fields
Requires-Dist: drf-extra-fields>=3.7.0; extra == "drf-extra-fields"
Provides-Extra: tests
Requires-Dist: psycopg2; extra == "tests"
Requires-Dist: pytest; extra == "tests"
Requires-Dist: pytest-django; extra == "tests"
Requires-Dist: pytest-dotenv; extra == "tests"
Requires-Dist: pytest-factoryboy>=2.8.0; extra == "tests"
Requires-Dist: tox; extra == "tests"
Requires-Dist: ruff; extra == "tests"
Requires-Dist: requests-mock; extra == "tests"
Requires-Dist: freezegun; extra == "tests"
Requires-Dist: zgw-consumers-oas; extra == "tests"
Requires-Dist: djangorestframework-gis; extra == "tests"
Requires-Dist: drf-extra-fields; extra == "tests"
Provides-Extra: oas
Requires-Dist: requests-mock; extra == "oas"
Provides-Extra: testutils
Requires-Dist: zgw-consumers-oas; extra == "testutils"
Provides-Extra: setup-configuration
Requires-Dist: django-setup-configuration>=0.7.0; extra == "setup-configuration"
Provides-Extra: coverage
Requires-Dist: pytest-cov; extra == "coverage"
Provides-Extra: docs
Requires-Dist: psycopg2; extra == "docs"
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx-rtd-theme; extra == "docs"
Provides-Extra: release
Requires-Dist: bump2version; extra == "release"

===================================================
Commonground-API-common - Tooling voor RESTful APIs
===================================================


:Version: 2.10.5
:Source: https://github.com/maykinmedia/commonground-api-common
:PythonVersion: 3.12

|build-status| |code-quality| |coverage| |docs| |ruff|

|python-versions| |django-versions| |pypi-version|

Commonground-API-common biedt generieke implementaties en tooling voor RESTful APIs
in een Common Ground gegevenslandschap.

Dit project is een fork van commonground-api-common.

Zie de uitgebreide `documentatie`_ voor de features en het gebruik.

.. contents::

.. section-numbering::

Features
========

* Centraal beheer van constanten die de verschillende componenten overstijgen
* GeoJSON OpenAPI definities
* Support voor Geo CRS negotation
* Ingebouwde support voor nested viewsets met declaratievere syntax voor
  registratie
* Vaak voorkomende validators:
    * RSIN/BSN validator
    * Numerieke waarde validator
    * Niet-negatieve waarde validator
    * Alfanumerieke waarde (zonder diacritics)
    * URL-validator (test dat URL bestaat) met pluggable link-checker
    * ``UntilNowValidator`` - valideer datetimes tot en met *nu*. (Via de TIME_LEEWAY setting kan speling worden toegevoegd)
    * ``UniekeIdentificatieValidator`` (in combinatie met organisatie)
    * ``InformatieObjectUniqueValidator`` om te valideren dat M2M entries
      slechts eenmalig voorkomen
    * ``IsImmutableValidator`` - valideer dat bepaalde velden niet gewijzigd
      worden bij een (partial) update, maar wel mogen gezet worden bij een create
    * ``ResourceValidator`` - valideer dat een URL een bepaalde resource ontsluit
* Custom inspectors voor drf-yasg:
    * Support voor ``rest_framework_gis`` ``GeometryField``
    * SUpport voor ``django-extra-fields`` ``Base64FieldMixin``
    * URL-based related resource filtering (``django-filter`` support)
    * verzameling van mogelijke error-responses per operation
* Management command ``generate_swagger`` overloaded
    * neemt default versie mee en maakt server-informatie domein-agnostisch
    * optie om informatiemodel-resources naar markdown te renderen met backlinks
      naar gemmaonline.nl
* Support voor ISO 8601 durations
* Custom model fields:
    * ``RSINField``
    * ``BSNField``
    * ``LanguageField``
    * ``VertrouwelijkheidsAanduidingField``
    * ``DaysDurationField``
* Mocks voor de validators die netwerk IO hebben, eenvoudig via
  ``@override_settings`` toe te passen
* Test utilities
* Optionele notificaties applicatie:
    * ontvangen van webhook events
    * configureren en registreren van notificatiecomponent/webhooks

.. |build-status| image:: https://github.com/maykinmedia/commonground-api-common/workflows/ci-build/badge.svg
    :alt: Build status
    :target: https://github.com/maykinmedia/commonground-api-common/actions?query=workflow%3A%22ci-build%22

.. |code-quality| image:: https://github.com/maykinmedia/commonground-api-common/workflows/Code%20quality%20checks/badge.svg
     :alt: Code quality checks
     :target: https://github.com/maykinmedia/commonground-api-common/actions?query=workflow%3A%22Code+quality+checks%22

.. |coverage| image:: https://codecov.io/gh/maykinmedia/commonground-api-common/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/maykinmedia/commonground-api-common
    :alt: Coverage status

.. |docs| image:: https://readthedocs.org/projects/commonground-api-common/badge/?version=latest
    :target: https://commonground-api-common.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. |python-versions| image:: https://img.shields.io/pypi/pyversions/commonground-api-common.svg

.. |django-versions| image:: https://img.shields.io/pypi/djversions/commonground-api-common.svg

.. |pypi-version| image:: https://img.shields.io/pypi/v/commonground-api-common.svg
    :target: https://pypi.org/project/commonground-api-common/

.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
    :target: https://github.com/astral-sh/ruff
    :alt: Ruff

.. _documentatie: https://commonground-api-common.readthedocs.io/en/latest/?badge=latest
