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.5.1.tar.gz (51.3 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.5.1-py3-none-any.whl (74.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for boarddata-6.5.1.tar.gz
Algorithm Hash digest
SHA256 cdec61d9047085e76544a16cfc374c2b2af63f9d527d0e1c8f8728d475178524
MD5 dec36f5218d3a0ad943f7ed5e09f3851
BLAKE2b-256 f60b3831726ab5a18da8bd9d01123c2f1b7298b5a2fe20abac662690e396398c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: boarddata-6.5.1-py3-none-any.whl
  • Upload date:
  • Size: 74.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.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5370ca5e9cb922115743bfbf167f1d3065bc294938b06119a4f0f18c61268062
MD5 87a4907e45884242f3548e931eb0077d
BLAKE2b-256 c0a07e2ec2d60bbbbc04f73d262738a6f8a849339b6d0dd5599fcaf5b8d2259b

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