Développement Python

Développement Python à Toronto et partout en Ontario : pipelines de données qui valident et rapprochent des données réglementées, intégrations entre les systèmes que vous exploitez déjà, automatisation qui remplace le chiffrier du milieu, applications Django bâties accessibles — conçus, testés et maintenus par la même équipe depuis plus d'une décennie.

Service Python · à voustests · journaux · planifiéSystèmesERP · CRM · héritésFichiersPDF · CSV · ExcelAPIREST · partenairesValiderschéma · règlesTransformernormaliserChargeridempotentRejetérejeté · journaliséTestschaque changement, chaque foisRÉUSSISBase de donnéeschargée · auditéeRechercheplein texte · rapportsPersonnesune app accessible · AAATTERRIrejeté, journaliséatterritests réussis
Des données réglementées, déplacées avec fiabilité. Le seul mauvais enregistrement est rejeté et journalisé; tout le reste atterrit, et les tests le confirment.
de Python en production
10+ ans de Python en production
accessibilité intégrée à chaque livraison
AA accessibilité intégrée à chaque livraison
bâti et soutenu en Ontario
Toronto bâti et soutenu en Ontario

Le langage du milieu

La plupart des organisations n’ont pas un problème de logiciel; elles ont un problème de milieu. L’ERP va bien et le CRM va bien, et entre les deux se trouvent un chiffrier qu’une seule personne comprend, une exportation nocturne à laquelle personne ne se fie, et un formulaire dont les données sont ressaisies deux fois. Python est le langage qui répare le milieu : il parle aux bases de données, aux fichiers, aux API, à l’ERP et à la pile scientifique à la fois, et il est assez lisible pour que la personne qui le maintiendra l’an prochain le comprenne.

Nous bâtissons du Python en production depuis plus d’une décennie : des pipelines qui valident des données réglementées et concordent leurs totaux avec la source, des intégrations entre les systèmes que les clients exploitent déjà, l’automatisation qui remplace l’exportation à laquelle personne ne se fie, et des applications Django bâties accessibles. Odoo est écrit en Python, et nos modules sur mesure aussi — le CRM OneClient que nous avons bâti avec Achēv est fait de modules Odoo sur mesure de bout en bout — et c’est pourquoi une seule équipe peut bâtir l’ERP, le pipeline et l’application sans passation. Le formulaire de demande de ce site est traité par un service Python que nous avons écrit — avec son propre pointage anti-pourriel, son analyse des fichiers et sa piste d’audit — parce que nous préférons exploiter le nôtre plutôt que de nous fier à celui d’un fournisseur.

En ingénierie, c’est-à-dire testé

La différence entre un script et un système, c’est ce qui se passe quand les données sont fausses. Nos pipelines valident à l’entrée, rejettent et journalisent ce qui échoue, chargent ce qui passe de façon idempotente, et sortent une piste d’audit de l’autre côté; les tests s’exécutent à chaque changement, et les totaux sont rapprochés de la source avant que quiconque n’en dépende. C’est ce que dessine la couverture de cette page, et c’est la norme que nous tenons, que le travail soit un indexeur nocturne ou une plateforme.

Ce que nous bâtissons en Python

Le langage du milieu — là où vos systèmes, vos données et vos gens se rencontrent

Des pipelines de données qui se rapprochent

Extraire, valider, transformer, charger — avec un schéma à l’entrée, une piste d’audit à la sortie, et des totaux qui concordent avec la source. Bâtis pour les données réglementées : santé, recherche, gouvernement, finance.

Des intégrations entre les systèmes que vous exploitez

L’ERP, le CRM, le registre, l’API du partenaire, la base de données héritée que personne ne mettra à la retraite. Reliés par du code que vous possédez et que nous testons, pas par une chaîne de connecteurs et d’exportations. Pour Green Standards, l’intégration entre son application Quickbase et son portail client Odoo est faite de modules Odoo sur mesure que nous avons écrits en Python.

Automatisation et travaux planifiés

La tâche nocturne, l’indexeur de documents, le rapport qui s’assemble seul. Pour le COQES, une extraction de texte en Python avec cron et WP-CLI a mis la recherche en texte intégral sur chaque publication PDF du site.

Science des données et apprentissage automatique, en production

Les modèles sont la partie facile; le pipeline qui les alimente, la validation autour d’eux et la surveillance après eux sont le travail. Nous bâtissons l’ensemble, et nous disons quand un modèle n’est pas la réponse.

