Skip to main content

Python SDK for the BoardData V2 REST API

Project description

boarddata

Python SDK for the BoardData V2 REST API.

Installation

pip install boarddata

Quick Start

from boarddata import BoardDataClient

# From environment variables
client = BoardDataClient.from_env()

# Or explicit configuration
client = BoardDataClient(
    base_url="https://api.boarddata.scalens.com",
    client_id="your-client-id",
    client_secret="your-client-secret",
)

# List companies
companies = client.list_companies(country="FR", page_size=10)

# Get a specific company
company = client.get_company("company-uuid")

# Create or update a company
result = client.upsert_company("FR0000120271", "TotalEnergies", country="FR")
print(result["action"])  # "created" or "updated"
print(result["id"])      # company UUID

Environment Variables

Variable Description
BOARDDATA_BACKEND_URL Base URL of the BoardData API
BOARDDATA_CLIENT_ID OAuth2 client ID (from Django admin)
BOARDDATA_CLIENT_SECRET OAuth2 client secret (from Django admin)

Token Caching

from boarddata import BoardDataClient, FileTokenCache

# File-based cache
client = BoardDataClient.from_env(token_cache="~/.boarddata/token.json")

# Or with explicit cache object
cache = FileTokenCache("~/.boarddata/token.json")
client = BoardDataClient.from_env(token_cache=cache)

Pagination

# Auto-paginate any list endpoint
all_companies = client.paginate(client.list_companies, country="FR")

# Limit pages
first_100 = client.paginate(client.list_companies, max_pages=4, page_size=25)

Available Domains

  • Companieslist_companies, get_company, create_company, update_company, delete_company, upsert_company
  • Personslist_persons, get_person, create_person, update_person, delete_person, upsert_person
  • Directorslist_directors, get_director, create_director, update_director, delete_director, upsert_director
  • Comexlist_comex, get_comex, create_comex, update_comex, delete_comex, upsert_comex
  • Auditorslist_auditors, get_auditor, create_auditor, update_auditor, delete_auditor
  • Documentslist_documents, get_document, create_document, update_document, delete_document
  • Assemblieslist_assemblies, get_assembly, create_assembly, update_assembly, delete_assembly
  • Resolutionslist_resolutions, get_resolution, update_resolution, delete_resolution
  • ESGlist_iros, create_iro, list_transition_plans, create_transition_plan, list_esg_benchmark
  • Sentinellist_analyses, create_analysis, retry_press_extraction, update_press_article
  • Utilitiessearch, query_assistant, get_field_sources, paginate

License

MIT

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

boarddata-6.0.1.tar.gz (47.5 kB view details)

Uploaded Source

Built Distribution

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

boarddata-6.0.1-py3-none-any.whl (70.4 kB view details)

Uploaded Python 3

File details

Details for the file boarddata-6.0.1.tar.gz.

File metadata

  • Download URL: boarddata-6.0.1.tar.gz
  • Upload date:
  • Size: 47.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for boarddata-6.0.1.tar.gz
Algorithm Hash digest
SHA256 04283d0fedbcbf30d46f8505df80d128aea6665b00547eeafbf08b002a3be246
MD5 93bddd863f34fd25d57dd44221dbc4fe
BLAKE2b-256 67353e3496e1780936c00602e034b8015831c06767b665f2b9f73767d7c52b44

See more details on using hashes here.

File details

Details for the file boarddata-6.0.1-py3-none-any.whl.

File metadata

  • Download URL: boarddata-6.0.1-py3-none-any.whl
  • Upload date:
  • Size: 70.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for boarddata-6.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5d7f65e290c3adb19934fcf91dabf54677b27c81095bc07afad3613eb3fc0fd5
MD5 9855a8703e15c76a69499561406ce7b5
BLAKE2b-256 c3b75a1351aa14bf1b842b3db5ceb1fd0cf28b8cb601e79acf2cd4414f0df72f

See more details on using hashes here.

Supported by

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