Skip to main content

Libraire python PyLexFluent by NS SOFT (GeDAIA)

Création/Révision Auteur date
Création Jacques MASSA 2 décembre 2024
Modification jacques MASSA 10 mars 2025
Modification jacques MASSA 06 février 2026
Modification jacques MASSA 05 mars 2026
Modification jacques MASSA 21 mai 2026
Modification jacques MASSA 22 juin 2026
Modification Jacques MASSA 16 juillet 2026
Modification Jacques MASSA 22 juillet 2026
Modification Jacques MASSA 27 juillet 2026

Présentation

La librairie pyLexfluent by NS SOFT propose toutes les fonctionnalités IA dans les domaines juridique et document.

  • Classification : Entraînement et inférence
  • Extraction de données : ODP, CNI, IBAN, Document juridique, Certificat d'Urbanisme, Extrait Acte de naissance, Extrait Acte de Décés,Extrait Acte de Mariage
  • Augmentation des données : Finance

Crédits

Built with Transformers
Built with gtp-oss20B
Built with Llama
Built with PaddleOcr

Nouveautés

0.2.8 :

Injection de prompts et Jailbreaks, gestion des faux positifs

Avant l'analyse du texte par un agent, on évalue le texte à analyser afin de détecter des injections de prompts ou de jailbreaks. Cependant plusieurs sécquences de texte peuvent donner lieu à de faux positifs. Par exemple :

  • après n'affritation dans le sol par un système de drain d'infircation
  • à communiquer des instructions sur leur sort en cas de décès
  • assister à la réunion de l’assemblée des copropriétaires et émettre un vote conforme aux instructions du BENEFICIAIRE
  • Le BENEFICIAIRE pourra alors donner des instructions écrites au PROMETTANT
  • cette dernière ignore cette information ou fait confiance à son cocontractant
  • au moyen d’un système de signature électronique qualifiée

Pour éliminer ces faux positifs, il est possible de fournir un fichier guard_rail.json localisé dans le dossier ./rules à coté de l'exécutable hébergeant la librairie. Voici un exemple de fichier :

{
    "false_positives":[
        {
            "titre":"Système Drainnage",
            "regex":"système.+?drain",
            "flags":["DOTALL","MULTILINE"]
        },
        {
            "titre":"Bénéficiaire donnant instructions",
            "regex":"BENEFICIAIRE.+?donner.+?instructions.+?PROMETTANT" 
        }
    ]
}

Le fichier de log pyfluent.log, contiendra des logs de ce type :

2026-07-27 17:24:03,514 - Guard Rail - WARNING - Injection detecte avec un score de 0.9994432330131531; Mais il semble que c'est un faux positif car règle faux positif (Confiance Cocontractant) a ete trouve. On ignore donc ce faux positif.
Paragraphe analyse:
 cette dernière ignore cette information ou fait confiance à son cocontractant
2026-07-27 17:24:03,527 - Guard Rail - WARNING - Injection detecte avec un score de 0.9895601272583008; Mais il semble que c'est un faux positif car règle faux positif (Signature Electronique) a ete trouve. On ignore donc ce faux positif.
Paragraphe analyse:
 au moyen d'un système de signature électronique qualifiée
Extraction des données d'une promesse de vente

Schéma des données extraites :

      "PromesseVente": {
        "properties": {
          "date_promesse": {
            "type": "string",
            "title": "Date Promesse",
            "default": ""
          },
          "lieu_delivrance_promesse": {
            "type": "string",
            "title": "Lieu Delivrance Promesse",
            "default": ""
          },
          "vendeurs": {
            "items": {
              "$ref": "#/components/schemas/PIMPersonne"
            },
            "type": "array",
            "title": "Vendeurs",
            "default": []
          },
          "acquereurs": {
            "items": {
              "$ref": "#/components/schemas/PIMPersonne"
            },
            "type": "array",
            "title": "Acquereurs",
            "default": []
          },
          "promettants": {
            "items": {
              "$ref": "#/components/schemas/PIMPersonne"
            },
            "type": "array",
            "title": "Promettants",
            "default": []
          },
          "beneficiaires": {
            "items": {
              "$ref": "#/components/schemas/PIMPersonne"
            },
            "type": "array",
            "title": "Beneficiaires",
            "default": []
          },
          "notaires_acte": {
            "items": {
              "$ref": "#/components/schemas/PIMNotaire"
            },
            "type": "array",
            "title": "Notaires Acte",
            "default": []
          },
          "bien": {
            "$ref": "#/components/schemas/PIMBien",
            "default": {
              "nature": "immeuble",
              "description": "Immeuble bâtie",
              "parcelle": "",
              "adresse": "",
              "references_cadastre": {
                "lieudit": "",
                "numero": "",
                "section": "",
                "surface": "0 HA 0 A 0 CA"
              }
            }
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          },
          "logs": {
            "items": {
              "$ref": "#/components/schemas/Log"
            },
            "type": "array",
            "title": "Logs",
            "default": []
          }
        },
        "type": "object",
        "title": "PromesseVente",
        "description": "    "
      },

0.2.7 : Modification retour extraction

Les extracteurs retournaient les résultats sous la forme

{ sources:[], logs:[], content:{....}, document:{...} } où content contenait l'objet extrait On a modifié le retour, comme suit :

{ sources:[], logs:[], XXXX:{} } où XXX correspondant à l'objet retourné comme par exemple : LoanProposal, PIMMetadata, PIMPermis, PIMAttestationsActeVente, PIMConstatsAffichage, ....

0.2.4 : Corrections bugs Classification, réachitecture inférence

0.2.1 :

Ajout de l'agent extracteur , InspectorRequest  et InpectorResult : Nouveau pattern de l'agent IA 
Ajout de la librairie PaddleOCR pour l'extraction de formulaires et tableaux depuis doccuments numérisés
Requiert un serveur d'inférence Paddle . 
Requiert l'exécution de la commande : 

Plus d'information: Documentation PadleOCR

Nouveaux extracteurs
- Gestion des programmes immobiliers :
    + Urbanisme : Attestation non retrait et/ou non recours, Dépôt/Transfert permis
    + Juridique : 
        - Constats d'affichage par un huissier,
        - Attestation acte de vente,
- Finance : 
    + Courrier proposition acte de prêts
Exemple de code
Document à analyser

Demande attestation non retrait/non recours permis de construire ou d'aménager :

FORMULAIRE DE DEMANDE D'ATTESTATION DE RECOURS/NON RECOURS

Demandeur de l'attestation

Civilité : nMadame: ___ Monsieur : ☐ Maître : □ Société:☒ NOM /Prénom : AAA AAAAAAAAAA dresse : 1 avenue de l'Europe 99999 AAAAAAX Téléphone :
$ underline{text{99 99 99 99 99}} $ Courriel :
$ underline{text{pxxxxxx.xxxxxx@xxxxxx-xxxxxxxxxx.fr}} $

ATTESTATION DE RECOURS/NON RECOURS

Délivrée en application de l'article R. 600-7 du code de l'urbanisme

Le greffier en chef du tribunal administratif de Besançon atteste que la décision désignée ci-après : N° de l'autorisation d'occupation ou d'utilisation du sol (exemple pour un permis de construire : PC 075 XXX XX XXXXX) PC 999 999 99 J0019 N° de la délibération : Auteur de la décision (maire, préfet) : mairie des AAAAAA Date de la décision :
$ underline{text{6 janvier}} $ Bénéficiaire de l'autorisation : AAA AAAAAAAAAA construction d'un immeuble collectif de 8 logements avec parking en sous sol route de AAAAAAAA 99999 LES RAAAAAA

Nature et lieu de l'opération : (éléments ci-dessus à compléter par le demandeur)

☒ n'a pas fait l'objet, à ce jour et sous toutes réserves, d'un recours contentieux enregistré au tribunal administratif de Besançon.

□ a fait l'objet d'un recours contentieux enregistré au tribunal administratif de Besançon en date du ___

00/04/2025 À Besançon, le Le greffier en chef

\"Image\"

TRADITATIF DE SANSON

