oto-core
Repository: otomata-tech/connectors — renamed on 2026-09-14. The PyPI package keeps the name
oto-core, and so does the import namespaceoto.*.
Connector library for Oto — pure Python API clients for AI agents and automation. No CLI, no server: clients return plain dicts.
pip install oto-core # core (requests, france-opendata)
pip install "oto-core[google]" # + Google Workspace (Drive, Docs, Sheets, Gmail, Calendar, Tasks)
pip install "oto-core[browser]" # + browser-based scraping (LinkedIn, via o-browser)
pip install "oto-core[stock]" # + SIRENE stock queries (DuckDB/parquet)
What's inside
oto.tools.*— one client per service: French company data (SIRENE, INPI, BODACC, BOAMP, DVF via france-opendata), web search (Serper), email finding (Hunter), CRM (Attio, Folk), outreach (Lemlist, Kaspr, Fullenrich), Google Workspace, Slack, WhatsApp, Reddit, Pennylane, Silae (French payroll), and more.oto.config— three-tier secret resolution: environment variables → secret provider (SOPS/age, file, Scaleway Secret Manager) → defaults.oto.tools.common.FieldFilter— reusable response redaction (mask IBANs, anonymize names, drop fields) any connector can apply; driven by code or afield_filters.<service>policy in~/.otomata/config.yaml.
Ecosystem
| Package | Role |
|---|---|
| oto-core (this) | the clients — single source of truth |
| oto-cli | oto command-line façade |
| oto-backend | hosted platform (mcp.oto.cx — MCP + REST, credential vault, orgs) |
from oto.tools.sirene import SireneClient
client = SireneClient() # reads SIRENE_API_KEY via oto.config
company = client.get_company("130025265")
Conventions: clients are import-lazy per optional dependency, raise on error (no silent fallbacks), and stay free of CLI/printing concerns.
MIT — © Otomata.
Release files for oto-core 1.130.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| oto_core-1.130.0.tar.gz | 646.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| oto_core-1.130.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.4 MB
Release files / oto_core-1.130.0.tar.gz
| Download URL | oto_core-1.130.0.tar.gz |
|---|---|
| Size | 646.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bb896405bcce62fdf8730944876f8a3106af4ce73757fc875491913470063838
|
|
BLAKE2b-256 checksum How to use checksums |
a957d4caca6defac507d909bade55b0c5c873b177a4cd1f601042967e8f69da2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / oto_core-1.130.0-py3-none-any.whl
| Download URL | oto_core-1.130.0-py3-none-any.whl |
|---|---|
| Size | 777.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4c39b2284e2e9a70dccf51e0a2af020047929fbe591937585a7471bedd6dec8e
|
|
BLAKE2b-256 checksum How to use checksums |
6e79c89c5a2b99069dcd485cb91a9e5efcb618178c626e00e790450b9b9ab8eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency log