Skip to main content

piilot-pack-compta

Expert-comptable tools — payroll journal import, protected reference KBs

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

Just want to demo / dogfood? Install it as-is, it loads as plugin hello 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 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_compta/handlers.py ctx.handlers.register Module handlers dispatched by the module runtime
piilot_pack_compta/migrations/ + __init__.py ctx.migrations.register_schema Idempotent per-plugin SQL schema + RLS policies
piilot_pack_compta/locales/ + __init__.py ctx.i18n.register_locales Per-namespace locale catalogs merged into /i18n/catalog
piilot_pack_compta/repo.py + migrations/002_*.sql piilot.sdk.db cursor(), run_in_thread, Json — direct SQL with RLS propagation
piilot_pack_compta/routes.py piilot.sdk.http register_router + Depends(require_user) + get_real_ip
piilot_pack_compta/tools.py piilot.sdk.tools + piilot.sdk.session Agent StructuredTool with system_prompt_builder + session read
piilot_pack_compta/seeds.py piilot.sdk.modules + piilot.sdk.templates Idempotent register_module + register_template upserts
piilot_pack_compta/connector.py piilot.sdk.connectors Commented out — pattern for declaring an external API connector
piilot_pack_compta/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-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 on PyPI, tagged v<version>.
  • Frontendpiilot-pack-compta-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
# 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.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 @ git+https://github.com/Kinetics-Consulting-V2/piilot-pack-compta.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/hello/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.git

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

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.

Release files for piilot-pack-compta 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for piilot-pack-compta 0.2.3
File Size Uploaded
piilot_pack_compta-0.2.3.tar.gz 38.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for piilot-pack-compta 0.2.3
File Interpreter ABI Platform
piilot_pack_compta-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 69.0 kB

Release files / piilot_pack_compta-0.2.3.tar.gz

Download URL piilot_pack_compta-0.2.3.tar.gz
Size 38.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ad4216540dce1e2d4895221e787065c308816caee6e51275e00954d6b2b91cc9
BLAKE2b-256 checksum
How to use checksums
426d4b02b5bec352bb526c0cdf687e9f4370c64f7392dfeda56e68737475fc1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 20, 2026.

Transparency log

Release files / piilot_pack_compta-0.2.3-py3-none-any.whl

Download URL piilot_pack_compta-0.2.3-py3-none-any.whl
Size 30.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4b33a7cb1ed0ab130f17a999e93b1400dafdab94dd8bb168fe5a8735712a125d
BLAKE2b-256 checksum
How to use checksums
888803b07fbc84f802f17f8f2f7a48abded758e63bb5976fd94dd4fa8c129390
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page