Ce formulaire doit obligatoirement être adressé au tribunal (accompagné obligatoirement d'une copie de la décision d'urbanisme faisant l'objet de la demande) exclusivement par courriel, et uniquement à l'adresse mail suivante : (greffe.ta-besancon@juradm.fr). Toute demande incomplète et formulée sur une autre adresse électronique, quelle qu'elle soit, par courrier postal ou déposée à l'accueil du greffe, ne sera pas traitée.

Résultat

import argparse
import json
import time
import logging
import asyncio
from pathlib import Path
import sys
import os

from threading import Thread

from lxf.extractors.metier.immobilier.urbanisme.urbanisme_extractors import urbanisme_extract_attestations_recours_retrait_permis



# System call
os.system("")

# Class of different styles
class print_color():
    BLACK = '\033[30m'
    RED = '\033[31m'
    GREEN = '\033[32m'
    YELLOW = '\033[33m'
    BLUE = '\033[34m'
    MAGENTA = '\033[35m'
    CYAN = '\033[36m'
    WHITE = '\033[37m'
    UNDERLINE = '\033[4m'
    RESET = '\033[0m'
from lxf.domain.inspector_request import InspectorRequest, InspectorResult
import lxf.settings as settings
settings.set_logging_level(logging.INFO)
settings.enable_tqdm=False
###################################################################

logger = logging.getLogger('test_pim')
fh = logging.FileHandler('./logs/pylexfluent.log')
fh.setLevel(settings.get_logging_level())
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.setLevel(settings.get_logging_level())
logger.addHandler(fh)
#################################################################


async def do_test_pim(file_path:str) :
    result = await urbanisme_extract_attestations_recours_retrait_permis(file_path,
                                base_url="http://XXXX:8000/v1",
                                paddle_server="https://ocr.lexfluent.com/v1")
    if result !=None: 
        print(print_color.BLUE+f"Resultat:\n{result.model_dump_json(indent=4)}")
    else :
        print("Aucune donnée n'a pu etre extraite !")    

if __name__ == "__main__":
    sys.stdout.reconfigure(line_buffering=True) 
    parser = argparse.ArgumentParser(description="Exemple d'usage")
    parser.add_argument("--file","-F",nargs=1,required=False,type=str,help="Fichier à traiter, exemple: --file 'data/PIM/Attestation/non_retrait/ATT NR MAIRIE + TA PCM01_26143778.pdf'")
    parser.add_argument("--dossier","-D",nargs=1,required=False,type=str,help="Dossier contenant des Fichiers à traiter, exemple: --dossier data/PIM/Attestation/non_retrait")
    args = parser.parse_args()
    files:list[str]=[]
    if args.file !=None:
        filename:str=args.file[0]
        if os.path.exists(filename) is False:
            print(print_color.RED+f"Fichier {filename} introuvable !")
            print(print_color.BLACK+"")
            exit(-2)  
        files.append(filename)      
    elif args.dossier !=None :
        folder:str=args.dossier[0]
        if os.path.exists(folder) is False:
            print(print_color.RED+f"Dossier {folder} introuvable !")
            print(print_color.BLACK+"")
            exit(-2)    
        for file in Path(folder).rglob("*.pdf"):
            files.append(f"{file}")
            
    else : 
        print(print_color.RED+"Aucun fichier ou dossier défini") 
        print(print_color.BLACK+"")
        exit(-1)
    threads:list[Thread]=[]
    for file in files :
        print(print_color.CYAN+f"Traitement du fichier : {file}")
        filename=file
        thread = Thread(target=asyncio.run,args=[do_test_pim(file)])         
        thread.start()
        threads.append(thread)
        # attendre avant le prochain traitement
        time.sleep(2)
    for t in threads : 
        try:
            t.join()
            print("thread terminé")
        except RuntimeError as err:
            print(print_color.RED+f"Erreur pendant l'attente du thread : {err}")

Sortie :

{
    "document": "ATT NT TA_26127988.pdf",
    "source": [
        " ## FORMULAIRE DE DEMANDE D'ATTESTATION DE RECOURS/NON RECOURS\n\n### Demandeur de l'attestation\n\nCivilité :\n\nMadame: ___\n\nMonsieur : ☐\n\nMaître : □\n\nSociété:☒\n\nNOM /Prénom : AAA AAAAAAAAAA\n\nAdresse : 1 avenue de l'Europe 99999 AAAAAAX\n\nTéléphone :  $ underline{text{99 99 99 99 99}} $\n\nCourriel :  $ underline{text{pxxxxxx.xxxxxx@xxxxxx-xxxxxxxxxx.fr}} $\n\n# ATTESTATION DE RECOURS/NON RECOURS\n\n# Délivrée en application de l'article R. 600-7 du code de l'urbanisme\n\nLe greffier en chef du tribunal administratif de Besançon atteste que la décision désignée ci-après :\n\nN° de l'autorisation d'occupation ou d'utilisation du sol (exemple pour un permis de construire : PC 075 XXX XX XXXXX) PC 999 999 99 J0019\n\nN° de la délibération :\n\nAuteur de la décision (maire, préfet) : mairie des Rousses\n\nDate de la décision :  $ underline{text{6 janvier}} $\n\nBénéficiaire de l'autorisation : AAA AAAAAAAAAA\n\nconstruction d'un immeuble collectif de 8 logements avec parking en sous sol route de AAAAAAAA\n\n99999 LES RAAAAAA\n\nNature et lieu de l'opération :\n\n(éléments ci-dessus à compléter par le demandeur)\n\n☒ n'a pas fait l'objet, à ce jour et sous toutes réserves, d'un recours contentieux enregistré au tribunal administratif de Besançon.\n\n□ a fait l'objet d'un recours contentieux enregistré au tribunal administratif de Besançon en date du ___\n\n00/04/2025\n\nÀ Besançon, le\n\nLe greffier en chef\n\n<div style=\"text-align: center;\"><img src=\"imgs/img_in_image_box_856_1432_934_1504.jpg\" alt=\"Image\" width=\"6%\" />\n\nTRADITATIF DE SANSON\n\n</div>\n\n\nCe formulaire doit obligatoirement être adressé au tribunal (accompagné obligatoirement d'une copie de la décision d'urbanisme faisant l'objet de la demande) exclusivement par courriel, et uniquement à l'adresse mail suivante : (greffe.ta-besancon@juradm.fr). Toute demande incomplète et formulée sur une autre adresse électronique, quelle qu'elle soit, par courrier postal ou déposée à l'accueil du greffe, ne sera pas traitée."
    ],
    "logs": [],
    "content": {
        "source": [
            "PC 999 999 99 J0019",
            "n'a pas fait l'objet, à ce jour et sous toutes réserves, d'un recours contentieux enregistré au tribunal administratif de Besançon.",
            "Date de la décision : 6 janvier",
            "Le greffier en chef du tribunal administratif de Besançon",
            "Auteur de la décision (maire, préfet) : mairie des AAAAAAA"
        ],
        "permis": [
            {
                "decision": "NON RECOURS",
                "detail": "n'a pas fait l'objet, à ce jour et sous toutes réserves, d'un recours contentieux enregistré au tribunal administratif de Besançon.",
                "validation_decision": "Le greffier en chef du tribunal administratif de Besançon a déclaré explicitement qu'il n'y avait pas de recours, ce qui constitue une attestation de non recours.",
                "le_maire": "",
                "la_ville": "AAAAAAA",
                "tribunal": "Tribunal administratif de Besançon",
                "le_greffier": "greffier en chef du tribunal administratif de Besançon",
                "date_decision": "6 janvier",
                "permis_trouve": true,
                "numero_brut": "PC 999 999 99 J0019",
                "numero_normalise": "PC99999999J0019",
                "date_obtention": null
            }
        ]
    }
}

0.1.97 :

Ajout de l'extraction des données des offres de prêts du Crédit Agricole

0.1.96 :

Ajout de la protection contre l'injection de prompt et de jailbreak dans les agents IA (Interviewer)

Prérequis :

Vous devez avoir un token Hugginface en variable d'environnement :

```
export HF_TOKEN = XXXXXXXXXXXXXXXXXXXXXXXXXXX
echo $HF_TOKEN
```

Le Token doit avoir l'accès à : meta-llama/Prompt-Guard-86M

Pb d'import de tensorflow_hub du au retrait de pkg_resources de setuptools>=82.0.0 . 
Pour contourner ce problème, il faut forcer setuptools<81 

Identification de la menace

Une large partie de nos agents IA ont pour mission d'analyser, inspecter, questionner le contenu de documents provenant de PDF ou autres formats. A l'instart des virus pour nos programmes, ces documents peuvent eux-mêmes contenir des "menaces" sous la forme d'injection de prompt ou de jailbreak :

  • Les Injections de Prompt (Prompt Injections) sont des entrées qui exploitent la concaténation de données non fiables (provenant de tiers ou d'utilisateurs) dans la fenêtre de contexte d'un modèle, afin d'amener ce dernier à exécuter des instructions non souhaitées.

  • Les Jailbreaks (ou débridages) sont des instructions malveillantes conçues pour passer outre les fonctionnalités de sûreté et de sécurité intégrées à un modèle.

Afin de lutter contre ces nouvelles menaces, nous avons mis en place plusieurs protections.

0.1.92 :

IBAN DetectStructure

    Fix Valeur par défaut du rois_filter = FALSE

0.1.91 :

IBAN Analyzer

Fix bug liste des logs non initialisée 

0.1.90 :

Interviewer AI

Fix bug valeur par défaut de AI_TIMEOUT(180) et AI_RETRIES (1)

0.1.89 :

#### Reconnaissance des proposition de prêts.
Chaque requête AI dispose d'un timeout(180s par défaut)  pour s'exécuter, et d'un nombre de tentatives(1 tentative par défaut)  pour rééssayer.
Exemple :
```
	    result = await try_safe_execute_async(logger,
                                      odp_proposal_extractor.extract_data,
                                      file_path=file_path, 
                                      base_url=base_url, 
                                      default_model_instruct=model_instruct, 
                                      openapi_compatibility=openapi_compatibility,
                                      ai_timeout=120, 
                                      ai_max_retries=2)
```
#### Loging.
Rassemblement des logs dans un seul et même fichier : pylexfluent.log 

Installations Prérequises

python = ">=3.11,<4.0"
setuptools = "<81"
pytz = "*"
wheel = "*"
scikit-learn = "*"
matplotlib = "*"
tqdm = "*"
pytesseract = "*"
pillow = ">=10.1.0"
jax = "0.4.38"
jaxlib = "0.4.38"
mediapipe = "*"
opencv-python = "*"
pandas = "*"
tensorrt = "*"
tensorrt-lean = "*"
tensorrt-dispatch = "*"
tensorflow = "*"
tf-keras = "*"
tensorflow-hub = "*"
torch = "*"
torchvision = "*"
torchaudio = "*"
sentencepiece = "*"
transformers = "*"
sentence-transformers = "*"
spacy = {extras = ["cuda12x"], version = ">=3.7.2"}
ocrmypdf = "*"
pdf2image = "*"
img2pdf = "0.6.0"
pdfplumber = "*"
langchain-community = "*"
langchain-ollama = "*"
langchain-openai = "*"
pymongo = "*"
openpyxl = "*"
easyocr = "*"
docling = {extras = ["all"], version = "*"}
pymupdf= "*"
paddlepaddle = "3.2.2"
paddleocr = {extras = ["doc-parser"], version = "^3.7.0"}
python -m spacy download fr_core_news_lg

Il y peut y avoir un conflit de version avec cuDNN requis par TensforFlow et Torch Dans ce cas il faut supprimer nvidia-cuDNN-cu12 apporté par PIP

pip uninstall nvidia-cudnn-cu12

Prerequis système

Update et installations requises

    apt-get update 
    apt-get upgrade
    apt install software-properties-common -y
    apt-get install poppler-utils -y
    add-apt-repository ppa:alex-p/tesseract-ocr5
    apt-get install libc6 -y
    apt-get install poppler-utils -y
    apt-get install tesseract-ocr -y
    apt-get install tesseract-ocr-fra -y
    apt-get install tesseract-ocr-eng -y
    apt-get install tesseract-ocr-ita -y
    apt-get install tesseract-ocr-spa -y
    apt-get install tesseract-ocr-deu -y
    apt-get install tesseract-ocr-cos -y
    apt-get install tesseract-ocr-lat -y
    apt-get install automake libtool -y
    apt-get install libleptonica-dev -y
    apt-get install ffmpeg libsm6 libxext6  -y
    apt-get install ocrmypdf -y    

JBIG2

Installing the JBIG2 encoder Most Linux distributions do not include a JBIG2 encoder since JBIG2 encoding was patented for a long time. All known JBIG2 US patents have expired as of 2017, but it is possible that unknown patents exist.

JBIG2 encoding is recommended for OCRmyPDF and is used to losslessly create smaller PDFs. If JBIG2 encoding is not available, lower quality CCITT encoding will be used for monochrome images.

JBIG2 decoding is not patented and is performed automatically by most PDF viewers. It is widely supported and has been part of the PDF specification since 2001.

JBIG encoding is automatically provided by these OCRmyPDF packages: - Docker image (both Ubuntu and Alpine) - Snap package - ArchLinux AUR package - Alpine Linux package - Homebrew on macOS

For all other platforms, you would need to build the JBIG2 encoder from source:

git clone https://github.com/agl/jbig2enc
cd jbig2enc
./autogen.sh
./configure && make
[sudo] make install

Dependencies include libtoolize and libleptonica, which on Ubuntu systems are packaged as libtool and libleptonica-dev. On Fedora (35) they are packaged as libtool and leptonica-devel. For this to work, please make sure to install autotools, automake, libtool, pkg-config and leptonica first if not already installed. Other dependencies might be required depending on your system.

[sudo] apt install autotools-dev automake libtool libleptonica-dev pkg-config

Téléchargement modèles

SPACY

GPU issue

Si problème : Successful NUMA node read from SysFS had negative value (-1)

for a in /sys/bus/pci/devices/*; do echo 0 |  tee -a $a/numa_node; done

Schéma OpenAPi

Afin de créer les classes de désérialisation des json retournés par l'extraction des données par les agent IA, vous pouvez utiliser le schéma json au format openapi.

NotaBene: Les chemins des points de terminaison sont tous fictifs . Seul la section Components est valide.

{
  "openapi": "3.1.0",
  "info": {
    "title": "PIM API",
    "version": "0.1.0"
  },
  "paths": {
    "/constats_affichage_huissier": {
      "post": {
        "summary": "Create Constat",
        "operationId": "create_constat_constats_affichage_huissier_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PIMConstatsAffichage"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PIMConstatsAffichage"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/permis_non_retrait_non_recours": {
      "post": {
        "summary": "Create Constat",
        "operationId": "create_constat_permis_non_retrait_non_recours_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PIMMetaData"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PIMMetaData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/attestation_actes_vente": {
      "post": {
        "summary": "Create Constat",
        "operationId": "create_constat_attestation_actes_vente_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PIMAttestationsActeVente"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PIMAttestationsActeVente"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/attestation_depot_transfert_permis": {
      "post": {
        "summary": "Create Constat",
        "operationId": "create_constat_attestation_depot_transfert_permis_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PIMPermis"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PIMPermis"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/proposition_offre_pret": {
      "post": {
        "summary": "Create Constat",
        "operationId": "create_constat_proposition_offre_pret_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoanProposal"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoanProposal"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/promesse-de-vente": {
      "post": {
        "summary": "Create Constat",
        "operationId": "create_constat_promesse_de_vente_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromesseVente"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromesseVente"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/cni": {
      "post": {
        "summary": "Create Cni",
        "operationId": "create_cni_cni_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Cni"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cni"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "IbanCandidate": {
      "post": {
        "summary": "Create Iban Candidate",
        "operationId": "create_iban_candidateIbanCandidate_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IbanCandidate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IbanCandidate"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/pret": {
      "post": {
        "summary": "Create Pret",
        "operationId": "create_pret_pret_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Pret"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Pret"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Amortissement": {
        "properties": {
          "periodes": {
            "items": {
              "$ref": "#/components/schemas/PeriodeAmortissement"
            },
            "type": "array",
            "title": "Periodes",
            "default": []
          }
        },
        "type": "object",
        "title": "Amortissement",
        "description": "Amortissement du crédit\nperiodes: Liste de PeriodeAmortissement",
        "exemple": {
          "periodes": [
            {
              "duree_echeances": 8,
              "montant_echeance_sans_assurance": {
                "devise": "EUR",
                "valeur": 2000
              },
              "periodicite_echeance": "mensuelle",
              "taux_debiteur_pourcentage": 1.5,
              "type_echeance": "constante",
              "type_taux_debiteur": "fixe"
            }
          ]
        }
      },
      "Assurance": {
        "properties": {
          "description": {
            "type": "string",
            "title": "Description",
            "default": ""
          },
          "reference": {
            "type": "string",
            "title": "Reference",
            "default": ""
          },
          "delegation": {
            "type": "string",
            "title": "Delegation",
            "default": ""
          },
          "souscripteur": {
            "type": "string",
            "title": "Souscripteur",
            "default": ""
          },
          "nom_naissance_souscripteur": {
            "type": "string",
            "title": "Nom Naissance Souscripteur",
            "default": ""
          },
          "date_naissance_souscripteur": {
            "type": "string",
            "title": "Date Naissance Souscripteur",
            "default": ""
          },
          "ville_naissance_souscripteur": {
            "type": "string",
            "title": "Ville Naissance Souscripteur",
            "default": ""
          },
          "garanties": {
            "type": "string",
            "title": "Garanties",
            "default": ""
          },
          "type_assureur": {
            "type": "string",
            "title": "Type Assureur",
            "default": ""
          },
          "quotite_pret_assure": {
            "type": "string",
            "title": "Quotite Pret Assure",
            "default": ""
          },
          "options_choisies": {
            "type": "string",
            "title": "Options Choisies",
            "default": ""
          },
          "hauteur_pourcentage": {
            "type": "number",
            "title": "Hauteur Pourcentage",
            "default": 0.0
          },
          "assureur": {
            "type": "string",
            "title": "Assureur",
            "default": ""
          },
          "assureur_group": {
            "type": "string",
            "title": "Assureur Group",
            "default": ""
          },
          "couverture": {
            "type": "string",
            "title": "Couverture",
            "default": ""
          },
          "tableau_prets": {
            "$ref": "#/components/schemas/lxfTable",
            "default": {
              "rows": [],
              "has_header": true,
              "page_number": 0
            }
          }
        },
        "type": "object",
        "title": "Assurance",
        "description": "Assurance ",
        "exemple": {
          "assureur": "ASSURANCE GENERALE",
          "couverture": "Prêt Tout Habitat (N°01234567) : 730 000.00 EUR sur 300 mois",
          "delegation": "delegation text",
          "description": "Assurance Déléguée Décés -PTIA I.T.",
          "hauteur_pourcentage": 100.0,
          "souscripteur": "M Alain DUPOND né le 01/01/2001 à MONCHEZMOI"
        },
        "exemple 2": {
          "assureur": "ASSURANCE GENERALE",
          "date_naissance_souscripteur": "12/05/1996",
          "description": "Cnp Assurance - Bpce Vie",
          "souscripteur": "M Alain DUPOND",
          "ville_naissance_souscripteur": "Belleville"
        }
      },
      "CaracteristiquePret": {
        "properties": {
          "nature": {
            "type": "string",
            "title": "Nature",
            "default": ""
          },
          "numero": {
            "type": "string",
            "title": "Numero",
            "default": ""
          },
          "montant": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          },
          "duree_mois": {
            "type": "integer",
            "title": "Duree Mois",
            "default": 0
          }
        },
        "type": "object",
        "title": "CaracteristiquePret",
        "description": "Caractéristique d'un prêt bancaire",
        "exemple": {
          "duree_mois": 300,
          "montant": {
            "devise": "EUR",
            "valeur": 730000.0
          },
          "nature": "Pret tout Habitat",
          "numero": "08801143"
        }
      },
      "CaracteristiquesPret": {
        "properties": {
          "description": {
            "type": "string",
            "title": "Description",
            "default": ""
          },
          "numero_pret": {
            "type": "string",
            "title": "Numero Pret",
            "default": ""
          },
          "is_modulable": {
            "type": "boolean",
            "title": "Is Modulable",
            "default": false
          },
          "montant": {
            "type": "string",
            "title": "Montant",
            "default": ""
          },
          "duree_mois": {
            "type": "integer",
            "title": "Duree Mois",
            "default": 0
          },
          "taux": {
            "$ref": "#/components/schemas/TauxAnnuelEffectifGlobal",
            "default": {
              "titre": "",
              "sigle": "",
              "description": " ",
              "taux_pourcentage": 0.0,
              "taux_periode": 0.0,
              "base_periode": "mensuelle"
            }
          },
          "domiciliation": {
            "$ref": "#/components/schemas/Domiciliation",
            "default": {
              "debiteur": "",
              "compte": "",
              "creancier": ""
            }
          },
          "montant_total_du_emprunteurs": {
            "$ref": "#/components/schemas/MontantTotalDuEmprunteur",
            "default": {
              "commentaire": "",
              "montant_total_credit": {
                "devise": "EUR",
                "valeur": 0.0
              },
              "cout_total_credit": {
                "devise": "EUR",
                "valeur": 0.0
              },
              "montant_total_interets": {
                "devise": "EUR",
                "valeur": 0.0
              },
              "montant_total_assurance_obligatoire": {
                "devise": "EUR",
                "valeur": 0.0
              },
              "montant_total_assurance_facultative": {
                "devise": "EUR",
                "valeur": 0.0
              },
              "frais": [],
              "montants_divers": [],
              "montant_total_du_emprunteur": {
                "devise": "EUR",
                "valeur": 0.0
              }
            }
          },
          "periodes_amortissement": {
            "items": {
              "$ref": "#/components/schemas/PeriodeAmortissement"
            },
            "type": "array",
            "title": "Periodes Amortissement",
            "default": []
          },
          "periodes_amortissement_description": {
            "type": "string",
            "title": "Periodes Amortissement Description",
            "default": ""
          }
        },
        "type": "object",
        "title": "CaracteristiquesPret",
        "description": "Toutes les caractérisitiques d'un pret bancaire\ncaracterisitiques : Liste de CrarcterisitiquePret",
        "exemple": {
          "description": "Prêt Tout Habitat (N°08801143) : 730 000.00 EUR sur 300 mois",
          "domicialiation": {
            "beneficiaire": "BANQUE CREDIT",
            "compte": "compte n° 123456789",
            "crediteur": "Emprunteur"
          },
          "is_modulable": true,
          "montant": "730 000.00 EUR",
          "numero_pret": "08801143"
        }
      },
      "ClausesParticulieres": {
        "properties": {
          "titre": {
            "type": "string",
            "title": "Titre",
            "default": "Aucune"
          },
          "numero_pret": {
            "type": "string",
            "title": "Numero Pret",
            "default": ""
          },
          "text": {
            "type": "string",
            "title": "Text",
            "default": ""
          }
        },
        "type": "object",
        "title": "ClausesParticulieres",
        "description": "Clause(s) Particulière(s) rattachée(s) à un prêt",
        "exemple": {
          "numero_pret": "08909399",
          "text": "L'Emprunteur peut, à tout moment, rembourser en totalité ou en partie le montant du présent prêt....."
        }
      },
      "Cni": {
        "properties": {
          "is_recto": {
            "type": "boolean",
            "title": "Is Recto",
            "default": true
          },
          "first_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name",
            "description": "Prénom"
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name",
            "description": "Nom de famille"
          },
          "date_of_birth": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Date Of Birth",
            "description": "Date de naissance (format JJ/MM/AAAA)"
          },
          "id_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id Number",
            "description": "Numéro d'identité"
          },
          "address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Address",
            "description": "Adresse"
          },
          "issue_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Issue Date",
            "description": "Date d'émission (format JJ/MM/AAAA)"
          },
          "expiry_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiry Date",
            "description": "Date d'expiration (format JJ/MM/AAAA)"
          },
          "gender": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gender",
            "description": "Genre (M/F)"
          },
          "mrz": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mrz",
            "description": "Zone MRZ"
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          },
          "logs": {
            "items": {
              "$ref": "#/components/schemas/Log"
            },
            "type": "array",
            "title": "Logs",
            "default": []
          }
        },
        "type": "object",
        "title": "Cni",
        "description": "Représente les informations extraites d'une carte d'identité."
      },
      "ConditionCreditAccompagnement": {
        "properties": {
          "conditions": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Conditions",
            "default": []
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          }
        },
        "type": "object",
        "title": "ConditionCreditAccompagnement",
        "description": "Docstring for ConditionCreditAccompagnement"
      },
      "ConditionFinanciereAchevement": {
        "properties": {
          "conditions": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Conditions",
            "default": []
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          }
        },
        "type": "object",
        "title": "ConditionFinanciereAchevement",
        "description": "Docstring for ConditionFinanciereAchevement"
      },
      "ConditionsFinancieres": {
        "properties": {
          "is_taux_variable": {
            "type": "boolean",
            "title": "Is Taux Variable",
            "default": false
          },
          "calcul_taux_variable": {
            "type": "string",
            "title": "Calcul Taux Variable",
            "default": ""
          },
          "commission_engagement": {
            "type": "number",
            "title": "Commission Engagement",
            "default": 0.0
          },
          "periodicite_commission": {
            "type": "string",
            "title": "Periodicite Commission",
            "default": ""
          },
          "frais_dossier": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          },
          "methode_calcul_commission_engagement": {
            "type": "string",
            "title": "Methode Calcul Commission Engagement",
            "default": ""
          },
          "depassement_autorisation": {
            "type": "string",
            "title": "Depassement Autorisation",
            "default": ""
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          }
        },
        "type": "object",
        "title": "ConditionsFinancieres",
        "description": "Docstring for ConditionsFinancieres"
      },
      "Domiciliation": {
        "properties": {
          "debiteur": {
            "type": "string",
            "title": "Debiteur",
            "default": ""
          },
          "compte": {
            "type": "string",
            "title": "Compte",
            "default": ""
          },
          "creancier": {
            "type": "string",
            "title": "Creancier",
            "default": ""
          }
        },
        "type": "object",
        "title": "Domiciliation",
        "description": "Domiciliation du compte à créditer",
        "exemple": {
          "beneficiaire": "BANQUE CREDIT",
          "compte": "compte n° 123456789",
          "crediteur": "Emprunteur"
        }
      },
      "ElementPlanFinancement": {
        "properties": {
          "nature": {
            "type": "string",
            "title": "Nature",
            "default": ""
          },
          "montant": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          }
        },
        "type": "object",
        "title": "ElementPlanFinancement",
        "description": "Element d'un Plan de Financement d'un Prêt",
        "exemple": {
          "montant": {
            "devise": "EUR",
            "valeur": 125000.0
          },
          "nature": "apport"
        }
      },
      "Emprunteur": {
        "properties": {
          "est_personne": {
            "type": "boolean",
            "title": "Est Personne",
            "default": false
          },
          "civilite": {
            "type": "string",
            "title": "Civilite",
            "default": ""
          },
          "prenoms": {
            "type": "string",
            "title": "Prenoms",
            "default": ""
          },
          "raison_sociale": {
            "type": "string",
            "title": "Raison Sociale",
            "default": ""
          },
          "statut_organisation": {
            "type": "string",
            "title": "Statut Organisation",
            "default": ""
          },
          "siret": {
            "type": "string",
            "title": "Siret",
            "default": ""
          },
          "siren": {
            "type": "string",
            "title": "Siren",
            "default": ""
          },
          "nom": {
            "type": "string",
            "title": "Nom",
            "default": ""
          },
          "date_naissance": {
            "type": "string",
            "title": "Date Naissance",
            "default": ""
          },
          "adresse": {
            "type": "string",
            "title": "Adresse",
            "default": ""
          },
          "code_postal": {
            "type": "string",
            "title": "Code Postal",
            "default": ""
          },
          "ville": {
            "type": "string",
            "title": "Ville",
            "default": ""
          },
          "metier": {
            "type": "string",
            "title": "Metier",
            "default": ""
          },
          "situation_maritale": {
            "type": "string",
            "title": "Situation Maritale",
            "default": ""
          },
          "regime_matrimoniale": {
            "type": "string",
            "title": "Regime Matrimoniale",
            "default": ""
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          },
          "represente_par": {
            "items": {
              "$ref": "#/components/schemas/Personne"
            },
            "type": "array",
            "title": "Represente Par",
            "default": []
          }
        },
        "type": "object",
        "title": "Emprunteur",
        "description": "Personne physique ou morale bénéficière d'un prêt bancaire",
        "exemple": {
          "adresse": "140, boulevard des Capucines",
          "civilite": "Mme",
          "code_postal": "01234",
          "est_personne": true,
          "metier": "commerçante",
          "nom": "FRIDOMME",
          "premons": "Marie Françoise",
          "regime_maritale": "",
          "represente_par": [],
          "situation_maritale": "divorcée",
          "ville": "Bon Vivre sur Mer et Montagne"
        }
      },
      "Frais": {
        "properties": {
          "nature": {
            "type": "string",
            "title": "Nature",
            "default": "Frais Prise de garantie (Hypohteque)"
          },
          "montant": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          }
        },
        "type": "object",
        "title": "Frais",
        "description": "Frais ",
        "exemple": {
          "montant": {
            "devise": "EUR",
            "valeur": 3808.51
          },
          "nature": "Frais prise de garantie (PPD)"
        }
      },
      "GarantieFinanciereAchevement": {
        "properties": {
          "label": {
            "type": "string",
            "title": "Label",
            "default": ""
          },
          "montant": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          },
          "taux_annuel_commission": {
            "type": "number",
            "title": "Taux Annuel Commission",
            "default": 0.0
          },
          "modalite_reglement": {
            "type": "string",
            "title": "Modalite Reglement",
            "default": ""
          },
          "frais_dossier": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          },
          "conditions": {
            "type": "string",
            "title": "Conditions",
            "default": ""
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          }
        },
        "type": "object",
        "title": "GarantieFinanciereAchevement",
        "description": "Docstring for GarantieFinanciereAchevement"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "IbanCandidate": {
        "properties": {
          "iban": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iban"
          },
          "bic": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bic"
          },
          "branch": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Branch"
          },
          "bank": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank"
          },
          "address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Address"
          },
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "City"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "zip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Zip"
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone"
          },
          "fax": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fax"
          },
          "www": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Www"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "country_iso": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Iso"
          },
          "account": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account"
          },
          "bank_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bank Code"
          },
          "branch_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Branch Code"
          },
          "found": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Found"
          },
          "validation": {
            "type": "boolean",
            "title": "Validation",
            "default": false
          },
          "error_msg": {
            "type": "string",
            "title": "Error Msg",
            "default": ""
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          },
          "logs": {
            "items": {
              "$ref": "#/components/schemas/Log"
            },
            "type": "array",
            "title": "Logs",
            "default": []
          }
        },
        "type": "object",
        "title": "IbanCandidate"
      },
      "LoanProposal": {
        "properties": {
          "num_suivi": {
            "type": "string",
            "title": "Num Suivi",
            "default": ""
          },
          "header_offre": {
            "type": "string",
            "title": "Header Offre",
            "default": ""
          },
          "header_ref": {
            "type": "string",
            "title": "Header Ref",
            "default": ""
          },
          "header_emprunteur": {
            "type": "string",
            "title": "Header Emprunteur",
            "default": ""
          },
          "header_responsable_suivi": {
            "type": "string",
            "title": "Header Responsable Suivi",
            "default": ""
          },
          "header_num_etude": {
            "type": "string",
            "title": "Header Num Etude",
            "default": ""
          },
          "date_emission_offre": {
            "type": "string",
            "title": "Date Emission Offre",
            "default": ""
          },
          "preteur": {
            "$ref": "#/components/schemas/Preteur"
          },
          "emprunteurs": {
            "items": {
              "$ref": "#/components/schemas/Emprunteur"
            },
            "type": "array",
            "title": "Emprunteurs"
          },
          "objets_financement": {
            "items": {
              "$ref": "#/components/schemas/ObjetFinancement"
            },
            "type": "array",
            "title": "Objets Financement"
          },
          "gfa": {
            "$ref": "#/components/schemas/GarantieFinanciereAchevement"
          },
          "conditions_financieres": {
            "$ref": "#/components/schemas/ConditionsFinancieres"
          },
          "garanties": {
            "items": {
              "$ref": "#/components/schemas/lxf__domain__loan_proposal__Garantie"
            },
            "type": "array",
            "title": "Garanties"
          },
          "condition_credit_accompagnement": {
            "$ref": "#/components/schemas/ConditionCreditAccompagnement"
          },
          "condition_financiere_achevement": {
            "$ref": "#/components/schemas/ConditionFinanciereAchevement"
          },
          "modalites_fonctionnement": {
            "$ref": "#/components/schemas/ModalitesFonctionnement"
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source"
          },
          "logs": {
            "items": {
              "$ref": "#/components/schemas/Log"
            },
            "type": "array",
            "title": "Logs"
          }
        },
        "type": "object",
        "title": "LoanProposal",
        "description": "Docstring for LoanProposal"
      },
      "Log": {
        "properties": {
          "severity": {
            "type": "string",
            "title": "Severity",
            "default": "ERROR"
          },
          "title": {
            "type": "string",
            "title": "Title",
            "default": "Erreur"
          },
          "message": {
            "type": "string",
            "title": "Message",
            "default": "Une erreur est apparue"
          }
        },
        "type": "object",
        "title": "Log",
        "description": "Docstring for Log"
      },
      "ModalitesFonctionnement": {
        "properties": {
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          },
          "date_limite_validite": {
            "type": "string",
            "title": "Date Limite Validite",
            "default": ""
          },
          "modalites": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Modalites",
            "default": []
          }
        },
        "type": "object",
        "title": "ModalitesFonctionnement",
        "description": "Docstring for ModalitesFonctionnent"
      },
      "Montant": {
        "properties": {
          "valeur": {
            "type": "number",
            "title": "Valeur",
            "default": 0.0
          },
          "devise": {
            "type": "string",
            "title": "Devise",
            "default": "EUR"
          }
        },
        "type": "object",
        "title": "Montant",
        "description": "Montant et devise",
        "exemple": {
          "devise": "EUR",
          "valeur": 123456.57
        }
      },
      "MontantDivers": {
        "properties": {
          "txt_montant": {
            "type": "string",
            "title": "Txt Montant",
            "default": ""
          },
          "nature": {
            "type": "string",
            "title": "Nature",
            "default": "Montant divers)"
          },
          "montant": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          }
        },
        "type": "object",
        "title": "MontantDivers",
        "description": "Frais ",
        "exemple": {
          "label": "Garantie (PPD)",
          "montant": {
            "devise": "EUR",
            "valeur": 3808.51
          },
          "nature": "garantie (PPD)"
        }
      },
      "MontantTotalDuEmprunteur": {
        "properties": {
          "commentaire": {
            "type": "string",
            "title": "Commentaire",
            "default": ""
          },
          "montant_total_credit": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          },
          "cout_total_credit": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          },
          "montant_total_interets": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          },
          "montant_total_assurance_obligatoire": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          },
          "montant_total_assurance_facultative": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          },
          "frais": {
            "items": {
              "$ref": "#/components/schemas/Frais"
            },
            "type": "array",
            "title": "Frais",
            "default": []
          },
          "montants_divers": {
            "items": {
              "$ref": "#/components/schemas/MontantDivers"
            },
            "type": "array",
            "title": "Montants Divers",
            "default": []
          },
          "montant_total_du_emprunteur": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          }
        },
        "type": "object",
        "title": "MontantTotalDuEmprunteur",
        "description": "Total montant dû par l'emprunteur\nmontant_total_credit:Montant total du crédit (valeur,devise)\ncout_total_credit: Cout total du Credit (valeur,devise)\nmontant_total_interets: Montant Total des intérets (valeur, devise)\nmontant_total_assurance_obligatoire:Montant total des assurances obligatoires (valeur,devise)\nfrais: liste de Frais\nmontant_total_du_emprunteur: Montant total dû par l'emprunteur (valeur,devise)",
        "exemple": {
          "cout_total_credit": {
            "devise": "EUR",
            "valeur": 197342.08
          },
          "frais": [
            {
              "montant": {
                "devise": "EUR",
                "valeur": 3808.51
              },
              "nature": "Frais prise de garantie (PPD)"
            },
            {
              "montant": {
                "devise": "EUR",
                "valeur": 556.03
              },
              "nature": "Frais prise de garantie (Hypotheque)"
            },
            {
              "montant": {
                "devise": "EUR",
                "valeur": 500.0
              },
              "nature": "Frais de dossier"
            }
          ],
          "montant_total_assurance_obligatoire": {
            "devise": "EUR",
            "valeur": 45150.54
          },
          "montant_total_credit": {
            "devise": "EUR",
            "valeur": 730000.0
          },
          "montant_total_du_emprunteur": {
            "devise": "EUR",
            "valeur": 927342.08
          },
          "montant_total_interets": {
            "devise": "EUR",
            "valeur": 147327.0
          }
        }
      },
      "ObjetFinancement": {
        "properties": {
          "titre": {
            "type": "string",
            "title": "Titre",
            "default": ""
          },
          "nature": {
            "type": "string",
            "title": "Nature",
            "default": ""
          },
          "usage": {
            "type": "string",
            "title": "Usage",
            "default": ""
          },
          "description": {
            "type": "string",
            "title": "Description",
            "default": ""
          },
          "adresse": {
            "type": "string",
            "title": "Adresse",
            "default": ""
          },
          "code_postal": {
            "type": "string",
            "title": "Code Postal",
            "default": ""
          },
          "ville": {
            "type": "string",
            "title": "Ville",
            "default": ""
          },
          "deblocage_plusieurs_phases": {
            "type": "boolean",
            "title": "Deblocage Plusieurs Phases",
            "default": false
          },
          "phase_1": {
            "type": "string",
            "title": "Phase 1",
            "default": ""
          },
          "phase_2": {
            "type": "string",
            "title": "Phase 2",
            "default": ""
          },
          "condition_credit_phase_1": {
            "type": "string",
            "title": "Condition Credit Phase 1",
            "default": ""
          },
          "condition_credit_phase_2": {
            "type": "string",
            "title": "Condition Credit Phase 2",
            "default": ""
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          }
        },
        "type": "object",
        "title": "ObjetFinancement",
        "description": "Objet du financement"
      },
      "PIMArticle": {
        "properties": {
          "titre": {
            "type": "string",
            "title": "Titre",
            "default": ""
          },
          "texte": {
            "type": "string",
            "title": "Texte",
            "default": ""
          }
        },
        "type": "object",
        "title": "PIMArticle",
        "description": "    "
      },
      "PIMAttestationActeVente": {
        "properties": {
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source"
          },
          "date_attestation": {
            "type": "string",
            "title": "Date Attestation",
            "default": ""
          },
          "lieu_delivrance_attestation": {
            "type": "string",
            "title": "Lieu Delivrance Attestation",
            "default": ""
          },
          "vendeurs": {
            "items": {
              "$ref": "#/components/schemas/PIMPersonne"
            },
            "type": "array",
            "title": "Vendeurs"
          },
          "acquereurs": {
            "items": {
              "$ref": "#/components/schemas/PIMPersonne"
            },
            "type": "array",
            "title": "Acquereurs"
          },
          "notaires_acte": {
            "items": {
              "$ref": "#/components/schemas/PIMNotaire"
            },
            "type": "array",
            "title": "Notaires Acte"
          },
          "bien": {
            "$ref": "#/components/schemas/PIMBien"
          }
        },
        "type": "object",
        "title": "PIMAttestationActeVente",
        "description": "    "
      },
      "PIMAttestationsActeVente": {
        "properties": {
          "attestations": {
            "items": {
              "$ref": "#/components/schemas/PIMAttestationActeVente"
            },
            "type": "array",
            "title": "Attestations"
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source"
          },
          "logs": {
            "items": {
              "$ref": "#/components/schemas/Log"
            },
            "type": "array",
            "title": "Logs"
          }
        },
        "type": "object",
        "title": "PIMAttestationsActeVente",
        "description": "    "
      },
      "PIMBien": {
        "properties": {
          "nature": {
            "type": "string",
            "title": "Nature",
            "default": "immeuble"
          },
          "description": {
            "type": "string",
            "title": "Description",
            "default": "Immeuble bâtie"
          },
          "parcelle": {
            "type": "string",
            "title": "Parcelle",
            "default": ""
          },
          "adresse": {
            "type": "string",
            "title": "Adresse",
            "default": ""
          },
          "references_cadastre": {
            "$ref": "#/components/schemas/PIMReferencesCadastre"
          }
        },
        "type": "object",
        "title": "PIMBien",
        "description": "- \"nature\" : nature du bien vendu, par exemple : \"terrain\", \"immeuble\" , \"immeuble en compropriété\", etc ... \n- \"description\" : la description du bien, \n- \"ref_cadastrales\": la référence cadastrale"
      },
      "PIMConstatAffichagePermisHuissier": {
        "properties": {
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source"
          },
          "permis": {
            "$ref": "#/components/schemas/PIMPermisConstruireAmmenager"
          },
          "etude": {
            "type": "string",
            "title": "Etude",
            "default": ""
          },
          "description_requete": {
            "type": "string",
            "title": "Description Requete",
            "default": ""
          },
          "compte_rendu": {
            "type": "string",
            "title": "Compte Rendu",
            "default": ""
          },
          "huissier_nom_prenom": {
            "type": "string",
            "title": "Huissier Nom Prenom",
            "default": ""
          },
          "date_constat": {
            "type": "string",
            "title": "Date Constat",
            "default": ""
          },
          "heure_constat": {
            "type": "string",
            "title": "Heure Constat",
            "default": ""
          },
          "lieu_constat": {
            "type": "string",
            "title": "Lieu Constat",
            "default": ""
          },
          "panneau_reglementaire": {
            "type": "boolean",
            "title": "Panneau Reglementaire",
            "default": false
          },
          "panneau_visible": {
            "type": "boolean",
            "title": "Panneau Visible",
            "default": false
          },
          "articles": {
            "items": {
              "$ref": "#/components/schemas/PIMArticle"
            },
            "type": "array",
            "title": "Articles"
          },
          "beneficiaire": {
            "$ref": "#/components/schemas/PIMPersonne"
          }
        },
        "type": "object",
        "title": "PIMConstatAffichagePermisHuissier",
        "description": "    "
      },
      "PIMConstatsAffichage": {
        "properties": {
          "constats_found": {
            "items": {
              "$ref": "#/components/schemas/PIMConstatAffichagePermisHuissier"
            },
            "type": "array",
            "title": "Constats Found"
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source"
          },
          "logs": {
            "items": {
              "$ref": "#/components/schemas/Log"
            },
            "type": "array",
            "title": "Logs"
          }
        },
        "type": "object",
        "title": "PIMConstatsAffichage",
        "description": "    "
      },
      "PIMMetaData": {
        "properties": {
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source"
          },
          "logs": {
            "items": {
              "$ref": "#/components/schemas/Log"
            },
            "type": "array",
            "title": "Logs"
          },
          "permis": {
            "items": {
              "$ref": "#/components/schemas/PIMPermisConstruireAmmenager"
            },
            "type": "array",
            "title": "Permis"
          }
        },
        "type": "object",
        "title": "PIMMetaData",
        "description": "    "
      },
      "PIMNotaire": {
        "properties": {
          "nom": {
            "type": "string",
            "title": "Nom",
            "default": ""
          },
          "prenoms": {
            "type": "string",
            "title": "Prenoms",
            "default": ""
          },
          "date_naissance": {
            "type": "string",
            "title": "Date Naissance",
            "default": ""
          },
          "metier": {
            "type": "string",
            "title": "Metier",
            "default": ""
          },
          "situation_maritale": {
            "type": "string",
            "title": "Situation Maritale",
            "default": ""
          },
          "office_notarial": {
            "type": "string",
            "title": "Office Notarial",
            "default": "Office Notarial"
          },
          "adresse_etude": {
            "type": "string",
            "title": "Adresse Etude",
            "default": ""
          },
          "crpcen": {
            "type": "string",
            "title": "Crpcen",
            "default": "99999"
          },
          "role_dans_acte": {
            "type": "string",
            "title": "Role Dans Acte",
            "default": "signataire"
          }
        },
        "type": "object",
        "title": "PIMNotaire",
        "description": "- extrait son Nom et Prénom, \n- le nom de l'étude,\n- extrait l’adresse de l'étude notariale, \n- indique s’il intervient en participation, concours ou signataires de l'acte    "
      },
      "PIMPermis": {
        "properties": {
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source"
          },
          "logs": {
            "items": {
              "$ref": "#/components/schemas/Log"
            },
            "type": "array",
            "title": "Logs"
          },
          "permis": {
            "items": {
              "$ref": "#/components/schemas/PIMPermisConstruireAmmenager"
            },
            "type": "array",
            "title": "Permis"
          }
        },
        "type": "object",
        "title": "PIMPermis",
        "description": "    "
      },
      "PIMPermisConstruireAmmenager": {
        "properties": {
          "permis_trouve": {
            "type": "boolean",
            "title": "Permis Trouve",
            "default": false
          },
          "numero_brut": {
            "type": "string",
            "title": "Numero Brut",
            "default": ""
          },
          "numero_normalise": {
            "type": "string",
            "title": "Numero Normalise",
            "default": ""
          },
          "date_decision": {
            "type": "string",
            "title": "Date Decision",
            "default": ""
          },
          "date_obtention": {
            "type": "string",
            "title": "Date Obtention",
            "default": ""
          },
          "date_depot": {
            "type": "string",
            "title": "Date Depot",
            "default": ""
          },
          "decision": {
            "type": "string",
            "title": "Decision",
            "default": ""
          },
          "detail": {
            "type": "string",
            "title": "Detail",
            "default": ""
          },
          "le_maire": {
            "type": "string",
            "title": "Le Maire",
            "default": ""
          },
          "la_ville": {
            "type": "string",
            "title": "La Ville",
            "default": ""
          },
          "articles": {
            "items": {
              "$ref": "#/components/schemas/PIMArticle"
            },
            "type": "array",
            "title": "Articles"
          }
        },
        "type": "object",
        "title": "PIMPermisConstruireAmmenager",
        "description": "    "
      },
      "PIMPersonne": {
        "properties": {
          "type": {
            "type": "string",
            "title": "Type",
            "default": "physique"
          },
          "personne_physique": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PIMPersonnePhysique"
              },
              {
                "type": "null"
              }
            ]
          },
          "personne_morale": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PIMPersonneMorale"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "PIMPersonne",
        "description": "-\"type\" : Personne Morale ou Physique => 'morale', 'physique'\n- personne: PIMPersonneMorale|PIMPersonnePhysique    "
      },
      "PIMPersonneMorale": {
        "properties": {
          "raison_sociale": {
            "type": "string",
            "title": "Raison Sociale",
            "default": ""
          },
          "siren": {
            "type": "string",
            "title": "Siren",
            "default": ""
          },
          "registre": {
            "type": "string",
            "title": "Registre",
            "default": ""
          },
          "siege": {
            "type": "string",
            "title": "Siege",
            "default": ""
          },
          "representee_par": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PIMPersonnePhysique"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "PIMPersonneMorale",
        "description": "-\"raison_sociale\" : la dénomination de la société,\n-\"siren\" : le numéro siren, \n-\"registre\" la ville du registre du commerce ou RCS où est enregistrée la société\n-\"siege\" : l'adresse du siège social"
      },
      "PIMPersonnePhysique": {
        "properties": {
          "nom": {
            "type": "string",
            "title": "Nom",
            "default": ""
          },
          "prenoms": {
            "type": "string",
            "title": "Prenoms",
            "default": ""
          },
          "date_naissance": {
            "type": "string",
            "title": "Date Naissance",
            "default": ""
          },
          "metier": {
            "type": "string",
            "title": "Metier",
            "default": ""
          },
          "situation_maritale": {
            "type": "string",
            "title": "Situation Maritale",
            "default": ""
          }
        },
        "type": "object",
        "title": "PIMPersonnePhysique",
        "description": "- \"nom\": le nom du vendeur,\n- \"prenoms\": le ou les prénoms du vendeur, \n- \"date_naissance\" : la date de naissance du vendeur, \n- \"lieu_naissance\" : la ville de naissance du vendeur,\n- \"metier\" : le métier du vendeur , s'il est retraité(e) inscrire \"retraite\", s'il est sans emploi, inscrire \"sans_emploi\",\n- \"situation_maritale\" : la situation paritale, comme par exemple \"marié\", \"épouse\", \"divorcé\", \"veuve\", \"veuf\", ect ...,         "
      },
      "PIMReferencesCadastre": {
        "properties": {
          "section": {
            "type": "string",
            "title": "Section",
            "default": ""
          },
          "numero": {
            "type": "string",
            "title": "Numero",
            "default": ""
          },
          "lieudit": {
            "type": "string",
            "title": "Lieudit",
            "default": ""
          },
          "surface": {
            "type": "string",
            "title": "Surface",
            "default": "0 HA 0 A 0 CA"
          }
        },
        "type": "object",
        "title": "PIMReferencesCadastre",
        "description": "\"section\" : la section du cadastre, \n\"numero\" : le numero du cadastre,\n\"lieudit\" : l'adresse du lieu dit\n\"surface\" : sous la forme HA A CA où *HA* pour **Hectare**, *A* pour **Are** et *CA* pour Centiare      "
      },
      "PeriodeAmortissement": {
        "properties": {
          "numero": {
            "type": "integer",
            "title": "Numero",
            "default": 0
          },
          "type_echeance": {
            "type": "string",
            "title": "Type Echeance",
            "default": "constante"
          },
          "duree_echeances": {
            "type": "string",
            "title": "Duree Echeances",
            "default": 0
          },
          "periodicite_echeance": {
            "type": "string",
            "title": "Periodicite Echeance",
            "default": "mensuelle"
          },
          "type_taux_debiteur": {
            "type": "string",
            "title": "Type Taux Debiteur",
            "default": "fixe"
          },
          "taux_debiteur_pourcentage": {
            "type": "number",
            "title": "Taux Debiteur Pourcentage",
            "default": 0.0
          },
          "montant_echeances": {
            "items": {
              "$ref": "#/components/schemas/MontantDivers"
            },
            "type": "array",
            "title": "Montant Echeances",
            "default": []
          },
          "assurance": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          },
          "accessoire": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          },
          "date_periode": {
            "type": "string",
            "title": "Date Periode",
            "default": ""
          }
        },
        "type": "object",
        "title": "PeriodeAmortissement",
        "description": "Période d'amortissement d'un prêt\ntype_echeance: Type échéance constante\nduree_echeances:la durée des échéances(mensuelle)\ntype_taux_debiteur:type de taux débiteur (Fixe)\ntaux_debiteur_pourcentage:1.5 \nmontant_echeance_sans_assurance:(valeur,devise)"
      },
      "Personne": {
        "properties": {
          "est_personne": {
            "type": "boolean",
            "title": "Est Personne",
            "default": false
          },
          "civilite": {
            "type": "string",
            "title": "Civilite",
            "default": ""
          },
          "prenoms": {
            "type": "string",
            "title": "Prenoms",
            "default": ""
          },
          "raison_sociale": {
            "type": "string",
            "title": "Raison Sociale",
            "default": ""
          },
          "statut_organisation": {
            "type": "string",
            "title": "Statut Organisation",
            "default": ""
          },
          "siret": {
            "type": "string",
            "title": "Siret",
            "default": ""
          },
          "siren": {
            "type": "string",
            "title": "Siren",
            "default": ""
          },
          "nom": {
            "type": "string",
            "title": "Nom",
            "default": ""
          },
          "date_naissance": {
            "type": "string",
            "title": "Date Naissance",
            "default": ""
          },
          "adresse": {
            "type": "string",
            "title": "Adresse",
            "default": ""
          },
          "code_postal": {
            "type": "string",
            "title": "Code Postal",
            "default": ""
          },
          "ville": {
            "type": "string",
            "title": "Ville",
            "default": ""
          },
          "metier": {
            "type": "string",
            "title": "Metier",
            "default": ""
          },
          "situation_maritale": {
            "type": "string",
            "title": "Situation Maritale",
            "default": ""
          },
          "regime_matrimoniale": {
            "type": "string",
            "title": "Regime Matrimoniale",
            "default": ""
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          }
        },
        "type": "object",
        "title": "Personne",
        "description": "Personne Morale ou Persone Physique",
        "exemple": {
          "adresse": "140, boulevard des Capucines",
          "cilvilite": "M",
          "code_postal": "01234",
          "est_personne": true,
          "metier": "cadre fonction publique",
          "nom": "LEMARCHAND",
          "prémon": "Jean Marc Antoine",
          "regime_maritale": "Séparation de biens",
          "situation_maritale": "marié",
          "ville": "Bon Vivre sur Mer et Montagne"
        }
      },
      "Pret": {
        "properties": {
          "num_compte": {
            "type": "string",
            "title": "Num Compte",
            "default": ""
          },
          "num_suivi": {
            "type": "string",
            "title": "Num Suivi",
            "default": ""
          },
          "header_offre": {
            "type": "string",
            "title": "Header Offre",
            "default": ""
          },
          "header_ref": {
            "type": "string",
            "title": "Header Ref",
            "default": ""
          },
          "header_emprunteur": {
            "type": "string",
            "title": "Header Emprunteur",
            "default": ""
          },
          "header_responsable_suivi": {
            "type": "string",
            "title": "Header Responsable Suivi",
            "default": ""
          },
          "header_num_etude": {
            "type": "string",
            "title": "Header Num Etude",
            "default": ""
          },
          "date_emission_offre": {
            "type": "string",
            "title": "Date Emission Offre",
            "default": ""
          },
          "objets_financement": {
            "items": {
              "$ref": "#/components/schemas/ObjetFinancement"
            },
            "type": "array",
            "title": "Objets Financement",
            "default": []
          },
          "preteur": {
            "$ref": "#/components/schemas/Preteur",
            "default": {
              "est_personne": false,
              "civilite": "",
              "prenoms": "",
              "raison_sociale": "",
              "statut_organisation": "",
              "siret": "",
              "siren": "",
              "nom": "",
              "date_naissance": "",
              "adresse": "",
              "code_postal": "",
              "ville": "",
              "metier": "",
              "situation_maritale": "",
              "regime_matrimoniale": "",
              "source": [],
              "represente_par": []
            }
          },
          "emprunteurs": {
            "items": {
              "$ref": "#/components/schemas/Emprunteur"
            },
            "type": "array",
            "title": "Emprunteurs",
            "default": []
          },
          "cautions": {
            "items": {
              "$ref": "#/components/schemas/Emprunteur"
            },
            "type": "array",
            "title": "Cautions",
            "default": []
          },
          "programme_financier": {
            "$ref": "#/components/schemas/ProgrammeFinancier",
            "default": {
              "plan_financement": [],
              "montant_programme": {
                "devise": "EUR",
                "valeur": 0.0
              }
            }
          },
          "list_prets": {
            "items": {
              "$ref": "#/components/schemas/CaracteristiquePret"
            },
            "type": "array",
            "title": "List Prets",
            "default": []
          },
          "caracteristiques_prets": {
            "items": {
              "$ref": "#/components/schemas/CaracteristiquesPret"
            },
            "type": "array",
            "title": "Caracteristiques Prets",
            "default": []
          },
          "amortissement_credit": {
            "$ref": "#/components/schemas/Amortissement",
            "default": {
              "periodes": []
            }
          },
          "delegations_assurances": {
            "items": {
              "$ref": "#/components/schemas/Assurance"
            },
            "type": "array",
            "title": "Delegations Assurances",
            "default": []
          },
          "assurances": {
            "items": {
              "$ref": "#/components/schemas/Assurance"
            },
            "type": "array",
            "title": "Assurances",
            "default": []
          },
          "garanties": {
            "items": {
              "$ref": "#/components/schemas/lxf__domain__loan__Garantie"
            },
            "type": "array",
            "title": "Garanties",
            "default": []
          },
          "clauses_particulieres": {
            "items": {
              "$ref": "#/components/schemas/ClausesParticulieres"
            },
            "type": "array",
            "title": "Clauses Particulieres",
            "default": []
          },
          "tableau_amortissement": {
            "$ref": "#/components/schemas/lxfTable",
            "default": {
              "rows": [],
              "has_header": true,
              "page_number": 0
            }
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          },
          "logs": {
            "items": {
              "$ref": "#/components/schemas/Log"
            },
            "type": "array",
            "title": "Logs",
            "default": []
          }
        },
        "type": "object",
        "title": "Pret",
        "description": "Pret",
        "example": {
          "amortissement_credit": {
            "periodes": [
              {
                "duree_echeances": 8,
                "montant_echeance_sans_assurance": {
                  "devise": "EUR",
                  "valeur": 2000
                },
                "periodicite_echeance": "mensuelle",
                "taux_debiteur_pourcentage": 1.5,
                "type_echeance": "constante",
                "type_taux_debiteur": "fixe"
              }
            ]
          },
          "caracteristes_prets": [
            {
              "caracteristiques": [
                {
                  "duree_mois": 300,
                  "montant": {
                    "devise": "EUR",
                    "valeur": 730000.0
                  },
                  "nature": "Pret tout Habitat",
                  "numero": "08801143"
                }
              ],
              "description": "Prêt Tout Habitat (N°08801143) : 730 000.00 sur 300 mois"
            }
          ],
          "delegations_assurances": [
            {
              "assurance": {
                "assureur": "ASSURANCE GENERALE",
                "couverture": "Prêt Tout Habitat (N°01234567) : 730 000.00 EUR sur 300 mois",
                "description": "Assurance Déléguée Décés -PTIA I.T.",
                "hauteur_pourcentage": 100.0,
                "souscripteur": "M Alain DUPOND né le 01/01/2001 à MONCHEZMOI"
              }
            }
          ],
          "description": "Achat immobilier et travaux maison individuelle ....",
          "domiciliation": {
            "compte": "compte n° 123456789",
            "creancier": "BANQUE CREDIT",
            "debiteur": "Emprunteur"
          },
          "emprunteurs": [
            {
              "adresse": "140, boulevard des Capucines",
              "code_postal": "01234",
              "est_personne": true,
              "metier": "commerçante",
              "nom": "FRIDOMME",
              "premons": "Marie Françoise",
              "regime_maritale": "",
              "situation_maritale": "divorcée",
              "ville": "Bon Vivre sur Mer et Montagne"
            },
            {
              "adresse": "140, boulevard des Capucines",
              "cilvilite": "M",
              "code_postal": "01234",
              "est_personne": true,
              "metier": "cadre fonction publique",
              "nom": "LEMARCHAND",
              "prémon": "Jean Marc Antoine",
              "regime_maritale": "Séparation de biens",
              "situation_maritale": "marié",
              "ville": "Bon Vivre sur Mer et Montagne"
            }
          ],
          "montant_total_du_emprunteurs": {
            "cout_total_credit": {
              "devise": "EUR",
              "valeur": 197342.08
            },
            "frais": [
              {
                "montant": {
                  "devise": "EUR",
                  "valeur": 3808.51
                },
                "nature": "Frais prise de garantie (PPD)"
              },
              {
                "montant": {
                  "devise": "EUR",
                  "valeur": 556.03
                },
                "nature": "Frais prise de garantie (Hypotheque)"
              },
              {
                "montant": {
                  "devise": "EUR",
                  "valeur": 500.0
                },
                "nature": "Frais de dossier"
              }
            ],
            "montant_total_assurance_obligatoire": {
              "devise": "EUR",
              "valeur": 45150.54
            },
            "montant_total_credit": {
              "devise": "EUR",
              "valeur": 730000.0
            },
            "montant_total_du_emprunteur": {
              "devise": "EUR",
              "valeur": 927342.08
            },
            "montant_total_interets": {
              "devise": "EUR",
              "valeur": 147327.0
            }
          },
          "preteur": {
            "adresse": "140, boulevard des Capucines",
            "code_postal": "01234",
            "est_personne": false,
            "raison_sociale": "Banque Crédit Sécure",
            "siren": "111 222 333",
            "statut_organisation": "Société Coopérative",
            "ville": "Bon Vivre sur Mer et Montagne"
          },
          "programme_financier": {
            "montant_programe": {
              "devise": "EUR",
              "valeur": 855000.0
            },
            "plan_financment": [
              {
                "montant": {
                  "devise": "EUR",
                  "valeur": 125000.0
                },
                "nature": "apport"
              },
              {
                "montant": {
                  "devise": "EUR",
                  "valeur": 0.0
                },
                "nature": "subvention"
              },
              {
                "montant": {
                  "devise": "EUR",
                  "valeur": 730000.0
                },
                "nature": "Prêt(s) BPBFC sollicité(s)"
              }
            ]
          },
          "taeg": {
            "base_periode": "mensuelle",
            "taux_pourcentage": 2.0
          },
          "usage": "Résidence principale emprunteur"
        }
      },
      "Preteur": {
        "properties": {
          "est_personne": {
            "type": "boolean",
            "title": "Est Personne",
            "default": false
          },
          "civilite": {
            "type": "string",
            "title": "Civilite",
            "default": ""
          },
          "prenoms": {
            "type": "string",
            "title": "Prenoms",
            "default": ""
          },
          "raison_sociale": {
            "type": "string",
            "title": "Raison Sociale",
            "default": ""
          },
          "statut_organisation": {
            "type": "string",
            "title": "Statut Organisation",
            "default": ""
          },
          "siret": {
            "type": "string",
            "title": "Siret",
            "default": ""
          },
          "siren": {
            "type": "string",
            "title": "Siren",
            "default": ""
          },
          "nom": {
            "type": "string",
            "title": "Nom",
            "default": ""
          },
          "date_naissance": {
            "type": "string",
            "title": "Date Naissance",
            "default": ""
          },
          "adresse": {
            "type": "string",
            "title": "Adresse",
            "default": ""
          },
          "code_postal": {
            "type": "string",
            "title": "Code Postal",
            "default": ""
          },
          "ville": {
            "type": "string",
            "title": "Ville",
            "default": ""
          },
          "metier": {
            "type": "string",
            "title": "Metier",
            "default": ""
          },
          "situation_maritale": {
            "type": "string",
            "title": "Situation Maritale",
            "default": ""
          },
          "regime_matrimoniale": {
            "type": "string",
            "title": "Regime Matrimoniale",
            "default": ""
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source",
            "default": []
          },
          "represente_par": {
            "items": {
              "$ref": "#/components/schemas/Personne"
            },
            "type": "array",
            "title": "Represente Par",
            "default": []
          }
        },
        "type": "object",
        "title": "Preteur",
        "description": "Organisme prêteur dans le cadre d'un contrat de prêt",
        "exemple": {
          "adresse": "140, boulevard des Capucines",
          "code_postal": "01234",
          "est_personne": false,
          "raison_sociale": "Banque Crédit Sécure",
          "represente_par": [],
          "siren": "111 222 333",
          "statut_organisation": "Société Coopérative",
          "ville": "Bon Vivre sur Mer et Montagne"
        }
      },
      "ProgrammeFinancier": {
        "properties": {
          "plan_financement": {
            "items": {
              "$ref": "#/components/schemas/ElementPlanFinancement"
            },
            "type": "array",
            "title": "Plan Financement",
            "default": []
          },
          "montant_programme": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          }
        },
        "type": "object",
        "title": "ProgrammeFinancier",
        "description": "Programme Financier d'un prêt\nplan_financement : List of ElementPlanFinancement\nmontant_programme : Montant du programme (valeur,devise)",
        "exemple": {
          "montant_programe": {
            "devise": "EUR",
            "valeur": 855000.0
          },
          "plan_financment": [
            {
              "montant": {
                "devise": "EUR",
                "valeur": 125000.0
              },
              "nature": "apport"
            },
            {
              "montant": {
                "devise": "EUR",
                "valeur": 0.0
              },
              "nature": "subvention"
            },
            {
              "montant": {
                "devise": "EUR",
                "valeur": 730000.0
              },
              "nature": "Prêt(s) BPBFC sollicité(s)"
            }
          ]
        }
      },
      "PromesseVente": {
        "properties": {
          "date_promesse": {
            "type": "string",
            "title": "Date Promesse",
            "default": ""
          },
          "date_expiration": {
            "type": "string",
            "title": "Date Expiration",
            "default": ""
          },
          "lieu_delivrance_promesse": {
            "type": "string",
            "title": "Lieu Delivrance Promesse",
            "default": ""
          },
          "vendeurs": {
            "items": {
              "$ref": "#/components/schemas/PIMPersonne"
            },
            "type": "array",
            "title": "Vendeurs"
          },
          "acquereurs": {
            "items": {
              "$ref": "#/components/schemas/PIMPersonne"
            },
            "type": "array",
            "title": "Acquereurs"
          },
          "promettants": {
            "items": {
              "$ref": "#/components/schemas/PIMPersonne"
            },
            "type": "array",
            "title": "Promettants"
          },
          "beneficiaires": {
            "items": {
              "$ref": "#/components/schemas/PIMPersonne"
            },
            "type": "array",
            "title": "Beneficiaires"
          },
          "notaires_acte": {
            "items": {
              "$ref": "#/components/schemas/PIMNotaire"
            },
            "type": "array",
            "title": "Notaires Acte"
          },
          "bien": {
            "$ref": "#/components/schemas/PIMBien"
          },
          "source": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Source"
          },
          "logs": {
            "items": {
              "$ref": "#/components/schemas/Log"
            },
            "type": "array",
            "title": "Logs"
          }
        },
        "type": "object",
        "title": "PromesseVente",
        "description": "    "
      },
      "TauxAnnuelEffectifGlobal": {
        "properties": {
          "titre": {
            "type": "string",
            "title": "Titre",
            "default": ""
          },
          "sigle": {
            "type": "string",
            "title": "Sigle",
            "default": ""
          },
          "description": {
            "type": "string",
            "title": "Description",
            "default": " "
          },
          "taux_pourcentage": {
            "type": "number",
            "title": "Taux Pourcentage",
            "default": 0.0
          },
          "taux_periode": {
            "type": "number",
            "title": "Taux Periode",
            "default": 0.0
          },
          "base_periode": {
            "type": "string",
            "title": "Base Periode",
            "default": "mensuelle"
          }
        },
        "type": "object",
        "title": "TauxAnnuelEffectifGlobal",
        "description": "Taux annuel Effectif Global TAEG",
        "exemple": {
          "base_periode": "mensuelle",
          "taux_pourcentage": 2.0
        }
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "lxfCell": {
        "properties": {
          "value": {
            "type": "string",
            "title": "Value",
            "default": ""
          }
        },
        "type": "object",
        "title": "lxfCell"
      },
      "lxfRow": {
        "properties": {
          "cells": {
            "items": {
              "$ref": "#/components/schemas/lxfCell"
            },
            "type": "array",
            "title": "Cells",
            "default": []
          }
        },
        "type": "object",
        "title": "lxfRow"
      },
      "lxfTable": {
        "properties": {
          "rows": {
            "items": {
              "$ref": "#/components/schemas/lxfRow"
            },
            "type": "array",
            "title": "Rows",
            "default": []
          },
          "has_header": {
            "type": "boolean",
            "title": "Has Header",
            "default": true
          },
          "page_number": {
            "type": "integer",
            "title": "Page Number",
            "default": 0
          }
        },
        "type": "object",
        "title": "lxfTable"
      },
      "lxf__domain__loan__Garantie": {
        "properties": {
          "label": {
            "type": "string",
            "title": "Label",
            "default": ""
          },
          "rang": {
            "type": "string",
            "title": "Rang",
            "default": "0"
          },
          "hauteur": {
            "type": "string",
            "title": "Hauteur",
            "default": ""
          },
          "duree": {
            "type": "string",
            "title": "Duree",
            "default": ""
          },
          "duree_limitee": {
            "type": "string",
            "title": "Duree Limitee",
            "default": ""
          },
          "duree_unite": {
            "type": "string",
            "title": "Duree Unite",
            "default": ""
          },
          "duree_limitee_unite": {
            "type": "string",
            "title": "Duree Limitee Unite",
            "default": ""
          },
          "text": {
            "type": "string",
            "title": "Text",
            "default": ""
          },
          "cout_approximatif": {
            "type": "string",
            "title": "Cout Approximatif",
            "default": ""
          },
          "office_notarial": {
            "type": "string",
            "title": "Office Notarial",
            "default": ""
          },
          "adresse_office_notarial": {
            "type": "string",
            "title": "Adresse Office Notarial",
            "default": ""
          },
          "code_postal_office_notarial": {
            "type": "string",
            "title": "Code Postal Office Notarial",
            "default": ""
          },
          "ville_office_notarial": {
            "type": "string",
            "title": "Ville Office Notarial",
            "default": ""
          },
          "numero_pret": {
            "type": "string",
            "title": "Numero Pret",
            "default": ""
          },
          "ref_cadastrales": {
            "type": "string",
            "title": "Ref Cadastrales",
            "default": ""
          },
          "adresse_immeuble_cadastre": {
            "type": "string",
            "title": "Adresse Immeuble Cadastre",
            "default": ""
          },
          "code_poste_immeuble_cadastre": {
            "type": "string",
            "title": "Code Poste Immeuble Cadastre",
            "default": ""
          },
          "ville_immeuble_cadastre": {
            "type": "string",
            "title": "Ville Immeuble Cadastre",
            "default": ""
          },
          "text_adresse_immeuble_cadastre": {
            "type": "string",
            "title": "Text Adresse Immeuble Cadastre",
            "default": ""
          }
        },
        "type": "object",
        "title": "Garantie",
        "description": "Garantie d'un prêt (Hypothèque, PPD, Caution)",
        "exemple": {
          "cout_approximatif": "1 365,00 EUR",
          "hauteur": "130 000,00 EUR",
          "label": "Hypothèque",
          "numero_pret": "08909399",
          "rang": 1,
          "ref_cadastrales": "SECTION AB NUMEROS 123 ; 456 ; 78 et LOT 81",
          "text": "Hypothèque à hauteur de 130 000.00 EUR de rang 1 .... "
        }
      },
      "lxf__domain__loan_proposal__Garantie": {
        "properties": {
          "label": {
            "type": "string",
            "title": "Label",
            "default": ""
          },
          "hauteur": {
            "$ref": "#/components/schemas/Montant",
            "default": {
              "valeur": 0.0,
              "devise": "EUR"
            }
          },
          "rang": {
            "type": "string",
            "title": "Rang",
            "default": ""
          },
          "cautionnaires": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Cautionnaires",
            "default": []
          },
          "engagements": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Engagements",
            "default": []
          }
        },
        "type": "object",
        "title": "Garantie",
        "description": "Docstring for Garantie"
      }
    }
  }
}

Remerciements et Crédits (Acknowledgments)

Cette librairie s'appuie sur le travail exceptionnel de la communauté open-source et de nombreuses organisations. Nous tenons à remercier et créditer les auteurs et contributeurs des projets suivants :

🧠 Intelligence Artificielle & Deep Learning

  • TensorFlow (incluant tf-keras et tensorflow-hub) : Développé par Google et la communauté TensorFlow.
  • PyTorch (incluant torchvision et torchaudio) : Maintenu par la PyTorch Foundation (Linux Foundation).
  • JAX (incluant jaxlib) : Développé par Google DeepMind.
  • PaddlePaddle : Développé et maintenu par Baidu.
  • TensorRT : Développé par NVIDIA Corporation.
  • Scikit-learn : Développé par la communauté des développeurs scikit-learn.

🗣️ Traitement du Langage Naturel (NLP) & LLMs

  • Transformers & Sentence-Transformers : Développés par Hugging Face et la communauté.
  • spaCy : Créé et maintenu par Explosion AI (Ines Montani, Matthew Honnibal).
  • LangChain (incluant langchain-community, langchain-ollama, langchain-openai) : Créé par Harrison Chase et maintenu par LangChain, Inc.
  • SentencePiece : Développé par Google (Taku Kudo, John Richardson).

👁️ Vision par Ordinateur & OCR

  • OpenCV (opencv-python) : Maintenu par l'OpenCV Foundation.
  • MediaPipe : Développé par Google.
  • PaddleOCR : Développé par Baidu.
  • EasyOCR : Développé par Jaided AI.
  • Pytesseract : Wrapper Python pour Google Tesseract-OCR, maintenu par Matthias Lee.
  • Pillow : Maintenu par Alex Clark et les contributeurs (fork de la Python Imaging Library originale).

📄 Traitement de Documents & PDF

  • Docling : Développé par IBM.
  • PyMuPDF : Maintenu par Artifex Software, Inc.
  • OCRmyPDF : Créé et maintenu par James R. Barlow.
  • pdfplumber : Créé par Jeremy Singer-Vine.
  • pdf2image : Créé par Edouard Belval.
  • img2pdf : Créé par Johannes Schauer Marin Rodrigues.

📊 Manipulation de Données & Écosystème Python

  • Pandas : Créé par Wes McKinney et maintenu par l'équipe de développement Pandas.
  • PyMongo : Maintenu par MongoDB, Inc.
  • OpenPyXL : Créé par Eric Gazoni et Charlie Clark.
  • Matplotlib : Créé par John D. Hunter et l'équipe de développement.
  • tqdm : Créé par Casper da Costa-Luis et les contributeurs.
  • json_repair : Créé par Baccianella_JSON_Repair_-_2025
  • Python Core & Utilitaires (setuptools, wheel, pytz) : Maintenus par la Python Software Foundation, la PyPA (Python Packaging Authority) et Stuart Bishop.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylexfluent-0.2.12.tar.gz (189.0 kB view details)

Uploaded Source

Built Distribution

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

pylexfluent-0.2.12-py3-none-any.whl (214.0 kB view details)

Uploaded Python 3

File details

Details for the file pylexfluent-0.2.12.tar.gz.

File metadata

  • Download URL: pylexfluent-0.2.12.tar.gz
  • Upload date:
  • Size: 189.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.8.0-138-generic

File hashes

Hashes for pylexfluent-0.2.12.tar.gz
Algorithm Hash digest
SHA256 b198d114e1f62cd92d7acea113182e603454e5a579a8a568ab2336190a89a730
MD5 a6db4d67a61131046659da4c0c402c26
BLAKE2b-256 202ca0db6a259fbb3efba1b28e874010dab4fcfa3cae51ed6c682179dd47defc

See more details on using hashes here.

File details

Details for the file pylexfluent-0.2.12-py3-none-any.whl.

File metadata

  • Download URL: pylexfluent-0.2.12-py3-none-any.whl
  • Upload date:
  • Size: 214.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.8.0-138-generic

File hashes

Hashes for pylexfluent-0.2.12-py3-none-any.whl
Algorithm Hash digest
SHA256 d0cdae5ab96e0ef211cfa366e299e1bfc8e92ea27c44ba6e31dbec8a82b5a84b
MD5 cd4fc106c9660542e54a92df02cd8aa0
BLAKE2b-256 a2f578610cb6cdc7973a6d9177e545fcabb093040bb707eafacf6aca15448cc3

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.13

2 files

This release

0.2.12 This release

2 files

0.2.11

2 files

0.2.10

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.97

2 files

0.1.96

2 files

0.1.95

2 files

0.1.93

2 files

0.1.92

2 files

0.1.91

2 files

0.1.90

2 files

0.1.89

2 files

0.1.88

2 files

0.1.87

2 files

0.1.86

2 files

0.1.85

2 files

0.1.84

2 files

0.1.83

2 files

0.1.82

2 files

0.1.81

2 files

0.1.80

2 files

0.1.74

2 files

0.1.73

2 files

0.1.72

2 files

0.1.71

2 files

0.1.70

2 files

0.1.67

2 files

0.1.66

2 files

0.1.65

2 files

0.1.64

2 files

0.1.63

2 files

0.1.62

2 files

0.1.61

2 files

0.1.60

2 files

0.1.50

2 files

0.1.49

2 files

0.1.48

2 files

0.1.47

2 files

0.1.46

2 files

0.1.45

2 files

0.1.44

2 files

0.1.43

2 files

0.1.42

2 files

0.1.41

2 files

0.1.40

2 files

0.1.39

2 files

0.1.38

2 files

0.1.37

2 files

0.1.36

2 files

0.1.35

2 files

0.1.34

2 files

0.1.33

2 files

0.1.32

2 files

0.1.31

2 files

0.1.30

2 files

0.1.29

2 files

0.1.28

1 file

0.1.27

1 file

0.1.26

1 file

0.1.24

2 files

0.1.23

2 files

0.1.22

2 files

0.1.21

2 files

0.1.20

2 files

0.1.19

2 files

0.1.18

2 files

0.1.17

2 files

0.1.16

2 files

0.1.15

2 files

0.1.14

2 files

0.1.13

2 files

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.0.32

2 files

0.0.31

2 files

0.0.30

2 files

0.0.29

2 files

0.0.28

2 files

0.0.27

2 files

0.0.26

2 files

0.0.25

2 files

0.0.24

2 files

0.0.23

2 files

0.0.22

2 files

0.0.21

2 files

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