Skip to main content

Python connector for the public and professional 1dex API surface: overview, subscriber address details, autocomplete, score, preview, account usage, and map routes.

Project description

1dex-connector

Python connector for the public and professional 1dex.fr API surface.

Install the PyPI distribution:

python -m pip install 1dex-connector

The distribution name is 1dex-connector; the Python import package is onedex.

from onedex import OneDexClient

Public reads

Public endpoints such as overview, autocomplete, score, preview, communes, and map can be called without an API key within public quotas.

from onedex import OneDexClient

client = OneDexClient()

overview = client.overview.address({
    "address": "10 rue des cordeliers aix",
    "dvf_radius_m": 600,
})

suggestions = client.autocomplete.address({
    "q": "10 rue des cordeliers aix",
    "limit": 5,
})

score = client.score.address({
    "items": [{"address": "10 rue des cordeliers aix"}],
})

viewport = client.map.viewport({
    "layers": "context,iris",
    "address": "10 rue des cordeliers aix",
})

Auth, purchase, and detailed reads

Complete address details and unlock flows require an active professional 1dex subscription. Purchase and checkout happen on 1dex.fr; once the professional account is active, create an API key at https://1dex.fr/compte/api.

Pass the key explicitly or through ONEDEX_API_KEY:

import os

from onedex import OneDexApiError, OneDexClient

client = OneDexClient(api_key=os.getenv("ONEDEX_API_KEY"))

Recommended subscriber flow:

  1. Check subscription state, quota windows, credits, active grants, and recent consumptions with client.account.usage().
  2. Try client.address.details(...) with an address, parcel, coordinates, or a normalized_address_key.
  3. If the API raises address_unlock_required, call client.address.unlock(...) with the returned normalized_address_key, or post the returned unlock_request object when present.
  4. Read the detailed address again, or follow the returned details_url.
usage = client.account.usage()

try:
    details = client.address.details({
        "address": "10 rue des cordeliers aix",
        "fields": ["summary", "rail"],
    })
except OneDexApiError as error:
    if error.status != 402 or error.body.get("error") != "address_unlock_required":
        raise

    unlock_request = error.body.get("unlock_request")
    if unlock_request:
        unlock = client.address.unlock(unlock_request)
    else:
        unlock = client.address.unlock({
            "normalized_address_key": error.body["normalized_address_key"],
        })

    details_url = unlock.get("details_url")
    if details_url:
        details = client.request("GET", details_url)
    else:
        details = client.address.details({
            "normalized_address_key": unlock["normalized_address_key"],
            "fields": ["summary", "rail"],
        })

Common professional API errors:

  • invalid_api_key: the API key is missing, invalid, or revoked.
  • api_subscription_required: the account needs an active subscription.
  • api_professional_required: the endpoint requires a professional plan.
  • address_unlock_required: the detailed address must be unlocked before reading.
  • insufficient_credits: the account has no remaining address credits for the requested unlock.

Helpers

The client exposes helpers for the current /api/v1 routes:

  • client.overview.address(...)
  • client.address.details(...)
  • client.address.unlock(...)
  • client.account.usage()
  • client.autocomplete.address(...)
  • client.communes.search(...)
  • client.score.address(...), client.score.compare(...), client.score.grid(...), client.score.addressSuggest(...)
  • client.preview.byPath(...)
  • client.addressPages.state(...)
  • client.map.layer(...), client.map.viewport(...), client.map.focus.address(...), client.map.focus.public_location(...), client.map.focus.publicLocation(...), client.map.focus.parcelle(...), client.map.focus.parcelles(...), client.map.focus.feature(...)

Project details


Download files

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

Source Distribution

1dex_connector-0.1.3.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

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

1dex_connector-0.1.3-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file 1dex_connector-0.1.3.tar.gz.

File metadata

  • Download URL: 1dex_connector-0.1.3.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for 1dex_connector-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ed4f4817e837f8151531628bebbe4adbcd4800c0a28b0850f03b06557851abb3
MD5 5d7ea0a7d4ebe4f34c7846b6c5f28eea
BLAKE2b-256 0a126fbca56ff86ea9b581e050fc158c63d4466d9dff1986390d1ef947ad7167

See more details on using hashes here.

Provenance

The following attestation bundles were made for 1dex_connector-0.1.3.tar.gz:

Publisher: pypi-publish.yml on blipn/1dex-connector

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file 1dex_connector-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: 1dex_connector-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for 1dex_connector-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6da8522e37579cff01e601b45ab419bb44be863c3ec43485a4eb2be5a1a7318e
MD5 ff01d8e090bb731cab096a074e3a53ef
BLAKE2b-256 46d66fecd961c7f67640412c0b004ef8c0e119fb1be2ea26f8ecdd4211853e8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for 1dex_connector-0.1.3-py3-none-any.whl:

Publisher: pypi-publish.yml on blipn/1dex-connector

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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