Package: bitsmiths-loco
BITSMITHS LOCOLoCostands forLoquacious Correspondence. It is the common Bitsmiths python package that we use to send out communications to
user of other systems.The intended purpose ofLoCois to have a shared product that offers:The complete customization of messages templates to be sent to external people or systems.To support multiple methods of sending messages:Also allow dynamic/custom pluggin modules so this can be extended from outside this libraryWe currently support sending messages toe-mail, sms, log files (debug purposes).Next we need to support push notifications of some kind.To provide a single a place to store the metrics and performance sending messages to different providers.To provide atranscationablelibrary extension so that other products can send messages and be sure those messages are always sent.Finally to provide a default method of archiving messages that have been sent (batch code to speak).This product has a dependency on:Mettle (bitsmiths-mettle)Bitsmiths Library (bitsmiths-lib)Bitsmiths Auditing (bitsmiths-audit)Notethat we package the generated Mettle code in this package, which means that the Mettle version required in this module is important.Tables & SetupLocois designed to use a relational database with a schema/namespace oflocoin your database. You will need to create this schema manually.
It requires several other relational database tables.The package provides the SQL code to create these tables. There are two ways to access the table creation SQL.You can runbs-loco -g postgresqlat the command line, this will print all the SQL tostdout.You can import the bs_loco module and get the SQL as shown below:importbs_locoprint(bs_loco.get_table_sql('postgresql'))Note!Currently onlypostgresSQL is added to the package. If you want us to support another database let
us know and we will put it into the development pipeline.Table ConfigurationTODO - Complete this section.Library ObjectsTODO - Complete this sectionChange History2.2.1TypeDescriptionNewUpgraded to usebitsmiths-mettleversion 2.2.32.2.0TypeDescriptionBreakingUpgraded to usebitsmiths-mettleversion 2.2.22.1.9TypeDescriptionNewUsing the new bitsmiths-audit (2.1.6) version that has auto triggers.NewUsing the new python fetch method from bitsmiths-mettle (2.1.14)2.1.8TypeDescriptionNewImplemented the dataclass feature from the latest mettle (2.1.13) version.2.1.7TypeDescriptionBugApplied code generation bug fix from lastest mettle library.2.1.6TypeDescriptionBugImproved the regex email in the base loco object to allow for email addresses with single quotes.2.1.5TypeDescriptionBugFixed the template updown batch to use the correct import from the refactored mettle change.2.1.4TypeDescriptionBugFixed the SMTP Provider that was still using legacy imports and bs_lib methods.2.1.3TypeDescriptionBugFixed the dynamic importing of provider and correspondence types.BugFixed the json.dumps and json.loads errors caused by the mettle upgrade.2.1.0TypeDescriptionNewPulled in the mettle via PYPI, updated project to cater for new changes in mettle.NewYou can now read the database creation from the package, also added an entry point for this.NewYou can change or add new correspondence providers with the environment variable 'BITSMITHS_LOCO_CUST_PROVIDERS'