Connecteur Open Data France — SIRENE, INPI, BAN, Bodacc, geo et recherche entreprises pour enrichir clients et surveiller portefeuille
Project description
piilot-pack-fropendata
Connecteur Open Data France — SIRENE, INPI, BAN, Bodacc, geo et recherche entreprises pour enrichir clients et surveiller portefeuille
🧩 This repo is both a template and a working "hello" plugin.
Just want to demo / dogfood? Install it as-is, it loads as plugin
hellowith one module and one migration — no edits required.Want to start your own plugin? Fork via
gh repo create --template, then rename everything to your namespace in one go:./init-plugin.sh <namespace> "<description>" <category>See the Piilot plugin development guide for the full workflow.
What it does
TODO: one-paragraph summary of this plugin's purpose and the problem it solves for a Piilot company.
What this template demonstrates (SDK v0.3)
The hello plugin is a functional showcase of the Piilot SDK v0.2+
primitives, pinned to piilot-sdk>=0.3.0. Fork the template and
start from a plugin that already wires:
| File | SDK primitive | What it illustrates |
|---|---|---|
piilot_pack_fropendata/handlers.py |
ctx.handlers.register |
Module handlers dispatched by the module runtime |
piilot_pack_fropendata/migrations/ + __init__.py |
ctx.migrations.register_schema |
Idempotent per-plugin SQL schema + RLS policies |
piilot_pack_fropendata/locales/ + __init__.py |
ctx.i18n.register_locales |
Per-namespace locale catalogs merged into /i18n/catalog |
piilot_pack_fropendata/repo.py + migrations/002_*.sql |
piilot.sdk.db |
cursor(), run_in_thread, Json — direct SQL with RLS propagation |
piilot_pack_fropendata/routes.py |
piilot.sdk.http |
register_router + Depends(require_user) + get_real_ip |
piilot_pack_fropendata/tools.py |
piilot.sdk.tools + piilot.sdk.session |
Agent StructuredTool with system_prompt_builder + session read |
piilot_pack_fropendata/seeds.py |
piilot.sdk.modules + piilot.sdk.templates |
Idempotent register_module + register_template upserts |
piilot_pack_fropendata/connector.py |
piilot.sdk.connectors |
Commented out — pattern for declaring an external API connector |
piilot_pack_fropendata/jobs.py |
piilot.sdk.scheduler |
Commented out — pattern for a periodic sync handler |
frontend/src/index.ts |
core.registerModuleView + registerI18nBundle |
Plugin UI entry — ships as piilot-pack-fropendata-ui on npm |
frontend/src/HelloModuleView.tsx |
React component rendered by the host ModuleViewShell |
URL-backed sub-routing via useSearchParams, imports from @plugin-host/* |
.github/workflows/release-ui.yml |
npm publish on ui-v* tag |
Mirrors the PyPI workflow for the backend |
Full reference: see the Piilot plugin development guide.
Dual distribution
- Backend —
piilot-pack-fropendataon PyPI, taggedv<version>. - Frontend —
piilot-pack-fropendata-uion npm, taggedui-v<version>.
Both ship from this single repo; the two release workflows publish independently so a backend hot-fix doesn't force a frontend release and vice-versa.
Install
Self-hosted Piilot (docker-compose.selfhost.yml)
# Drop the package into /app/plugins/
pip install piilot-pack-fropendata
# or for a git-based install while the SDK is still pre-PyPI:
pip install git+https://github.com/Kinetics-Consulting-V2/piilot-pack-fropendata.git@v0.1.0
# Restart the backend
docker compose restart backend
Piilot Cloud (SaaS)
Add the dependency to the core's requirements.txt:
piilot-pack-fropendata @ git+https://github.com/Kinetics-Consulting-V2/piilot-pack-fropendata.git@v0.1.0
Coolify rebuilds the backend image; the loader picks up the plugin at startup and applies migrations. Enable for a given company via:
curl -X PUT \
-H "Authorization: Bearer $ADMIN_TOKEN" \
-H "X-Company-Id: $COMPANY_ID" \
https://api.piilot.ai/admin/plugins/fropendata/activations/$COMPANY_ID
Usage
TODO: how a user interacts with the plugin (module screens, agent tools, integrations…).
Development
Local setup
# Clone next to the Piilot core
cd /opt/factory/projects
git clone https://github.com/Kinetics-Consulting-V2/piilot-pack-fropendata.git
# Install in editable mode with dev extras
cd piilot-pack-fropendata
pip install -e .[dev]
Then add the plugin as a bind mount in the core's
docker-compose.override.yml (gitignored):
services:
backend:
volumes:
- ../piilot-pack-fropendata:/app/plugins/piilot-pack-fropendata
Restart the backend and watch for:
[plugins] Loaded: hello v0.1.0 (handlers=1, tools=0)
Run the tests
pytest
Versioning
This plugin follows Semantic Versioning. The
sdk_compat range in pyproject.toml pins the Piilot SDK versions
we build against. Watch the core's
docs/SDK_CHANGELOG.md for breaking changes.
License
Apache-2.0. See LICENSE.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file piilot_pack_fropendata-0.1.0.tar.gz.
File metadata
- Download URL: piilot_pack_fropendata-0.1.0.tar.gz
- Upload date:
- Size: 59.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36e54cfa0e088f9c8b8476e69a07a67f31723b93755734f655bd90bf2ade4a27
|
|
| MD5 |
dbe199cf297315a706908ecbbb12be32
|
|
| BLAKE2b-256 |
66dc6ab481a3ff0b27166610acc63f9d6bf787b750124c1cb93520ff84439c67
|
Provenance
The following attestation bundles were made for piilot_pack_fropendata-0.1.0.tar.gz:
Publisher:
release.yml on Kinetics-Consulting-V2/piilot-pack-fr-opendata
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
piilot_pack_fropendata-0.1.0.tar.gz -
Subject digest:
36e54cfa0e088f9c8b8476e69a07a67f31723b93755734f655bd90bf2ade4a27 - Sigstore transparency entry: 1548157973
- Sigstore integration time:
-
Permalink:
Kinetics-Consulting-V2/piilot-pack-fr-opendata@a5300444b33e4e291776ef136dd1569a1663a422 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Kinetics-Consulting-V2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a5300444b33e4e291776ef136dd1569a1663a422 -
Trigger Event:
push
-
Statement type:
File details
Details for the file piilot_pack_fropendata-0.1.0-py3-none-any.whl.
File metadata
- Download URL: piilot_pack_fropendata-0.1.0-py3-none-any.whl
- Upload date:
- Size: 60.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7913099fa3ceb96442e707dcd5b48c952f50bc79e4582115330b141ce0f2160e
|
|
| MD5 |
f545bd23ea84f4848274b26159694859
|
|
| BLAKE2b-256 |
052030cbf057f5e33f7636ce66bc2048a6b4b6fbbd9547ee9c3fa55f6bb8cfa2
|
Provenance
The following attestation bundles were made for piilot_pack_fropendata-0.1.0-py3-none-any.whl:
Publisher:
release.yml on Kinetics-Consulting-V2/piilot-pack-fr-opendata
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
piilot_pack_fropendata-0.1.0-py3-none-any.whl -
Subject digest:
7913099fa3ceb96442e707dcd5b48c952f50bc79e4582115330b141ce0f2160e - Sigstore transparency entry: 1548158035
- Sigstore integration time:
-
Permalink:
Kinetics-Consulting-V2/piilot-pack-fr-opendata@a5300444b33e4e291776ef136dd1569a1663a422 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Kinetics-Consulting-V2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a5300444b33e4e291776ef136dd1569a1663a422 -
Trigger Event:
push
-
Statement type: