Skip to main content

Piilot plugin — verticale compta ESMS (cabinets-EC gérant des dossiers Établissements Sociaux et Médico-Sociaux).

Project description

piilot-pack-compta-esms

Piilot plugin — verticale compta ESMS (cabinets-EC gérant des dossiers Établissements Sociaux et Médico-Sociaux).

🧩 This repo is both a template and a working "compta_esms" plugin.

Just want to demo / dogfood? Install it as-is, it loads as plugin compta_esms with 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 compta_esms 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_compta_esms/handlers.py ctx.handlers.register Module handlers dispatched by the module runtime
piilot_pack_compta_esms/migrations/ + __init__.py ctx.migrations.register_schema Idempotent per-plugin SQL schema + RLS policies
piilot_pack_compta_esms/locales/ + __init__.py ctx.i18n.register_locales Per-namespace locale catalogs merged into /i18n/catalog
piilot_pack_compta_esms/repo.py + migrations/002_*.sql piilot.sdk.db cursor(), run_in_thread, Json — direct SQL with RLS propagation
piilot_pack_compta_esms/routes.py piilot.sdk.http register_router + Depends(require_user) + get_real_ip
piilot_pack_compta_esms/tools.py piilot.sdk.tools + piilot.sdk.session Agent StructuredTool with system_prompt_builder + session read
piilot_pack_compta_esms/seeds.py piilot.sdk.modules + piilot.sdk.templates Idempotent register_module + register_template upserts
piilot_pack_compta_esms/connector.py piilot.sdk.connectors Commented out — pattern for declaring an external API connector
piilot_pack_compta_esms/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-compta-esms-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

  • Backendpiilot-pack-compta-esms on PyPI, tagged v<version>.
  • Frontendpiilot-pack-compta-esms-ui on npm, tagged ui-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-compta-esms
# or for a git-based install while the SDK is still pre-PyPI:
pip install git+https://github.com/Kinetics-Consulting-V2/piilot-pack-compta-esms.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-compta-esms @ git+https://github.com/Kinetics-Consulting-V2/piilot-pack-compta-esms.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/compta_esms/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-compta-esms.git

# Install in editable mode with dev extras
cd piilot-pack-compta-esms
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-compta-esms:/app/plugins/piilot-pack-compta-esms

Restart the backend and watch for:

[plugins] Loaded: compta_esms 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

piilot_pack_compta_esms-0.1.0.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

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

piilot_pack_compta_esms-0.1.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file piilot_pack_compta_esms-0.1.0.tar.gz.

File metadata

  • Download URL: piilot_pack_compta_esms-0.1.0.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for piilot_pack_compta_esms-0.1.0.tar.gz
Algorithm Hash digest
SHA256 84442992cc01cbd635331562bceb77f9f3b575dc6d39873df68c1c1d79d609e1
MD5 86d39a66d3be7223484f7da8057d9e69
BLAKE2b-256 fe21ff627a3635ca558e8b73ef813e6ed4b0cf11d0126c9c33d9a09d6704da82

See more details on using hashes here.

Provenance

The following attestation bundles were made for piilot_pack_compta_esms-0.1.0.tar.gz:

Publisher: release.yml on Kinetics-Consulting-V2/piilot-pack-compta-esms

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

File details

Details for the file piilot_pack_compta_esms-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for piilot_pack_compta_esms-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 42a576cce18a7ba13dd1da9d6b6aa09f6023b3d6f2edc7816359bc53d4d3835a
MD5 126fe359dbbff3e22e5cd1d2223c58ea
BLAKE2b-256 3896426b636afb0bffa1b6f4d4a7f90d244dedc53d3b45c50c7bf7664730dd6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for piilot_pack_compta_esms-0.1.0-py3-none-any.whl:

Publisher: release.yml on Kinetics-Consulting-V2/piilot-pack-compta-esms

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