Odoo et la couche ERP

Odoo est écrit en Python, et nos modules sur mesure aussi — le CRM OneClient que nous avons bâti avec Achēv est fait de modules Odoo sur mesure de bout en bout. La même équipe écrit l’intégration des deux côtés.

Des applications Django

Des applications complètes sur Django — authentification, rôles, flux de travail, rapports — bâties selon les WCAG 2.1 AA parce que les gens qui s’en servent y ont droit, et hébergées sur une pile durcie que nous configurons par automatisation.

Comment se déroule un mandat

  1. Découvrir

    Les données telles qu’elles sont, les systèmes tels qu’ils sont, les décisions que le logiciel doit soutenir, et les règles que les données doivent respecter. Une portée que vous pouvez chiffrer et un plan que vous pouvez défendre.

  2. Bâtir, avec des tests

    Du logiciel qui fonctionne toutes les deux semaines, avec des tests qui s’exécutent à chaque changement et un environnement de préproduction que vous pouvez voir. Des règles de validation écrites en code, pas retenues par une seule personne.

  3. Rapprocher et basculer

    Des exécutions répétées sur de vraies données, des totaux concordés avec la source, une bascule ennuyante à dessein.

  4. Exploiter

    Surveillance, journaux qui répondent aux questions, et une entente de soutien à la mesure de ce que vous voulez posséder. Les dépôts sont à vous dès le premier jour.

À qui cela s'adresse

Programmes de données du secteur public

Ministères, organismes et établissements qui recueillent des données réglementées et doivent les déplacer entre systèmes sans perdre un enregistrement ni une règle. Nous sommes fournisseur attitré de l’Ontario.

Organisations de recherche et de santé

Des équipes dont les données portent leur sens dans leur structure et dont les applications doivent être accessibles à tous ceux qui s’en servent.

Exploitants avec des systèmes à relier

Des organisations qui exploitent un ERP, un CRM et trois chiffriers qui devraient être un seul pipeline — et qui veulent posséder le code qui les remplace.

Les questions qu'on nous pose

Pourquoi Python?

Parce que c’est le langage du milieu : celui qui parle aux bases de données, aux fichiers, aux API, à l’ERP et à la pile scientifique à la fois, avec des bibliothèques assez mûres pour qu’on s’y fie et assez lisibles pour qu’on les maintienne. C’est le langage d’Odoo et le nôtre, et c’est pourquoi une seule équipe peut bâtir le pipeline, l’intégration et l’application sans passation.

Maintenez-vous ce que vous bâtissez?

Oui. Chaque livraison comprend des tests, de la documentation et un dépôt qui vous appartient, et la plupart des clients nous gardent sous forfait pour les changements, les mises à niveau et les questions qui suivent. Nous préférons être l’équipe qui répond la troisième année plutôt que celle qui disparaît après le lancement.

Pouvez-vous travailler avec notre équipe de données?

Oui, et nous le préférons. Nous écrivons à découvert, révisons ensemble, et laissons votre équipe capable d’exploiter et d’étendre ce que nous avons bâti. Le transfert de connaissances est un livrable, pas une courtoisie.

Comment traitez-vous les renseignements personnels et sur la santé?

Sur votre infrastructure ou la nôtre au Canada, avec le minimum de données nécessaire au travail, chiffrées en transit et au repos, journalisées et à accès contrôlé. Quand un projet touche des renseignements personnels sur la santé, la conception suit les obligations du dépositaire en vertu de la loi ontarienne sur la protection des renseignements sur la santé et est documentée pour votre responsable de la protection de la vie privée.

Les applications sont-elles accessibles?

Oui. Une application Django est un site Web, et nous la bâtissons selon les WCAG 2.1 AA avec la même pratique en accessibilité qui sert nos clients du secteur public — et nous le disons avec un rapport de conformité si vous en avez besoin.

Où est-ce que ça tourne?

Sur une pile Linux durcie que nous configurons par automatisation — la même discipline que notre hébergement WordPress — sur votre infrastructure, votre compte infonuagique, ou la nôtre à Toronto. Jamais sur une plateforme que vous ne pouvez pas quitter.
Contactez-nous

Un problème difficile et un budget?

Dites-nous ce qui le motive. Vous parlerez aux personnes qui font le travail.

Une phrase ou deux suffisent : le problème, le système, l'échéance.